:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-min:"Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-got:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--font-mono:ui-monospace, "Courier New", monospace;--digital:#78c4dcbf;--ink:#d8d2c4;--ink-faded:#7b7563;--ink-glow:#f3e9c8;--ground:#0a0a0e;--ground-soft:#121118;--accent:#c9a862;--accent-dim:#8a7b50;--frame-wood:#16141c;--frame-mat:#0d0c11}.room--gallery2{--accent:#cf7a66;--accent-dim:#8e5346;--ink-glow:#f5d7c4;--air:#1b1216}.room--gallery3{--accent:#7fae9a;--accent-dim:#567a6b;--ink-glow:#d9efe3;--air:#0f1714}.room--gallery4{--accent:#9db7cf;--accent-dim:#67809a;--ink-glow:#dce9f5;--air:#10141c}*{box-sizing:border-box;margin:0;padding:0}body:after{content:"";pointer-events:none;z-index:40;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.4s steps(5,end) infinite grain-shift;position:fixed;inset:-60%}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(1.2%,-.9%)}50%{transform:translate(-.8%,1.1%)}75%{transform:translate(.9%,.6%)}to{transform:translate(0)}}body{background:var(--ground);color:var(--ink);font-family:var(--font-min);line-break:strict;min-width:760px;min-height:100vh;font-size:17px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}input{font:inherit;color:var(--ink-glow);border:none;border-bottom:1px solid var(--ink-faded);background:0 0;outline:none;padding:.25em .5em;transition:border-color .4s}input:focus{border-bottom-color:var(--accent)}h1,h2{text-wrap:balance}.scene{animation:.8s both scene-in}@keyframes scene-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.scene.from-fall{animation:1.6s cubic-bezier(.2,.7,.25,1) both from-fall}@keyframes from-fall{0%{opacity:0;filter:blur(7px);transform:translateY(-6vh)scale(1.06)}55%{opacity:1;filter:blur(1.5px)}to{opacity:1;filter:none;transform:none}}.nav-back{color:var(--ink-faded);letter-spacing:.15em;z-index:3;font-size:.85rem;transition:color .3s;position:absolute;top:2rem;left:2.4rem}.nav-back:hover{color:var(--ink-glow)}.dust-layer{pointer-events:none;position:absolute;inset:0}.hall,.gallery,.exhibit,.innermost{isolation:isolate}.aether-canvas{z-index:-1;pointer-events:none;opacity:0;width:100vw;height:100vh;transition:opacity 2.4s;position:fixed;inset:0}.aether-canvas.is-lit{opacity:1}.cyber-veil{pointer-events:none;z-index:25;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,#0000 1px 3px),radial-gradient(110% 90%,#0000 62%,#0000006b 100%);position:fixed;inset:0}.cyber-veil:before{content:"";opacity:0;background:linear-gradient(0deg, transparent 22%, #78c4dc1f 22.5%, transparent 24.5%), linear-gradient(0deg, transparent 48%, #dc78aa1a 48.6%, transparent 50%), linear-gradient(0deg, transparent 71%, rgb(from var(--ink-glow) r g b / .1) 71.4%, transparent 73.6%);position:absolute;inset:0}.cyber-veil.is-bands:before{opacity:1;animation:.22s steps(3,jump-none) band-jump}.is-glitching{animation:.22s steps(4,jump-none) glitch-shake}.is-glitching .hall-head h1,.is-glitching .room-head h1,.is-glitching h2{text-shadow:-2px 0 #78c4dcbf,2px 0 #dc78aaa6}@keyframes glitch-shake{20%{filter:hue-rotate(18deg);transform:translate(-5px,1px)skew(-.6deg)}40%{transform:translate(4px,-1px)}60%{filter:saturate(1.6);transform:translate(-2px)skew(.4deg)}80%{filter:none;transform:translate(2px,1px)}}@keyframes band-jump{0%{transform:translateY(0)}34%{transform:translateY(-2.2%)}67%{transform:translateY(1.6%)}to{transform:translateY(0)}}.crack-codes{pointer-events:none;z-index:1;position:absolute;inset:0}.crack-code{font-family:var(--font-mono);letter-spacing:.3em;color:var(--digital);opacity:0;font-size:.66rem;animation:7s ease-in-out infinite code-flicker;position:absolute}.crack-code-1{animation-duration:9s;animation-delay:2.3s}.crack-code-2{animation-duration:6s;animation-delay:4.1s}.crack-code-3{animation-duration:11s;animation-delay:1.2s}@keyframes code-flicker{0%,to{opacity:0}6%{opacity:.75}9%{opacity:.15}12%{opacity:.6}22%{opacity:.35}30%{opacity:0}}.banner-404{font-family:var(--font-mono);letter-spacing:.25em;color:var(--digital);white-space:nowrap;border:1px solid #78c4dc66;padding:.25em .6em;font-size:.6rem;position:absolute;bottom:31%;left:50%;transform:translate(-50%)rotate(-7deg)}.opening{color:#3a362e;font-family:var(--font-got);background:#f2efe7;position:fixed;inset:0;overflow-y:auto}.opening .site{max-width:46rem;margin:0 auto;padding:3rem 1.5rem 4rem}.opening header{border-bottom:3px double #3a362e;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:2.6rem;padding-bottom:1.2rem;display:flex}.opening h1{font-family:var(--font-min);letter-spacing:.4em;font-size:1.5rem}.opening nav{gap:1.6rem;font-size:.85rem;display:flex}.opening nav a{color:#5a543f;background:linear-gradient(#8a7b50,#8a7b50) 0 100%/0 1px no-repeat;padding-bottom:2px;text-decoration:none;transition:background-size .4s}.opening nav a:hover{background-size:100% 1px}.opening h2{letter-spacing:.3em;border-left:4px solid #8a7b50;margin-bottom:1.6rem;padding-left:.8em;font-size:1rem}.opening .notice{margin-bottom:2.6rem;line-height:2.2}.opening .notice p{white-space:nowrap}.opening .ink-hidden{color:#0000;transition:color 2s}.opening .ink-hidden::selection{color:#f2efe7;background:#3a362e}.opening.is-revealed .ink-hidden{color:#8a7b50}.opening .ink-door{letter-spacing:.5em;pointer-events:none;margin-top:.5rem;display:block}.opening.is-revealed .ink-door{pointer-events:auto}.opening.is-revealed .ink-door:hover{color:#3a362e}.opening .site-info{color:#5a543f;grid-template-columns:6em 1fr;gap:.6rem 1rem;margin-bottom:3rem;font-size:.9rem;display:grid}.opening footer{color:#8d8775;text-align:center;font-size:.75rem}.reentry{margin-bottom:3rem;font-size:.85rem}.reentry-toggle{color:#8a7b50;text-decoration:underline}.reentry-form{flex-wrap:wrap;align-items:baseline;gap:1rem;margin-top:1rem;display:flex}.reentry-form[hidden]{display:none}.reentry-form input{color:#3a362e;border-bottom-color:#8a7b50;min-width:14em}.reentry-form button{color:#8a7b50}.reentry-feedback{color:#8d8775;width:100%}.opening.is-tearing header{animation:2s ease-in .1s forwards tearing}.opening.is-tearing main{animation:2.2s ease-in .3s forwards tearing}.opening.is-tearing footer{animation:1.7s ease-in forwards tearing}.opening.is-tearing:before{content:"";pointer-events:none;opacity:0;background:linear-gradient(104deg,#0000 31.6%,#14100ae6 32%,#0000 32.5%),linear-gradient(74deg,#0000 64.2%,#14100ad9 64.6%,#0000 65.1%),linear-gradient(118deg,#0000 48.1%,#14100ab3 48.4%,#0000 48.8%);animation:1.6s ease-in .4s forwards crack-race;position:fixed;inset:0}@keyframes crack-race{0%{opacity:0}30%{opacity:1}to{opacity:1}}.opening.is-tearing:after{content:"";pointer-events:none;opacity:0;background:#fff;animation:.5s steps(2,jump-none) 1.1s tear-flash;position:fixed;inset:0}@keyframes tear-flash{30%{opacity:.5}60%{opacity:.08}to{opacity:0}}.fissure{background:var(--ground);color:var(--ink);font-family:var(--font-min);text-align:center;clip-path:polygon(48% 0,52% 0,55% 38%,50% 62%,53% 100%,47% 100%,44% 55%,50% 30%);place-content:center;gap:1rem;animation:2.2s ease-in .2s forwards fissure-open;display:grid;position:fixed;inset:0}.fissure-code{letter-spacing:.3em;font-size:4.5rem}.fissure-words{color:var(--ink-faded);letter-spacing:.3em}@keyframes tearing{0%{filter:none;transform:none}30%{transform:skewY(-1.5deg)translate(-.6rem)}55%{filter:blur(.4px);transform:skewY(2.5deg)translate(1.2rem)}80%{opacity:.7;transform:skewY(-5deg)translateY(2rem)}to{opacity:0;filter:blur(2px);transform:skewY(9deg)translateY(6rem)}}@keyframes fissure-open{to{clip-path:polygon(0 0,100% 0,100% 38%,100% 62%,100% 100%,0 100%,0 55%,0 30%)}}.no-exit{color:var(--ink-faded);letter-spacing:.4em;white-space:nowrap;opacity:0;pointer-events:none;z-index:20;transition:opacity .8s;position:fixed;bottom:2.2rem;left:50%;transform:translate(-50%)}.no-exit.is-visible{opacity:1}.wipe{pointer-events:none;z-index:50;opacity:0;background:linear-gradient(0deg, transparent 18%, #78c4dc24 18.6%, transparent 20.8%), linear-gradient(0deg, transparent 52%, #dc78aa1f 52.7%, transparent 54.6%), linear-gradient(0deg, transparent 80%, rgb(from var(--ink-glow) r g b / .12) 80.5%, transparent 82.4%), #04040759;position:fixed;inset:0}.wipe.is-on{animation:.3s steps(4,jump-none) wipe-run}@keyframes wipe-run{0%,to{opacity:0;transform:translateY(0)}25%{opacity:1;transform:translateY(-1.6%)}55%{opacity:1;transform:translateY(1.2%)}80%{opacity:.5;transform:translateY(-.5%)}}.mute-toggle{color:var(--ink-faded);letter-spacing:.3em;text-indent:.3em;border:1px solid rgb(from var(--ink-faded) r g b / .4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#0a0a0e8c;padding:.45em 1em;font-size:.74rem;transition:color .3s,border-color .3s;position:fixed;bottom:1.4rem;right:1.6rem}.mute-toggle:hover{color:var(--ink);border-color:var(--accent-dim)}.pc-gate{background:var(--ground);text-align:center;place-content:center;justify-items:center;gap:2rem;padding:2rem;display:grid;position:fixed;inset:0}.pc-gate-moon{width:6.5rem;height:6.5rem;box-shadow:0 0 4rem rgb(from var(--ink-glow) r g b / .35);background:radial-gradient(circle at 42% 38%,#f7efd6,#cdb98a 85%);border-radius:50%}.pc-gate-words{color:var(--ink);letter-spacing:.2em;line-height:2.2}.pc-gate-ask{color:var(--ink-faded);letter-spacing:.15em;font-size:.85rem}.hall-architecture{pointer-events:none;z-index:1;position:absolute;inset:0}.hall-name-wall{writing-mode:vertical-rl;letter-spacing:.16em;color:#0000;-webkit-text-stroke:1px rgb(from var(--accent) r g b / .14);-webkit-user-select:none;user-select:none;font-size:clamp(6rem,11vw,10.5rem);font-weight:700;animation:14s ease-in-out infinite wall-breathe;position:absolute;top:50%;right:3vw;transform:translateY(-50%)}@keyframes wall-breathe{0%,to{-webkit-text-stroke-color:rgb(from var(--accent) r g b / .1)}50%{-webkit-text-stroke-color:rgb(from var(--accent) r g b / .2)}}.hall-enso{width:min(92vh,56vw);height:min(92vh,56vw);animation:240s linear infinite enso-turn;position:absolute;top:50%;left:-16vw;transform:translateY(-50%)}.hall-enso circle{fill:none;stroke:rgb(from var(--accent-dim) r g b / .3);stroke-width:.4px;stroke-dasharray:262 40;stroke-linecap:round;animation:2.4s ease-out .5s both enso-draw}@keyframes enso-draw{0%{stroke-dashoffset:302px}to{stroke-dashoffset:0}}@keyframes enso-turn{to{transform:translateY(-50%)rotate(360deg)}}.hall{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3.2rem;min-height:100vh;padding:4rem 2rem 6rem;display:flex;position:relative;overflow:hidden}.hall-depth{z-index:0;pointer-events:none;position:absolute;inset:0}.hall-depth canvas{width:100%;height:100%;display:block}.hall:after{content:"";pointer-events:none;transform-origin:50% 100%;opacity:.05;background:repeating-linear-gradient(90deg,#78c4dc80 0 1px,#0000 1px 72px),repeating-linear-gradient(0deg,#78c4dc80 0 1px,#0000 1px 46px);height:42%;position:absolute;bottom:0;left:-12%;right:-12%;transform:perspective(520px)rotateX(63deg);-webkit-mask-image:linear-gradient(#0000 0%,#000 55%);mask-image:linear-gradient(#0000 0%,#000 55%)}.hall.collapse-2:after,.hall.collapse-3:after{opacity:.08}.hall.collapse-4:after{opacity:.11}.hall-cracks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crack{fill:none;stroke:#000000eb;stroke-width:3px;vector-effect:non-scaling-stroke;stroke-linecap:round;filter:drop-shadow(0 0 2px rgb(from var(--accent) r g b / .28));stroke-dasharray:400;stroke-dashoffset:400px;animation:3s ease-out forwards crack-run}.crack-1{animation-delay:.4s}.crack-2{animation-delay:.7s}.crack-3{animation-delay:1s}@keyframes crack-run{to{stroke-dashoffset:0}}.hall-head{text-align:left;z-index:2;align-self:flex-start;gap:1.1rem;margin-left:clamp(3rem,7vw,9rem);animation:1.2s both head-in;display:grid;position:relative}@keyframes head-in{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}.hall-head h1{letter-spacing:.85em;color:var(--ink-glow);text-shadow:0 0 2.4rem rgb(from var(--ink-glow) r g b / .3);font-size:clamp(2.2rem,3.4vw,3rem);font-weight:700}.hall-head:after{content:"";background:linear-gradient(90deg, var(--accent-dim), transparent);width:13rem;height:1px}.hall-voice{color:var(--ink-faded);letter-spacing:.3em;white-space:nowrap;border-left:2px solid rgb(from var(--accent-dim) r g b / .6);padding-left:1em;font-size:.85rem}.hall-voice:after{content:"▍";font-family:var(--font-mono);color:var(--digital);margin-left:.4em;animation:1.6s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.collapse-1 .hall-head h1{animation:7s ease-in-out infinite waver}.collapse-2 .hall-head h1{animation:3.4s ease-in-out infinite waver}.collapse-3 .hall-head h1{opacity:.85;animation:2.1s ease-in-out infinite waver}.collapse-4 .hall-head h1{opacity:.7;animation:1.3s ease-in-out infinite waver}.collapse-4 .doors{filter:saturate(.75)}@keyframes waver{0%,to{opacity:1;transform:none}48%{opacity:1}50%{opacity:.5;transform:translate(.04em)}52%{opacity:1}74%{opacity:.85}}.doors{z-index:2;transform:translate3d(calc(var(--px,0) * 9px), calc(var(--py,0) * 5px), 0) skewY(var(--doors-skew,0deg));will-change:transform;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(1.4rem,3vw,3.2rem);padding:0 1rem;list-style:none;display:flex}.collapse-3{--doors-skew:-.5deg}.collapse-4{--doors-skew:-1deg}.door{perspective:750px;animation:door-drop .9s cubic-bezier(.2, .7, .2, 1) calc(.35s + var(--i,0) * .14s) both, door-sway 8s ease-in-out calc(1.8s + var(--i,0) * -2.7s + 2.7s) infinite alternate;position:relative}.door:first-child{margin-top:.4rem}.door:nth-child(2){margin-top:2.2rem}.door:nth-child(3){margin-top:0}.door:nth-child(4){margin-top:2.8rem}.door:nth-child(5){margin-top:1.2rem}.door:hover{animation-play-state:paused}@keyframes door-drop{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes door-sway{0%{transform:rotate(.18deg)}to{transform:rotate(-.18deg)}}.door:after{content:"";pointer-events:none;background:radial-gradient(ellipse 36% 36% at 50% 48%, rgb(from var(--accent) r g b / .12), transparent 66%);filter:blur(4px);width:170%;height:28%;animation:6s ease-in-out infinite pool-breathe;position:absolute;bottom:-30%;left:50%;transform:translate(-50%)}@keyframes pool-breathe{0%,to{opacity:.85}50%{opacity:1}}.banner{aspect-ratio:7/16;border:1px solid rgb(from var(--accent) r g b / .28);border-top:4px solid var(--accent-dim);width:clamp(7.8rem,11.5vw,10.5rem);box-shadow:inset 0 50px 70px -55px rgb(from var(--ink-glow) r g b / .22), 0 24px 50px -28px #000000e6;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));background:repeating-linear-gradient(90deg,#ffffff04 0 1px,#0000 1px 6px),linear-gradient(#16151f 0%,#0e0d13 55%,#0b0a10 100%);grid-template-rows:auto 1fr auto;place-items:center;padding:2rem 1rem 1.4rem;transition:transform .28s ease-out,box-shadow .55s,border-color .55s;display:grid;position:relative}.banner:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-dim) 18%, var(--accent-dim) 82%, transparent);border-radius:2px;width:114%;height:3px;position:absolute;top:-14px;left:-7%}button.banner:hover{transform:translateY(-9px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));border-color:rgb(from var(--accent) r g b / .65);box-shadow:inset 0 50px 70px -50px rgb(from var(--ink-glow) r g b / .35), 0 36px 70px -30px rgb(from var(--accent) r g b / .28), 0 24px 50px -28px #000000e6}button.banner:hover .banner-emblem{opacity:1;transform:scale(1.05)}.banner:after{content:"";pointer-events:none;background:linear-gradient(105deg, transparent 42%, rgb(from var(--ink-glow) r g b / .09) 50%, transparent 58%);background-position:130% 0;background-size:260% 100%;position:absolute;inset:0}button.banner:hover:after{background-position:-130% 0;transition:background-position 1.1s}.banner-emblem{background:linear-gradient(170deg, var(--ink-glow) 10%, var(--accent) 55%, color-mix(in srgb, var(--accent) 55%, #101010) 100%);color:#0000;opacity:.88;filter:drop-shadow(0 0 .6rem rgb(from var(--accent) r g b / .25));-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,3vw,2.7rem);font-weight:700;transition:opacity .5s,transform .5s}.banner-name{writing-mode:vertical-rl;letter-spacing:.55em;color:var(--ink);font-size:clamp(1.05rem,1.5vw,1.3rem);font-weight:600}.banner-state{letter-spacing:.22em;color:var(--ink-faded);white-space:nowrap;min-height:1.2em;font-size:.68rem}.banner--done{border-top-color:var(--accent)}.banner--done .banner-state{color:var(--accent)}.banner--severed{opacity:.45;filter:grayscale(.8);clip-path:polygon(0 0,100% 0,100% 76%,86% 83%,72% 75%,58% 87%,44% 78%,29% 89%,14% 80%,0 87%);cursor:default}.banner--sealed{opacity:.7;background-image:linear-gradient(52deg, transparent 48.4%, rgb(from var(--accent-dim) r g b / .4) 49%, rgb(from var(--accent-dim) r g b / .4) 50.4%, transparent 51%), linear-gradient(-52deg, transparent 48.4%, rgb(from var(--accent-dim) r g b / .4) 49%, rgb(from var(--accent-dim) r g b / .4) 50.4%, transparent 51%), linear-gradient(180deg, #16151f 0%, #0e0d13 55%, #0b0a10 100%);cursor:default}.banner--waiting{border-color:rgb(from var(--ink-glow) r g b / .55);animation:4s ease-in-out infinite beckon}@keyframes beckon{0%,to{box-shadow:inset 0 50px 70px -55px rgb(from var(--ink-glow) r g b / .22), 0 24px 50px -28px #000000e6}50%{box-shadow:inset 0 50px 70px -45px rgb(from var(--ink-glow) r g b / .4), 0 24px 70px -24px rgb(from var(--accent) r g b / .4)}}.ticket-stub{border:1px solid rgb(from var(--accent) r g b / .45);z-index:10;background:linear-gradient(135deg,#17151d,#100f15);width:16.5rem;padding:1rem 4rem 1.1rem 1.3rem;position:fixed;bottom:2rem;left:2.2rem;transform:rotate(-2.4deg);box-shadow:0 16px 40px -20px #000000e6}.ticket-stub-tear{border-left:2px dashed rgb(from var(--accent) r g b / .4);position:absolute;top:0;bottom:0;right:2.6rem}.ticket-stub:before,.ticket-stub:after{content:"";background:var(--ground);border:1px solid rgb(from var(--accent) r g b / .35);border-radius:50%;width:12px;height:12px;position:absolute;right:calc(2.6rem - 7px)}.ticket-stub:before{top:-7px}.ticket-stub:after{bottom:-7px}@media (width<=1180px){.ticket-stub{margin-top:1rem;position:static;transform:rotate(-1.2deg)}}.ticket-stub-brand{letter-spacing:.32em;color:var(--accent-dim);white-space:nowrap;margin-bottom:.5rem;font-size:.62rem}.ticket-stub-label{letter-spacing:.25em;color:var(--ink-faded);font-size:.6rem}.ticket-stub-code{color:var(--ink-glow);letter-spacing:.22em;white-space:nowrap;margin-top:.3rem;font-size:1.02rem}.gallery{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3rem;min-height:100vh;padding:5rem 2rem;display:flex;position:relative}.room-ghost{pointer-events:none;-webkit-user-select:none;user-select:none;color:#0000;-webkit-text-stroke:1.5px rgb(from var(--accent) r g b / .1);z-index:0;font-size:46vmin;font-weight:700;line-height:1;position:absolute;bottom:-14vh;right:-6vw}.room-head{z-index:2;justify-items:center;gap:1rem;display:grid;position:relative}.room-no{letter-spacing:.5em;text-indent:.5em;color:var(--accent-dim);font-size:.72rem}.room-head h1{letter-spacing:.9em;text-indent:.9em;color:var(--ink-glow);text-shadow:0 0 2rem rgb(from var(--ink-glow) r g b / .28);font-size:clamp(1.8rem,2.6vw,2.3rem);font-weight:700}.room-head:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-dim), transparent);width:12rem;height:1px}.works{z-index:2;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:3rem;list-style:none;display:flex}.work{animation:work-in .8s cubic-bezier(.2, .7, .2, 1) calc(.25s + var(--i,0) * .15s) both;perspective:700px;position:relative}.work:after{content:"";pointer-events:none;background:radial-gradient(ellipse 38% 38% at 50% 46%, rgb(from var(--accent) r g b / .1), transparent 64%);filter:blur(4px);width:150%;height:24%;position:absolute;bottom:-26%;left:50%;transform:translate(-50%)}.work:nth-child(2){margin-top:1.6rem}.work:nth-child(3){margin-top:.5rem}@keyframes work-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.work-frame{background:radial-gradient(circle at 50% 34%, #1a1824 0%, var(--frame-mat) 72%);border:9px solid var(--frame-wood);outline:1px solid rgb(from var(--accent) r g b / .45);width:clamp(10rem,14vw,12.5rem);min-height:clamp(14rem,19vw,17rem);box-shadow:inset 0 0 0 1px rgb(from var(--accent) r g b / .12), 0 26px 60px -32px #000000f2;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));grid-template-rows:1fr auto auto;place-items:center;gap:.7rem;padding:1.5rem 1.2rem 1.3rem;transition:transform .26s ease-out,box-shadow .5s,outline-color .5s;display:grid;position:relative}button.work-frame:hover{transform:translateY(-7px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));outline-color:rgb(from var(--ink-glow) r g b / .7);box-shadow:inset 0 0 0 1px rgb(from var(--accent) r g b / .2), 0 36px 80px -34px rgb(from var(--accent) r g b / .3)}.work-emblem{background:linear-gradient(170deg, var(--ink-glow) 5%, var(--accent) 55%, color-mix(in srgb, var(--accent) 55%, #101010) 100%);color:#0000;filter:drop-shadow(0 0 .8rem rgb(from var(--accent) r g b / .3));-webkit-background-clip:text;background-clip:text;font-size:3.6rem;font-weight:700}.work-title{letter-spacing:.22em;color:var(--ink);white-space:nowrap;font-size:.98rem}.work-state{letter-spacing:.25em;color:var(--accent);white-space:nowrap;min-height:1.1em;font-size:.66rem}.work-frame--absent{opacity:.38;cursor:default;outline-style:dashed}.work-frame--absent .work-emblem{color:var(--ink-faded);filter:none;background:0 0}.work-frame--absent .work-state{color:var(--ink-faded)}.gallery-asleep{text-align:center;color:var(--ink-faded);letter-spacing:.25em;white-space:nowrap;font-size:.85rem}.exhibit{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:1.9rem;min-height:100vh;padding:4.5rem 2rem;display:flex;position:relative}.exhibit-frame{animation:1s cubic-bezier(.2,.7,.2,1) .2s both frame-in;position:relative}@keyframes frame-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.exhibit h2{text-shadow:0 0 2rem rgb(from var(--ink-glow) r g b / .3)}.exhibit-eyebrow{letter-spacing:.5em;text-indent:.5em;color:var(--accent-dim);margin-bottom:-.9rem;font-size:.72rem}.exhibit h2{letter-spacing:.55em;text-indent:.55em;color:var(--ink-glow);font-size:clamp(1.45rem,2vw,1.8rem);font-weight:700}.exhibit-frame{border:13px solid var(--frame-wood);outline:1px solid rgb(from var(--accent) r g b / .45);box-shadow:inset 0 0 0 12px var(--frame-mat), inset 0 0 0 13px rgb(from var(--accent) r g b / .1), 0 36px 90px -44px #000000f2;background:#0d0d12;width:min(56rem,94vw);padding:clamp(1.4rem,3vw,2.8rem)}.exhibit-caption{border:1px solid rgb(from var(--accent) r g b / .4);color:var(--ink);letter-spacing:.12em;text-align:center;text-wrap:pretty;background:linear-gradient(135deg,#16141c,#100f15);max-width:42rem;padding:.75em 1.8em;font-size:.82rem;line-height:1.9}.exhibit-solved{text-align:center;color:var(--accent);letter-spacing:.5em;text-indent:.5em}.answer{justify-items:center;gap:.9rem;display:grid}.answer-prompt{color:var(--ink-faded);letter-spacing:.1em;justify-items:center;gap:.6rem;font-size:.9rem;display:grid}.answer-input{text-align:center;min-width:16em}.answer-offer{color:var(--accent);letter-spacing:.35em;text-indent:.35em;border:1px solid rgb(from var(--accent) r g b / .35);padding:.4em 1.4em;transition:color .3s,border-color .3s,box-shadow .3s}.answer-offer:hover{color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6);box-shadow:0 0 1.4rem rgb(from var(--accent) r g b / .2)}.answer-feedback{min-height:1.2em;color:var(--ink-faded);letter-spacing:.1em;font-size:.85rem}.hints{justify-items:center;gap:.9rem;margin-top:.6rem;display:grid}.hints-open{color:var(--ink-faded);letter-spacing:.12em;border-bottom:1px dashed rgb(from var(--ink-faded) r g b / .5);padding-bottom:.2em;font-size:.78rem;transition:color .3s}.hints-open:hover{color:var(--ink)}.hints-list{gap:.7rem;display:grid}.hint-note{color:var(--ink);border-left:2px solid var(--accent-dim);text-wrap:pretty;background:#16141ca6;max-width:36rem;padding:.6em 1.2em;font-size:.85rem;line-height:2}.greeting{border:1px solid rgb(from var(--accent) r g b / .14);background:linear-gradient(175deg,#ffffff04,#0000 40%),linear-gradient(#121018,#0d0c12);gap:.95rem;padding:1.6rem 2.2rem;font-size:1.05rem;line-height:2.2;display:grid}.greeting p{white-space:nowrap;animation:line-in .8s ease calc(var(--l,0) * .11s) both}@keyframes line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.greeting-gap{border-bottom:1px dashed var(--ink-faded);cursor:pointer;min-width:1.25em;transition:background .3s;display:inline-block}.greeting-gap:hover{background:rgb(from var(--accent) r g b / .12)}.greeting-gap.is-refused{animation:.4s refuse}.greeting-restored{color:var(--ink-glow);text-shadow:0 0 .6em rgb(from var(--ink-glow) r g b / .55)}.is-complete .greeting-restored{animation:2.4s ease-in-out infinite settle}.greeting-floor{flex-wrap:wrap;justify-content:center;gap:1.6rem;margin-top:2.6rem;display:flex}.greeting-fallen{color:var(--ink);border:1px solid rgb(from var(--accent) r g b / .28);background:linear-gradient(160deg,#15131b,#0e0d12);padding:.28em .42em;font-size:1.45rem;transition:color .3s,border-color .3s;transform:rotate(8deg)}.greeting-fallen:nth-child(2n){transform:rotate(-11deg)translateY(.3em)}.greeting-fallen:nth-child(3n){transform:rotate(4deg)translateY(-.2em)}.greeting-floor .greeting-fallen{animation:fallen-drop .7s cubic-bezier(.2, .7, .3, 1.1) calc(.9s + var(--f,0) * .13s) both}@keyframes fallen-drop{0%{opacity:0;translate:0 -26px}to{opacity:1;translate:0}}.greeting-fallen:hover{border-color:rgb(from var(--ink-glow) r g b / .6)}.greeting-fallen.is-selected{color:var(--ink-glow);border-color:var(--accent);text-shadow:0 0 .5em rgb(from var(--ink-glow) r g b / .7)}@keyframes refuse{0%,to{transform:translate(0)}25%{transform:translate(-.15em)}75%{transform:translate(.15em)}}@keyframes settle{0%,to{text-shadow:0 0 .3em rgb(from var(--ink-glow) r g b / .35)}50%{text-shadow:0 0 .8em rgb(from var(--ink-glow) r g b / .75)}}.catalogue{border-collapse:collapse;border:1px solid rgb(from var(--accent) r g b / .14);background:linear-gradient(175deg,#ffffff04,#0000 45%),linear-gradient(#121018,#0d0c12);margin:0 auto;line-height:2.1}.catalogue tbody tr{animation:row-in .5s ease calc(var(--i,0) * 50ms) both}@keyframes row-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.catalogue th,.catalogue td{text-align:left;white-space:nowrap;padding:.3em 1.6em}.catalogue thead tr{border-bottom:1px solid rgb(from var(--accent) r g b / .45)}.catalogue tbody tr{border-bottom:1px solid rgb(from var(--ink-faded) r g b / .14);transition:background .3s}.catalogue tbody tr:hover{background:rgb(from var(--accent) r g b / .05)}.catalogue th button{color:var(--ink-faded);letter-spacing:.25em;padding-bottom:.2em;transition:color .3s}.catalogue th button:hover{color:var(--ink-glow)}.catalogue .initial{transition:color 1.2s,text-shadow 1.2s}.catalogue .is-ordered .initial{color:var(--ink-glow);text-shadow:0 0 .6em rgb(from var(--ink-glow) r g b / .6)}.sign-board{letter-spacing:.5em;text-indent:.5em;text-align:center;white-space:nowrap;border:2px solid var(--accent-dim);outline:1px solid rgb(from var(--accent) r g b / .2);outline-offset:5px;background:repeating-linear-gradient(93deg,#ffffff04 0 2px,#0000 2px 9px),repeating-linear-gradient(1deg,#00000024 0 1px,#0000 1px 14px),linear-gradient(175deg,#18161f,#110f16);margin-bottom:2.2rem;padding:1.7em 1.2em;font-size:2rem;position:relative;box-shadow:inset 0 0 3rem #0000008c}.sign-dust{pointer-events:none;background:#cdb98a;border-radius:50%;width:3px;height:3px;animation:.75s ease-out forwards dust-fall;position:absolute;bottom:-4px}@keyframes dust-fall{0%{opacity:.9;translate:0}to{opacity:0;translate:var(--dx,0) var(--dy,30px)}}.sign-board.is-struck{animation:.5s ease-out struck}.sign-knock{color:var(--accent);letter-spacing:.35em;text-indent:.35em;border:1px solid rgb(from var(--accent) r g b / .35);margin:0 auto;padding:.4em 1.4em;transition:color .3s,border-color .3s;display:block}.sign-knock:hover{color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6)}@keyframes struck{0%{transform:translateY(0)}20%{transform:translateY(-.15em)rotate(.4deg)}50%{transform:translateY(.1em)rotate(-.3deg)}to{transform:translateY(0)}}.painting-frame{--breath:0;border:1px solid rgb(from var(--accent) r g b / .4);width:min(100%,34rem);box-shadow:0 0 calc(.4rem + 2.6rem * var(--breath)) rgb(from var(--ink-glow) r g b / calc(.08 + .42 * var(--breath)));margin:0 auto;padding:.7rem;transition:box-shadow 50ms linear}.painting{cursor:pointer;width:100%;height:auto;display:block}.painting-frame.is-touched{animation:.35s ease-out touched}.painting-frame.painting--flat{aspect-ratio:4/3;background:radial-gradient(circle at 50% 50%, rgb(from var(--accent) r g b / calc(.25 + .55 * var(--breath))), #101018 70%)}@keyframes touched{0%{transform:scale(1)}40%{transform:scale(.992)}to{transform:scale(1)}}.tuning-figure{background:var(--ground);border:1px solid rgb(from var(--accent) r g b / .35);width:min(100%,24rem);margin:0 auto 2.2rem;transition:box-shadow 1.2s;display:block}.tuning-figure.is-locked{box-shadow:0 0 2rem rgb(from var(--ink-glow) r g b / .35)}.tuning-controls{justify-items:center;gap:1.1rem;display:grid}.tuning-string{letter-spacing:.12em;white-space:nowrap;align-items:center;gap:1.4rem;font-size:.92rem;display:flex}.tuning-string input[type=range]{width:16rem;accent-color:var(--accent);appearance:none;background:0 0;border:none}.tuning-string input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, rgb(from var(--accent-dim) r g b / .9), rgb(from var(--ink-faded) r g b / .5));height:2px}.tuning-string input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--ground);border:1.5px solid var(--accent);width:13px;height:13px;box-shadow:0 0 .6rem rgb(from var(--accent) r g b / .4);cursor:pointer;margin-top:-5.5px;transform:rotate(45deg)}.tuning-readout{color:var(--ink-faded);text-align:right;font-variant-numeric:tabular-nums;min-width:3em}.catalogue-file{text-align:center;justify-items:center;gap:1.4rem;display:grid}.catalogue-file-cover{border:1px solid rgb(from var(--accent) r g b / .45);outline:1px solid rgb(from var(--accent) r g b / .15);outline-offset:4px;letter-spacing:.42em;writing-mode:vertical-rl;background:linear-gradient(170deg,#18161f,#100f15);padding:2.6em 1.7em;font-size:1.1rem;box-shadow:0 20px 50px -26px #000000e6}.catalogue-file-note{color:var(--ink-faded);letter-spacing:.12em;white-space:nowrap;font-size:.85rem}.catalogue-file-take{color:var(--accent);letter-spacing:.3em;text-indent:.3em;border:1px solid rgb(from var(--accent) r g b / .35);padding:.4em 1.4em;text-decoration:none;transition:color .3s,border-color .3s}.catalogue-file-take:hover{color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6)}.hourglass-wrap{width:min(100%,28rem);margin:0 auto;position:relative}.hourglass-kana{color:var(--ink-glow);text-shadow:0 0 1.2rem rgb(from var(--ink-glow) r g b / .8);opacity:0;pointer-events:none;font-size:2.1rem;transition:opacity .25s;position:absolute;top:50%;left:62%}.hourglass-wrap.is-flipping{animation:.9s flip-over}.hourglass{width:100%;height:auto;display:block}.hourglass-flip{color:var(--accent);letter-spacing:.3em;text-indent:.3em;border:1px solid rgb(from var(--accent) r g b / .35);margin:1.6rem auto 0;padding:.4em 1.4em;transition:color .3s,border-color .3s;display:block}.hourglass-flip:hover{color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6)}@keyframes flip-over{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.calendar-pad{width:min(100%,20rem);margin:0 auto 1.8rem;position:relative}.calendar-pad:before,.calendar-pad:after{content:"";border:1px solid rgb(from var(--accent) r g b / .18);z-index:-1;background:#0e0d13;position:absolute;inset:0}.calendar-pad:before{transform:translate(5px,6px)rotate(.6deg)}.calendar-pad:after{opacity:.6;transform:translate(10px,12px)rotate(-.5deg)}.calendar-sheet{border:1px solid rgb(from var(--accent) r g b / .4);outline:1px solid rgb(from var(--accent) r g b / .14);outline-offset:4px;text-align:center;background:linear-gradient(175deg,#17151e,#100f15);gap:.9rem;padding:2.6rem 1.6rem 2.2rem;display:grid;position:relative}.calendar-sheet.is-torn{animation:.45s ease-out torn}.calendar-date{letter-spacing:.18em;color:var(--ink-glow);white-space:nowrap;font-size:1.25rem}.calendar-note{min-height:1.3em;color:var(--ink-faded);letter-spacing:.15em;white-space:nowrap;font-size:.8rem}.calendar-stamp{color:#d6564ef2;opacity:0;border:2px solid #b23a34d9;border-radius:50%;place-items:center;width:2.2em;height:2.2em;font-size:.95rem;display:grid;position:absolute;top:.8rem;right:.9rem;transform:rotate(9deg)}.calendar-sheet.has-stamp .calendar-stamp{opacity:1}.calendar-tear{color:var(--accent);letter-spacing:.3em;text-indent:.3em;border:1px solid rgb(from var(--accent) r g b / .35);margin:0 auto;padding:.4em 1.4em;transition:color .3s,border-color .3s,opacity .3s;display:block}.calendar-tear:hover:not(:disabled){color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6)}.calendar-tear:disabled{color:var(--ink-faded);cursor:default;border-color:#0000}.calendar-collected{text-align:center;color:#d6564ee6;letter-spacing:.3em;white-space:nowrap;min-height:1.3em;margin-top:1.4rem}@keyframes torn{0%{opacity:1;transform:none}45%{opacity:.2;transform:translateY(.5rem)rotate(1.6deg)}55%{opacity:.2;transform:none}to{opacity:1;transform:none}}.minute-room{justify-items:center;gap:1.6rem;width:min(100%,30rem);margin:0 auto;padding:2.2rem 1rem;transition:background 2s;display:grid}.minute-room.is-waiting{background:radial-gradient(circle,#06060ae6,#0000 75%)}.minute-words{text-align:center;color:var(--ink);letter-spacing:.12em;text-wrap:pretty;min-height:2em;line-height:2}.minute-room.is-waiting .minute-words{color:var(--ink-faded)}.minute-room.is-awake .minute-words{color:var(--ink-glow)}.minute-line{background:rgb(from var(--ink-faded) r g b / .3);width:100%;height:1px}.minute-fill{background:linear-gradient(90deg, var(--accent-dim), var(--ink-glow));width:0;height:100%;transition:width .3s linear;display:block}.minute-begin{color:var(--accent);letter-spacing:.4em;text-indent:.4em;border:1px solid rgb(from var(--accent) r g b / .35);padding:.4em 1.6em;transition:color .3s,border-color .3s}.minute-begin:hover{color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6)}.mirror-canvas{cursor:none;width:min(100%,36rem);height:auto;margin:0 auto;display:block}.tracing-canvas{cursor:crosshair;touch-action:none;border:1px solid rgb(from var(--accent) r g b / .16);width:min(100%,32rem);height:auto;margin:0 auto;display:block;transform:rotate(-.5deg);box-shadow:0 18px 40px -24px #000000e6}.tracing-redo{color:var(--ink-faded);letter-spacing:.2em;border-bottom:1px dashed rgb(from var(--ink-faded) r g b / .5);margin:1.4rem auto 0;font-size:.8rem;transition:color .3s;display:block}.tracing-redo:hover{color:var(--ink)}.mirror-writing{place-items:center;padding:2.4rem 1rem;display:grid}.mirror-writing-text{letter-spacing:.3em;color:var(--ink-glow);text-shadow:0 0 1.4rem rgb(from var(--ink-glow) r g b / .35);white-space:nowrap;filter:url(#mirror-ripple);padding:1.2em 1.6em;font-size:2.1rem;transform:scaleX(-1)}.innermost{background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;padding:4.5rem 2rem;display:flex;position:relative}.innermost h1{letter-spacing:1em;text-indent:1em;color:var(--ink-glow);text-shadow:0 0 2rem rgb(from var(--ink-glow) r g b / .25);font-size:1.8rem;font-weight:600}.door-inscription{text-align:center;color:var(--ink-faded);letter-spacing:.15em;white-space:nowrap;font-size:.9rem;line-height:2}.door-gate{border:1px solid rgb(from var(--accent) r g b / .35);border-top:5px solid var(--accent-dim);width:min(46rem,90vw);box-shadow:inset 0 40px 70px -50px rgb(from var(--ink-glow) r g b / .2), 0 30px 70px -36px #000000f2;background:repeating-linear-gradient(0deg,#ffffff03 0 1px,#0000 1px 7px),linear-gradient(#16141d 0%,#0e0d13 70%,#0b0a10 100%);padding:3rem 2rem 2.6rem;position:relative}.door-gate:before{content:"";background:linear-gradient(180deg, transparent, rgb(from var(--accent-dim) r g b / .45) 30%, rgb(from var(--accent-dim) r g b / .45) 70%, transparent);width:1px;position:absolute;top:6%;bottom:6%;left:50%}.door-seals{justify-content:center;gap:2.8rem;margin:0 0 2rem;display:flex;position:relative}.door-seal{border:1px solid var(--accent);width:2.8em;height:2.8em;color:var(--accent);box-shadow:0 0 1.2rem rgb(from var(--accent) r g b / .15);place-items:center;font-size:.95rem;display:inline-grid;transform:rotate(45deg)}.door-seal span{transform:rotate(-45deg)}.door-seal.is-broken{opacity:.16;transition:opacity 1.4s}.door-riddle{text-align:center;letter-spacing:.12em;white-space:nowrap;min-height:1.7em}.innermost--space{background:#06060a;max-width:none;padding:0;position:fixed;inset:0}.space-host{position:absolute;inset:0}.space-host canvas{width:100%;height:100%;display:block}.space-descent{color:var(--ink-faded);letter-spacing:.5em;place-items:center;display:grid;position:absolute;inset:0}.guest-book{text-align:center;opacity:0;justify-items:center;gap:1.1rem;width:min(36rem,88vw);transition:opacity 2.4s;display:grid;position:absolute;bottom:9vh;left:50%;transform:translate(-50%)}.guest-book.is-open{opacity:1}.guest-book-words{color:var(--ink);text-wrap:pretty;font-size:.95rem;line-height:2.2}.guest-book-name{text-align:center;min-width:15em}.guest-book-sign{color:var(--accent);letter-spacing:.45em;text-indent:.45em;border:1px solid rgb(from var(--accent) r g b / .35);padding:.4em 1.6em;transition:color .3s,border-color .3s,box-shadow .3s}.guest-book-sign:hover{color:var(--ink-glow);border-color:rgb(from var(--ink-glow) r g b / .6);box-shadow:0 0 1.6rem rgb(from var(--accent) r g b / .22)}.guest-book-feedback{min-height:1.2em;color:var(--ink-faded);font-size:.85rem}.expired{color:#555;font-family:var(--font-got);background:#f6f6f4;place-items:center;display:grid;position:fixed;inset:0}.expired-panel{text-align:center;gap:.9rem;display:grid}.expired-code{letter-spacing:.12em;font-size:1.15rem}.expired-sub{color:#999;font-size:.8rem}.expired-trace{text-align:center;width:min(44rem,92vw);font-family:var(--font-min);color:#a08b5a;text-wrap:pretty;font-size:.84rem;line-height:2;animation:5s 1.4s both trace-in;position:fixed;bottom:2.4rem;left:50%;transform:translate(-50%)}@keyframes trace-in{0%{opacity:0}to{opacity:1}}
