@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/press-start-2p-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Switzer;src:url(/assets/fonts/switzer-400.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:Switzer;src:url(/assets/fonts/switzer-600.woff2) format("woff2");font-weight:600;font-display:swap;font-style:normal}:root{--night: #16121e;--wall-d: #2a2137;--wall: #40304f;--wall-l: #5a4468;--lamp: #f0c46a;--lamp-hot: #fff0c2;--crt: #62d2c8;--crt-d: #1d5f6b;--carpet: #7a3f4a;--carpet-d: #5a2c36;--paper: #d8cfc0;--paper-d: #a2957f;--wood: #8a5f3a;--wood-d: #5e3f26;--sky: #1b2a4a;--star: #8fa8d8;--cork: #a8783f;--teal: #2f7f86;--rust: #b4562f;--plum: #8a3f6a;--ink: #0d0a13;--font-pixel: "Press Start 2P", monospace;--font-body: "Switzer", -apple-system, BlinkMacSystemFont, sans-serif;--page-bg: #ffffff;--page-ink: #1a1a1a;--page-mut: #7a7a80}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--page-bg: #101013;--page-ink: #e8e6e0;--page-mut: #8b8b92}}:root[data-theme=dark]{--page-bg: #101013;--page-ink: #e8e6e0;--page-mut: #8b8b92}*{box-sizing:border-box}.room-body{margin:0;min-height:100vh;background:var(--page-bg);color:var(--page-ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;align-items:center}.room-hud{width:min(92vw,880px);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.1rem 0 .9rem;font-family:var(--font-pixel);font-size:.6rem;letter-spacing:.06em}.room-hud-title{color:var(--page-ink)}.room-hud-exit{color:var(--page-mut);text-decoration:none;white-space:nowrap}.room-hud-exit:hover,.room-hud-exit:focus-visible{color:var(--page-ink)}.room-main{width:min(92vw,880px);display:flex;flex-direction:column;padding-bottom:2rem}.stage{width:100%}.screen{position:relative;aspect-ratio:320/200;overflow:hidden;background:var(--ink)}.screen canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;image-rendering:pixelated;object-fit:contain;display:block}.bloom{position:absolute;left:51.2%;top:29%;width:14%;height:14%;transform:translate(-50%,-50%);background:radial-gradient(circle,#62d2c88c,#62d2c800 70%);filter:blur(6px);pointer-events:none;animation:flicker 4.5s ease-in-out infinite}@keyframes flicker{0%,to{opacity:.75}50%{opacity:1}}.hotspot{position:absolute;margin:0;padding:0;background:transparent;border:1px dashed transparent;cursor:pointer;font:inherit}.hotspot:hover,.hotspot:focus-visible,.hotspot.armed{border-color:#f0c46ae6;background:#f0c46a24}.hotspot:focus{outline:none}.hs-label{position:absolute;left:50%;top:0;transform:translate(-50%,-130%);display:none;font-family:var(--font-pixel);font-size:clamp(.45rem,1.6vw,.6rem);letter-spacing:.08em;color:var(--lamp-hot);text-shadow:1px 1px 0 #000,-1px 1px 0 #000,1px -1px 0 #000,-1px -1px 0 #000;white-space:nowrap;pointer-events:none}.hotspot:hover .hs-label,.hotspot:focus-visible .hs-label,.hotspot.armed .hs-label{display:block}.snap{position:absolute;top:0;width:1px;height:1px}.snap-1{left:0;scroll-snap-align:start}.snap-2{left:16.875%;scroll-snap-align:start}.snap-3{right:0;scroll-snap-align:end}.closeup{position:absolute;inset:auto 0 0 0;max-height:calc(100% - 24px);overflow-y:auto;display:none;background:var(--night);border:2px solid var(--lamp);padding:1.1rem 1.25rem 1.25rem;color:var(--paper)}.closeup.open{display:block;animation:cu-rise .18s steps(3)}@keyframes cu-rise{0%{transform:translateY(18px)}to{transform:translateY(0)}}.closeup-close{float:right;margin:0 0 .6rem 1rem;padding:.45rem .6rem;font-family:var(--font-pixel);font-size:.5rem;letter-spacing:.08em;color:var(--night);background:var(--lamp);border:1px solid var(--lamp-hot);cursor:pointer}.closeup-close:hover,.closeup-close:focus-visible{background:var(--lamp-hot)}.cu{display:none}.cu.on{display:block}.cu-title{margin:0 0 .8rem;font-family:var(--font-pixel);font-size:.7rem;letter-spacing:.06em;color:var(--lamp);line-height:1.6}.cu-flavor{font-style:italic;color:var(--paper);margin:0 0 .6rem}.cu p{margin:0 0 .6rem}.cu a{color:var(--crt);text-decoration:underline;text-underline-offset:2px}.cu a:hover,.cu a:focus-visible{color:var(--lamp-hot)}.cu-links{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;margin-top:.9rem}.cu-list{list-style:none;margin:.4rem 0 0;padding:0}.cu-list li{margin:0 0 .55rem}.cu-sub{display:block;color:var(--paper-d);font-size:.92rem}.cu-index-list .cu-open-btn{padding:0;background:none;border:0;font:inherit;color:var(--crt);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.cu-index-list .cu-open-btn:hover,.cu-index-list .cu-open-btn:focus-visible{color:var(--lamp-hot)}.console{background:var(--night);padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.9rem;border-top:1px solid var(--wall-l)}.sentence{margin:0;font-family:var(--font-pixel);font-size:.6rem;letter-spacing:.05em;color:var(--lamp-hot);min-height:1.2em;text-align:center;line-height:1.7}.sentence .s-verb{color:var(--crt)}.sentence .s-name{color:var(--lamp)}.verbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.verb{font-family:var(--font-pixel);font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.7rem .4rem;color:color-mix(in srgb,var(--paper) 45%,var(--wall-d));background:var(--wall-d);border:1px solid var(--wall);-webkit-user-select:none;user-select:none}.verb.on{color:var(--night);background:var(--lamp);border-color:var(--lamp-hot)}.index-btn{align-self:center;padding:.6rem 1rem;font-family:var(--font-pixel);font-size:.5rem;letter-spacing:.08em;color:var(--paper);background:transparent;border:1px dashed var(--wall-l);cursor:pointer}.index-btn:hover,.index-btn:focus-visible{color:var(--night);background:var(--lamp);border-color:var(--lamp-hot)}@media (max-width: 640px){.stage{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.screen{width:640px}.verbs{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){.bloom{animation:none;opacity:.85}.closeup.open{animation:none}}
