@font-face{font-family:Jev Digital Rain;src:url(/fonts/JevDigitalRain-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--green:#acff82;--muted:#a2b2a8;--ease-out:cubic-bezier(.23, 1, .32, 1);color:#f2f6f0;-webkit-font-smoothing:antialiased;background:#030805;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0;overflow:hidden}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline-offset:5px;outline:2px solid #f2f6f0}button:active:not(:disabled):not(:focus-visible){transform:scale(.97)}#app,#app canvas{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}#scanlines,#vignette{pointer-events:none;z-index:2;position:fixed;inset:0}#scanlines{opacity:.2;background:repeating-linear-gradient(#0002 0 1px,#0000 1px 3px)}#vignette{transition:opacity .24s var(--ease-out);background:linear-gradient(90deg,#030805 0%,#030805f5 24%,#030805b8 42%,#0000 72%),linear-gradient(#030805b0,#0000 25% 70%,#030805db)}body.playing #vignette{opacity:.25}#hud{z-index:3;pointer-events:none;position:fixed;inset:0}#chrome{letter-spacing:.12em;border-bottom:1px solid #b9ffc71c;justify-content:space-between;align-items:center;gap:16px;min-height:96px;margin:0 48px;font-size:11px;display:flex}.wordmark{white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:flex}.wordmark-detail{color:var(--muted);font-weight:400}.brand-glyph{color:var(--green);margin-right:4px;font:24px Jev Digital Rain,monospace}.header-actions{align-items:center;gap:24px;display:flex}#status{color:var(--green);text-transform:uppercase}#status:before{content:"";vertical-align:2px;background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:9px;display:inline-block}#motion,#menu{pointer-events:auto;color:#d0dbd3;min-height:44px;transition:transform .16s var(--ease-out);background:#030805aa;border:1px solid #b9ffc72b;border-radius:6px;padding:0 14px;font-size:12px}#gate{pointer-events:auto;scrollbar-width:thin;width:min(540px,46vw);max-height:calc(100dvh - 160px);transition:opacity .18s var(--ease-out), visibility .18s;position:absolute;top:max(116px,50% - 286px);left:7.2%;overflow:auto}#gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;margin:0 0 24px;font:11px ui-monospace,monospace;display:flex}.room-number{width:28px;height:28px;color:var(--green);letter-spacing:0;border:1px solid #b9ffc738;border-radius:50%;place-items:center;font-size:10px;display:grid}h1{letter-spacing:-.065em;margin:0;font-size:clamp(56px,6.5vw,94px);font-weight:500;line-height:.98}h1>span{color:var(--green)}h1 .title-period{color:#f2f6f0}.lede{letter-spacing:-.015em;max-width:400px;margin:28px 0 12px;font-size:19px;line-height:1.5}.detail{max-width:410px;color:var(--muted);margin:0 0 30px;font-size:14px;line-height:1.65}#enter{color:#11200d;background:var(--green);width:min(100%,410px);min-height:58px;transition:transform .16s var(--ease-out);border:0;border-radius:7px;justify-content:space-between;align-items:center;gap:16px;padding:0 22px;font-size:15px;font-weight:600;display:flex}#enter>span:last-child{font-size:24px;font-weight:400}#enter:disabled{cursor:wait;color:#c3d7c5;background:#25422c}#load-error{color:#ffd2b5;max-width:410px;font-size:13px;line-height:1.5}.help{color:var(--muted);font-size:12px}.desktop-help{border-top:1px solid #b9ffc723;grid-template-columns:1fr 1fr;gap:14px 16px;max-width:410px;margin:26px 0 0;padding-top:22px;display:grid}.desktop-help>span{align-items:center;gap:8px;display:flex}kbd{color:#dce6df;font:11px ui-monospace,monospace}.mobile-help{margin:18px 0 0;line-height:1.6;display:none}.legal{color:#86998b;margin:32px 0 0;font-size:10px;line-height:1.6}.room-caption{text-align:right;transition:opacity .18s;position:absolute;bottom:42px;right:48px}.room-caption>span{color:#a3ffc0;letter-spacing:.3em;font:26px Jev Digital Rain,monospace}.room-caption p{color:#96b69d;letter-spacing:.2em;margin:12px 0 0;font:9px ui-monospace,monospace}body.playing .room-caption{opacity:0}#hint{color:#c3d7c5;text-align:center;background:#030805dc;border:1px solid #b9ffc72b;border-radius:8px;margin:0;padding:12px 18px;font-size:12px;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}#crosshair{border:1px solid #d4ffd8;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#touch{pointer-events:auto;left:max(20px, env(safe-area-inset-left));bottom:max(20px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute}.touch-row{gap:6px;display:flex}#touch button{width:52px;height:52px;color:var(--green);touch-action:none;transition:transform .16s var(--ease-out);background:#030805d9;border:1px solid #b9ffc74a;border-radius:8px;font-size:20px}@media (hover:hover) and (pointer:fine){#enter:hover:not(:disabled){background:#c7ffa9}#motion:hover,#menu:hover,#touch button:hover{background:#173021}}@media (pointer:coarse){.desktop-help{display:none}.mobile-help{display:block}#hint{width:140px;bottom:40px;left:auto;right:20px;transform:none}}@media (width<=700px){#chrome{letter-spacing:.07em;min-height:80px;margin:0 24px;font-size:10px}.wordmark-detail{display:none}.header-actions{gap:12px}#motion,#menu{padding:0 10px;font-size:11px}#gate{width:calc(100% - 48px);max-height:calc(100dvh - 138px);top:auto;bottom:42px;left:24px;transform:none}#vignette{background:linear-gradient(#030805aa,#03080536 22%,#030805ed 56%,#030805 100%)}.kicker{margin-bottom:22px;font-size:10px}h1{font-size:clamp(48px,13.8vw,82px)}.lede{margin-top:24px;font-size:18px}.detail{margin-bottom:24px;font-size:13px}#enter{min-height:56px}.legal{margin-top:26px}.room-caption{display:none}.desktop-help{gap:12px 8px;font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}button:active:not(:disabled):not(:focus-visible){transform:none}}
