:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--ta-bg:#0b0b10;--ta-text:#e6e6ee;--ta-accent:#7aa2ff;--ta-cold:#79b8c8;--ta-error:#ff8a8a;--ta-meta:#7bb0bc;--ta-intro:#d0d0dc;--ta-scrim:#0b0b10b8;--ta-input-bg:#0b0b10c4;--ta-chip-bg:#151520ee;--ta-panel-bg:#0e0e16f2;--ta-corner-bg:#0b0b10cc;--ta-border:#262633;--ta-scrollbar-thumb:#6a6a80;--ta-dim:#9a94b8;--ta-map-line:#8a84a8;--ta-map-glyph:#a9b8d8;--ta-map-room-fill:#14141c;--ta-map-room-current-fill:#1c2438;--ta-map-ghost:#a29cc0;--ta-map-ghost-below:#a88ad0;--ta-map-door-locked:#c23a56;--ta-map-door-open:#2aa08c}*{box-sizing:border-box}html,body{background:var(--ta-bg);height:100%;color:var(--ta-text);letter-spacing:.03em;margin:0;font-family:Courier New,ui-monospace,SFMono-Regular,monospace}#app{z-index:1;background:0 0;grid-template-rows:1fr auto;height:100%;display:grid;position:relative}#scene{z-index:0;background:var(--ta-bg);position:fixed;inset:0;overflow:hidden}#scene canvas{width:100%;height:100%;display:block}#hud{z-index:5;pointer-events:none;position:fixed;inset:0}#transcript{background:linear-gradient(to right, transparent, var(--ta-scrim) 12%, var(--ta-scrim) 88%, transparent);scrollbar-width:thin;scrollbar-color:transparent transparent;justify-self:center;width:100%;max-width:72ch;padding:1rem 1.25rem;line-height:1.55;transition:scrollbar-color .3s;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 1.5rem calc(100% - 1rem),#0000);mask-image:linear-gradient(#0000,#000 1.5rem calc(100% - 1rem),#0000)}#transcript.scroll-active{scrollbar-color:var(--ta-scrollbar-thumb) transparent}#transcript::-webkit-scrollbar{width:6px}#transcript::-webkit-scrollbar-track{background:0 0}#transcript::-webkit-scrollbar-thumb{background-color:#0000;border-radius:3px;transition:background-color .3s}#transcript.scroll-active::-webkit-scrollbar-thumb{background-color:var(--ta-scrollbar-thumb)}#transcript.scroll-active::-webkit-scrollbar-thumb:hover{background-color:var(--ta-accent)}#transcript .line{margin:0 0 .15rem}.line-blank{line-height:.9}.line-room-title{color:var(--ta-accent);text-transform:uppercase;letter-spacing:.14em;text-shadow:0 0 8px var(--ta-accent);font-weight:700;margin-top:.6rem!important}.line-error{color:var(--ta-error)}.line-meta{color:var(--ta-meta);font-style:italic}.line-intro{color:var(--ta-intro);font-style:italic}.line-echo{color:var(--ta-dim)}.line-enter{animation:.2s ease-out both line-enter}@keyframes line-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.transcript-jump{background:var(--ta-chip-bg);border:1px solid var(--ta-border);color:var(--ta-cold);font:inherit;letter-spacing:.08em;cursor:pointer;z-index:10;border-radius:999px;padding:.35rem .9rem;font-size:.8rem;transition:border-color .15s,color .15s;position:fixed;bottom:3.25rem;left:50%;transform:translate(-50%);box-shadow:0 0 12px #000000b0}.transcript-jump:hover,.transcript-jump:focus-visible{border-color:var(--ta-accent);color:var(--ta-accent)}.transcript-jump[hidden]{display:none}@media (prefers-reduced-motion:reduce){.line-enter{animation:none}.transcript-jump,#input-row{transition:none}}#input-row{border-top:1px solid var(--ta-border);background:var(--ta-input-bg);gap:.5rem;padding:.5rem 1.25rem .75rem;transition:border-top-color .15s;display:flex}#input-row:focus-within{border-top-color:var(--ta-accent)}#input-row .prompt{color:var(--ta-accent);text-shadow:0 0 8px var(--ta-accent)}#map-corner{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:0 10px;display:flex;position:absolute;inset:0 0 0 calc(50% + 38ch)}#mini-map{pointer-events:auto;cursor:pointer;z-index:5;touch-action:none;background:0 0;border:1px solid #0000;border-radius:4px;max-width:100%;max-height:58vh;padding:0;position:relative;overflow:hidden}#mini-map:hover{border-color:var(--ta-accent)}#mini-map:focus-visible{border-color:var(--ta-accent);box-shadow:0 0 8px var(--ta-accent);outline:none}#mini-map:empty,#mini-map:empty~.map-hint{display:none}@media (max-width:1100px){#scene{display:none}#map-corner{justify-content:flex-start;align-items:flex-end;inset:10px 10px auto auto}#mini-map{background:var(--ta-corner-bg);border-color:var(--ta-border);max-width:190px;max-height:150px;padding:4px}}.map-hint{color:var(--ta-dim);letter-spacing:.06em;text-align:center;text-shadow:0 0 2px var(--ta-bg), 0 0 4px var(--ta-bg), 0 0 8px var(--ta-bg);-webkit-user-select:none;user-select:none;font-size:.78rem;transition:opacity .15s}@media (max-width:1100px){.map-hint{text-align:right}}#mini-map.mini-map-peeking~.map-hint{visibility:hidden;opacity:0}#mini-map.mini-map-peeking{background:var(--ta-panel-bg);border-color:var(--ta-accent);cursor:default;z-index:20;width:min(640px,90vw);max-width:none;height:min(480px,78vh);max-height:none;margin:auto;padding:14px;transition:transform .35s ease-out,background-color .35s ease-out,border-color .35s ease-out;position:fixed;inset:0}#hud .mini-map-dim{z-index:15;opacity:0;pointer-events:none;background:#000;transition:opacity .35s ease-out;position:fixed;inset:0}#mini-map.mini-map-peeking~.mini-map-dim{opacity:.4}#mini-map.mini-map-pinned~.mini-map-dim{pointer-events:auto;cursor:pointer}#mini-map.mini-map-pinned{cursor:pointer}.mini-map-title{color:var(--ta-accent);text-transform:uppercase;letter-spacing:.14em;text-shadow:0 0 8px var(--ta-accent);opacity:0;pointer-events:none;font-size:.78rem;transition:opacity .14s ease-out;position:absolute;top:10px;left:14px}#mini-map.mini-map-peeking .mini-map-title{opacity:1;transition-delay:.21s}.mini-map-detail-surface{opacity:0;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){#mini-map.mini-map-peeking,#hud .mini-map-dim,.mini-map-detail-surface,.mini-map-title,.map-hint{transition:none}}.game-map .map-room-box{fill:var(--ta-map-room-fill);stroke:var(--ta-map-line);stroke-width:1.5px}.game-map .map-room-current .map-room-box{stroke:var(--ta-accent);stroke-width:2.5px;fill:var(--ta-map-room-current-fill)}.game-map .map-room-unknown{stroke-dasharray:3 3}.game-map .map-room-mark{fill:var(--ta-map-line);text-anchor:middle;dominant-baseline:middle;font-size:12px}.game-map .map-edge{stroke:var(--ta-map-line);stroke-width:1.5px}.game-map .map-edge-known{stroke-dasharray:4 3;opacity:.7}.game-map .map-stub{stroke:var(--ta-map-line);stroke-width:1.2px;stroke-dasharray:2 3}.game-map .map-glyph{fill:var(--ta-map-glyph);text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:var(--ta-bg);stroke-width:3px;font-size:11px}.game-map .map-stub-glyph{fill:var(--ta-dim);font-size:10px}.game-map .map-door{stroke:var(--ta-map-line);stroke-width:1px;fill:var(--ta-bg)}.game-map .map-door-locked{fill:var(--ta-map-door-locked);stroke:var(--ta-map-door-locked)}.game-map .map-door-open{fill:var(--ta-bg);stroke:var(--ta-map-door-open);stroke-width:1.6px}.game-map .map-label{fill:var(--ta-text);text-anchor:middle;paint-order:stroke;stroke:var(--ta-bg);stroke-width:4px;font-family:Courier New,ui-monospace,monospace;font-size:12px}.game-map polyline{fill:none}.game-map .map-edge-cross{stroke:var(--ta-cold);stroke-dasharray:2 4;opacity:.6}.game-map .map-badge{fill:var(--ta-cold);dominant-baseline:middle;paint-order:stroke;stroke:var(--ta-bg);stroke-width:3px;font-size:9px}.game-map .map-ghosts{pointer-events:none}.game-map .map-ghost{opacity:.6}.game-map .map-ghost-box{fill:none;stroke:var(--ta-map-ghost);stroke-width:1px;stroke-dasharray:2 2}.game-map .map-ghost-above .map-ghost-box{stroke:var(--ta-cold)}.game-map .map-ghost-below .map-ghost-box{stroke:var(--ta-map-ghost-below)}.game-map .map-rooms>g,.game-map .map-ghosts>g{transition:transform .3s}.game-map .map-room-inner,.game-map .map-ghost-inner{transition:transform .3s,opacity .3s}.game-map .map-room-enter .map-room-inner,.game-map .map-ghost-enter .map-ghost-inner{opacity:0;transform:scale(.6)}.game-map .map-exit{opacity:0;transition:opacity .3s}.game-map .map-edge-enter line,.game-map .map-edge-enter polyline{stroke-dasharray:240;stroke-dashoffset:240px;animation:.35s forwards map-edge-draw}@keyframes map-edge-draw{to{stroke-dashoffset:0}}@keyframes map-level-fade{0%{opacity:.15}to{opacity:1}}.game-map.map-levelshift .map-rooms,.game-map.map-levelshift .map-edges,.game-map.map-levelshift .map-ghosts{animation:.3s map-level-fade}@media (prefers-reduced-motion:reduce){.game-map .map-rooms>g,.game-map .map-ghosts>g,.game-map .map-room-inner,.game-map .map-ghost-inner,.game-map .map-exit{transition:none}.game-map .map-room-enter .map-room-inner,.game-map .map-ghost-enter .map-ghost-inner{opacity:1;transform:none}.game-map .map-edge-enter line,.game-map .map-edge-enter polyline{stroke-dashoffset:0;stroke-dasharray:none;animation:none}.game-map.map-levelshift .map-rooms,.game-map.map-levelshift .map-edges,.game-map.map-levelshift .map-ghosts{animation:none}}#cmd{color:var(--ta-text);font:inherit;background:0 0;border:none;outline:none;flex:1}
