.play-surface{touch-action:none}.floorplan.play{height:auto;aspect-ratio:7 / 10;max-height:100%}.map-tab{position:absolute;left:8px;bottom:8px;z-index:2;min-width:52px;min-height:44px;padding:0 10px;display:flex;align-items:center;justify-content:center;font:inherit;font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;color:var(--ch-plan-label, #55677c);background:color-mix(in srgb,var(--ch-ink, #0a0d13) 88%,transparent);border:1px solid var(--ch-plan-line-soft, #2e3947);border-radius:2px 10px 0 0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer;animation:map-tab-in .22s ease-out both}.map-tab-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase}@keyframes map-tab-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.map-wrap{position:fixed;inset:0;z-index:4;font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace}.map-scrim{position:absolute;inset:0;background:var(--ch-void, #05070b)}.map-sheet{position:absolute;inset:0;display:flex;flex-direction:column;background:var(--ch-void, #05070b);animation:map-sheet-up .18s ease-out both}@keyframes map-sheet-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.map-head{flex:0 0 auto;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 10px;border-bottom:1px solid var(--ch-plan-line-soft, #2e3947)}.map-title{margin:0;font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ch-plan-label, #55677c)}.map-sub{margin:4px 0 0;font-size:12px;color:var(--ch-plan-note, #7d97ad)}.map-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity}.map-floor{position:relative;scroll-snap-align:start;border-bottom:1px solid color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 45%,transparent)}.map-floor-name{position:absolute;top:10px;left:16px;margin:0;font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ch-plan-label, #55677c);pointer-events:none}.map-floor-note{position:absolute;top:26px;left:16px;margin:0;font-size:10px;letter-spacing:.08em;color:var(--ch-plan-note, #7d97ad);pointer-events:none}.floorplan.map{height:auto;aspect-ratio:4 / 5;background:transparent;touch-action:pan-y}.map-label{fill:var(--ch-plan-label, #55677c);font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;font-size:9px;letter-spacing:.08em;text-anchor:middle;dominant-baseline:middle;opacity:.62;pointer-events:none}.map-close{flex:0 0 auto;width:100%;min-height:56px;margin:0;padding:0 0 env(safe-area-inset-bottom,0px);font:inherit;font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-plan-label, #55677c);background:color-mix(in srgb,var(--ch-ink, #0a0d13) 82%,transparent);border:0;border-top:1px solid var(--ch-plan-line-soft, #2e3947);touch-action:manipulation;cursor:pointer}.map-tab:focus-visible,.map-close:focus-visible{outline:2px solid var(--ch-plan-note, #7d97ad);outline-offset:2px}@media (prefers-reduced-motion: reduce){.map-tab,.map-sheet{animation:none!important}.map-body{scroll-behavior:auto}}:root{--ch-void: #05070b;--ch-ink: #0a0d13;--ch-plan-line: #47576b;--ch-plan-line-soft: #2e3947;--ch-plan-label: #55677c;--ch-plan-note: #7d97ad;--ch-torch-core: #ffd9a0;--ch-torch-mid: #e0a35e;--ch-torch-edge: #6d4526;--ch-mains-core: #ffeac4;--ch-mains-edge: #8d8358;--ch-floor: #241d16;--ch-lino: #21231f;--ch-quarry: #1d1a19;--ch-concrete: #1c1e21;--ch-boards: #271e15;--ch-wood: #6e5b43;--ch-wood-dark: #493c2d;--ch-metal: #7a828d;--ch-metal-dark: #4a5058;--ch-porcelain: #b4bdbf;--ch-fabric: #5b4b3d;--ch-coal: #101116;--ch-brick: #6a4a3c;--ch-fixture: #d9cdb6;--ch-fixture-live: #f0b95c;--ch-noise: #8fc0dc;--ch-you: #d3e8f1;--ch-presence: #8e2b28;--ch-presence-glow: #c04a3a;--ch-wall-top: #37312a;--ch-wall-face: #4c4237;--ch-wall-base: #0c0b0a;--ch-solid-face: #2b2015;--ch-solid-contact: #06070a;--ch-solid-rim: #6e5b43;--ch-wall-weight: 1.6px;--ch-line-weight: 1.1px;--ch-flicker: 1;--ch-health: 1;--ch-dying: 0;--shake-px: 3px}.floorplan{display:block;width:100%;height:100%;background:var(--ch-void);touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.floorplan-root text{font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;text-anchor:middle;letter-spacing:.08em;pointer-events:none}.plan-memory{pointer-events:none}.plan-wall{fill:none;stroke:var(--ch-plan-line);stroke-width:var(--ch-wall-weight);stroke-linejoin:miter;stroke-linecap:butt}.plan-memory.is-arriving{animation:ch-memory-arrive .9s ease-out .45s 1 backwards}@keyframes ch-memory-arrive{0%{opacity:0}35%{opacity:.15}to{opacity:1}}.plan-wall.is-circulation{stroke:var(--ch-plan-line)}.plan-wall.is-room{stroke:var(--ch-plan-line-soft)}.plan-gap{stroke:var(--ch-void);stroke-width:calc(var(--ch-wall-weight) + 1.6px);stroke-linecap:butt}.plan-leaf{stroke:var(--ch-plan-line-soft);stroke-width:2.4px;stroke-linecap:butt}.plan-leaf.is-locked{stroke:var(--ch-plan-line);stroke-dasharray:3 2}.plan-leaf.is-jammed{stroke:var(--ch-plan-line-soft);stroke-dasharray:1.5 1.5}.plan-leaf.is-barricaded{stroke:var(--ch-plan-line);stroke-width:3.6px}.plan-crossing rect{fill:none;stroke:var(--ch-plan-line);stroke-width:var(--ch-line-weight)}.plan-crossing path{fill:none;stroke:var(--ch-plan-line);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.plan-crossing.is-hatch rect{stroke-dasharray:3 2}.plan-noted path{fill:none;stroke:var(--ch-plan-note);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.75}.plan-label{fill:var(--ch-plan-label);font-size:7.5px;opacity:.72}.floor-plate{fill:var(--ch-boards)}.floor-plate.is-arch-kitchen,.floor-plate.is-arch-scullery,.floor-plate.is-arch-bathroom,.floor-plate.is-arch-wc{fill:var(--ch-lino)}.floor-plate.is-arch-cellar,.floor-plate.is-arch-coalstore,.floor-plate.is-arch-garden{fill:var(--ch-quarry)}.floor-plate.is-arch-boiler,.floor-plate.is-arch-shed{fill:var(--ch-concrete)}.floor-plate.is-arch-porch{fill:var(--ch-quarry)}.floor-plate.is-arch-attic{fill:#1a1510}.floor-surface{pointer-events:none}.surf-boards{fill:none;stroke:#1a140e;stroke-width:.9px}.surf-joint{fill:none;stroke:#16110c;stroke-width:.8px}.surf-lino{fill:none;stroke:#191b18;stroke-width:.7px}.surf-quarry{fill:none;stroke:#151312;stroke-width:.8px}.surf-fleck{fill:#262a2e;stroke:none;opacity:.5}.cast-shadow{pointer-events:none}.cast-penumbra,.cast-umbra{fill:var(--ch-void);stroke:none}.cast-penumbra{fill-opacity:.3}.cast-umbra{fill-opacity:.62}.wall-solid{pointer-events:none}.wall-band{fill:none;stroke:var(--ch-wall-top);stroke-width:5px;stroke-linecap:butt}.wall-face{fill:none;stroke:var(--ch-wall-face);stroke-width:2.5px;stroke-linecap:butt}.wall-base{fill:none;stroke:var(--ch-wall-base);stroke-width:1.4px;stroke-linecap:butt;opacity:.85}.door-frame{stroke:var(--ch-wood-dark);stroke-width:4px;stroke-linecap:butt}.door-leaf{stroke:var(--ch-wood);stroke-width:3px;stroke-linecap:butt}.door.is-locked .door-leaf{stroke:#8b7248}.door.is-jammed .door-leaf{stroke:var(--ch-wood-dark);stroke-dasharray:2 1.5}.door.is-barricaded .door-leaf{stroke:var(--ch-wood);stroke-width:4px}.door-lock{fill:#c9a24e}.door-brace{stroke:var(--ch-wood);stroke-width:2.4px;stroke-linecap:round}.door.is-stairs .door-frame,.door.is-hatch .door-frame{stroke:var(--ch-metal-dark)}.fixture{pointer-events:none}.fixture .fx-glyph{fill:none;stroke:var(--ch-fixture);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;opacity:.9}.fixture-site.is-live .fx-glyph{stroke:var(--ch-fixture-live);opacity:1}.fx-glyph-tick,.fx-glyph-catch,.fx-glyph-needle{stroke-width:1.5px}.fx-glyph-pin{fill:var(--ch-fixture);stroke:none}.fixture-site.is-live .fx-glyph-pin{fill:var(--ch-fixture-live)}.fx-glyph-bars,.fx-glyph-lines{opacity:.7}.fixture-ring{fill:none;stroke:var(--ch-fixture-live);stroke-width:1.2px;opacity:0;transform-box:fill-box;transform-origin:center;animation:ch-fixture-ring 2.2s ease-out infinite}@keyframes ch-fixture-ring{0%{opacity:.55;transform:scale(.62)}70%{opacity:0;transform:scale(1.05)}to{opacity:0;transform:scale(1.05)}}.wash-core{stop-color:var(--ch-torch-core);stop-opacity:calc(.2 * var(--ch-flicker) * var(--ch-health))}.wash-mid{stop-color:var(--ch-torch-mid);stop-opacity:calc(.12 * var(--ch-flicker) * var(--ch-health))}.wash-edge{stop-color:var(--ch-torch-edge);stop-opacity:calc(.17 * var(--ch-dying))}:root[data-flash=off] .wash-core{stop-opacity:calc(.2 * var(--ch-health))}:root[data-flash=off] .wash-mid{stop-opacity:calc(.12 * var(--ch-health))}.floorplan-root[data-light=mains] .wash-core{stop-color:var(--ch-mains-core);stop-opacity:.1}.floorplan-root[data-light=mains] .wash-mid{stop-color:var(--ch-mains-edge);stop-opacity:.06}.floorplan-root[data-light=mains] .wash-edge{stop-opacity:0}.torch-wash,.torch-cone,.torch-skirt{pointer-events:none}.torch-cone{opacity:calc(.11 * var(--ch-flicker))}.torch-skirt{opacity:calc(.06 * var(--ch-flicker))}:root[data-flash=off] .torch-cone{opacity:.11}:root[data-flash=off] .torch-skirt{opacity:.06}.room-label{fill:var(--ch-torch-core);font-size:7.5px;opacity:.5}.furniture{pointer-events:none}.furn-contact{fill:var(--ch-solid-contact);stroke:none}.furn-face{fill:var(--ch-solid-face);stroke:var(--ch-solid-rim);stroke-width:.7px;stroke-opacity:.5;paint-order:stroke}.furn-body.is-coalHeap .furn-face{stroke:none}.furn-body.is-bath .furn-face,.furn-body.is-basin .furn-face,.furn-body.is-sink .furn-face,.furn-body.is-lavatory .furn-face,.furn-body.is-copper .furn-face,.furn-body.is-washstand .furn-face{fill:#35393a}.furn-body.is-boiler .furn-face,.furn-body.is-waterTank .furn-face,.furn-body.is-pipework .furn-face{fill:#23272b}.furn-body.is-coalHeap .furn-face{fill:#0b0c10}.furn-stencil{fill:none;stroke:var(--ch-wood);stroke-width:1.1px;stroke-linejoin:round;opacity:1}.furn-bed,.furn-armchair,.furn-sofa,.furn-mat{fill:var(--ch-fabric);fill-opacity:.52}.furn-bed-head{fill:var(--ch-fabric);fill-opacity:.8}.furn-wardrobe,.furn-dresser,.furn-chest,.furn-desk,.furn-table,.furn-hallstand,.furn-bench{fill:var(--ch-wood-dark);fill-opacity:.78}.furn-sink,.furn-basin,.furn-bath,.furn-lavatory,.furn-washstand,.furn-copper{stroke:var(--ch-porcelain);fill:var(--ch-porcelain);fill-opacity:.24}.furn-pipework,.furn-shelves,.furn-slats,.furn-butt{stroke:var(--ch-metal-dark)}.furn-slats{opacity:.7}.furn-boiler{stroke:var(--ch-metal);fill:var(--ch-metal-dark);fill-opacity:.25}.furn-range-body{fill:#1e1b19;stroke:var(--ch-metal-dark);stroke-width:1.1px}.furn-range-plate{fill:#2b2622;stroke:var(--ch-metal-dark);stroke-width:.9px}.furn-range-rail{fill:none;stroke:var(--ch-metal);stroke-width:1px;opacity:.7}.furn-fire-surround{fill:#1b1714;stroke:var(--ch-wood-dark);stroke-width:1.2px}.furn-fire-opening{fill:#0b0a09;stroke:none}.furn-fire-bars{fill:none;stroke:var(--ch-metal-dark);stroke-width:.9px}.furn-tank-body{fill:var(--ch-metal-dark);fill-opacity:.3;stroke:var(--ch-metal);stroke-width:1.1px}.furn-tank-lid,.furn-tank-pipe{fill:none;stroke:var(--ch-metal);stroke-width:1px}.furn-coal{fill:var(--ch-coal);stroke:#23242b;stroke-width:1px}.furn-coal-lump{fill:#1b1d23;stroke:none}.furn-chute-frame{fill:#16130f;stroke:var(--ch-brick);stroke-width:1.1px}.furn-brick{fill:none;stroke:var(--ch-brick);stroke-width:.8px;opacity:.8}.furn-door-frame{fill:#1a1611;stroke:var(--ch-wood);stroke-width:1.4px}.furn-door-plate,.furn-door-sill{fill:none;stroke:var(--ch-wood);stroke-width:1.1px;opacity:.8}.furn-treads path{fill:none;stroke:var(--ch-wood-dark);stroke-width:.9px;opacity:.85}.furn-joists path{fill:none;stroke:#2f2519;stroke-width:1.4px;opacity:.9}.room-focus{fill:none;stroke:var(--ch-you);stroke-width:1.2px;stroke-dasharray:4 3;opacity:.45;pointer-events:none}.noise-pulse{pointer-events:none}.noise-ring{fill:none;stroke:var(--ch-noise);stroke-width:1.4px;opacity:0;transform-box:fill-box;transform-origin:center}.noise-ring.r1{animation:ch-noise 1.4s ease-out 1 forwards}.noise-ring.r2{animation:ch-noise 1.4s ease-out .22s 1 forwards}@keyframes ch-noise{0%{opacity:.85;transform:scale(.2)}to{opacity:0;transform:scale(2.6)}}.noise-pulse.is-barricadeHit .noise-ring,.noise-pulse.is-barricadeBroken .noise-ring{stroke:var(--ch-presence-glow);stroke-width:2px}.door-doubt{pointer-events:none}.door-doubt-mark{stroke:var(--ch-plan-note);stroke-width:3.4px;stroke-linecap:butt;opacity:0;animation:ch-door-doubt 1.6s ease-out 1 forwards}@keyframes ch-door-doubt{0%{opacity:0}18%{opacity:.65}to{opacity:0}}.vfx{pointer-events:none}.vfx-collapse-plate{fill:var(--ch-void);animation:ch-collapse 1.75s ease-out 1 forwards}.vfx-iris{transform-box:fill-box;transform-origin:center;animation:ch-iris 1.75s cubic-bezier(.22,.9,.2,1) 1 forwards}@keyframes ch-collapse{0%{opacity:0}4%{opacity:1}62%{opacity:.94}to{opacity:0}}@keyframes ch-iris{0%{transform:scale(5)}14%{transform:scale(4.1)}to{transform:scale(1)}}:root[data-flash=off] .vfx-collapse-plate{animation:ch-collapse-plain 1.2s linear 1 forwards}@keyframes ch-collapse-plain{0%{opacity:.85}to{opacity:0}}.vfx-caught{fill:var(--ch-presence);animation:ch-caught 1.6s ease-out 1 forwards}@keyframes ch-caught{0%{opacity:0}12%{opacity:.55}to{opacity:0}}:root[data-flash=off] .vfx-caught{animation:none;opacity:0}.presence-mark{pointer-events:none}.presence-halo{fill:var(--ch-presence);opacity:.22;transform-box:fill-box;transform-origin:center;animation:ch-presence 1.9s ease-in-out infinite}.presence-core{fill:var(--ch-presence-glow);opacity:.9}@keyframes ch-presence{0%,to{opacity:.14;transform:scale(.85)}50%{opacity:.3;transform:scale(1.08)}}.presence-mark.is-edge .presence-halo{fill:var(--ch-void);opacity:.5;animation:none}.presence-mark.is-edge .presence-core{fill:var(--ch-presence);opacity:.35}.you{pointer-events:none}.you-ring{fill:none;stroke:var(--ch-you);stroke-width:1.3px;opacity:.7}.you-core{fill:var(--ch-you)}@media (prefers-reduced-motion: reduce){.fixture-ring{animation:none;opacity:.5}.noise-ring.r1{animation:none;opacity:.7;transform:scale(1.6)}.noise-ring.r2{animation:none;opacity:0}.presence-halo{animation:none;opacity:.22}.door-doubt-mark{animation-duration:.9s}.plan-memory.is-arriving{animation-duration:.3s;animation-delay:.2s}.vfx-collapse-plate{animation:ch-collapse-plain .5s linear 1 forwards}.vfx-iris{animation:none}.vfx-caught{animation-duration:.28s}.wash-core{stop-opacity:calc(.2 * var(--ch-health))}.wash-mid{stop-opacity:calc(.12 * var(--ch-health))}.torch-cone{opacity:.11}.torch-skirt{opacity:.06}}.ch-body{pointer-events:none;--ch-swing: 0;--ch-lift: 0;--ch-stride: 6.8;--ch-arm: 4.6;--ch-track: 3.2;--ch-hip: -.8;--ch-lean: 0;--ch-head: 3.8;--ch-hand: 6.6;--ch-hem: 3;--ch-verb: 0;--ch-verb-amp: 1}.ch-body-torso,.ch-body-head,.ch-body-foot,.ch-body-coat,.ch-body-board,.ch-body-torchcase{stroke:var(--ch-void);stroke-width:1.3;paint-order:stroke}.ch-body[data-hidden="1"],.ch-thing[data-hidden="1"]{display:none}.ch-body[data-gait=creep]{--ch-stride: 3.5;--ch-arm: 1.8;--ch-track: 4.1;--ch-hip: -.3;--ch-lean: -1.2;--ch-head: 1.2;--ch-hand: 5.7}.ch-body[data-gait=run]{--ch-stride: 10.3;--ch-arm: 7.1;--ch-track: 2;--ch-hip: -2.7;--ch-lean: 2.4;--ch-head: 6;--ch-hand: 7.1}.ch-body-shadow{transform-box:fill-box;transform-origin:center;opacity:calc(.92 - var(--ch-lift) * .3)}.ch-body[data-gait=creep] .ch-body-shadow{transform:scale(.8);opacity:calc(1 - var(--ch-lift) * .2)}.ch-body[data-gait=run] .ch-body-shadow{transform:scale(1.06);opacity:calc(.82 - var(--ch-lift) * .34)}.ch-body-coat{fill:var(--ch-fabric);opacity:.95;transform-box:fill-box;transform-origin:70% 50%;transform:translate(calc((var(--ch-lean) - 1) * 1px)) rotate(calc(var(--ch-swing) * var(--ch-hem) * 1deg))}.ch-body-torso{fill:var(--ch-torch-mid);opacity:1;transform:translate(calc((var(--ch-lean) + var(--ch-lift) * .5) * 1px))}.ch-body-head{fill:var(--ch-wood-dark);transform:translate(calc((var(--ch-head) + var(--ch-lift) * .7) * 1px)) scaleX(1.2)}.ch-body-foot{fill:var(--ch-wood);opacity:.85}.ch-body-foot.is-left{transform:translate(calc((var(--ch-hip) + var(--ch-swing) * var(--ch-stride)) * 1px),calc(var(--ch-track) * -1px))}.ch-body-foot.is-right{transform:translate(calc((var(--ch-hip) - var(--ch-swing) * var(--ch-stride)) * 1px),calc(var(--ch-track) * 1px))}.ch-body-hand.is-left{transform:translate(calc((var(--ch-lean) - var(--ch-swing) * var(--ch-arm)) * 1px),calc(var(--ch-hand) * -1px))}.ch-body-hand.is-right{transform:translate(calc((var(--ch-lean) + var(--ch-swing) * var(--ch-arm)) * 1px),calc(var(--ch-hand) * 1px))}.ch-body-board{fill:var(--ch-fixture);opacity:.78}.ch-body-torchcase{fill:var(--ch-wall-top);opacity:.95}.ch-body-beam{fill:var(--ch-torch-edge);opacity:.55}.ch-body[data-torch=on] .ch-body-beam{fill:var(--ch-torch-core);opacity:1}.ch-body[data-verb]{--ch-stride: 0;--ch-arm: 0;--ch-hem: 0}.ch-body[data-verb=rummage]{--ch-head: 5.2;--ch-track: 4.2;--ch-hip: .4;--ch-lean: 1.6}.ch-body[data-verb=rummage] .ch-body-shadow{transform:scale(.78);opacity:1}.ch-body[data-verb=rummage] .ch-body-hand.is-left{transform:translate(calc((7.4 + (1 + var(--ch-verb)) * 1.1 * var(--ch-verb-amp)) * 1px),-2.4px)}.ch-body[data-verb=rummage] .ch-body-hand.is-right{transform:translate(calc((7.4 + (1 - var(--ch-verb)) * 1.1 * var(--ch-verb-amp)) * 1px),2.4px)}.ch-body[data-verb=shove]{--ch-head: 1.2;--ch-track: 4.6;--ch-hip: -2.4;--ch-lean: 2.6}.ch-body[data-verb=shove] .ch-body-torso{transform:translate(calc((var(--ch-lean) + (1 - var(--ch-verb)) * 1.1 * var(--ch-verb-amp)) * 1px))}.ch-body[data-verb=shove] .ch-body-hand.is-left{transform:translate(calc((6.8 + (1 - var(--ch-verb)) * 1.6 * var(--ch-verb-amp)) * 1px),-4.4px)}.ch-body[data-verb=shove] .ch-body-hand.is-right{transform:translate(calc((6.8 + (1 - var(--ch-verb)) * 1.6 * var(--ch-verb-amp)) * 1px),4.4px)}.ch-body[data-verb=reach]{--ch-head: 4.4;--ch-lean: 1.2}.ch-body[data-verb=reach] .ch-body-hand.is-left{transform:translate(calc((3.4 + var(--ch-verb) * 5 * var(--ch-verb-amp) + (1 - var(--ch-verb-amp)) * 5) * 1px),-3.2px)}.ch-body[data-verb=flat]{--ch-head: 2;--ch-track: 1.4;--ch-hand: 3.2;--ch-lean: -.6}.ch-body[data-verb=flat] .ch-body-coat{transform:translate(-1px) scale(.92,.84)}.ch-body[data-verb=flat] .ch-body-shadow{transform:scale(.72);opacity:1}.ch-thing{pointer-events:none;color:var(--ch-void)}.ch-thing[data-near=near]{color:var(--ch-presence)}.ch-thing-halo{transform-box:fill-box;transform-origin:center;animation:ch-thing-swell 1.9s ease-in-out infinite}@keyframes ch-thing-swell{0%,to{opacity:.62;transform:scale(.86)}50%{opacity:1;transform:scale(1.1)}}.ch-thing-column{fill:var(--ch-void);opacity:.62}.ch-thing-crown{display:none}.ch-thing[data-near=near] .ch-thing-column{fill:var(--ch-presence);opacity:.95}.ch-thing[data-near=near] .ch-thing-crown{display:block;fill:var(--ch-presence-glow);opacity:.9;transform:translate(4.4px)}@media (prefers-reduced-motion: reduce){.ch-body,.ch-body[data-gait]{--ch-stride: 0;--ch-arm: 0;--ch-hem: 0;--ch-verb-amp: 0}.ch-thing-halo{animation:none;opacity:.8}}:root{--ch-page-ink: #c8d2da;--ch-page-dim: #7f8f9d;--ch-page-rule: #232c37}.ch-screen{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;box-sizing:border-box;padding:calc(32px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));background:var(--ch-void, #05070b);color:var(--ch-page-ink, #c8d2da);font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overscroll-behavior:contain;-webkit-tap-highlight-color:transparent}.ch-screen__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;justify-content:center;gap:32px;width:100%;max-width:32rem;margin-inline:auto}.ch-screen__foot{flex:0 0 auto;margin-top:auto;padding-top:28px;display:flex;flex-direction:column;gap:12px;width:100%;max-width:32rem;margin-inline:auto}.ch-btn{display:block;width:100%;min-height:56px;padding:15px 16px;box-sizing:border-box;border:1px solid var(--ch-page-rule, #232c37);border-radius:2px;background:transparent;font:inherit;font-size:16px;letter-spacing:.16em;text-transform:uppercase;text-align:center;color:var(--ch-page-ink, #c8d2da);cursor:pointer;touch-action:manipulation;transition:background-color .12s ease-out,border-color .12s ease-out}.ch-btn--primary{border-color:var(--ch-torch-mid, #e0a35e);color:var(--ch-torch-core, #ffd9a0);background:#e0a35e12}.ch-btn--primary:active{background:#e0a35e29}.ch-btn--quiet{color:var(--ch-page-dim, #7f8f9d)}.ch-btn--quiet:active{background:#c8d2da0f}.ch-btn--half{flex:1 1 0;min-width:0}.ch-btn__sub{display:block;margin-top:7px;font-size:12px;letter-spacing:.06em;text-transform:none;color:var(--ch-page-dim, #7f8f9d)}.ch-btn:focus-visible{outline:2px solid var(--ch-torch-mid, #e0a35e);outline-offset:2px}.ch-title__wordmark{font-size:30px;font-weight:400;letter-spacing:.3em;text-indent:.3em;margin:0 0 0 -.3em;color:var(--ch-porcelain, #b4bdbf)}.ch-title__where{margin:-12px 0 0;font-size:13px;letter-spacing:.08em;color:var(--ch-page-dim, #7f8f9d)}.ch-title__copy{display:flex;flex-direction:column;gap:20px}.ch-title__copy p{margin:0;font-size:17px;line-height:1.6;color:var(--ch-page-ink, #c8d2da)}.ch-title__copy p:first-child{font-size:19px;line-height:1.5}.ch-title__copy p:last-child{color:var(--ch-page-dim, #7f8f9d)}.ch-screen--cutscene{background:var(--ch-void, #05070b);padding-top:calc(48px + env(safe-area-inset-top,0px))}.ch-screen--cutscene.is-over-room{background:transparent}.ch-cutscene__behind{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ch-cutscene__behind:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 45%,#05070bc7,#05070bed 70%,#05070bf7)}.ch-cutscene__page{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:32rem;margin-inline:auto;padding:0;border:0;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.ch-cutscene__slide{animation:ch-slide-in .42s ease-out both}.ch-cutscene__speaker{margin:0 0 14px;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--ch-plan-note, #7d97ad)}.ch-cutscene__title{margin:0 0 16px;font-size:23px;font-weight:400;line-height:1.35;color:var(--ch-porcelain, #b4bdbf)}.ch-cutscene__sub{margin:0;font-size:17px;line-height:1.65;color:var(--ch-page-ink, #c8d2da)}.ch-cutscene__foot{position:relative}.ch-cutscene__dots{display:flex;gap:7px;justify-content:center;padding-bottom:18px}.ch-cutscene__dot{width:6px;height:6px;border-radius:50%;background:var(--ch-page-rule, #232c37)}.ch-cutscene__dot.is-now{background:var(--ch-page-dim, #7f8f9d)}.ch-cutscene__row{display:flex;gap:16px}@keyframes ch-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ch-val__sheet{display:flex;flex-direction:column}.ch-val__house{margin:0 0 6px;font-size:19px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ch-porcelain, #b4bdbf)}.ch-val__night{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--ch-page-rule, #232c37);color:var(--ch-page-dim, #7f8f9d)}.ch-val__stars{font-size:21px;letter-spacing:.08em;color:var(--ch-fixture-live, #f0b95c)}.ch-val__stars-empty{color:var(--ch-page-rule, #232c37)}.ch-val__figures{margin:26px 0 0;display:flex;flex-direction:column;gap:14px}.ch-val__row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.ch-val__row dt{color:var(--ch-page-dim, #7f8f9d);font-size:16px}.ch-val__row dd{margin:0;font-size:20px;font-variant-numeric:tabular-nums;color:var(--ch-page-ink, #c8d2da)}.ch-val__ending{margin:18px 0 0;font-size:17px;line-height:1.55;color:var(--ch-page-dim, #7f8f9d)}.ch-val__unseen{margin:34px 0 0;padding-top:22px;border-top:1px solid var(--ch-page-rule, #232c37);font-size:18px;line-height:1.6;color:var(--ch-page-ink, #c8d2da)}.ch-caught__copy{display:flex;flex-direction:column;gap:20px}.ch-caught__line{margin:0;font-size:18px;line-height:1.65;color:var(--ch-page-ink, #c8d2da);opacity:0;animation:ch-caught-in .9s ease-out both}.ch-caught__line:first-child{font-size:20px;color:var(--ch-porcelain, #b4bdbf)}.ch-caught__line:last-child{color:var(--ch-page-dim, #7f8f9d)}.ch-screen--letgo{background:var(--ch-outside, #080c11)}@keyframes ch-caught-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-height: 640px){.ch-screen{padding-top:calc(20px + env(safe-area-inset-top,0px));font-size:16px}.ch-screen__body{gap:20px;justify-content:flex-start}.ch-screen__foot{padding-top:18px}.ch-title__wordmark{font-size:24px}.ch-title__where{margin-top:-8px;font-size:12px}.ch-title__copy{gap:14px}.ch-title__copy p,.ch-title__copy p:first-child{font-size:16px}.ch-caught__copy{gap:14px}.ch-caught__line,.ch-caught__line:first-child{font-size:17px}}@media (prefers-reduced-motion: reduce){.ch-cutscene__slide,.ch-caught__line{animation:none;opacity:1;transform:none}}.ch-screen--ledger{padding-top:calc(20px + env(safe-area-inset-top,0px))}.ch-screen--ledger .ch-screen__body{justify-content:flex-start;gap:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.ch-led__head{flex:0 0 auto;width:100%;max-width:32rem;margin-inline:auto;padding-bottom:12px;border-bottom:1px solid var(--ch-page-rule, #232c37)}.ch-led__title{margin:0;font-size:13px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--ch-page-dim, #7f8f9d)}.ch-led__tally{margin:5px 0 0;font-size:15px;font-variant-numeric:tabular-nums;color:var(--ch-page-ink, #c8d2da)}.ch-led__empty{margin:28px 0 0;font-size:15px;color:var(--ch-page-dim, #7f8f9d)}.ch-led__house{padding-top:22px}.ch-led__house-name{margin:0;font-size:11px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--ch-page-dim, #7f8f9d)}.ch-led__house-tally{margin:3px 0 0;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ch-page-rule, #232c37)}.ch-led__entries{list-style:none;margin:10px 0 0;padding:0}.ch-led__entry{display:grid;grid-template-columns:1fr auto;column-gap:12px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--ch-page-rule, #232c37) 60%,transparent)}.ch-led__text{font-size:14px;line-height:1.45;color:var(--ch-page-ink, #c8d2da)}.ch-led__value{font-size:14px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;color:var(--ch-page-ink, #c8d2da)}.ch-led__where{grid-column:1 / -1;margin-top:3px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-page-rule, #232c37)}.hud{display:contents}.hud-objective{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;min-height:40px;padding:0;border:0;background:none;text-align:left;font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.hud-room{color:var(--ch-torch-mid, #e0a35e);font-size:12px;letter-spacing:.16em;text-transform:uppercase;min-height:14px}.hud-objective-line{color:var(--ch-plan-note, #7d97ad);font-size:14px;line-height:1.3;min-height:18px}button.hud-objective:active .hud-objective-line{color:var(--ch-you, #d3e8f1)}.hud-hint{pointer-events:none;min-height:53px;max-height:53px;overflow:hidden;padding:0 0 4px;display:flex;align-items:flex-end}.hud-hint[data-empty=true]{visibility:hidden}.hud-hint-line{margin:0;color:var(--ch-plan-note, #7d97ad);font-size:13px;line-height:1.25;letter-spacing:.02em;white-space:normal;max-width:100%;text-shadow:0 1px 3px var(--ch-void, #05070b);animation:hud-fade-in .26s ease-out both}.hud-controls{display:flex;flex-direction:column;font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;color:var(--ch-plan-label, #55677c);-webkit-tap-highlight-color:transparent;border-top:1px solid transparent;padding-top:8px}.hud-controls[data-occupied=true]{border-top-color:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 60%,transparent)}.hud-row{display:flex;align-items:flex-end;gap:8px;margin-top:8px}.hud-row-floors{height:44px}.hud-row-gait{height:56px}.hud-row-action{height:72px}.hud-row[data-shown=false]{height:0;margin-top:0;overflow:hidden}.hud-controls[data-hand=left] .hud-row{flex-direction:row-reverse}.hud-controls[data-hand=left] .hud-action,.hud-controls[data-hand=left] .hud-slot-action{margin-inline-start:0;margin-inline-end:auto}.hud-floors{pointer-events:auto;display:flex;gap:4px;flex:1;min-width:0}.hud-floor-seg{flex:0 0 44px;min-width:44px;height:44px;padding:0 2px;display:flex;align-items:center;justify-content:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:hud-fade-in .18s ease-out both}.hud-floor-key{font-size:15px;letter-spacing:.06em;color:var(--ch-you, #d3e8f1)}.hud-floor-name{display:none;font-size:10px;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;min-width:0}.hud-floor-seg[data-on=true]{min-width:44px;color:var(--ch-you, #d3e8f1);border-color:var(--ch-plan-line, #47576b);background:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 32%,var(--ch-ink, #0a0d13))}.hud-slot-square{width:56px;height:56px;flex:0 0 56px}.hud-slot-gait{flex:1;height:56px}.hud-slot-action{width:72px;height:72px;flex:0 0 72px;margin-inline-start:auto}.hud-btn,.hud-gait-seg,.hud-floor-seg,.hud-action,.hud-sheet-close,.hud-item-drop{pointer-events:auto;font:inherit;color:var(--ch-plan-label, #55677c);background:color-mix(in srgb,var(--ch-ink, #0a0d13) 82%,transparent);border:1px solid var(--ch-plan-line-soft, #2e3947);border-radius:10px;touch-action:manipulation;cursor:pointer;transition:color .12s linear,border-color .12s linear,background-color .12s linear}.hud-btn{position:relative;flex:0 0 56px;width:56px;height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;animation:hud-fade-in .18s ease-out both}.hud-btn:active,.hud-gait-seg:active,.hud-floor-seg:active,.hud-sheet-close:active,.hud-item-drop:active{border-color:var(--ch-plan-line, #47576b);color:var(--ch-you, #d3e8f1)}.hud-btn:disabled,.hud-gait-seg:disabled,.hud-floor-seg:disabled,.hud-action:disabled{opacity:.4;cursor:default}.hud-label{font-size:9px;letter-spacing:.1em;text-transform:uppercase}.hud-glyph{width:16px;height:16px;border:1.4px solid currentColor}.hud-torch .hud-glyph{border-radius:3px 3px 7px 7px;border-top-width:3px}.hud-clipboard .hud-glyph{border-radius:2px;border-top-width:5px}.hud-second{padding:4px 3px;overflow:hidden}.hud-second-label{font-size:9px;line-height:1.2;letter-spacing:.02em;text-align:center}.hud-flight{border-color:var(--ch-you, #d3e8f1);color:var(--ch-you, #d3e8f1);background:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 45%,var(--ch-ink, #0a0d13))}.hud-flight .hud-second-label{font-size:13px;letter-spacing:.1em;text-transform:uppercase}.hud-caution{flex:1;min-width:0;margin:0;align-self:flex-end;padding-bottom:6px;font-size:9.5px;line-height:1.25;letter-spacing:.01em;text-align:right;color:var(--ch-plan-note, #7d97ad);text-shadow:0 1px 3px var(--ch-void, #05070b);max-height:48px;overflow:hidden;animation:hud-fade-in .22s ease-out both}.hud-torch[data-on=true]{color:var(--ch-torch-core, #ffd9a0);border-color:var(--ch-torch-mid, #e0a35e);background:color-mix(in srgb,var(--ch-torch-edge, #6d4526) 22%,var(--ch-ink, #0a0d13))}.hud-torch[data-low=true]{color:var(--ch-torch-edge, #6d4526)}.hud-clipboard[data-unread=true]:after{content:"";position:absolute;top:8px;right:8px;width:5px;height:5px;border-radius:50%;background:var(--ch-plan-note, #7d97ad)}.hud-gait{pointer-events:auto;flex:1;display:flex;height:56px;gap:6px}.hud-gait-seg{flex:1;min-width:44px;height:56px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;animation:hud-fade-in .18s ease-out both}.hud-gait-seg[data-on=true]{color:var(--ch-you, #d3e8f1);border-color:var(--ch-plan-line, #47576b);background:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 32%,var(--ch-ink, #0a0d13))}.hud-action{pointer-events:auto;position:relative;margin-inline-start:auto;flex:0 0 72px;width:72px;height:72px;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;border-color:var(--ch-fixture-live, #f0b95c);color:var(--ch-fixture-live, #f0b95c);background:color-mix(in srgb,var(--ch-fixture-live, #f0b95c) 12%,var(--ch-ink, #0a0d13));overflow:hidden;animation:hud-fade-in .18s ease-out both}.hud-action-label{font-size:10px;line-height:1.15;letter-spacing:.04em;text-align:center}.hud-action[data-working=true]{color:var(--ch-torch-core, #ffd9a0)}.hud-action-progress{position:absolute;inset:0;background:conic-gradient(var(--ch-fixture-live, #f0b95c) calc(var(--hud-progress, 0) * 360deg),transparent 0);opacity:.35}.hud-action[data-verb=hide],.hud-action[data-verb=lock],.hud-action[data-verb=barricade],.hud-action[data-verb=climb],.hud-action[data-verb=emerge]{border-color:var(--ch-you, #d3e8f1);color:var(--ch-you, #d3e8f1);background:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 45%,var(--ch-ink, #0a0d13))}.hud-action[data-verb=emerge]{background:color-mix(in srgb,var(--ch-plan-line, #47576b) 55%,var(--ch-ink, #0a0d13))}[data-ringing=true]{outline:1px solid var(--ch-plan-note, #7d97ad);outline-offset:3px;border-radius:12px;animation:hud-flare .7s ease-out 1 both}.hud-sheet-wrap{position:fixed;inset:0;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none;font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace}.hud-sheet-scrim{pointer-events:auto;position:absolute;inset:0;background:color-mix(in srgb,var(--ch-void, #05070b) 55%,transparent)}.hud-sheet{pointer-events:auto;position:relative;display:flex;flex-direction:column;max-height:min(58vh,480px);padding:14px 16px calc(12px + env(safe-area-inset-bottom,0px));background:var(--ch-ink, #0a0d13);border-top:1px solid var(--ch-plan-line-soft, #2e3947);box-shadow:0 -18px 40px var(--ch-void, #05070b);animation:hud-sheet-up .2s ease-out both}.hud-sheet-head{flex:0 0 auto;padding-bottom:10px;border-bottom:1px solid var(--ch-plan-line-soft, #2e3947)}.hud-sheet-title{margin:0;font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ch-plan-label, #55677c)}.hud-sheet-next{margin:4px 0 0;font-size:13px;color:var(--ch-plan-note, #7d97ad)}.hud-sheet-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.hud-lines{list-style:none;margin:0;padding:4px 0 0}.hud-line{display:flex;gap:10px;align-items:baseline;min-height:30px;padding:5px 0;border-bottom:1px solid color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 55%,transparent)}.hud-line-no{flex:0 0 16px;font-size:10px;color:var(--ch-plan-line-soft, #2e3947)}.hud-line-text{flex:1;font-size:12.5px;line-height:1.35;color:var(--ch-fixture, #d9cdb6)}.hud-line-where{display:block;margin-top:2px;font-style:normal;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ch-plan-label, #55677c)}.hud-line-rule{flex:1;height:1px;align-self:center;background:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 70%,transparent)}.hud-line--noted{display:block;padding:0}.hud-line-open{display:flex;gap:10px;align-items:baseline;width:100%;min-height:44px;padding:5px 0;margin:0;background:none;border:0;border-radius:0;font:inherit;color:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.hud-line-mark{color:var(--ch-plan-label, #55677c)}.hud-line-note{display:block;margin-top:4px;font-size:11.5px;line-height:1.45;color:var(--ch-plan-note, #7d97ad)}.hud-hands{padding-top:14px}.hud-hands-head{margin:0 0 6px;font-size:10px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--ch-plan-label, #55677c)}.hud-items{list-style:none;margin:0;padding:0}.hud-item{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.hud-item-text{flex:1}.hud-item-name{display:block;font-size:12.5px;color:var(--ch-fixture, #d9cdb6)}.hud-item-note{display:block;margin-top:2px;font-size:11.5px;line-height:1.4;color:var(--ch-plan-note, #7d97ad)}.hud-item-drop{flex:0 0 auto;min-width:72px;min-height:44px;padding:0 10px;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.hud-sheet-close{flex:0 0 auto;margin-top:10px;width:100%;min-height:56px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.hud-objective:focus-visible,.hud-btn:focus-visible,.hud-gait-seg:focus-visible,.hud-floor-seg:focus-visible,.hud-action:focus-visible,.hud-sheet-close:focus-visible,.hud-line-open:focus-visible,.hud-item-drop:focus-visible{outline:2px solid var(--ch-you, #d3e8f1);outline-offset:2px}@keyframes hud-fade-in{0%{opacity:0}to{opacity:1}}@keyframes hud-sheet-up{0%{transform:translateY(12%);opacity:0}to{transform:none;opacity:1}}@keyframes hud-flare{0%{outline-color:var(--ch-you, #d3e8f1);outline-offset:8px}to{outline-color:var(--ch-plan-note, #7d97ad);outline-offset:3px}}@media (prefers-reduced-motion: reduce){.hud-hint-line,.hud-btn,.hud-gait-seg,.hud-action,.hud-caution,.hud-sheet,[data-ringing=true]{animation:none;transition:none}}.hud-line-value{flex:0 0 auto;align-self:baseline;min-width:64px;font-size:12.5px;font-variant-numeric:tabular-nums;text-align:right;color:var(--ch-fixture, #d9cdb6)}.hud-line-more{flex:1;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ch-plan-line-soft, #2e3947)}.hud-carried{display:flex;justify-content:space-between;gap:12px;margin:0;padding:8px 0 0;border-top:1px solid var(--ch-plan-line-soft, #2e3947);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ch-plan-label, #55677c)}.hud-carried-sum{font-variant-numeric:tabular-nums;color:var(--ch-fixture, #d9cdb6)}.hud-deck{position:relative;display:flex;align-items:stretch;gap:12px;margin-top:8px;height:136px}.hud-controls[data-stick=true] .hud-deck{justify-content:flex-end}.hud-controls[data-stick=true] .hud-deck .hud-stick{position:absolute;left:0;right:0;top:0;bottom:calc(-1 * var(--ch-pad-b, 10px));height:auto;z-index:0}.hud-pad-cell,.hud-slot-square,.hud-slot-gait,.hud-slot-action,.hud-stick-gone{pointer-events:none}.hud-controls[data-stick=true] .hud-stick-ghost{left:26%}.hud-controls[data-hand=left][data-stick=true] .hud-stick-ghost{left:74%}.hud-controls[data-hand=left] .hud-deck{flex-direction:row-reverse}.hud-stick{position:relative;flex:1 1 auto;min-width:0;height:100%;pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent;overflow:visible}.hud-stick-ghost{position:absolute;left:46%;top:56%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;border:1px solid var(--ch-plan-line-soft, #2e3947);opacity:.3;transition:opacity .32s linear;pointer-events:none}.hud-stick-ghost:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;border:1px solid var(--ch-plan-line-soft, #2e3947);background:color-mix(in srgb,var(--ch-plan-line-soft, #2e3947) 22%,transparent)}.hud-controls[data-hand=left] .hud-stick-ghost{left:54%}.hud-stick[data-used=true] .hud-stick-ghost{opacity:.12}.hud-stick[data-live=true] .hud-stick-ghost,.hud-stick[data-off=true] .hud-stick-ghost{opacity:0}.hud-stick-ring,.hud-stick-knob{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .14s linear;will-change:transform}.hud-stick-ring{width:92px;height:92px;margin:-46px 0 0 -46px;border:1px solid var(--ch-plan-line, #47576b);background:color-mix(in srgb,var(--ch-ink, #0a0d13) 45%,transparent);display:flex;align-items:center;justify-content:center}.hud-stick-knob{width:44px;height:44px;margin:-22px 0 0 -22px;border:1px solid var(--ch-you, #d3e8f1);background:color-mix(in srgb,var(--ch-plan-line, #47576b) calc(28% + var(--stick-throw, 0) * 42%),var(--ch-ink, #0a0d13))}.hud-stick[data-live=true] .hud-stick-ring{opacity:.5}.hud-stick[data-live=true] .hud-stick-knob{opacity:.92}.hud-stick-pace{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--ch-plan-note, #7d97ad);text-shadow:0 1px 3px var(--ch-void, #05070b)}.hud-pad{position:relative;z-index:1;flex:0 0 152px;display:grid;grid-template-columns:72px 72px;grid-template-rows:56px 72px;gap:8px}.hud-pad-cell{display:flex;align-items:stretch;min-width:0}.hud-pad .hud-btn,.hud-pad .hud-slot-square{width:100%;flex:1 1 auto}.hud-pad .hud-action,.hud-pad .hud-slot-action{width:100%;flex:1 1 auto;margin-inline-start:0}.hud-sprint{pointer-events:auto;width:100%;height:72px;display:flex;align-items:center;justify-content:center;padding:0;font:inherit;border-radius:10px;border:1px solid var(--ch-plan-line-soft, #2e3947);background:color-mix(in srgb,var(--ch-ink, #0a0d13) 82%,transparent);color:var(--ch-plan-label, #55677c);touch-action:manipulation;cursor:pointer;transition:color 90ms linear,border-color 90ms linear,background-color 90ms linear;animation:hud-fade-in .18s ease-out both}.hud-sprint-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.hud-sprint[data-on=true]{color:var(--ch-you, #d3e8f1);border-color:var(--ch-you, #d3e8f1);background:color-mix(in srgb,var(--ch-plan-line, #47576b) 40%,var(--ch-ink, #0a0d13))}.hud-sprint:disabled{opacity:.4;cursor:default}.hud-sprint:focus-visible{outline:2px solid var(--ch-you, #d3e8f1);outline-offset:2px}.hud-controls[data-stick=true] .hud-row-floors .hud-clipboard,.hud-controls[data-stick=true] .hud-row-floors .hud-slot-square{height:44px;flex:0 0 56px;width:56px}.hud-deck .hud-caution{position:absolute;z-index:2;bottom:calc(100% + 4px);left:0;right:68px;flex:none;padding-bottom:0;max-height:60px;pointer-events:none;text-align:left;font-size:11px;line-height:1.35;color:var(--ch-you, #d3e8f1);text-shadow:0 1px 4px var(--ch-void, #05070b),0 0 10px var(--ch-void, #05070b)}.hud-controls[data-hand=left] .hud-deck .hud-caution{left:68px;right:0;text-align:right}@media (prefers-reduced-motion: reduce){.hud-sprint,.hud-stick-ghost,.hud-stick-ring,.hud-stick-knob{animation:none;transition:none}}.app>.app-stage{aspect-ratio:auto;align-self:stretch;max-height:none;height:100%}#root>.app{position:relative}.app>.app-status,.app>.app-controls{position:absolute;left:0;right:0;z-index:2}.app>.app-status{top:0;pointer-events:none;background:linear-gradient(to bottom,var(--ch-void, #05070b) 0%,color-mix(in srgb,var(--ch-void, #05070b) 72%,transparent) 58%,transparent 100%);padding-bottom:26px}.app>.app-status>*{pointer-events:none}.app>button.app-status>.hud-objective-line{pointer-events:auto}.app>button.app-status>.hud-objective-line[data-rung]{pointer-events:none}.app>.app-controls{bottom:0;pointer-events:none;background:linear-gradient(to top,var(--ch-void, #05070b) 0%,color-mix(in srgb,var(--ch-void, #05070b) 74%,transparent) 46%,transparent 100%)}.app>.app-controls .hud-controls[data-occupied=true]{border-top-color:transparent}.app>.hud-hint{position:absolute;z-index:2;top:calc(var(--ch-pad-t, 10px) + 78px);left:0;right:0;pointer-events:none;align-items:flex-start;padding:0 var(--ch-pad-r, 10px) 4px var(--ch-pad-l, 10px);background:linear-gradient(to bottom,color-mix(in srgb,var(--ch-void, #05070b) 90%,transparent) 0%,color-mix(in srgb,var(--ch-void, #05070b) 90%,transparent) 62%,transparent 100%)}.hud-controls{transition:opacity .5s linear}.hud-controls[data-idle=true]{opacity:.38}.hud-controls[data-idle=true] .hud-stick{opacity:1}.hud-controls[data-stick=true] .hud-floors{position:absolute;pointer-events:none;bottom:calc(var(--ch-pad-b, 10px) + 196px);right:var(--ch-pad-r, 10px);left:auto;flex:none;flex-direction:column;align-items:flex-end;width:auto;max-height:46vh;gap:4px}.hud-controls[data-hand=left][data-stick=true] .hud-floors{right:auto;left:var(--ch-pad-l, 10px);align-items:flex-start}.hud-floors-title{flex:0 0 auto;padding:0 4px 2px;font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--ch-plan-label, #55677c);text-shadow:0 1px 3px var(--ch-void, #05070b);pointer-events:none}.hud-controls[data-stick=true] .hud-floor-seg{width:44px;justify-content:center;background:color-mix(in srgb,var(--ch-ink, #0a0d13) 92%,transparent)}.hud-controls[data-stick=true] .hud-floor-seg:active{width:auto;min-width:44px;max-width:220px;gap:8px;padding:0 10px;flex-direction:row-reverse}.hud-controls[data-stick=true] .hud-floor-seg:active .hud-floor-name{display:inline}.hud-controls[data-hand=left][data-stick=true] .hud-floor-seg:active{flex-direction:row}.hud-floor-seg[data-here=true]:after{content:"";position:absolute;left:5px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:var(--ch-you, #d3e8f1)}.hud-floor-seg{position:relative}.hud-controls[data-hand=left] .hud-floor-seg[data-here=true]:after{left:auto;right:5px}.app>.app-stage .map-tab{bottom:200px}.app>.app-stage .floorplan.play{top:auto;bottom:163px}@media (prefers-reduced-motion: reduce){.hud-controls{transition:none}}.hud-tell{position:fixed;inset:0;z-index:2;pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:0 calc(var(--ch-pad-r) + 58px) calc(var(--ch-hud-min) + var(--ch-pad-b) + 8px + 22px) calc(var(--ch-pad-l) + 14px);box-sizing:border-box}.hud-tell-line{margin:0;max-width:330px;text-align:center;text-wrap:balance;color:var(--ch-you, #d3e8f1);font-size:15px;line-height:1.5;letter-spacing:.01em;background:color-mix(in srgb,var(--ch-void, #05070b) 88%,transparent);padding:6px 10px;border-radius:6px;text-shadow:0 1px 2px var(--ch-void, #05070b),0 0 14px var(--ch-void, #05070b);animation:hud-tell-1 7s ease-out both}@keyframes hud-tell-1{0%{opacity:0;transform:translateY(2px)}13%{opacity:1;transform:none}78%{opacity:1;transform:none}to{opacity:0;transform:none}}.hud-tell[data-weight="2"]{background:linear-gradient(to bottom,#030508cc 0 78px,#03050800 132px calc(100% - 258px),#030508cc calc(100% - 196px) 100%);animation:hud-tell-scrim 7.4s ease-in-out both}.hud-tell[data-weight="2"] .hud-tell-line{animation:hud-tell-2 9.5s ease-out both}@keyframes hud-tell-scrim{0%{opacity:0}16%{opacity:1}74%{opacity:1}to{opacity:0}}@keyframes hud-tell-2{0%{opacity:0;transform:translateY(3px)}12%{opacity:1;transform:none}82%{opacity:1;transform:none}to{opacity:0;transform:none}}@media (prefers-reduced-motion: reduce){.hud-tell-line,.hud-tell[data-weight="2"] .hud-tell-line{animation-name:hud-tell-fade}}@keyframes hud-tell-fade{0%{opacity:0}13%{opacity:1}78%{opacity:1}to{opacity:0}}:root{--ch-safe-t: env(safe-area-inset-top, 0px);--ch-safe-r: env(safe-area-inset-right, 0px);--ch-safe-b: env(safe-area-inset-bottom, 0px);--ch-safe-l: env(safe-area-inset-left, 0px);--ch-pad-t: max(var(--ch-safe-t), 10px);--ch-pad-r: max(var(--ch-safe-r), 10px);--ch-pad-b: max(var(--ch-safe-b), 10px);--ch-pad-l: max(var(--ch-safe-l), 10px);--ch-hud-min: 216px;--ch-tap-min: 44px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--ch-void);color:var(--ch-plan-label);font-family:ui-monospace,SF Mono,Roboto Mono,Courier New,monospace;font-size:14px;line-height:1.45;overscroll-behavior:none;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.app{height:100vh;height:100dvh;width:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);background:var(--ch-void);overflow:hidden}.app-status{grid-row:1;padding:var(--ch-pad-t) var(--ch-pad-r) 6px var(--ch-pad-l);min-height:0}.app-stage{grid-row:2;position:relative;min-height:0;min-width:0;overflow:hidden;align-self:end;width:100%;aspect-ratio:4 / 5;max-height:100%}.app-controls{grid-row:3;padding:8px var(--ch-pad-r) var(--ch-pad-b) var(--ch-pad-l);min-height:0}.play{position:absolute;inset:0;width:100%;height:100%;display:block}.play-ground{fill:var(--ch-void);pointer-events:all}.app-overlay{position:fixed;inset:0;z-index:10;background:var(--ch-void);display:grid;padding:var(--ch-pad-t) var(--ch-pad-r) var(--ch-pad-b) var(--ch-pad-l)}@media (prefers-reduced-motion: reduce){.app,.app-overlay{transition:none!important;animation:none!important}}
