:root{--ink:#f4efe6;--mut:rgba(244,239,230,.78);--dim:rgba(244,239,230,.56);--faint:rgba(244,239,230,.3);--acc:#d9b878;--acc-hi:#ecd29c;--line:rgba(244,239,230,.14);--line-hi:rgba(244,239,230,.26);--glass:linear-gradient(160deg,rgba(22,24,32,.66),rgba(10,12,18,.56));--disp:"Imbue","Bodoni 72","Didot","Times New Roman",serif;--sans:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}*{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html,body{height:100%;background:#05070c;color:var(--ink);font:300 15px/1.6 var(--sans);overflow:hidden;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#view{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}#fade{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#fff3d6,#e2b763 55%,#3a2a10);opacity:0;transition:opacity .6s ease}#fade.on{opacity:1}#fade.dark{background:#000;transition-duration:.35s}:focus-visible{outline:1px solid var(--acc);outline-offset:3px}#view:focus-visible{outline:none}b,strong{font-weight:500}@keyframes lift{0%{opacity:0;translate:0 14px;filter:blur(6px)}to{opacity:1;translate:0 0;filter:blur(0)}}@keyframes rise{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}.glass{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);box-shadow:0 30px 80px #00000073,inset 0 1px #ffffff14}.card{padding:34px 36px 30px}.eyebrow{font:500 10.5px/1 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--acc);display:flex;gap:14px;align-items:center}.eyebrow:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(217,184,120,.5),transparent)}.eyebrow:empty{display:none}.acts{display:flex;gap:10px;margin-top:26px;flex-wrap:wrap}.btn{appearance:none;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;font:500 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;cursor:pointer;white-space:nowrap;padding:15px 24px;border-radius:999px;border:1px solid var(--line-hi);background:#f4efe608;transition:background .2s,border-color .2s,color .2s,box-shadow .2s,transform .12s}.btn:hover{border-color:var(--acc);background:#d9b8781a}.btn:active{transform:scale(.98)}.btn.primary{background:var(--ink);color:#16130e;border-color:var(--ink);min-width:160px}.btn.primary:hover{background:#fffaf0;border-color:#fffaf0;box-shadow:0 0 0 4px #d9b8782e,0 10px 30px #d9b8782e}.btn[disabled]{cursor:progress;background:#f4efe60a;color:var(--mut);border-color:var(--line-hi);box-shadow:none}.btn .bar{position:absolute;inset:0;z-index:-1;pointer-events:none}.btn .bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#d9b8781a,#d9b87847);transition:width .3s var(--ease)}.btn:not([disabled]) .bar{display:none}kbd{font:500 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;display:inline-grid;place-items:center;min-width:26px;height:26px;padding:0 8px;color:var(--ink);border:1px solid var(--line-hi);border-radius:999px;background:#f4efe60a}#gate{position:fixed;left:50%;bottom:max(6vh,24px);transform:translate(-50%);width:min(560px,calc(100vw - 32px));transition:opacity .8s var(--ease),translate .8s var(--ease),filter .8s var(--ease);animation:lift 1s var(--ease) .1s both}#gate.gone{opacity:0;translate:0 18px;filter:blur(8px);pointer-events:none}#gate h1{font:300 clamp(3.4rem,9vw,5.4rem)/.9 var(--disp);font-variation-settings:"opsz" 100;letter-spacing:-.01em;margin:22px 0 16px;color:var(--ink)}.lede{color:var(--mut);font-size:15.5px;line-height:1.6;max-width:44ch}.hint{margin-top:20px;padding-top:16px;border-top:1px solid var(--line);font-size:12px;letter-spacing:.04em;color:var(--dim);line-height:1.5}.hint a{color:var(--acc)}#hud{position:fixed;inset:0;pointer-events:none;z-index:5;transition:opacity .4s ease}#hud a,#hud button{pointer-events:auto}#hud.faded{opacity:0}#hud-tl{position:absolute;left:max(20px,env(safe-area-inset-left));top:max(18px,env(safe-area-inset-top));max-width:min(340px,50vw);padding:14px 18px 15px}.room{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--acc)}.room:empty{display:none}.obj{font-size:15px;line-height:1.3;font-weight:400;color:var(--ink);margin-top:8px}.obj:first-letter{text-transform:uppercase}.room:empty+.obj{margin-top:0}.cnt{margin-top:8px}.cnt p{font-size:12px;line-height:1;letter-spacing:.04em;color:var(--dim)}.cnt b{color:var(--ink);font-weight:400}.meter{display:block;height:1px;width:180px;max-width:100%;margin-top:10px;background:#f4efe626}.meter i{display:block;height:1px;width:0;background:var(--acc);transition:width .6s var(--ease)}#hud-tr{position:absolute;right:max(20px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;gap:10px}.chip{appearance:none;font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;cursor:pointer;padding:11px 16px;border-radius:999px;transition:border-color .2s,background .2s}.chip b{color:var(--dim);font-weight:500;margin-left:.3em}.chip[aria-pressed=true] b{color:var(--acc)}.chip:hover{border-color:var(--acc)}#xhair{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;opacity:0;transition:opacity .2s}#xhair i{position:absolute;inset:0;border-radius:50%;border:1px solid transparent;transform:scale(.4);transition:transform .25s var(--ease),border-color .2s,box-shadow .2s}#xhair i:after{content:"";position:absolute;left:50%;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px #0006,0 0 6px #00000080}#xhair[data-state=idle]{opacity:.7}#xhair[data-state=target]{opacity:1}#xhair[data-state=target] i{transform:scale(1);border-color:var(--acc);box-shadow:0 0 14px #d9b87859,inset 0 0 0 1px #00000026}#xhair[data-state=target] i:after{background:var(--acc)}.prompt-line{position:absolute;left:50%;bottom:max(6vh,22px);transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:999px;font-size:14px;font-weight:400;line-height:1;color:var(--ink);white-space:nowrap;animation:rise .3s var(--ease)}.prompt-line kbd{min-width:28px;height:28px;padding:0 9px;border-color:var(--acc);color:var(--acc);background:none}.prompt-line.nokey{padding-left:20px}#toasts{position:absolute;right:max(20px,env(safe-area-inset-right));top:calc(max(18px,env(safe-area-inset-top)) + 58px);display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(440px,calc(100vw - 40px))}.toast{padding:12px 18px;border-radius:999px;font-size:13px;font-weight:400;line-height:1.3;color:var(--ink);animation:lift .4s var(--ease);transition:opacity .3s}.toast em{font-style:normal;font-weight:500;color:var(--acc);letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;margin-right:10px}.toast.out{opacity:0}.panel{position:fixed;right:max(20px,4vw);top:50%;transform:translateY(-50%);width:min(470px,calc(100vw - 40px));max-height:calc(100vh - 56px);z-index:8;display:flex;flex-direction:column;overflow:hidden;animation:lift .5s var(--ease)}.panel .scroll{overflow:auto;padding:34px 36px 30px;min-height:0;scrollbar-width:thin;scrollbar-color:rgba(217,184,120,.45) transparent}.panel .eyebrow{margin:0 44px 0 0;font-size:10.5px;line-height:1.5;color:var(--acc)}.panel h2{font:300 68px/.92 var(--disp);font-variation-settings:"opsz" 100;letter-spacing:-.01em;margin:22px 0 18px;color:var(--ink);overflow-wrap:normal}.panel p{color:var(--mut);font-size:15.5px;line-height:1.6;margin-bottom:12px}.panel b,.panel strong{color:var(--ink)}#panel-body>*{animation:rise .55s var(--ease) both;animation-delay:calc(var(--i,0) * 70ms + .12s)}.close{appearance:none;position:absolute;top:18px;right:18px;z-index:2;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;border-radius:50%;border:1px solid var(--line-hi);background:#0a0c1259;color:var(--mut);transition:border-color .2s,color .2s}.close svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.3;fill:none}.close:hover,.close:focus-visible{border-color:var(--acc);color:var(--ink)}.close:focus-visible{outline:none;box-shadow:0 0 0 3px #d9b87833}#pause{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:16px;background:radial-gradient(ellipse at center,#0305094d,#030509c7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#pause .card{width:min(560px,100%);animation:lift .45s var(--ease)}#pause h2{font:300 64px/.92 var(--disp);font-variation-settings:"opsz" 100;margin:22px 0 0}.keys{list-style:none;margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr;column-gap:18px;row-gap:10px;font-size:13.5px;color:var(--mut);align-items:center}.keys li{display:contents}.keys li span{display:inline-flex;gap:4px;align-items:center}.found{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);font-size:13.5px;color:var(--mut)}.found-h{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--acc)}.found-h b{color:var(--ink);font-weight:500}.found ol{list-style:none;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}.found li{display:flex;align-items:center;gap:10px}.found li:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--acc);flex:none}.found li.no{color:var(--faint)}.found li.no:before{background:none;box-shadow:inset 0 0 0 1px var(--faint)}.noscript{position:fixed;inset:auto 16px 16px;color:var(--ink)}.noscript a{color:var(--acc)}#theater{position:fixed;inset:0;z-index:9}#theater .th-back{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,2,4,.55))}#theater.film .th-back{background:#0000}.th-sheet{position:absolute;left:50%;bottom:0;width:min(680px,100%);max-height:min(78vh,620px);overflow:auto;padding:30px 30px 24px;border-radius:20px 20px 0 0;border-bottom:0;transform:translate(-50%,105%);transition:transform .55s var(--ease)}.th-sheet.on{transform:translate(-50%)}.th-sheet:before{content:"";position:absolute;top:10px;left:50%;width:42px;height:4px;margin-left:-21px;border-radius:2px;background:var(--line-hi)}.th-sheet .eyebrow{margin-right:44px}.th-films{list-style:none;margin-top:20px;display:grid;gap:12px}.th-pick{appearance:none;width:100%;display:grid;grid-template-columns:200px 1fr auto;gap:18px;align-items:center;text-align:left;cursor:pointer;padding:12px;border-radius:12px;border:1px solid var(--line);background:#f4efe608;color:var(--ink);font:inherit;transition:border-color .2s,background .2s}.th-pick:hover,.th-pick:focus-visible{border-color:var(--acc);background:#d9b87812;outline:none}.th-pick img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:8px;display:block}.th-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.th-title{font:300 32px/1 var(--disp);font-variation-settings:"opsz" 100}.th-sub{font:500 10.5px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}.th-blurb{font-size:14px;line-height:1.5;color:var(--mut);margin-top:4px}.th-tools{font-size:12px;line-height:1.45;color:var(--dim)}.th-play{pointer-events:none;min-width:0!important;padding:0 20px;height:40px}.th-foot{display:flex;justify-content:flex-end;margin-top:18px}.th-foot .btn{height:40px;padding:0 20px}#theater .th-film{position:absolute;background:#000;opacity:0;transition:opacity 1.4s ease .3s;box-shadow:0 0 60px #a0beff1f}#theater.film .th-film{opacity:1}.th-film iframe{width:100%;height:100%;border:0;display:block}.th-lights{position:absolute;left:50%;bottom:22px;transform:translate(-50%);height:38px;padding:0 18px}@media(max-width:620px){.th-sheet{padding:28px 16px 18px}.th-pick{grid-template-columns:1fr;gap:12px}.th-play{justify-self:start}.th-foot{justify-content:stretch}.th-foot .btn{width:100%}}#abyss{position:fixed;inset:0;z-index:9;pointer-events:none}#abyss>*{pointer-events:auto}.ab-page{display:block;width:100%;height:auto;border-radius:4px;margin:0 0 14px}.ab-sheet .ab-title{font:300 54px/.95 var(--disp);font-variation-settings:"opsz" 100;margin:18px 0;color:var(--ink)}.ab-player iframe{width:100%;height:166px;border:0;display:block;border-radius:8px}.ab-acts{gap:10px}.ab-now{position:absolute;left:20px;bottom:22px;height:38px;padding:0 16px}.ab-line{position:absolute;left:50%;top:22%;transform:translate(-50%);width:min(720px,calc(100% - 32px));text-align:center;pointer-events:none;font:300 italic clamp(22px,3.2vw,34px)/1.25 var(--disp);color:#dcf0e1e6;text-shadow:0 0 18px rgba(120,220,200,.35);opacity:0;transition:opacity 1.6s ease}.ab-line.on{opacity:1}@media(pointer:coarse){#xhair,#pause{display:none!important}}@media(max-width:640px){.card{padding:24px 22px 20px}#gate{bottom:max(14px,env(safe-area-inset-bottom))}#gate h1{font-size:3.6rem;margin:16px 0 12px}.lede{font-size:14.5px}.acts{margin-top:18px}.acts .btn{flex:1 1 auto}.btn{padding:15px 18px}.panel{left:12px;right:12px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:auto;max-height:66vh}.panel .scroll{padding:24px 22px 0}.panel h2{font-size:52px;margin:16px 0 12px}.panel p{font-size:15px}.close{top:14px;right:14px}.panel .acts{position:sticky;bottom:0;margin:30px -22px 0;padding:6px 22px max(16px,env(safe-area-inset-bottom));background:#0d0f15}.panel .acts:before{content:"";position:absolute;left:0;right:0;bottom:100%;height:30px;pointer-events:none;background:linear-gradient(180deg,#0d0f1500,#0d0f15)}#hud-tl{left:12px;top:max(56px,env(safe-area-inset-top));max-width:calc(100vw - 168px);padding:11px 14px 12px}.obj{font-size:13.5px}.meter{width:120px}#hud-tr{right:12px;top:max(56px,env(safe-area-inset-top));flex-direction:column;align-items:flex-end;gap:8px}.chip{padding:10px 14px;font-size:10px}#toasts{top:calc(max(56px,env(safe-area-inset-top)) + 96px);right:12px}.toast{font-size:12.5px;padding:10px 15px}.prompt-line{bottom:max(18px,env(safe-area-inset-bottom));font-size:13.5px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.viewer{position:fixed;inset:0;z-index:30;background:#04060b;display:flex;flex-direction:column;animation:rise .35s var(--ease)}.viewer-bar{display:flex;align-items:center;gap:18px;padding:14px max(20px,2.4vw);border-bottom:1px solid var(--line);flex:none}.viewer-bar h2{font:300 34px/1 var(--disp);font-variation-settings:"opsz" 100;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-count{font:500 10.5px/1 var(--sans);letter-spacing:.24em;color:var(--acc)}.viewer-state{color:var(--dim);font-size:12px;letter-spacing:.04em;margin-left:auto;white-space:nowrap}.viewer .close{position:static;flex:none}.viewer-stage{position:relative;flex:1;overflow:hidden;touch-action:none;cursor:zoom-in;user-select:none;-webkit-user-select:none}.viewer.zoomed .viewer-stage{cursor:grab}.viewer.zoomed .viewer-stage:active{cursor:grabbing}.viewer-stage img{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;box-shadow:0 30px 90px #0009;-webkit-user-drag:none}.viewer-nav{position:absolute;top:50%;transform:translateY(-50%);appearance:none;width:52px;height:52px;display:grid;place-items:center;cursor:pointer;border-radius:50%;border:1px solid var(--line-hi);background:#0a0c128c;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .2s,color .2s}.viewer-nav svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.3;fill:none}.viewer-nav:hover{border-color:var(--acc);color:var(--acc)}.viewer-nav.prev{left:max(16px,2vw)}.viewer-nav.next{right:max(16px,2vw)}.viewer-hint{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);color:var(--mut);font-size:12px;letter-spacing:.04em;pointer-events:none;white-space:nowrap;transition:opacity .4s;background:#0a0c12b3;border:1px solid var(--line);padding:9px 16px;border-radius:999px}.viewer.zoomed .viewer-hint{opacity:0}@media(max-width:640px){.viewer-bar{flex-wrap:wrap;gap:6px 12px;padding:12px 14px}.viewer-bar h2{font-size:28px;flex:1 1 60%}.viewer-state{order:3;flex-basis:100%;margin-left:0}.viewer-nav{width:44px;height:44px}}
