.duty-overlay.duty-overlay{--au-ink:#10141f;--au-screen-edge:#050a14;--au-teal:#43e0c8;--au-teal-deep:#22b39b;--au-green:#46d369;--au-red:#d64541;--au-yellow:#f2c84b;--au-text:#e8eefc;--au-dim:#9db1d6;background:#060a128c}.duty-overlay .duty-panel{background:linear-gradient(165deg,#93a3bd 0%,#6c7b96 55%,#57667f 100%);border:4px solid #232c3d;border-radius:22px;gap:.8rem;padding:1.35rem;position:relative;box-shadow:0 14px 40px #0000008c,inset 0 2px #ffffff4d,inset 0 -3px #00000047}.duty-overlay .duty-panel:before{content:"";z-index:2;pointer-events:none;background-image:radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px),radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px),radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px),radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px);background-position:7px 7px,calc(100% - 7px) 7px,7px calc(100% - 7px),calc(100% - 7px) calc(100% - 7px);background-repeat:no-repeat;background-size:13px 13px;position:absolute;inset:0}.duty-overlay .duty-panel:after{content:"";z-index:0;border:3px solid var(--au-screen-edge);background:linear-gradient(#16233c 0%,#101c30 35%,#0b1322 100%);border-radius:14px;position:absolute;inset:12px;box-shadow:inset 0 2px 10px #00000080}.duty-overlay .duty-panel>*{z-index:1;position:relative}.duty-overlay .duty-panel-done{border-color:var(--au-green);box-shadow:0 0 0 4px #46d36966,0 14px 40px #0000008c,inset 0 2px #ffffff4d}.duty-overlay .duty-head{border:3px solid var(--au-screen-edge);background:linear-gradient(#27395e,#1a2947);border-radius:10px;align-items:center;padding:.55rem .8rem;box-shadow:inset 0 2px #ffffff14}.duty-overlay .duty-room{color:var(--au-teal);margin:0 0 .1rem;font-size:.68em;font-weight:800}.duty-overlay .duty-head h2{color:#fff;text-shadow:0 2px #00000073;margin:0;font-size:1.2em;font-weight:800}.duty-overlay .duty-blurb{color:var(--au-dim);margin:.15rem 0 0;font-size:.85em}.duty-overlay .duty-close{color:#fff;background:linear-gradient(#3a4b73,#263656);border:3px solid #0a1020;border-radius:10px;flex:none;min-width:46px;min-height:46px;padding:0;font-size:1.05em;font-weight:900;line-height:1;box-shadow:inset 0 2px #ffffff2e,0 3px #00000059}.duty-overlay .duty-close:hover{background:linear-gradient(#e0534a,#b93529)}.duty-overlay .duty-close:active{transform:translateY(2px);box-shadow:inset 0 2px #ffffff1f}.duty-overlay .duty-instruction{color:#c4d4f2;font-size:.92em}.duty-overlay .duty-target{color:#bff0e6;background:#43e0c81a;border:2px solid #43e0c880;border-radius:10px;margin:0;padding:.5rem .7rem;font-size:.86em}.duty-overlay .duty-target code{color:#fff;background:#0006;border-radius:6px;padding:0 .35em}.duty-overlay .duty-steps li{color:var(--au-dim);background:#141f36;border:2px solid #33415e;font-weight:600}.duty-overlay .duty-steps li.done{opacity:.55}.duty-overlay .duty-steps li.current{border-color:var(--au-yellow);color:var(--au-yellow);background:#f2c84b1f}.duty-overlay .duty-message{color:#dbe6ff;font-weight:600}.duty-overlay .duty-next{color:var(--au-yellow);font-weight:700}.duty-overlay .duty-done-banner{background:var(--au-green);color:#06180c;text-transform:uppercase;border:3px solid #0a2f16;border-radius:10px;padding:.45rem .8rem;font-weight:800}.duty-overlay .duty-primary{color:#131b2c;background:linear-gradient(#f4f7fd,#c9d4e6);border:3px solid #0c1322;border-radius:12px;padding:.8em 1.4em;font-weight:800;box-shadow:inset 0 -4px #0c13222e,0 4px #0000004d}.duty-overlay .duty-primary:hover:not(:disabled){filter:brightness(1.06)}.duty-overlay .duty-primary:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 -2px #0c13222e}.duty-overlay button:focus-visible{outline:3px solid var(--au-teal);outline-offset:2px}.duty-overlay .duty-bar{border:3px solid var(--au-screen-edge);background:#070d18;border-radius:999px;height:16px}.duty-overlay .duty-bar-fill{background:linear-gradient(#6cf2da,#25bfa3);border-radius:999px;box-shadow:inset 0 -3px #0003}.duty-overlay .duty-swipe-track,.duty-overlay .duty-swarm-field,.duty-overlay .duty-debris-field,.duty-overlay .duty-align-track,.duty-overlay .duty-trail,.duty-overlay .duty-divert-slider,.duty-overlay .duty-antenna{border:3px solid var(--au-screen-edge);background:#0b1424;border-radius:14px;box-shadow:inset 0 2px 8px #00000080}.duty-overlay .duty-reader-head{border:3px solid var(--au-screen-edge);color:var(--au-dim);background:linear-gradient(#1d2942,#131d31);border-bottom-width:0;border-radius:10px 10px 4px 4px;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.78em;display:flex}.duty-overlay .duty-reader-lamp{background:#4a5570;border:2px solid #0000008c;border-radius:50%;flex:none;width:12px;height:12px}.duty-overlay .duty-reader-lamp-idle{background:var(--au-yellow);box-shadow:0 0 8px #f2c84b99}.duty-overlay .duty-reader-lamp-busy{background:var(--au-teal);box-shadow:0 0 8px #43e0c899}.duty-overlay .duty-reader-lamp-ok{background:var(--au-green);box-shadow:0 0 8px #46d36999}.duty-overlay .duty-reader-lamp-bad{background:var(--au-red);box-shadow:0 0 8px #d6454199}.duty-overlay .duty-reader-name{color:var(--au-text);font-weight:700}.duty-overlay .duty-reader-code{letter-spacing:.08em;opacity:.75;margin-inline-start:auto}.duty-overlay .duty-swipe-card-chip{background:linear-gradient(#f4d97a,#c9a53c);border:1.5px solid #00000073;border-radius:3px;width:14px;height:11px;position:absolute;top:8px;left:8px}.duty-overlay .duty-swipe-card-stripe{background:#00000073;height:6px;position:absolute;bottom:7px;left:0;right:0}.duty-overlay .duty-swipe-track:after{content:"";background:repeating-linear-gradient(90deg,#43e0c880 0 14px,#0000 14px 26px);border-radius:2px;height:4px;margin-top:-2px;position:absolute;top:50%;left:12px;right:12px}.duty-overlay .duty-swipe-card{z-index:1;color:#fff;background:linear-gradient(#e0534a,#b93529);border:3px solid #5d1712;border-radius:8px;font-weight:800;box-shadow:0 3px #00000059}.duty-overlay .wire{border:3px solid var(--au-ink);cursor:pointer;border-radius:10px;height:40px;box-shadow:inset 0 -4px #00000047}.duty-overlay .wire-ember{background:#d1342c}.duty-overlay .wire-river{background:#2f5be8}.duty-overlay .wire-sun{background:#f0d43c}.duty-overlay .wire-orchid{background:#ec6fc0}.duty-overlay .wire-held{outline-offset:2px;outline:3px solid #fff}.duty-overlay .wire-done{opacity:.45}.duty-overlay .swarm-bug{width:40px;min-width:40px;height:40px;min-height:40px;box-shadow:none;filter:drop-shadow(0 0 6px #f2c84b66);background:0 0;border:none;border-radius:0;place-items:center;display:grid}.duty-overlay .swarm-moth{pointer-events:none;width:100%;height:100%;overflow:visible}.duty-overlay .moth-wings-fore path{fill:#d9c489;stroke:#3a2f16;stroke-width:1.6px;stroke-linejoin:round}.duty-overlay .moth-wings-back path{fill:#a68d52;stroke:#3a2f16;stroke-width:1.4px;stroke-linejoin:round}.duty-overlay .moth-spot{fill:#6b5220;opacity:.75}.duty-overlay .moth-body{fill:#4a3a1b;stroke:#241b0c;stroke-width:1.4px}.duty-overlay .moth-head{fill:#5c4823;stroke:#241b0c;stroke-width:1.4px}.duty-overlay .moth-antennae{fill:none;stroke:#2b2110;stroke-width:1.5px;stroke-linecap:round}.duty-overlay .swarm-bug:hover{transform:scale(1.12)}.duty-overlay .debris-shape{pointer-events:none;width:100%;height:100%;overflow:visible}.duty-overlay .debris-shape .debris-blade{stroke:#243812;stroke-width:2px;stroke-linejoin:round}.duty-overlay .debris-shape-leaf .debris-blade{fill:#6da046}.duty-overlay .debris-shape-husk .debris-blade{fill:#8a7040}.duty-overlay .debris-shape .debris-vein{fill:none;stroke:#18280c99;stroke-width:1.4px;stroke-linecap:round}.duty-overlay .debris{width:40px;min-width:40px;height:40px;min-height:40px;box-shadow:none;filter:drop-shadow(0 2px 2px #00000073);background:0 0;border:none;border-radius:0;place-items:center;display:grid}.duty-overlay .debris:hover{transform:scale(1.08)}.duty-overlay .duty-debris-intake{border:3px dashed var(--au-teal);background:#43e0c814}.duty-overlay .duty-align-guide{background:repeating-linear-gradient(90deg, var(--au-yellow) 0 12px, transparent 12px 22px);border-radius:2px;height:4px;margin-top:-2px}.duty-overlay .duty-align-belt{background:linear-gradient(#54e6cf,#28b9a0);border:3px solid #0c2c25;border-radius:8px;height:30px;margin-top:-15px;box-shadow:0 3px #00000059}.duty-overlay .duty-align-belt.locked{background:linear-gradient(#67e07f,#35b34e);border-color:#0d3317}.duty-overlay .duty-scan-plate{background:radial-gradient(circle at 50% 40%,#1b3a4d,#0d1f30 75%);border:4px solid #2c4a63}.duty-overlay .duty-scan-plate.running{border-color:var(--au-teal);animation:1.4s infinite duty-pulse;box-shadow:0 0 26px #43e0c873}@keyframes duty-pulse{50%{transform:scale(1.05)}}.duty-overlay .culture-tube{background:linear-gradient(#9fd8e8,#3d9ec2);border:3px solid #0e2a38;border-radius:4px 4px 18px 18px;width:38px;height:96px;box-shadow:inset 0 4px #ffffff59}.duty-overlay .culture-tube.positive{background:linear-gradient(#e2603f,#b93529);border-color:#4d130c}.duty-overlay .duty-lever{color:#fff;background:linear-gradient(#3a4b73,#263656);border:3px solid #0a1020;border-radius:14px;width:170px;height:96px;font-weight:800;box-shadow:inset 0 -5px #0000004d,0 4px #0000004d}.duty-overlay .duty-lever.held{color:#241803;background:linear-gradient(#f2c84b,#d99a25);border-color:#4d3a08;transform:translateY(3px);box-shadow:inset 0 -2px #0003}.duty-overlay .seq-pad{background:#1a2947;border:3px solid #0a1322;border-radius:14px;width:88px;height:88px}.duty-overlay .seq-pad-0{border-color:#d1342c}.duty-overlay .seq-pad-1{border-color:#2f5be8}.duty-overlay .seq-pad-2{border-color:#f0d43c}.duty-overlay .seq-pad-3{border-color:#ec6fc0}.duty-overlay .seq-pad.lit{background:#f2f7ff;box-shadow:0 0 20px #ffffff8c}.duty-overlay .cal-ring{border:3px solid #31415f}.duty-overlay .cal-ring.active{border-color:var(--au-teal);box-shadow:0 0 14px #43e0c859}.duty-overlay .cal-node{border:3px solid var(--au-ink);background:#fff;width:18px;height:18px;margin:-9px}.duty-overlay .cal-terminal{background:var(--au-teal);border:2px solid #0c2c25;width:14px;height:14px;margin-top:-7px}.duty-overlay .duty-trail{background-image:linear-gradient(#7896c812 1px,#0000 1px),linear-gradient(90deg,#7896c812 1px,#0000 1px);background-size:28px 28px}.duty-overlay .trail-point{border:3px solid var(--au-dim);background:#0b1424;width:24px;height:24px;margin:-12px}.duty-overlay .trail-point.next{border-color:var(--au-yellow);box-shadow:0 0 0 5px #f2c84b40}.duty-overlay .trail-point.reached{background:var(--au-teal);border-color:var(--au-teal-deep)}.duty-overlay .trail-marker{background:var(--au-yellow);border:2px solid #4d3a08;width:18px;height:18px;margin:-9px;box-shadow:0 0 10px #f2c84b99}.duty-overlay .duty-divert-knob{border:3px solid var(--au-ink);background:linear-gradient(#f4f7fd,#bfcbdd);border-radius:8px;box-shadow:0 3px #00000059}.duty-overlay .duty-tank{background:linear-gradient(#16233c,#0a1220);border:4px solid #7f8ea8;border-radius:12px;width:92px;height:116px;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #0000008c,0 2px #00000059}.duty-overlay .duty-tank-fill{background:linear-gradient(#58d9c2,#1f9c86);border-top:3px solid #a5f4e6;position:absolute;bottom:0;left:0;right:0}.duty-overlay .duty-tank-ticks{background-image:repeating-linear-gradient(#ffffff38 0 2px,#0000 2px 29px);position:absolute;inset:0}.duty-overlay .duty-link{grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;width:100%;padding:.5rem .2rem;display:grid}.duty-overlay .duty-link-node{border:3px solid var(--au-screen-edge);min-width:92px;color:var(--au-dim);background:linear-gradient(#1d2942,#131d31);border-radius:10px;justify-items:center;gap:.2rem;padding:.5rem .6rem;font-size:.72em;display:grid}.duty-overlay .duty-link-glyph{color:var(--au-teal);font-size:1.6em;line-height:1}.duty-overlay .duty-link-pipe{background:repeating-linear-gradient(90deg,#43e0c88c 0 12px,#43e0c814 12px 24px) 0 0/24px 100%;border-radius:4px;height:8px}@media (prefers-reduced-motion:no-preference){.duty-overlay .duty-link.running .duty-link-pipe{animation:.7s linear infinite duty-link-flow}}@keyframes duty-link-flow{0%{background-position:0 0}to{background-position:24px 0}}.duty-overlay .fence-cell{background:linear-gradient(#3b2320,#2a1714);border:3px solid #2a0f0d;border-radius:10px;position:relative;overflow:hidden}.duty-overlay .fence-cell:before{content:"";background:radial-gradient(circle at 40% 35%,#6a4b44,#33201d 70%);border:2px solid #00000080;border-radius:50%;width:22px;height:22px;margin-left:-11px;position:absolute;top:12px;left:50%;box-shadow:inset 0 2px 4px #0009}.duty-overlay .fence-cell:after{content:"";background:linear-gradient(#4a3833,#2e211e);border-radius:3px;width:8px;margin-left:-4px;position:absolute;top:34px;bottom:8px;left:50%}.duty-overlay .fence-cell.live{background:linear-gradient(#4b4436,#332e24);border-color:#8a9078}.duty-overlay .fence-cell.live:before{background:radial-gradient(circle at 40% 35%,#fff,#ffe9a8 55%,#e5c65e);border-color:#fff0beb3;box-shadow:0 0 16px #ffeeaad9,0 0 34px #ffe27873}.duty-overlay .fence-cell.live:after{background:linear-gradient(#7d7156,#4a4232)}.duty-overlay .antenna-target{border:3px dashed var(--au-teal)}.duty-overlay .antenna-crosshair{border:4px solid var(--au-yellow)}.duty-overlay .antenna-crosshair.locked{border-color:var(--au-green);background:#46d36959}.duty-overlay .manifold{border:3px solid var(--au-ink);color:#16233c;background:linear-gradient(#f4f7fd,#c9d4e6);border-radius:10px;font-weight:800;box-shadow:inset 0 -4px #0c13222e}.duty-overlay .manifold.opened{color:#9fe8d8;opacity:.75;background:#23544a;border-color:#0c2c25}.duty-overlay .duty-manifold-grid.failed{animation:.22s duty-shake}[data-reduced-motion=on] .duty-overlay .duty-manifold-grid.failed,[data-reduced-motion=on] .duty-overlay .duty-scan-plate.running{animation:none}@keyframes duty-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.duty-overlay .duty-drill-tag{color:var(--au-green,#7bf07a)}.duty-overlay .duty-drill-done{text-align:center;background:#2fb62c24;border:3px solid #0a2f16e6;border-radius:12px;justify-items:center;gap:.6rem;padding:.6rem .9rem;display:grid}.duty-overlay .duty-drill-done p{margin:0;font-weight:700}.duty-overlay .duty-drill-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.hud{--au-ink:#10142b;--au-edge:#05070f;--au-face-hi:#e6eaf6;--au-face-lo:#aab2d0;--au-face-disabled-hi:#767c94;--au-face-disabled-lo:#4c5268;--au-green-hi:#7bf07a;--au-green-lo:#2fb62c;--au-red-hi:#ff6a52;--au-red-lo:#c22c1d;position:absolute;inset:0}.hud .hud-duties li,.hud .hud-jammed,.overlay .notices li{--au-panel:#0d1020ad}.hud .hud-taskbar-label,.hud .hud-button-label,.hud .hud-crisis,.hud .hud-map-head h2{text-shadow:0 2px #05070fe6,1px 0 #05070fe6,-1px 0 #05070fe6,0 -1px #05070fe6}.hud .hud-duties{top:calc(.8rem + env(safe-area-inset-top));left:calc(.8rem + env(safe-area-inset-left));max-width:44vw;font-size:.88em;position:absolute}.hud .hud-taskbar-label{color:#fff;margin:0 0 3px;font-size:.78em;font-weight:800}.hud .hud-taskbar{border:3px solid var(--au-edge);background:linear-gradient(#2c4030 0%,#15211a 55%,#0d1610 100%);border-radius:9px;height:16px;overflow:hidden;box-shadow:0 0 0 2px #d8e4f8cc,inset 0 2px 3px #000000bf,inset 0 -1px #7bf07a2e,0 2px 3px #05070f73}.hud .hud-taskbar-fill{background:linear-gradient(180deg, #c2ff9e 0%, var(--au-green-hi) 28%, var(--au-green-lo) 82%, #1e8a1c 100%);border-radius:5px;height:100%;transition:width .18s;box-shadow:inset 0 -2px 2px #04280880,inset -2px 0 #05070f73,0 0 6px #7bf07a59}[data-reduced-motion=on] .hud .hud-taskbar-fill{transition:none}.hud .hud-duties ul{gap:.3rem;margin:.45rem 0 0;padding:0;list-style:none;display:grid}.hud .hud-duties li{background:var(--au-panel);color:#fff;text-shadow:0 1px #05070fd9;border:2px solid #05070fcc;border-radius:9px;padding:.3rem .6rem;font-weight:700;line-height:1.25;display:block}.hud .hud-duties li.done{opacity:.5;text-decoration:line-through}.hud .hud-duty-room{color:#b9c2e2;font-size:.82em;font-weight:600;display:block}.hud .hud-jammed{background:var(--au-panel);color:#ff8a76;border:2px solid #5a140ee6;border-radius:9px;margin:.45rem 0 0;padding:.35rem .7rem;font-weight:700;display:inline-block}.hud .hud-crisis{top:calc(.8rem + env(safe-area-inset-top));color:#ff4136;white-space:nowrap;background:#180504b8;border:2px solid #05070fe6;border-radius:12px;align-items:center;gap:.6rem;padding:.3rem 1.1rem;font-size:1.3em;font-weight:900;animation:1s ease-in-out infinite hud-crisis-pulse;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud .hud-crisis[data-critical=no]{color:#ffb020;background:#1c1202b8;animation-duration:1.8s}.hud .hud-crisis-clock{font-variant-numeric:tabular-nums}.hud .hud-crisis-arrow{width:1.15em;height:1.15em;transform:rotate(var(--bearing,0deg));display:inline-flex}.hud .hud-crisis-arrow svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}[data-reduced-motion=on] .hud .hud-crisis{animation:none}@keyframes hud-crisis-pulse{50%{opacity:.72}}.hud .hud-map-button{top:calc(.8rem + env(safe-area-inset-top));right:calc(.8rem + env(safe-area-inset-right));background:linear-gradient(180deg, var(--au-face-hi), var(--au-face-lo));border:3px solid var(--au-ink);color:#1b1f3a;border-radius:15px;place-items:center;width:52px;height:52px;padding:0;display:grid;position:absolute;box-shadow:inset 0 2px #ffffffa6,0 3px #05070fa6}.hud .hud-map-button:active{transform:translateY(2px);box-shadow:inset 0 2px #ffffffa6}.hud .hud-map-button .hud-glyph{width:26px;height:26px}.hud .hud-map-overlay{pointer-events:auto;background:#0507109e;place-items:center;display:grid;position:absolute;inset:0}.hud .hud-map-panel{border:3px solid var(--au-edge);background:#10142a;border-radius:16px;width:min(660px,88vw);padding:.7rem .9rem .9rem;box-shadow:0 10px 40px #0009}.hud .hud-map-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.hud .hud-map-head h2{color:#fff;margin:0;font-size:1.05em}.hud .hud-map-close{background:linear-gradient(180deg, var(--au-red-hi), var(--au-red-lo));border:2px solid var(--au-edge);color:#fff;border-radius:10px;min-width:44px;min-height:36px;padding:0 .6rem;font-weight:900}.hud .hud-map-legend{color:#b9c2e2;margin:.45rem 0 0;font-size:.78em}.map-duty,.map-hazard{animation:1.4s ease-in-out infinite hud-crisis-pulse}.hud .hud-actions{right:calc(1rem + env(safe-area-inset-right));bottom:calc(1.1rem + env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:flex-end;gap:.55rem;display:flex;position:absolute}.hud .hud-button{background:0 0;border:none;border-radius:18px;flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:0;padding:0;font-weight:600;line-height:1.1;display:flex}.hud .hud-button-face{background:linear-gradient(180deg, var(--au-face-hi), var(--au-face-lo));border:3px solid var(--au-ink);color:#1b1f3a;border-radius:18px;place-items:center;width:66px;height:66px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffffa6,0 3px #05070fa6}.hud .hud-button:active .hud-button-face{transform:translateY(2px);box-shadow:inset 0 2px #ffffffa6}.hud .hud-button:disabled{opacity:1}.hud .hud-button:disabled .hud-button-face{background:linear-gradient(180deg, var(--au-face-disabled-hi), var(--au-face-disabled-lo));color:#2f3448;box-shadow:0 3px #05070fa6}.hud .hud-button-label{color:#fff;text-transform:uppercase;text-align:center;max-width:96px;font-size:.68rem;font-weight:800;line-height:1.1}.hud .hud-glyph{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:32px;height:32px}@media (hover:hover) and (pointer:fine){.hud .hud-button-face[data-key]:after{content:attr(data-key);opacity:.55;font-size:.62rem;font-weight:800;position:absolute;top:2px;right:5px}}.hud .hud-use .hud-button-face{color:#3f3a2a;background:linear-gradient(#f4ecd9,#cfc4a6)}.hud .hud-report .hud-button-face{background:linear-gradient(180deg, var(--au-red-hi), var(--au-red-lo));color:#fff;animation:1.1s ease-in-out infinite hud-report-glow;box-shadow:inset 0 2px #fff6,0 3px #05070fa6,0 0 16px #ff4630bf}[data-reduced-motion=on] .hud .hud-report .hud-button-face{animation:none}@keyframes hud-report-glow{50%{box-shadow:inset 0 2px #fff6,0 3px #05070fa6,0 0 4px #ff463066}}.hud .hud-kill .hud-button-face{background:linear-gradient(180deg, var(--au-red-hi), var(--au-red-lo));color:#fff}.hud .hud-havoc .hud-button-face{color:#ffd9d2;background:linear-gradient(#8a3040,#571b26)}.hud .hud-kill.cooling .hud-button-face{color:#d8b7b4;background:linear-gradient(#6e4a4c,#43262c)}.hud .hud-kill:disabled .hud-button-face{color:#a98a8c;background:linear-gradient(#6e3339,#3d1c22)}.hud .hud-cooldown-sweep{background:conic-gradient(#080a16c7 var(--remain), #080a1600 var(--remain));pointer-events:none;position:absolute;inset:0}.hud .hud-kill.lunge .hud-button-face{animation:.16s hud-lunge}@keyframes hud-lunge{50%{transform:scale(1.12)}}.hud .hud-vent-exits{justify-items:end;gap:.35rem;display:grid}.hud .hud-vent-exits .hud-button{border:2px solid var(--au-edge);color:#fff;text-shadow:0 1px #05070fd9;background:#0d1020ad;border-radius:10px;padding:.45rem .8rem;font-weight:700}.overlay .touch-stick{pointer-events:none;width:0;height:0;position:absolute}.overlay .touch-stick-ring{border:3px solid #e6eaf64d;border-radius:50%;width:132px;height:132px;margin:-66px;position:absolute}.overlay .touch-stick-nub{background:#e6eaf661;border:2px solid #10142b99;border-radius:50%;width:54px;height:54px;margin:-27px;position:absolute}.overlay .notices li{background:var(--au-panel,#0d1020c7);color:#fff;text-shadow:0 1px #05070fd9;border:2px solid #05070fcc;border-radius:9px;padding:.4rem .7rem;font-weight:600}.overlay .havoc-menu{gap:.7rem;display:grid}.overlay .havoc-menu>h2,.overlay .havoc-menu>h3{color:#fff;text-shadow:0 2px #05070fe6;margin:0}.overlay .havoc-map{background:#0a0d1c;border:3px solid #05070f;border-radius:14px;padding:6px}.overlay .havoc-map svg,.hud .hud-map-panel svg{width:100%;height:auto;display:block}.overlay .havoc-grid{gap:.5rem;display:grid}.overlay .havoc-grid button{color:#fff;text-align:left;background:#141a33;border:2px solid #05070f;border-radius:12px;align-items:center;gap:.75rem;padding:.55rem .8rem;font-weight:800;line-height:1.2;display:flex}.overlay .havoc-grid button:not(:disabled):hover{background:#1d2547}.overlay .havoc-grid button em{color:#9aa3c7;font-size:.78em;font-style:normal;font-weight:500;display:block}.overlay .havoc-icon{color:#ff5240;fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:36px;height:36px}.overlay .havoc-doors{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.4rem;display:grid}.overlay .havoc-doors button{color:#ffb4a6;background:#24101c;border:2px solid #4a1626;border-radius:10px;padding:.45rem .6rem;font-weight:700}.overlay .havoc-doors button:not(:disabled):hover{background:#341524}.overlay .havoc-doors button em{color:#8a5a64;font-size:.76em;font-style:normal;display:block}.overlay .havoc-hold{color:#fff;background:linear-gradient(#ff6a52,#a32618);border:3px solid #05070f;border-radius:16px;width:100%;min-height:96px;font-size:1.1em;font-weight:900}.overlay .havoc-hold.held{color:#06280a;background:linear-gradient(#7bf07a,#2fb62c)}.overlay .havoc-keypad{grid-template-columns:repeat(3,1fr);gap:.4rem;max-width:260px;display:grid}.overlay .havoc-keypad button{color:#1b1f3a;background:linear-gradient(#e6eaf6,#aab2d0);border:2px solid #10142b;border-radius:10px;font-size:1.2em;font-weight:900}.overlay .havoc-entry{color:#7de07a;letter-spacing:.35em;text-align:center;background:#031206;border:2px solid #05070f;border-radius:8px;margin:.5rem 0;padding:.3rem .6rem;font-family:Courier New,monospace;font-size:1.6em;font-weight:700}.overlay .havoc-switches{gap:.6rem;display:flex}.overlay .havoc-switch{background:#0e1226;border:2px solid #05070f;border-radius:10px;width:52px;height:84px;padding:0;position:relative}.overlay .havoc-switch:after{content:"";background:linear-gradient(#8a90aa,#565c74);border:2px solid #05070f;border-radius:7px;height:34px;transition:bottom .12s;position:absolute;bottom:8px;left:8px;right:8px}.overlay .havoc-switch.up:after{background:linear-gradient(#7bf07a,#2fb62c);bottom:calc(100% - 46px);box-shadow:0 0 10px #7bf07a8c}[data-reduced-motion=on] .overlay .havoc-switch:after{transition:none}.overlay .havoc-wave{background:#031206;border:2px solid #05070f;border-radius:8px;place-items:center;height:46px;display:grid;overflow:hidden}.overlay .havoc-wave-bar{background:#7de07a;border-radius:4px;width:70%;height:8px;box-shadow:0 0 12px #7de07ab3}.overlay .camera-bank{background:#141810;border:6px solid #232a1c;border-radius:18px;padding:.8rem;box-shadow:inset 0 0 34px #000000bf,0 4px 18px #00000080}.overlay .camera-bank h2{color:#7de07a;text-transform:uppercase;letter-spacing:.14em;text-shadow:0 0 8px #7de07a80;margin:0 0 .6rem;font-family:Courier New,monospace}.overlay .camera-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.overlay .camera-feed{aspect-ratio:4/3;color:#46604d;background:#031206;border:3px solid #20271c;border-radius:10px;margin:0;font-size:.75em;position:relative;overflow:hidden;box-shadow:inset 0 0 26px #14502866}.overlay .camera-feed svg{width:100%;height:100%;display:block}.overlay .camera-feed:before{content:"";pointer-events:none;background:radial-gradient(#40a05024 0%,#0000006b 100%);position:absolute;inset:0}.overlay .camera-feed:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#00000038 0 1px,#0000 1px 3px);position:absolute;inset:0}.overlay .camera-feed-label{z-index:1;color:#7de07a;letter-spacing:.14em;text-transform:uppercase;background:#031206e0;border-bottom-right-radius:8px;padding:2px 8px;font-family:Courier New,monospace;font-size:.66rem;font-weight:700;position:absolute;top:0;left:0}.overlay .camera-feed-label:before{content:"●";color:#ff5240;margin-right:5px;animation:1.6s ease-in-out infinite hud-crisis-pulse}[data-reduced-motion=on] .overlay .camera-feed-label:before{animation:none}.overlay .camera-static{aspect-ratio:4/3;background:repeating-linear-gradient(0deg,#00000059 0 1px,#0000 1px 3px),repeating-linear-gradient(97deg,#12210f 0 3px,#1d3517 3px 5px,#0a1609 5px 9px);border:3px solid #20271c;border-radius:10px;max-width:280px}.hud-bearings{top:calc(4.6rem + env(safe-area-inset-top));pointer-events:none;justify-items:center;gap:.25rem;display:grid;position:absolute;left:50%;transform:translate(-50%)}.hud-bearing{border:2px solid var(--panel-edge);white-space:nowrap;background:#0a0e1cd1;border-radius:999px;align-items:center;gap:.4rem;padding:.22rem .7rem;font-size:.85em;font-weight:700;display:flex}.hud-bearing-arrow{width:16px;height:16px;transform:rotate(var(--bearing,0deg));display:block}.hud-bearing-arrow svg{fill:none;width:100%;height:100%;stroke:var(--amber);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.meeting.meeting{color:#eaf2ff;background-color:#070b18;background-image:radial-gradient(120% 80% at 50% 108%,#3c549680 0%,#18224459 42%,#0000 72%),radial-gradient(90% 60% at 50% -10%,#26346273 0%,#0000 70%);flex-direction:column;align-items:center;gap:.9rem;display:flex}.meeting.meeting:before{content:"";pointer-events:none;background:radial-gradient(120% 85% at 50% 45%,#0000 40%,#03050cbf 100%);position:absolute;inset:0}.meeting.meeting>*{z-index:1;width:min(1020px,100%);position:relative}.meeting .meeting-head{text-align:left;justify-content:space-between;align-items:center;gap:1rem;display:flex}.meeting .meeting-status{flex:none;align-items:center;gap:.6rem;display:flex}.meeting .meeting-map{color:#c9d6f5;background:#080d22e6;border:2px solid #2b3a66;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.meeting .meeting-map-icon{width:26px;height:26px}.meeting .meeting-title{color:#fff;text-shadow:0 2px #101a3a,0 0 26px #5a82ff59;margin:0;font-size:clamp(1.5rem,4vw,2.3rem);font-weight:900}.meeting .meeting-reason{color:#9fb4e8;margin:.25rem 0 0;font-weight:600}.meeting .meeting-timer{color:#c9d6f5;font-variant-numeric:tabular-nums;white-space:nowrap;background:#080d22e6;border:2px solid #2b3a66;border-radius:999px;flex:none;margin:0;padding:.5em 1.1em;font-size:.95em;font-weight:800}.meeting .meeting-timer[data-phase=voting]{color:#ffd75e;border-color:#6b5a1e;box-shadow:0 0 16px #ffd75e2e}.meeting .meeting-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));align-content:safe center;gap:1rem;padding-block:.4rem}.meeting .meeting-seat{border-width:2px;border-color:#2b3a66;border-left:8px solid var(--seat-color,#2b3a66);color:#eaf2ff;background:linear-gradient(#18224a 0%,#0e1730 100%);border-radius:16px;gap:1rem;min-height:100px;padding:.8rem 1.1rem;box-shadow:0 4px 14px #00000059}.meeting .meeting-seat:not(:disabled):hover{border-color:#3d5290;border-left-color:var(--seat-color,#3d5290);background:linear-gradient(#1f2c5c 0%,#121d3d 100%)}.meeting .meeting-seat:not(:disabled):active{transform:translateY(1px)}.meeting .meeting-seat[data-mine=yes]{border-color:#ffd75e;border-left-color:var(--seat-color,#ffd75e);box-shadow:0 0 0 2px #ffd75e59,0 0 20px #ffd75e38}.meeting .meeting-grid li.dead .meeting-seat{opacity:.6;background:linear-gradient(#23293b 0%,#141824 100%)}.meeting .meeting-portrait{flex:none;place-items:center;display:grid;position:relative}.meeting .meeting-portrait .bean{filter:drop-shadow(0 3px 3px #0006);width:auto;height:84px;display:block}.meeting .meeting-grid li.dead .meeting-portrait .bean{filter:grayscale()brightness(.75)drop-shadow(0 3px 3px #0006)}.meeting .meeting-dead-x{pointer-events:none;position:absolute;inset:-4px}.meeting .meeting-dead-x:before,.meeting .meeting-dead-x:after{content:"";background:#d3362c;border-radius:4px;width:78%;height:7px;position:absolute;top:50%;left:50%;box-shadow:0 1px 2px #00000080}.meeting .meeting-dead-x:before{transform:translate(-50%,-50%)rotate(45deg)}.meeting .meeting-dead-x:after{transform:translate(-50%,-50%)rotate(-45deg)}.meeting .meeting-name{color:var(--name-color,#f2f6ff);text-shadow:0 1px 2px #000000a6;overflow-wrap:anywhere;font-size:1.2em;font-weight:700}.meeting .meeting-grid li.dead .meeting-name{color:#8b93a8;text-shadow:none}.meeting .meeting-caller{color:#ffd75e;background:#080d22e6;border:2px solid #2b3a66;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.meeting .meeting-caller[data-reason=report]{color:#ff3b30;border-color:#7e2b3a}.meeting .meeting-caller-icon{width:18px;height:18px}.meeting .meeting-teammate{letter-spacing:.08em;text-transform:uppercase;color:#ff6b6b;background:#7e202059;border:1px solid #7e2020;border-radius:999px;flex:none;padding:.15em .6em;font-size:.72em;font-weight:900}.meeting--tally{align-content:start}.meeting .meeting-grid--tally .meeting-seat--static{cursor:default;opacity:1}.meeting .vote-pips{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:3px;max-width:45%;margin-left:auto;display:flex}.meeting .vote-pip{justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.meeting .vote-pip-blank{background:#4a5b8c;border:2px solid #8fa2d6;border-radius:50%;width:15px;height:15px}.meeting .meeting-tally-skip{background:#101a3ab8;border:1px solid #33467c;border-radius:12px;align-items:center;gap:.7rem;min-width:min(320px,80vw);margin:.4rem auto 0;padding:.5rem 1.1rem;display:flex}.meeting .eject-count{color:#cfe0ff;text-shadow:0 2px #101a3a;margin:0;font-size:clamp(.95rem,3vw,1.4rem);font-weight:700;animation:.55s ease-out .42s both eject-text-in}.meeting .meeting-tag{color:#9fb4e8;border:1px solid #33467c;border-radius:999px;flex:none;padding:.15em .6em;font-size:.78em;font-weight:700}.meeting .meeting-voted{color:#fff;background:#3fae5a;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:16px;font-weight:900;line-height:1;display:grid;box-shadow:0 0 0 2px #3fae5a59}.meeting .meeting-voted[data-mine=yes]{border:2px solid #ffffffd9;border-radius:999px;width:auto;height:auto;padding:.3em .75em;font-size:.78em;transform:rotate(-6deg);box-shadow:0 2px 6px #00000073,0 0 0 2px #3fae5a59}.meeting .meeting-actions{flex-direction:column;gap:.45rem}.meeting .meeting-skip{color:#ff7a6e;background:linear-gradient(#401726 0%,#2b0f1b 100%);border:2px solid #7e2b3a;border-radius:14px;width:min(560px,100%);font-size:1.05em;font-weight:900;box-shadow:0 4px 14px #00000059}.meeting .meeting-skip:not(:disabled):hover{background:linear-gradient(#521c2f 0%,#371322 100%);border-color:#a03a4c}.meeting .meeting-skip[data-mine=yes]{color:#ffd75e;border-color:#ffd75e;box-shadow:0 0 18px #ffd75e40}.meeting .meeting-hint{color:#9fb4e8}.meeting .chat{margin-top:auto}.meeting .chat-log{background:#050918d9;border:2px solid #22315c;border-radius:14px;gap:.35rem;max-height:24dvh;padding:.6rem}.meeting .chat-log:empty{display:none}.meeting .chat-log li{overflow-wrap:anywhere;background:#1e2a548c;border-radius:10px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:.32em .7em}.meeting .chat-log li strong{font-weight:800}.meeting .chat-log li.spirit{color:#9cc7e8;background:#17284299}.meeting .chat-row input{color:#eaf2ff;background:#0c1430;border:2px solid #2b3a66;border-radius:12px}.meeting .chat-row input::placeholder{color:#5d6f9e}.meeting .chat-row button{background:#274079;border-color:#3d5290;font-weight:700}.meeting .chat-row button:not(:disabled):hover{background:#2f4c92}.meeting .meeting-banner{z-index:5;cursor:pointer;background:#03050ef0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.7rem;width:100%;min-height:0;animation:.28s ease-out meeting-banner-in;display:flex;position:absolute;inset:0}.meeting .meeting-banner-icon{color:#ff3b30;filter:drop-shadow(0 0 24px #ff3b3073);width:clamp(84px,16vw,140px);height:auto}.meeting .meeting-banner-title{text-transform:uppercase;color:#ff3b30;text-shadow:0 4px #4d0d08,0 0 46px #ff3b3080;font-size:clamp(2.4rem,9vw,5rem);font-weight:900}.meeting .meeting-banner-sub{color:#c9d6f5;font-size:clamp(1rem,3vw,1.4rem);font-weight:600}.meeting .meeting-banner[data-reason=emergency] .meeting-banner-icon{color:#ffd75e;filter:drop-shadow(0 0 24px #ffd75e73)}.meeting .meeting-banner[data-reason=emergency] .meeting-banner-title{color:#ffd75e;text-shadow:0 4px #4d3a08,0 0 46px #ffd75e73}@keyframes meeting-banner-in{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.meeting.meeting--result{background-color:#05081a;background-image:radial-gradient(1.5px 1.5px at 8% 18%,#fffffff2 50%,#0000 52%),radial-gradient(1px 1px at 22% 64%,#ffffffb3 50%,#0000 52%),radial-gradient(1.5px 1.5px at 34% 34%,#ffffffd9 50%,#0000 52%),radial-gradient(1px 1px at 47% 82%,#ffffff8c 50%,#0000 52%),radial-gradient(2px 2px at 58% 12%,#ffffffe6 50%,#0000 52%),radial-gradient(1px 1px at 66% 48%,#fff9 50%,#0000 52%),radial-gradient(1.5px 1.5px at 76% 72%,#fffc 50%,#0000 52%),radial-gradient(1px 1px at 86% 28%,#ffffffb3 50%,#0000 52%),radial-gradient(2px 2px at 93% 58%,#ffffffe6 50%,#0000 52%),radial-gradient(1px 1px at 15% 88%,#ffffff80 50%,#0000 52%),radial-gradient(120% 90% at 50% 115%,#1a2c5e 0%,#0b1330 48%,#05081a 100%);justify-content:center}.meeting.meeting--result:before,.meeting.meeting--result:after{content:"";pointer-events:none;background-repeat:repeat;position:absolute;inset:-140px}.meeting.meeting--result:before{background-image:radial-gradient(1.5px 1.5px at 30px 60px,#ffffffbf 50%,#0000 52%),radial-gradient(1px 1px at 170px 200px,#ffffff8c 50%,#0000 52%),radial-gradient(1.5px 1.5px at 240px 110px,#ffffffa6 50%,#0000 52%);background-size:280px 280px;animation:55s linear infinite eject-stars-far}.meeting.meeting--result:after{background-image:radial-gradient(2.5px 2.5px at 90px 140px,#fffffff2 50%,#0000 52%),radial-gradient(2px 2px at 330px 60px,#ffffffd9 50%,#0000 52%),radial-gradient(2px 2px at 220px 330px,#fffc 50%,#0000 52%);background-size:420px 420px;animation:30s linear infinite eject-stars-near}@keyframes eject-stars-far{to{transform:translate(-280px)}}@keyframes eject-stars-near{to{transform:translate(-420px)}}.meeting .eject{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:1.1rem;display:flex;position:relative}.meeting .eject-drift{animation:9s ease-in-out infinite alternate eject-drift}.meeting .eject-portrait .bean{filter:drop-shadow(0 10px 22px #0000008c);width:auto;height:clamp(130px,24vh,190px);animation:7s linear infinite eject-tumble}.meeting .eject-headline{color:#fff;text-shadow:0 3px #101a3a,0 0 34px #5a82ff66;max-width:20ch;margin:0;font-size:clamp(1.7rem,6vw,3.1rem);font-weight:900;animation:.55s ease-out both eject-text-in}.meeting .eject-sub{color:#ffd75e;text-shadow:0 2px #4d3a08;margin:0;font-size:clamp(1.1rem,3.6vw,1.9rem);font-weight:800;animation:.55s ease-out .25s both eject-text-in}@keyframes eject-drift{0%{transform:translate(-13vw,5vh)rotate(-6deg)}to{transform:translate(13vw,-5vh)rotate(6deg)}}@keyframes eject-tumble{to{transform:rotate(360deg)}}@keyframes eject-text-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.meeting .meeting-sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}[data-reduced-motion=on] .meeting .meeting-banner,[data-reduced-motion=on] .meeting .eject-drift,[data-reduced-motion=on] .meeting .eject-portrait .bean,[data-reduced-motion=on] .meeting .eject-headline,[data-reduced-motion=on] .meeting .eject-sub,[data-reduced-motion=on] .meeting .eject-count,[data-reduced-motion=on] .meeting.meeting--result:before,[data-reduced-motion=on] .meeting.meeting--result:after{animation:none}@media (max-width:560px){.meeting .meeting-head{flex-wrap:wrap}.meeting .meeting-grid{grid-template-columns:1fr}.meeting .meeting-portrait .bean{height:64px}.meeting .meeting-seat{min-height:84px}}.key-hints{display:none}@media (hover:hover) and (pointer:fine){.key-hints{left:calc(.9rem + env(safe-area-inset-left));bottom:calc(.9rem + env(safe-area-inset-bottom));pointer-events:none;z-index:1;justify-items:start;gap:.3rem;display:grid;position:absolute}.key-hints-toggle{pointer-events:auto;letter-spacing:.08em;text-transform:uppercase;min-width:0;min-height:0;color:var(--lichen);opacity:.6;background:#0a0e1c99;border:2px solid #10131fd9;border-radius:999px;padding:.12rem .5rem;font-size:.66rem;font-weight:800}.key-hints-toggle:hover,.key-hints-toggle:focus-visible{opacity:1}.key-hints ul{opacity:.72;background:#0a0e1c99;border:2px solid #10131fd9;border-radius:12px;gap:.22rem;margin:0;padding:.4rem .6rem;list-style:none;display:grid}.key-hints ul:hover{opacity:1}.key-hints li{color:var(--bone);white-space:nowrap;align-items:center;gap:.45rem;font-size:.72rem;display:flex}.overlay:has(.key-hints[data-collapsed=no]) .notices{bottom:calc(.8rem + 5.6rem + env(safe-area-inset-bottom))}.overlay:has(.key-hints[data-collapsed=yes]) .notices{bottom:calc(.8rem + 2.2rem + env(safe-area-inset-bottom))}.key-hints kbd{min-width:1.35rem;font:inherit;color:#1b1f3a;background:linear-gradient(#e6eaf6,#aab2d0);border:2px solid #10142b;border-radius:6px;place-items:center;padding:.05rem .25rem;font-weight:800;display:grid;box-shadow:0 2px #05070f99}}.perf-meter{left:calc(.6rem + env(safe-area-inset-left));bottom:calc(.6rem + env(safe-area-inset-bottom));border:2px solid var(--panel-edge);font-variant-numeric:tabular-nums;pointer-events:none;background:#060914d1;border-radius:.5rem;flex-wrap:wrap;gap:.1rem .55rem;max-width:60vw;padding:.3rem .6rem;font-size:.72rem;line-height:1.35;display:flex;position:absolute}.perf-meter[data-grade=good]{border-color:#3f8f5f}.perf-meter[data-grade=fair]{border-color:var(--amber)}.perf-meter[data-grade=poor]{border-color:var(--rust)}.perf-meter strong{font-size:.86rem}.perf-dpr{color:var(--lichen)}.gate-card button,.lobby-panel button,.lobby-code button,.gameover button{box-shadow:inset 0 2px #ffffff24,0 3px #00000073}.gate-card button:active,.lobby-panel button:active,.lobby-code button:active,.gameover button:active{transform:translateY(2px);box-shadow:inset 0 2px #ffffff1a}.gate{background:radial-gradient(at 50% 42%,#0000 55%,#02040cbf 100%) 0 0/100% 100%,radial-gradient(1.6px 1.6px at 22px 34px,#dfe7ff 50%,#0000 51%) 0 0/210px 190px,radial-gradient(1.2px 1.2px at 130px 90px,#aebdf0 50%,#0000 51%) 0 0/210px 190px,radial-gradient(2px 2px at 70px 150px,#fff 50%,#0000 51%) 0 0/210px 190px,radial-gradient(1.3px 1.3px at 170px 30px,#8ea0d8 50%,#0000 51%) 0 0/210px 190px,radial-gradient(1.6px 1.6px at 40px 110px,#cdd8ff 50%,#0000 51%) 0 0/210px 190px,radial-gradient(circle at 50% 28%,#1b2450 0%,#0a0e1f 62%,#05070f 100%) 0 0/100% 100%;place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.gate-card{box-shadow:0 18px 50px #0000008c,inset 0 2px #ffffff0f}.gate-title{align-items:center;gap:.8rem;display:flex}.gate-bean{flex:none;transform:rotate(-4deg)}.gate-card h1{text-transform:uppercase;color:#fff;text-shadow:0 3px 0 var(--ink), 0 6px 18px #00000080;margin:0;font-size:clamp(2.2rem,9vw,3rem);line-height:1.05}.gate-tag{color:var(--lichen);margin:0 0 .5rem}.gate input[type=text],.gate input:not([type]){color:var(--ink);background:#e9eef9}.gate-row{gap:.6rem;display:flex}.gate-row input{letter-spacing:.3em;text-transform:uppercase;flex:1;min-width:0}.gate-row button{background:#3f8fe0}.gate-primary{background:var(--amber);color:var(--ink);font-weight:800}.gate-secondary{border-color:var(--panel-edge);color:var(--lichen);background:0 0;font-weight:600}.gate-secondary:hover{border-color:var(--lichen);color:var(--bone)}.gate-error{color:var(--rust);margin:0;font-weight:700}.gate-credit{color:#5f6f96;margin:0;font-size:.8em}@media (max-width:480px){.gate-title .bean{width:42px;height:auto}.gate-card h1{font-size:1.7rem}}.lobby{grid-template-rows:auto 1fr auto;justify-items:center;gap:.5rem;padding:1rem;display:grid;position:absolute;inset:0}.lobby-code{background:color-mix(in srgb, var(--panel) 86%, transparent);border:3px solid var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:20px;justify-items:center;gap:.35rem;padding:.7rem 1.6rem .9rem;display:grid;box-shadow:0 10px 30px #00000073}.lobby-eyebrow{color:var(--lichen);margin:0;font-size:.78em;font-weight:700}.lobby-code h1{letter-spacing:.3em;text-indent:.3em;color:var(--amber);text-shadow:0 3px 0 var(--ink);margin:0;font-size:clamp(2.2rem,9vw,3.2rem);font-weight:800;line-height:1}.lobby-copy{border-color:var(--panel-edge);min-height:36px;color:var(--lichen);background:0 0;padding:.35em .9em;font-size:.82em}.lobby-panel{background:color-mix(in srgb, var(--panel) 86%, transparent);border:3px solid var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;border-radius:24px;grid-row:3;justify-items:center;gap:.7rem;width:min(720px,94vw);margin-bottom:.4rem;padding:.9rem;display:grid;position:relative;box-shadow:0 10px 30px #00000073}.lobby-count{border:3px solid var(--ink);color:var(--bone);font-variant-numeric:tabular-nums;background:#10162c;border-radius:999px;padding:.15rem .65rem;font-size:.92em;font-weight:800;position:absolute;top:-.95rem;right:.9rem}.lobby-walk-hint{color:var(--bone);text-shadow:0 1px 3px #000000e6;background:#0a0e1cb8;border:2px solid #10131fe6;border-radius:999px;grid-row:2;align-self:end;margin:0 0 .6rem;padding:.3rem .9rem;font-size:.8em}.lobby-players{flex-wrap:wrap;justify-content:center;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.lobby-players li{border:3px solid var(--ink);background:#10162c;border-radius:999px;align-items:center;gap:.5rem;padding:.25rem .8rem .25rem .4rem;font-weight:700;display:flex}.lobby-players li.away{opacity:.55}.lobby-name{text-overflow:ellipsis;white-space:nowrap;max-width:9rem;overflow:hidden}.lobby-away{color:var(--lichen)}.lobby-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.lobby-start{background:var(--rust);color:#fff;text-shadow:0 2px #00000059;padding-inline:1.6em;font-size:1.05em;font-weight:800}.reveal{text-align:center;pointer-events:auto;place-content:center;justify-items:center;gap:.6rem;padding:2rem 1rem;display:grid;position:absolute;inset:0}.reveal-ranger{background:radial-gradient(at 50% 46%,#0000 40%,#02040ccc 100%),radial-gradient(circle at 50% 42%,#1d2a5e 0%,#0a0e1f 68%,#05070f 100%)}.reveal-mimic{background:radial-gradient(at 50% 46%,#0000 35%,#0c0204d9 100%),radial-gradient(circle at 50% 42%,#7c1512 0%,#2a0708 62%,#100304 100%)}.reveal-bean{filter:drop-shadow(0 14px 22px #0000008c)}.reveal h1{letter-spacing:0;text-transform:uppercase;text-shadow:0 4px 0 var(--ink), 0 10px 30px #0009;margin:0;font-size:clamp(3.4rem,17vw,7.5rem);font-weight:800;line-height:1}.reveal-mimic h1{color:#ff4b3e;text-shadow:0 4px #2a0708,0 10px 34px #000000b3}.reveal-ranger h1{color:#fff}.reveal-eyebrow{color:var(--lichen);margin:0;font-size:.85em;font-weight:700}.reveal-crew{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.55rem;max-width:min(720px,92vw);margin:0;padding:0;list-style:none;display:flex}.reveal-crew .bean{filter:drop-shadow(0 8px 12px #00000080)}.reveal-crew .reveal-crew-me{filter:drop-shadow(0 10px 16px #0009)}.reveal-mimics-line{color:#ff4b3e;text-shadow:0 2px #00000073;margin:0;font-size:clamp(1.05rem,3.4vw,1.5rem);font-weight:800}.reveal-line{color:#cdd6ea;max-width:30ch;margin:0;font-size:1.05em}.reveal-team{color:#ffc9b8;margin-top:.6rem}.reveal-team ul{flex-wrap:wrap;justify-content:center;gap:1rem;margin:.5rem 0 0;padding:0;font-weight:700;list-style:none;display:flex}.reveal-team li{justify-items:center;gap:.15rem;font-size:.92em;display:grid}.reveal-team .bean{filter:drop-shadow(0 6px 10px #00000080)}.reveal-timer{color:var(--lichen);font-variant-numeric:tabular-nums;margin-top:.8rem}.gameover{text-align:center;pointer-events:auto;background:radial-gradient(at 50% 40%,#0a0e1f8c 0%,#040610f0 78%),#040610e6;place-content:center;justify-items:center;gap:.6rem;padding:2rem 1rem;display:grid;position:absolute;inset:0;overflow-y:auto}.gameover-verdict{letter-spacing:0;text-transform:uppercase;margin:0;font-size:clamp(3.4rem,16vw,8rem);font-weight:800;line-height:1}.gameover-verdict.won{color:#6fd6ff;text-shadow:0 4px 0 var(--ink), 0 10px 30px #0009}.gameover-verdict.lost{color:var(--rust);text-shadow:0 4px #2a0708,0 10px 30px #0009}.gameover-who{color:var(--bone);margin:0;font-size:1.3rem}.gameover-reason{color:var(--amber);margin:0}.gameover-you{color:var(--lichen);margin:0}.gameover-winners{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.5rem 1.4rem;margin:.4rem 0;padding:0;list-style:none;display:flex}.gameover-winners li{justify-items:center;gap:.25rem;font-size:1em;font-weight:800;display:grid}.gameover-winners .bean{filter:drop-shadow(0 12px 18px #0000008c)}.gameover-mimics{background:#e0483e1a;border-radius:14px;justify-items:center;gap:.3rem;padding:.55rem 1.1rem;display:grid}.gameover-mimics p{color:#ff8d80;margin:0;font-size:.85em;font-weight:800}.gameover-mimics ul{flex-wrap:wrap;justify-content:center;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.gameover-mimics li{justify-items:center;gap:.1rem;font-size:.86em;font-weight:700;display:grid}.lobby-drill-use{right:calc(1rem + env(safe-area-inset-right));bottom:calc(11.5rem + env(safe-area-inset-bottom));z-index:2;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;min-width:0;min-height:0;padding:0;display:flex;position:absolute}.lobby-drill-face{color:#1b1f3a;background:linear-gradient(#f6efd8,#d8c79a);border:3px solid #10142b;border-radius:18px;place-items:center;width:66px;height:66px;display:grid;position:relative;box-shadow:inset 0 2px #ffffffa6,0 3px #05070fa6}.lobby-drill-use:active .lobby-drill-face{transform:translateY(2px);box-shadow:inset 0 2px #ffffffa6}.lobby-drill-use .lobby-drill-glyph{color:#1b1f3a;font-size:26px;line-height:1}.lobby-drill-label{color:#fff;text-transform:uppercase;text-align:center;text-shadow:0 2px #05070fe6,1px 0 #05070fe6,-1px 0 #05070fe6;max-width:120px;font-size:.68rem;font-weight:800;line-height:1.1}@media (hover:hover) and (pointer:fine){.lobby-drill-face[data-key]:after{content:attr(data-key);opacity:.55;font-size:.62rem;font-weight:800;position:absolute;top:2px;right:5px}}.surface-card[data-wide=yes]{width:min(760px,94vw)}.drill-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.drill-list button{text-align:left;background:color-mix(in srgb, var(--panel) 92%, #fff);border-color:var(--panel-edge);justify-items:start;gap:.2rem;width:100%;height:100%;padding:.6em .8em;display:grid}.drill-list button strong{font-size:.95em}.drill-list button em{color:var(--lichen);font-size:.78em;font-style:normal;font-weight:500;line-height:1.25}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/fredoka-latin-400-normal.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/fredoka-latin-500-normal.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/fredoka-latin-600-normal.woff2)format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/fredoka-latin-700-normal.woff2)format("woff2")}:root{--canopy:#0a0e1f;--moss:#232c4f;--lichen:#93a4cf;--bone:#eef1fb;--amber:#f7cf3f;--rust:#e0483e;--panel:#171e38;--panel-edge:#3a4670;--ink:#10131f;--radius:14px;--font:"Fredoka", "Arial Rounded MT Bold", "Trebuchet MS", Verdana, system-ui, -apple-system, sans-serif;--text:15px;--text-xs:.72em;--text-sm:.85em;--text-md:1em;--text-lg:1.2em;--text-xl:1.5em;--text-2xl:2em;--text-3xl:2.8em;--text-display:4.2em;--weight-body:400;--weight-medium:500;--weight-strong:600;--weight-heavy:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-lg:22px;--radius-pill:999px;--lift-1:0 2px 0 var(--ink);--lift-2:0 4px 0 var(--ink), 0 6px 18px #00000073;--lift-3:0 6px 0 var(--ink), 0 12px 32px #0000008c}[data-large-text=on]{--text:18px}*{box-sizing:border-box}html,body{background:var(--canopy);height:100%;color:var(--bone);font-family:var(--font);font-size:var(--text);overscroll-behavior:none;margin:0}.app{width:100vw;height:100dvh;position:relative;overflow:hidden}.world{position:absolute;inset:0}.world canvas{touch-action:none;display:block}.overlay{pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:absolute;inset:0}.overlay button,.overlay input,.overlay a,.overlay [role=dialog],.overlay form,.overlay .gate,.overlay .lobby-code,.overlay .lobby-panel,.overlay .hud-duties{pointer-events:auto}button{font:inherit;color:var(--bone);background:var(--moss);border:3px solid var(--ink);border-radius:var(--radius);cursor:pointer;min-width:44px;min-height:44px;padding:.7em 1.1em;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible{outline:3px solid var(--amber);outline-offset:2px}input[type=text],input:not([type]){font:inherit;color:var(--bone);border:3px solid var(--ink);border-radius:var(--radius);font-weight:700;font-size:max(16px, var(--text));background:#10162c;padding:.7em .9em}h1,h2,h3{letter-spacing:0;font-weight:800}.gate-card,.surface-card,.scrim-card{background:var(--panel);border:3px solid var(--ink);border-radius:22px;gap:.7rem;width:min(440px,92vw);padding:1.6rem;display:grid}label{color:var(--lichen);font-size:.9em}.lobby-tag,.meeting-tag{color:var(--amber);font-size:.72em}.hud{position:absolute;inset:0}.hud-duties{top:calc(.8rem + env(safe-area-inset-top));left:calc(.8rem + env(safe-area-inset-left));max-width:42vw;font-size:.88em;position:absolute}.hud-duties ul{gap:.15rem;margin:.4rem 0 0;padding:0;list-style:none;display:grid}.hud-duties li{border-left:3px solid var(--amber);background:#0a0e1cb8;border-radius:0 6px 6px 0;justify-content:space-between;gap:.6rem;padding:.25rem .5rem;display:flex}.hud-duties li.done{opacity:.45;border-left-color:var(--lichen);text-decoration:line-through}.hud-duty-room{color:var(--lichen)}.hud-taskbar{border:1px solid var(--panel-edge);background:#00000080;border-radius:6px;height:10px;overflow:hidden}.hud-taskbar-fill,.duty-bar-fill{background:linear-gradient(90deg, #5fa85f, var(--amber));height:100%;transition:width .18s}[data-reduced-motion=on] .hud-taskbar-fill,[data-reduced-motion=on] .duty-bar-fill{transition:none}.hud-jammed{color:var(--rust);background:#0a0e1cb8;border-radius:6px;padding:.3rem .5rem}.hud-crisis{top:calc(.8rem + env(safe-area-inset-top));border-radius:var(--radius);background:#a02814e6;padding:.5rem 1rem;font-weight:600;animation:1s infinite pulse;position:absolute;left:50%;transform:translate(-50%)}[data-reduced-motion=on] .hud-crisis{animation:none}@keyframes pulse{50%{opacity:.65}}.hud-actions{right:calc(1rem + env(safe-area-inset-right));bottom:calc(1.2rem + env(safe-area-inset-bottom));justify-items:end;gap:.6rem;display:grid;position:absolute}.hud-button{border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-width:92px;min-height:56px;font-weight:600;line-height:1.1;display:flex;position:relative}.hud-glyph{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;width:20px;height:20px}@media (hover:hover) and (pointer:fine){.hud-button[data-key]:after{content:attr(data-key);letter-spacing:.04em;opacity:.5;font-size:.62em;font-weight:700;position:absolute;top:4px;right:6px}}.hud-cooldown{pointer-events:none;width:calc(100% - 4px);height:calc(100% - 4px);position:absolute;inset:2px}.hud-cooldown-track,.hud-cooldown-fill{fill:none;stroke-width:3px;transform-origin:50%;transform:rotate(-90deg)}.hud-cooldown-track{stroke:#00000059}.hud-cooldown-fill{stroke:var(--bone);opacity:.75;transition:stroke-dashoffset .12s linear}[data-reduced-motion=on] .hud-cooldown-fill{transition:none}.hud-use{background:#2c4a63}.hud-kill{background:var(--rust);border-color:#8d3a1f}.hud-report{background:#b6893a}.hud-havoc{background:#4a3560}.hud-kill.lunge{animation:.16s lunge}@keyframes lunge{50%{transform:scale(1.12)}}.hud-vent-exits{gap:.3rem;display:grid}.touch-stick{pointer-events:none;width:0;height:0;position:absolute}.touch-stick-ring{border:2px solid #eef1fb47;border-radius:50%;width:132px;height:132px;margin:-66px;position:absolute}.touch-stick-nub{background:#eef1fb59;border-radius:50%;width:54px;height:54px;margin:-27px;position:absolute}.duty-overlay,.surface,.scrim{pointer-events:auto;z-index:3;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px));--scrim-inline:calc(100vw - 2rem - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));--scrim-block:calc(100dvh - 2rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));background:#050712d1;place-items:center;display:grid;position:absolute;inset:0}.duty-panel{width:min(520px, var(--scrim-inline));max-height:min(88dvh, var(--scrim-block));background:var(--panel);border:1px solid var(--panel-edge);border-radius:18px;gap:.7rem;padding:1.2rem;display:grid;overflow-y:auto}.duty-panel-done{border-color:var(--amber)}.duty-head{justify-content:space-between;align-items:start;gap:1rem;display:flex}.duty-head h2{margin:0}.duty-blurb{color:var(--lichen);margin:.2rem 0 0;font-size:.88em;font-style:italic}.duty-instruction{color:#b9c4dd;margin:0;font-size:.9em}.duty-close{background:0 0;border:none;min-width:44px;min-height:44px;font-size:1.2em}.surface-card>.duty-close{color:var(--lichen);border-radius:10px;justify-self:end;margin-block-end:-.6rem}.surface-card>.duty-close:hover{color:var(--bone);background:#ffffff14}.duty-steps{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;font-size:.82em;list-style:none;display:flex}.duty-steps li{border:1px solid var(--panel-edge);color:#8b9ac0;border-radius:999px;padding:.2rem .5rem}.duty-steps li.done{opacity:.5;text-decoration:line-through}.duty-steps li.current{border-color:var(--amber);color:var(--amber)}.duty-body{place-items:center;min-height:220px;display:grid}.duty-message,.duty-next,.duty-done-banner{text-align:center;margin:0}.duty-done-banner{color:var(--amber);font-weight:600}.duty-bar{background:#00000073;border-radius:6px;width:100%;height:10px;overflow:hidden}.duty-primary{background:var(--amber);color:#201603;font-weight:600}.duty-swipe{gap:.8rem;width:100%;display:grid}.duty-swipe-track{border:2px solid var(--panel-edge);border-radius:var(--radius);touch-action:none;background:#10162c;height:96px;position:relative}.duty-swipe-card{background:var(--amber);color:#201603;border-radius:6px;place-items:center;width:18%;height:70px;font-size:.62em;font-weight:700;display:grid;position:absolute;top:12px}.duty-wiring{grid-template-columns:1fr 1fr;gap:1.5rem 3rem;width:100%;display:grid}.duty-wiring-column{gap:.6rem;display:grid}.wire{border:2px solid #0006;border-radius:6px;height:34px}.wire-held{outline:3px solid var(--bone)}.wire-done{opacity:.45}.wire-ember{background:#df4d44}.wire-river{background:#3b82d0}.wire-sun{background:#e8cd3d}.wire-orchid{background:#9b66d5}.duty-wiring .duty-bar{grid-column:1/-1}.duty-swarm,.duty-debris{gap:.6rem;width:100%;display:grid}.duty-swarm-field,.duty-debris-field{border-radius:var(--radius);border:1px solid var(--panel-edge);background:#0d1329;height:210px;position:relative;overflow:hidden}.swarm-bug,.debris{background:#6d5a2a;border:2px solid #2b2411;border-radius:50%;width:34px;min-width:34px;height:34px;min-height:34px;padding:0;position:absolute}.debris{background:#4b6b3a;border-radius:4px}.duty-debris-intake{border:3px dashed var(--lichen);border-radius:50%;width:60px;height:60px;position:absolute;bottom:8px;right:8px}.duty-align{gap:.6rem;width:100%;display:grid}.duty-align-track{border:1px solid var(--panel-edge);border-radius:var(--radius);touch-action:none;background:#0d1329;height:200px;position:relative}.duty-align-guide{background:var(--amber);height:2px;position:absolute;top:50%;left:0;right:0}.duty-align-belt{background:#4a5878;border-radius:4px;height:26px;margin-top:-13px;position:absolute;left:10%;right:10%}.duty-align-belt.locked{background:#5fa85f}.duty-scan{justify-items:center;gap:.7rem;width:100%;display:grid}.duty-scan-plate{border:4px solid var(--panel-edge);border-radius:50%;width:140px;height:140px}.duty-scan-plate.running{border-color:#5fa85f;animation:1.4s infinite pulse}[data-reduced-motion=on] .duty-scan-plate.running{animation:none}.duty-culture{justify-items:center;gap:.8rem;display:grid}.duty-culture-tubes{gap:.6rem;display:flex}.culture-tube{background:#3b82d0;border-radius:0 0 16px 16px;width:34px;height:90px}.culture-tube.positive{background:var(--rust)}.duty-hold,.duty-transfer{justify-items:center;gap:.8rem;width:100%;display:grid}.duty-lever{width:150px;height:92px;font-weight:600}.duty-lever.held{background:var(--amber);color:#201603}.duty-sequence{justify-items:center;gap:.8rem;width:100%;display:grid}.duty-sequence-pads{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.seq-pad{background:#232c4f;border-radius:14px;width:84px;height:84px}.seq-pad.lit{background:var(--amber)}.seq-pad-0{border-color:#df4d44}.seq-pad-1{border-color:#3b82d0}.seq-pad-2{border-color:#e8cd3d}.seq-pad-3{border-color:#9b66d5}.duty-calibrate{justify-items:center;gap:.8rem;display:grid}.duty-calibrate-rings{width:200px;height:200px;position:relative}.cal-ring{border:2px solid var(--panel-edge);--r:96px;border-radius:50%;position:absolute;inset:0}.cal-ring-1{--r:70px;inset:26px}.cal-ring-2{--r:44px;inset:52px}.cal-ring.active{border-color:var(--amber)}.cal-node{background:var(--bone);transform-origin:50%;border-radius:50%;width:16px;height:16px;margin:-8px;position:absolute;top:50%;left:50%}.cal-terminal{background:var(--amber);border-radius:50%;width:12px;height:12px;margin-top:-6px;position:absolute;top:50%;right:-6px}.duty-trail{border:1px solid var(--panel-edge);border-radius:var(--radius);touch-action:none;background:#0d1329;width:100%;height:220px;position:relative}.trail-point{border:2px solid var(--lichen);border-radius:50%;width:22px;height:22px;margin:-11px;position:absolute}.trail-point.next{border-color:var(--amber);box-shadow:0 0 0 4px #e8b04b40}.trail-point.reached{background:var(--lichen)}.trail-marker{background:var(--amber);border-radius:50%;width:16px;height:16px;margin:-8px;position:absolute}.duty-divert{justify-items:center;gap:.8rem;display:grid}.duty-divert-slider{border:1px solid var(--panel-edge);border-radius:var(--radius);touch-action:none;background:#0d1329;width:74px;height:200px;position:relative}.duty-divert-knob{background:var(--amber);border-radius:6px;height:34px;position:absolute;left:8px;right:8px}.duty-fence{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:.45rem;width:100%;display:grid}.fence-cell{background:#3a2a2a;border-color:#5b3a3a;height:96px}.fence-cell.live{background:#d8e8d0;border-color:#9fc09a}.duty-antenna{border:1px solid var(--panel-edge);border-radius:var(--radius);touch-action:none;background:#0d1329;width:100%;height:220px;position:relative}.antenna-target{border:2px dashed var(--lichen);border-radius:50%;width:44px;height:44px;margin:-22px;position:absolute;top:50%;left:50%}.antenna-crosshair{border:3px solid var(--amber);border-radius:50%;width:26px;height:26px;margin:-13px;position:absolute}.antenna-crosshair.locked{background:#5fa85f4d;border-color:#5fa85f}.duty-manifolds{gap:.7rem;width:100%;display:grid}.duty-manifold-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.duty-manifold-grid.failed{animation:.22s shake}[data-reduced-motion=on] .duty-manifold-grid.failed{animation:none}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.manifold{height:56px;font-weight:700}.manifold.opened{opacity:.5;background:#2c3757}.meeting{padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));pointer-events:auto;background:#0a0e1f;align-content:start;gap:.8rem;display:grid;position:absolute;inset:0;overflow-y:auto}.meeting-head{text-align:center}.meeting-head h1{margin:0}.meeting-reason{color:var(--lichen);margin:.2rem 0 0}.meeting-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.meeting-seat{border-width:2px;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;display:flex}.meeting-grid li.dead .meeting-seat{opacity:.45}.meeting-swatch{border:2px solid;border-radius:50%;flex:none;width:26px;height:26px}.meeting-name{text-align:left;flex:1}.meeting-voted{background:var(--amber);border-radius:50%;width:12px;height:12px}.meeting-actions{justify-content:center;align-items:center;gap:.8rem;display:flex}.meeting-hint,.lobby-hint,.surface-note{color:var(--lichen);margin:0;font-size:.86em}.chat{gap:.4rem;display:grid}.chat-log{border-radius:var(--radius);background:#0000004d;gap:.2rem;max-height:26dvh;margin:0;padding:.5rem;list-style:none;display:grid;overflow-y:auto}.chat-log li.spirit{color:#8fb9d8}.chat-row{gap:.5rem;display:flex}.chat-row input{flex:1}.surface-card{width:min(440px, var(--scrim-inline));max-height:var(--scrim-block);--surface-bezel-edge:#232c3d;--surface-screen-edge:#050a14;border:4px solid var(--surface-bezel-edge);background:linear-gradient(165deg,#93a3bd 0%,#6c7b96 55%,#57667f 100%);grid-template-rows:auto minmax(0,1fr);padding:1.5rem;position:relative;overflow:hidden;box-shadow:0 14px 40px #0000008c,inset 0 2px #ffffff4d,inset 0 -3px #00000047}.surface-card:before{content:"";z-index:0;border:3px solid var(--surface-screen-edge);background:linear-gradient(#16233c 0%,#101c30 35%,#0b1322 100%);border-radius:14px;position:absolute;inset:11px;box-shadow:inset 0 2px 10px #00000080}.surface-card:after{content:"";z-index:2;pointer-events:none;background-image:radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px),radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px),radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px),radial-gradient(circle,#d3dcee 0 2px,#3f4a61 3px 4.5px,#0000 5.5px);background-position:6px 6px,calc(100% - 6px) 6px,6px calc(100% - 6px),calc(100% - 6px) calc(100% - 6px);background-repeat:no-repeat;background-size:13px 13px;position:absolute;inset:0}.surface-card>*{z-index:1;position:relative}.surface-scroll{overscroll-behavior:contain;--scroll-fade:1.15rem;-webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - var(--scroll-fade)), transparent 100%);mask-image:linear-gradient(to bottom, #000 calc(100% - var(--scroll-fade)), transparent 100%);align-content:start;gap:.7rem;padding-block-end:var(--scroll-fade);display:grid;overflow-y:auto}.survey-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.survey-list li{background:#00000040;border-radius:6px;justify-content:space-between;padding:.3rem .5rem;display:flex}.camera-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.camera-feed{aspect-ratio:4/3;border:1px solid var(--panel-edge);color:#4a5a80;background:#070b18;border-radius:8px;place-items:center;font-size:.75em;display:grid}.havoc-grid,.settings-grid{gap:.5rem;display:grid}.surface-toggle{color:var(--bone);align-items:start;gap:.6rem;display:flex}.surface-toggle em{color:#b9c6de;font-size:.82em;font-style:normal;display:block}.surface-toggle input[type=checkbox]{appearance:none;border:3px solid var(--ink);cursor:pointer;background:linear-gradient(#26314c,#182034);border-radius:7px;flex:none;width:1.35em;height:1.35em;margin:.1em 0 0;position:relative;box-shadow:inset 0 2px 4px #00000073}.surface-toggle input[type=checkbox]:checked{background:linear-gradient(#58d9c2,#1f9c86);border-color:#0d2b26}.surface-toggle input[type=checkbox]:checked:after{content:"";border:.22em solid #06241f;border-width:0 .22em .22em 0;width:26%;height:58%;position:absolute;top:8%;left:32%;transform:rotate(42deg)}.surface-toggle input[type=checkbox]:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.surface-slider{gap:.2rem;display:grid}.surface-card input[type=range]{accent-color:#2fbfa6;cursor:pointer;width:100%;height:24px}.surface-card input[type=range]:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.surface-subhead{letter-spacing:.02em;margin:1.4rem 0 .2rem;font-size:1.05rem}.vitals-board{gap:.35rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.vitals-board li{background:#ffffff0d;border-radius:.5rem;grid-template-columns:32px 1fr auto;align-items:center;gap:.6rem;padding:.35rem .6rem;display:grid}.vitals-board li[data-state=dead]{opacity:.72}.vitals-board li[data-state=dead] .vitals-state{color:#ff8a7a}.vitals-board li[data-state=gone] .vitals-state{color:var(--lichen)}.vitals-board li[data-state=alive] .vitals-state{color:#8ef2c4}.vitals-name{font-weight:700}.vitals-state{font-variant-numeric:tabular-nums;font-size:.9em}.case-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.case-tab{min-height:36px;padding:.35em .8em;font-size:.88em}.case-tab.active{border-color:var(--amber)}.case-suspects{gap:.3rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.case-suspects li{background:#ffffff0d;border-radius:.45rem;justify-content:space-between;gap:.6rem;padding:.3rem .6rem;display:flex}.case-where,.case-empty{color:var(--lichen);font-size:.9em}.shift-menu{gap:.35rem;margin:.6rem 0;padding:0;list-style:none;display:grid}.shift-menu button{justify-content:flex-start;align-items:center;gap:.6rem;width:100%;display:flex}.reveal-optional{color:#cfeeff;background:#7ad9ff24;border-radius:.6rem;max-width:34rem;margin:.4rem auto 0;padding:.5rem .9rem}.surface-slider-hint{color:var(--lichen);font-size:.82em}.surface-slider input{width:100%;min-height:44px;margin-inline:0}.scrim-card{width:min(440px, var(--scrim-inline));text-align:center;justify-items:center}.spinner{border:3px solid var(--panel-edge);border-top-color:var(--amber);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}[data-reduced-motion=on] .spinner{animation:none}@keyframes spin{to{transform:rotate(360deg)}}.scrim-sub{color:var(--lichen);margin:0;font-size:.86em}.spectating-banner{top:calc(.6rem + env(safe-area-inset-top));border-radius:var(--radius);background:#14283ce6;margin:0;padding:.4rem .9rem;position:absolute;left:50%;transform:translate(-50%)}.notices{bottom:calc(.8rem + env(safe-area-inset-bottom));left:calc(.8rem + env(safe-area-inset-left));gap:.3rem;max-width:60vw;margin:0;padding:0;list-style:none;display:grid;position:absolute}.notices li{border-left:3px solid var(--lichen);background:#0a0e1ce6;border-radius:0 6px 6px 0;padding:.35rem .6rem;font-size:.86em}.duty-target{border-left:3px solid var(--amber);background:#e8b04b1f;border-radius:0 6px 6px 0;margin:0;padding:.45rem .6rem;font-size:.86em}.duty-target code{color:var(--amber);font-family:ui-monospace,monospace}.surface-choice{gap:.25rem;margin-block-end:.55rem;display:grid}.surface-choice>div{flex-wrap:wrap;gap:.35rem;display:flex}.surface-choice button{flex:1;min-width:72px;padding:.5em .6em}.surface-choice button.chosen{background:var(--amber);color:#201603;font-weight:600}.surface-title{margin:0 0 var(--space-2);font-size:var(--text-xl);font-weight:var(--weight-heavy)}.surface-subtitle{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-strong);letter-spacing:.12em;text-transform:uppercase;color:var(--lichen)}.cosmetic-preview{justify-items:center;gap:var(--space-1);padding:var(--space-3) 0 var(--space-2);display:grid}.cosmetic-preview-name{font-weight:var(--weight-strong);margin:0}.cosmetic-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));margin:0;padding:0;list-style:none;display:grid}.cosmetic-chip{justify-items:center;gap:var(--space-1);width:100%;padding:var(--space-2);background:color-mix(in srgb, var(--panel) 90%, transparent);border:2px solid var(--panel-edge);border-radius:var(--radius);color:var(--bone);font:inherit;font-size:var(--text-sm);cursor:pointer;display:grid}.cosmetic-chip:hover:not(:disabled){border-color:var(--lichen)}.cosmetic-chip[data-selected=yes]{border-color:var(--amber);background:color-mix(in srgb, var(--amber) 16%, var(--panel));font-weight:var(--weight-strong)}.cosmetic-chip:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}.cosmetic-hat{padding-top:var(--space-3)}@media (prefers-reduced-motion:no-preference){.cosmetic-chip{transition:border-color .12s,background-color .12s}}.howto-lede{margin:0 0 var(--space-2);color:var(--lichen);line-height:1.5}.howto-list{padding-left:var(--space-5);gap:var(--space-2);margin:0;line-height:1.5;display:grid}.howto-list b{color:var(--bone);font-weight:var(--weight-strong)}.howto-list li{color:var(--lichen)}.howto-list kbd{text-align:center;min-width:1.7em;font:inherit;font-size:var(--text-sm);font-weight:var(--weight-heavy);color:var(--bone);background:var(--moss);border:2px solid var(--ink);border-radius:var(--radius-sm);box-shadow:var(--lift-1);padding:.1em .4em;display:inline-block}.howto-cta{background:var(--amber);color:var(--ink);justify-self:start}
