:root{--ink: #f8f3e8;--bg-a: #0d1627;--bg-b: #251d27;--panel: #151f31dc;--panel-alt: #1e2434ef;--line: #ffffff2a;--accent: #ef6d45;--accent-2: #ffd06b;--good: #79db95;--bad: #ff6f77;--muted: #cad0df;--depth-shadow: 0 18px 36px #00000057;--mat-metal-hi: #c0d2ee;--mat-metal-mid: #20344f;--mat-metal-low: #0b121d;--mat-glass: #d2e6ff55;--mat-rubber: #1c1f29;--mat-ember: #ff8f52;--mat-smoke: #8f97a3;--mat-grass: #4a8742;--mat-asphalt: #4a515f;--mat-water: #2a75b5;font-family:Space Grotesk,Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 0%,#32578855,transparent 42%),radial-gradient(circle at 88% 10%,#7b3b3850,transparent 45%),linear-gradient(130deg,var(--bg-a),var(--bg-b));min-height:100vh}html,body,#root{overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;color:#fff;font-weight:600;background:linear-gradient(90deg,var(--accent),#d9502d);border-radius:10px;padding:.55rem .75rem}button.secondary{background:#2a3f5f}button.danger{background:#8a3030}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{color:var(--ink);background:#0f1623;border-radius:10px;border:1px solid var(--line);width:100%;margin-top:.24rem;margin-bottom:.7rem;padding:.58rem}h1,h2,h3,h4,p,ol,ul{margin-top:0}.landing-shell{min-height:100vh;padding:1.2rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.join-shell{grid-template-columns:minmax(280px,520px);justify-content:center}.landing-hero,.landing-card{border:1px solid var(--line);border-radius:18px;padding:1rem;background:linear-gradient(160deg,var(--panel),var(--panel-alt));box-shadow:0 24px 45px #00000052}.landing-hero{grid-column:1 / -1}.mode-card{display:grid;gap:.6rem;align-content:space-between}.mode-card h2{margin-bottom:.2rem}.join-card{max-width:520px}.eyebrow{margin:0 0 .3rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent-2);font-size:.74rem}.mode-selector{display:flex;gap:.6rem}.mode-selector button{width:100%}.active{outline:2px solid var(--accent-2)}.game-shell{min-height:100vh;padding:1rem;display:grid;gap:1rem;min-width:0}.game-topbar{border:1px solid var(--line);border-radius:18px;padding:.72rem .88rem;background:linear-gradient(165deg,#142031f2,#2a1d2af0);display:grid;grid-template-columns:2fr auto;gap:.7rem;box-shadow:var(--depth-shadow)}.topbar-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;align-content:start;gap:.4rem}.topbar-chipline{display:flex;gap:.4rem;flex-wrap:wrap}.mini{width:auto}.mini-switch{display:inline-flex;align-items:center;gap:.45rem;width:fit-content;padding:.2rem .45rem;border-radius:12px;border:1px solid var(--line);background:#101b2a}.mini-switch input{width:auto;margin:0;padding:0}.volume-inline{display:grid;gap:.2rem;width:180px;font-size:.86rem}.volume-inline input{margin:0;padding:0}.audio-control{display:flex;align-items:center;gap:.5rem}.start-controls{border:1px solid var(--line);border-radius:12px;padding:.55rem;background:#0f1624}.waiting-room-shell{grid-template-columns:1fr}.waiting-room-header,.waiting-room-roster,.waiting-room-start,.waiting-room-note{border:1px solid var(--line);border-radius:16px;background:linear-gradient(164deg,#14233af2,#1c2234f1);padding:.9rem}.waiting-room-header{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:start}.waiting-room-controls{display:flex;align-items:center;gap:.45rem}.waiting-player-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.waiting-player-card{border:1px solid var(--line);border-radius:12px;background:#0f1828;padding:.55rem}.waiting-player-meta{display:flex;justify-content:space-between;align-items:center;gap:.45rem;margin-bottom:.42rem}.waiting-player-card select{margin:0}.waiting-role-label{margin:0;color:#d7e3f7}.warning-text{color:var(--accent-2)}.panel-dashboard{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));align-items:start;min-width:0}.panel-slot{min-width:0}.scene-panel{border-radius:16px;border:1px solid var(--line);background:radial-gradient(circle at 16% 0%,#3a5f8a2e,transparent 42%),radial-gradient(circle at 86% 100%,#6f3c2a1f,transparent 50%),linear-gradient(165deg,#182239f2,#1a1f2ff3);box-shadow:var(--depth-shadow);padding:.85rem;min-width:0}.visual-heavy{overflow:hidden}.panel-chip-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.panel-chip-row h3{margin-bottom:0}.chip-strip{display:flex;flex-wrap:wrap;gap:.35rem}.chip{display:inline-flex;align-items:center;border:1px solid #ffffff29;background:#0f1625;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.chip.warning{border-color:#ffb16a90;color:#ffd8a6}.chip.good{border-color:#83e8a091;color:#9effbe}.chip.danger{border-color:#ff8e9585;color:#ffc2c7}.chip.supporting{opacity:.85}.visual-stage{position:relative;border-radius:14px;border:1px solid #ffffff22;background:radial-gradient(circle at 18% 4%,#7eb5ff2a,transparent 36%),radial-gradient(circle at 86% 96%,#ff8e5f26,transparent 42%),linear-gradient(156deg,#15243b,#0a1322 60%,#0b1321);overflow:hidden;box-shadow:inset 0 1px #ffffff1f,inset 0 -18px 28px #03081366,0 14px 24px #01050d66}.visual-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(112deg,transparent 36%,#ffffff12 50%,transparent 64%),repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 3px);animation:stageSweep 7s ease-in-out infinite}.visual-stage>*{position:relative;z-index:2}.geometry-layer,.interaction-layer,.fx-layer,.map-fx,.town-map-svg{display:block;width:100%}.geometry-layer{height:auto}.map-fx,.town-map-svg{height:100%}.fx-layer,.map-fx,.interaction-layer{position:absolute;top:0;right:0;bottom:0;left:0}.fx-layer,.map-fx{pointer-events:none;z-index:4}.interaction-layer{pointer-events:all;z-index:6}.geometry-layer{position:relative;z-index:5}.town-map-svg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5}.mission-stage{max-width:460px;min-height:0;aspect-ratio:360 / 170}.hud-ring,.hud-ring-progress{fill:none;stroke-width:14}.hud-ring{stroke:#ffffff29}.hud-ring-progress{stroke:#ff8a61;transform:rotate(-90deg);transform-origin:70px 84px}.hud-value{fill:#ffd28f;font-size:28px;font-family:Space Mono,monospace}.hud-deck-surface{fill:#0a1627;stroke:#ffffff23}.hud-core-disc{fill:#13243b;stroke:#ffffff1f}.hud-right-grid{opacity:.28}.hud-grid-line{stroke:#b5d6ff;stroke-width:1}.hud-wave{fill:none;stroke:#8fc6ff;stroke-width:2.4;filter:drop-shadow(0 0 4px #7fb7ff8f)}.hud-metric-track{fill:#ffffff24}.hud-metric-fill.timer{fill:#ffb36c}.hud-metric-fill.score{fill:#86e2b0}.hud-metric-fill.pressure{fill:#ff7d66}.hud-status-pill{fill:#111f32;stroke:#ffffff2f}.hud-status-text{fill:#cad4e9;font-size:12px;text-transform:uppercase}.bomb-stage{min-height:0;aspect-ratio:720 / 320;overflow:clip}.bomb-stage .geometry-layer,.bomb-stage .interaction-layer,.bomb-stage .fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.bomb-stage-root>.depth-parallax-group{position:absolute;top:0;right:0;bottom:0;left:0}.bomb-device-panel,.bomb-stage-root{overflow:clip}.bomb-shell-body{fill:#0f1624;stroke:#ffffff2f;stroke-width:2}.bomb-front-plate{stroke:#ffffff2f;stroke-width:1.6}.bomb-upper-bay,.bomb-lower-bay{fill:#0813248f;stroke:#6fa6e448;stroke-width:1.2}.bomb-hazard-lip{opacity:.5}.bomb-screw-head{fill:#2a3649;stroke:#8ba4c93f;stroke-width:1.2}.bomb-screw-notch{stroke:#0a1322;stroke-width:1.6}.bomb-lower-grid-line{stroke:#88a9d84a;stroke-width:1}.bomb-diag-bay{fill:#0d1d31dc;stroke:#87b8ec4f}.bomb-diag-bar{fill:#6eb8ff;opacity:.75}.bomb-diag-dot{fill:#2c4768;stroke:#93c6fb57}.bomb-diag-dot.active{fill:#ff9669;filter:drop-shadow(0 0 4px #ff986cac)}.module-bound{fill:#111e3199;stroke:#ffffff1f}.bomb-wire{stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 1px 2px #00000088)}.bomb-wire.red{stroke:#ce4646}.bomb-wire.blue{stroke:#4c8fe3}.bomb-wire.yellow{stroke:#d6b24a}.bomb-wire.white{stroke:#d6d6d6}.bomb-wire.black{stroke:#4b4b4b}.wire-g.cut{opacity:.24}.state-light{opacity:.3}.state-light.active{opacity:1;filter:drop-shadow(0 0 8px #ffffff99)}.state-light.green{fill:#89e9ad}.state-light.amber{fill:#ffcc72}.state-light.red{fill:#ff737a}.symbol-node{fill:#13233a;stroke:#ffffff38}.symbol-ring .active .symbol-node{fill:#ff824f}.symbol-node-text{fill:#f8f0e2;font-size:11px;text-transform:uppercase}.stabilize-core{fill:#182841bb;stroke:#ffffff24}.stabilize-progress{fill:none;stroke:#ffd06b;stroke-width:4;transform:rotate(-90deg);transform-origin:615px 195px}.hit-wire,.hit-symbol,.hit-stabilize{cursor:pointer;fill:transparent;stroke:transparent;stroke-width:22}.hit-symbol{stroke-width:16}.hit-stabilize{stroke-width:26}.hit-wire:hover,.hit-symbol:hover,.hit-stabilize:hover{stroke:#ffffff2f}.hit-wire.disabled,.hit-symbol.disabled,.hit-stabilize.disabled{cursor:not-allowed;opacity:.45}.sequence-pips{margin-top:.45rem;display:flex;gap:.3rem;flex-wrap:wrap}.stage-intermission-banner{margin-top:.4rem;border:1px solid #ffcf8a6a;border-radius:10px;padding:.36rem .5rem;background:#2b21149f;display:grid;gap:.08rem;font-size:.72rem;color:#ffe8c2}.panel-annotation{margin:.15rem 0 .4rem;font-size:.78rem;color:var(--text-muted)}.sequence-pip{width:26px;height:26px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ffffff29;background:#101d31;font-size:.72rem}.rulebook-stage{min-height:0;aspect-ratio:760 / 440}.manual-page{fill:#f6ead2;stroke:#3f3524}.manual-secondary-shadow{fill:#0000002a;filter:blur(4px)}.manual-secondary-body{fill:#eadfc8;stroke:#947a58}.manual-secondary-line{fill:none;stroke:#7d6547;stroke-width:2.4;opacity:.68}.manual-secondary-emblem{fill:#ccaf88;stroke:#6f5231}.manual-secondary-emblem-core{fill:#8d6640}.manual-secondary-card{fill:#e3d6bd;stroke:#8b6b47;opacity:.9}.manual-title{fill:#3d2d1e;font-size:20px;font-weight:700}.manual-diagram{fill:none;stroke-width:4;stroke-linecap:round}.manual-diagram.wire{stroke:#415f85}.manual-diagram.glyph{stroke:#7a4d40}.manual-diagram.safety{stroke:#6a6252}.manual-pin circle,.manual-pin line{stroke:#3d2c1a;fill:#e7c59f}.manual-hotspot{fill:#ac7a4036;stroke:#795c33;stroke-dasharray:4 5;cursor:pointer}.rulebook-controls{margin-top:.45rem;display:flex;gap:.45rem}.icon-btn{width:46px;aspect-ratio:1;border-radius:999px}.hotspot-detail{margin-top:.45rem;border:1px solid var(--line);border-radius:10px;padding:.45rem;background:#0f1628;display:grid;gap:.18rem}.safety-stage{min-height:0;aspect-ratio:320 / 180}.safety-inner-disc{fill:#0d1a2c;stroke:#ffffff1f}.safety-risk-bar{fill:#ffffff1a;stroke:#ffffff24}.safety-risk-bar.active{fill:#ff8965;stroke:#ffc48a}.safety-ring-track,.safety-ring-fill{fill:none;stroke-width:12}.safety-ring-track{stroke:#ffffff2b}.safety-ring-fill{stroke:#ff8758;transform:rotate(-90deg);transform-origin:160px 90px}.safety-lever-base{fill:#112037;stroke:#ffffff27}.safety-lever{fill:#cad1df}.risk-label-large{fill:#ffd595;font-size:18px;font-family:Space Mono,monospace}.alarm-dots{margin-top:.4rem;display:flex;gap:.35rem}.alarm-dot{width:10px;height:10px;border-radius:999px;background:#ff915d;box-shadow:0 0 12px #ff905f99}.coordination-stage{padding:.5rem;display:grid;gap:.5rem}.coord-spine{fill:none;stroke:#84a9d655;stroke-width:3}.coord-node-shell{fill:#121f34;stroke:#8ab8f770}.coord-node-core{fill:#ff9669;filter:drop-shadow(0 0 6px #ff986c99)}.coord-node.complete .coord-node-core{fill:#6ce0a0;filter:drop-shadow(0 0 6px #76e7ab96)}.coord-node-index{fill:#f6f0e6;font-size:10px;font-family:Space Mono,monospace}.coord-node-label-bg{fill:#0d182ab8;stroke:#ffffff24}.coord-node-label{fill:#dce5f4;font-size:10px}.confirmation-trail{display:flex;gap:.38rem;overflow-x:auto;padding-bottom:.15rem}.stage-rail{margin-top:.42rem;display:flex;gap:.34rem;flex-wrap:wrap}.stage-pill{border:1px solid var(--line);border-radius:999px;padding:.16rem .5rem;font-size:.68rem;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);background:#0f1728}.stage-pill.complete{border-color:#72dca3aa;color:#a9eec8;background:#0e2220}.stage-pill.active{border-color:#ffc57d;color:#ffe0b3;background:#272015}.trail-chip{min-width:180px;border:1px solid var(--line);border-radius:10px;padding:.38rem;background:#0d1524;display:grid;gap:.1rem;font-size:.76rem}.map-stage{min-height:0}.bushfire-map-panel .visual-stage{background:radial-gradient(circle at 18% 8%,#5a9b5e55,transparent 36%),radial-gradient(circle at 82% 0%,#6ea4c03f,transparent 42%),linear-gradient(165deg,#1b3b2f,#17352e 50%,#122631)}.map-inner-frame{fill:#07131fac;stroke:#cde2bf3f;stroke-width:1.4}.map-grid-line{stroke:#d8f4d31a;stroke-width:1;pointer-events:none}.map-zone{fill:url(#zoneFill);stroke:#ffffff40;stroke-width:1.2;cursor:pointer}.map-zone-shadow{fill:#03070fcc;opacity:.22;pointer-events:none}.map-zone-rim{fill:none;stroke:url(#zoneRim);stroke-width:1.2;opacity:.55;pointer-events:none}.map-zone.focused{stroke:#ffd291;stroke-width:2.2}.zone-heat{pointer-events:none;mix-blend-mode:screen}.zone-name{fill:#fff8de;font-size:11px;font-weight:700;letter-spacing:.03em;text-shadow:0 1px 1px #05121e}.zone-fire-track,.zone-fire-ring{fill:none;stroke-width:3.2;pointer-events:none}.zone-fire-track{stroke:#ffffff20}.zone-fire-ring{stroke:#ff9c68;filter:drop-shadow(0 0 5px #ff7f4996)}.zone-pop-pips{fill:#cde5c6;opacity:.85;pointer-events:none}.zone-radial-actions{pointer-events:all}.radial-tool{fill:#142538;stroke:#ffffff4b;cursor:pointer;filter:drop-shadow(0 2px 4px #00000066)}.radial-tool:hover{fill:#244369}.radial-tool.disabled{opacity:.5;cursor:not-allowed}.radial-tool-label{fill:#ffe7c5;font-size:9px;pointer-events:none}.wind-glyph path{stroke:#f4d6a4;stroke-width:3;fill:none;opacity:.82}.asset-slot{fill:#0f2238;stroke:#8ec6ff7f;stroke-width:1.8;cursor:grab;filter:drop-shadow(0 2px 3px #00000066)}.asset-slot.active{fill:#244c73;stroke:#ffd19c}.asset-slot.disabled{opacity:.55;cursor:not-allowed}.asset-slot-label{fill:#f4e8d2;font-size:9px;font-weight:700;letter-spacing:.08em}.asset-slot-icon{fill:none;stroke:#dceaf8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transform:translate(-9px);pointer-events:none}.drag-token{fill:#28517abf;stroke:#ffd59d;stroke-width:1.8}.zone-focus-hud{margin-top:.5rem;border:1px solid #ffffff1f;border-radius:12px;padding:.4rem .5rem .48rem;background:linear-gradient(130deg,#0f1c2eb8,#121f28b8);display:grid;gap:.32rem}.zone-focus-name{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;color:#f7ebcd}.zone-focus-meters{display:grid;gap:.24rem}.zone-meter{height:8px;border-radius:999px;border:1px solid #ffffff21;background:#0b1220;overflow:hidden}.zone-meter span{display:block;height:100%;border-radius:inherit}.zone-meter.fire span{background:linear-gradient(90deg,#f7a25b,#e64f39)}.zone-meter.pop span{background:linear-gradient(90deg,#6fc9d8,#5f88d6)}.ops-stage,.public-info-stage,.command-stage{padding:.5rem}.ops-pips{display:flex;gap:.36rem;margin-bottom:.55rem}.ops-pip{width:16px;height:16px;border-radius:999px;border:1px solid var(--line)}.ops-pip.active{background:radial-gradient(circle at 30% 30%,#a8e6ff,#4782d5);box-shadow:0 0 12px #8ab8f8a1}.ops-pip.spent{background:#111b2c}.zone-token-lane{display:flex;gap:.35rem;flex-wrap:wrap}.zone-token{border-radius:10px;border:1px solid var(--line);padding:.28rem .48rem;font-size:.76rem;background:#0f1828;display:inline-flex;gap:.3rem}.zone-token.hot{border-color:#ff976d8c}.zone-token.evac{border-color:#83aaf398}.zone-token.blocked{border-color:#ff6e7194}.lane-stack{display:grid;gap:.55rem}.lane-card{border:1px solid var(--line);border-radius:12px;padding:.45rem;background:#0f1626}.lane-card h4{margin-bottom:.35rem}.broadcast-ring,.broadcast-fill{fill:none;stroke-width:10}.broadcast-ring{stroke:#ffffff2b}.broadcast-fill{stroke:#ff8758;transform:rotate(-90deg);transform-origin:85px 90px}.broadcast-label{fill:#ffddab;font-size:22px;font-family:Space Mono,monospace}.cadence-label{fill:#9ab3db;font-size:12px;text-transform:uppercase}.cadence-hint{fill:#ecf0f7;font-size:12px}.ticker-frame{fill:#0f1a2c;stroke:#ffffff2c}.ticker-line{fill:#d4def2;font-size:10px}.composer-lens{margin-top:.45rem;display:grid;gap:.42rem}.template-row{display:flex;flex-wrap:wrap;gap:.3rem}.template-chip{border-radius:999px;padding:.26rem .56rem;font-size:.74rem;background:#243a5b}.public-info-panel textarea{margin:0;min-height:54px;resize:vertical}.beacon-button{width:58px;aspect-ratio:1;border-radius:999px;justify-self:end;font-family:Space Mono,monospace}.radar-ring{fill:none;stroke:#ffffff24;stroke-width:2}.radar-sweep{stroke:#8acbff;stroke-width:3}.risk-card{fill:#101a2b;stroke:#ffffff1f}.risk-card-text{fill:#d6e0f2;font-size:11px}.objective-lane{display:grid;gap:.4rem;margin-top:.5rem}.objective-chip{border-radius:10px;border:1px solid var(--line);background:#0f1728;padding:.34rem .44rem;display:grid;grid-template-columns:20px 1fr;gap:.4rem;font-size:.79rem}.gm-stage{padding:.48rem}.gm-stage-surface{fill:#0f1b2e;stroke:#ffffff23}.gm-core-ring{fill:none;stroke:#69b7ff44;stroke-width:2}.gm-core-ring.inner{stroke:#ff8f6a4f}.gm-link-line{stroke:#89c6ff5f;stroke-width:1.3;stroke-dasharray:4 5}.gm-risk-link{stroke:#ff9b8465;stroke-width:1.2;stroke-dasharray:3 4}.camera-node{fill:#58b5ff6b;stroke:#9ad7ff}.camera-label{fill:#c9dbf8;font-size:11px}.risk-node{fill:#ff795f5a;stroke:#ff997c}.risk-hotspot-label{fill:#ffd3c5;font-size:10px}.fsm-stage{padding:.46rem}.fsm-surface{fill:#0d182a;stroke:#ffffff24}.fsm-edge{stroke:#83b8f55e;stroke-width:1.4;stroke-dasharray:4 5}.fsm-node-dot{fill:#2e5078;stroke:#9fc9ff;stroke-width:1.3}.fsm-node.active .fsm-node-dot{fill:#ff9a72;stroke:#ffd3bb;filter:drop-shadow(0 0 6px #ff9c7a8f)}.fsm-node-label{fill:#d9e7fb;font-size:11px}.fsm-transition-grid{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.32rem}.fsm-transition-chip{border:1px solid var(--line);border-radius:999px;padding:.18rem .5rem;font-size:.69rem;background:#12203a}.fsm-hints{margin-top:.4rem;display:flex;flex-wrap:wrap;gap:.28rem}.fsm-hint{border:1px solid #ffffff24;border-radius:8px;padding:.16rem .36rem;font-size:.67rem;color:var(--text-muted);background:#0f182a}.debrief-stage{margin-bottom:.35rem}.debrief-axis{stroke:#ffffff3a;stroke-width:2}.debrief-stem{stroke:#6eb6ff8c;stroke-width:1.5}.debrief-dot{fill:#86c1ff}.debrief-node.active .debrief-dot{fill:#ff956f;filter:drop-shadow(0 0 6px #ff9e7c9f)}.debrief-event{border:1px solid #ffffff21;border-radius:10px;padding:.5rem;background:#0f1829}.debrief-metric-bars{display:grid;gap:.24rem;margin-bottom:.4rem}.debrief-metric{height:7px;border-radius:999px;background:#0a1220;border:1px solid #ffffff1f;overflow:hidden}.debrief-metric span{display:block;height:100%;border-radius:inherit}.debrief-metric.execution span{background:linear-gradient(90deg,#7bb8ff,#4b8add)}.debrief-metric.timing span{background:linear-gradient(90deg,#f8ba7a,#e77746)}.debrief-metric.comms span{background:linear-gradient(90deg,#88e0b0,#3ba16f)}.debrief-event p{margin:0 0 .28rem}.debrief-event p:last-child{margin-bottom:0}.debrief-event-time{color:#f8d6a7}.debrief-event-type{text-transform:uppercase;letter-spacing:.08em;color:#8eb6e6;font-size:.76rem}.debrief-event-stats{color:#d4e4ff}.drawer-tabs{margin-top:.45rem;display:flex;gap:.34rem;flex-wrap:wrap}.drawer-tab{border-radius:999px;background:#1a3152;padding:.26rem .58rem;font-size:.75rem}.drawer-tab.active{background:linear-gradient(90deg,#ef6d45,#d9502d)}.drawer-stack{margin-top:.45rem}.gm-drawer{border:1px solid var(--line);border-radius:12px;padding:.5rem;background:#0f1728}.gm-player-pills,.gm-role-picker,.grant-grid,.lock-grid,.sim-role-grid{display:flex;flex-wrap:wrap;gap:.32rem}.gm-player-pill,.role-pill,.grant-chip,.lock-chip,.sim-role-chip{border-radius:999px;background:#253d62;padding:.24rem .52rem;font-size:.74rem}.gm-player-pill.active,.role-pill.active,.grant-chip.active,.sim-role-chip.active{background:#3f6fa9}.lock-chip.locked{background:#6e3030}.timeline-strip{border:1px solid var(--line);border-radius:16px;padding:.8rem;background:#101a2a;min-width:0}.timeline-chip-lane{display:flex;gap:.34rem;overflow-x:auto;min-width:0}.timeline-chip{border:1px solid var(--line);border-radius:999px;padding:.24rem .56rem;background:#111d30;font-size:.76rem;white-space:nowrap;max-width:min(58vw,360px);overflow:hidden;text-overflow:ellipsis}.timeline-chip.inject{border-color:#ff9a7188}.timeline-chip.system{border-color:#8db7ff87}.error{color:var(--bad);font-weight:700}.layered-scene{position:relative;transform-style:preserve-3d;perspective:var(--scene-perspective, 820px)}.layered-scene.animated .geometry-layer,.layered-scene.animated .fx-layer{animation:subtleFloat 4.8s ease-in-out infinite}.cinematic-depth{border:1px solid #ffffff23;box-shadow:0 30px 52px #02060f99,inset 0 1px #ffffff24;background:radial-gradient(circle at 18% 0%,#334f7582,transparent 40%),radial-gradient(circle at 82% 100%,#582f2069,transparent 45%),linear-gradient(150deg,#0f1b2d,#121c2d 48%,#0c121d)}.depth-parallax-group{position:relative;z-index:2}.specular-overlay,.shadow-caster,.rim-light{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.specular-overlay{background:linear-gradient(var(--spec-angle),rgba(255,255,255,calc(var(--spec-intensity) * .22)),rgba(255,255,255,0)),radial-gradient(circle at 18% 12%,rgba(198,220,255,calc(var(--spec-intensity) * .35)),transparent 40%);mix-blend-mode:screen}.shadow-caster{background:radial-gradient(circle at 50% calc(66% + var(--shadow-offset-y)),rgba(0,0,0,var(--shadow-opacity)),transparent 66%);filter:blur(var(--shadow-blur))}.rim-light{box-shadow:inset 0 -18px 28px color-mix(in srgb,var(--rim-color) calc(var(--rim-intensity) * 100%),transparent)}.bomb-stage-root,.manual-stage-root,.map-stage-root,.safety-stage-root{position:relative;min-height:inherit}.bomb-stage-root{aspect-ratio:720 / 320}.manual-stage-root{aspect-ratio:760 / 440}.safety-stage-root{aspect-ratio:320 / 180}.map-stage-root{aspect-ratio:720 / 420;min-height:0}.map-stage-root>.depth-parallax-group{position:absolute;top:0;right:0;bottom:0;left:0}.map-stage-root:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;background:linear-gradient(112deg,transparent 30%,#b8ffe21f 50%,transparent 70%);animation:mapSweep 10s ease-in-out infinite}.bomb-cinematic-pcb,.bomb-cinematic-scratches,.bomb-cinematic-shell,.bomb-cinematic-reflection,.map-backdrop,.map-water-mask,.manual-desk-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.bomb-cinematic-shell{object-fit:cover;opacity:.84;mix-blend-mode:normal}.bomb-cinematic-pcb,.bomb-cinematic-scratches{object-fit:cover;opacity:.34;mix-blend-mode:lighten}.bomb-cinematic-reflection{background:radial-gradient(circle at 16% 8%,#b4d8ff45,transparent 36%),linear-gradient(110deg,#ffffff20,#fff0 44%)}.manual-desk-backdrop{object-fit:cover;opacity:.46;mix-blend-mode:overlay}.map-backdrop,.map-water-mask{object-fit:cover;opacity:.62}.map-water-mask{mix-blend-mode:screen;opacity:.3}.energy-arc{fill:none;stroke:#84bfff;stroke-width:2.4;stroke-dasharray:8 10;opacity:.35}.energy-arc.active{filter:drop-shadow(0 0 5px #8dccff)}.bomb-component rect{fill:#1f314b;stroke:#dce8ff33}.bomb-component .component-label{fill:#e7f0ff;font-size:8px;font-family:Space Mono,monospace;letter-spacing:.04em}.bomb-component.display rect{fill:#112d46;stroke:#6cc1ff88}.bomb-component.fuse rect{fill:#3f3a2a;stroke:#f0cf7f7a}.bomb-component.busbar rect{fill:url(#busbarGlow)}.bomb-component.fault rect{stroke:#ff8e7a;filter:drop-shadow(0 0 3px #ff6e6e7d)}.bomb-component.cut rect{opacity:.6}.bomb-floor-trace{stroke:#7fb9ff5f;stroke-width:1.6}.bomb-floor-chip{fill:#1a2e49c2;stroke:#c2d7f84f}.interaction-hit{fill:transparent;stroke:transparent}.interaction-hit.enabled:hover{stroke:#ffffff46;fill:#ffffff18}.interaction-hit:focus-visible{stroke:#ffffff50;stroke-width:2;outline:none}.interaction-hit.disabled{opacity:.45}.manual-page-shadow{fill:#0000002f;filter:blur(5px)}.manual-diagram.background{opacity:.55}.manual-diagram.mid{opacity:.84}.manual-diagram.foreground{opacity:1}.manual-corner-curl{cursor:pointer;filter:drop-shadow(-2px -2px 4px #6d5a4788)}.manual-page-tab{fill:none;stroke:#98795a80;stroke-width:10;cursor:pointer}.manual-hotspot{transition:opacity .18s ease}.manual-hotspot:hover{opacity:.9}.cinematic-tabs{justify-content:flex-end}.terrain-patch-shadow{fill:#02060f;pointer-events:none}.terrain-patch-fill{stroke:#ffffff21;stroke-width:.8}.terrain-patch-rim{fill:none;stroke:#ffffff1a;stroke-width:1;pointer-events:none}.terrain-layer.grassland .terrain-patch-fill{fill:#5f9f55;opacity:.22}.terrain-layer.forest .terrain-patch-fill{fill:#3a7a3b;opacity:.28}.terrain-layer.urban .terrain-patch-fill{fill:#6f737b;opacity:.28}.terrain-layer.water .terrain-patch-fill{fill:#3175b5;opacity:.3}.terrain-layer.asphalt .terrain-patch-fill{fill:#495266;opacity:.36}.terrain-layers{animation:canopyDrift 9.4s ease-in-out infinite;transform-origin:center}.terrain-road-shadow{fill:none;stroke:#04070f8c;stroke-linecap:round;stroke-linejoin:round}.terrain-road{fill:none;stroke:#525d6e;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.terrain-road-centerline{fill:none;stroke:#c9d3e2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8 8;opacity:.5}.terrain-river-bed{fill:none;stroke:#1a3f63;stroke-linecap:round;stroke-linejoin:round;opacity:.42}.terrain-river{fill:none;stroke:#2f89cf;stroke-linecap:round;stroke-linejoin:round;opacity:.62}.terrain-river-highlight{fill:none;stroke:#9fd8ff;stroke-linecap:round;stroke-linejoin:round;opacity:.62}.terrain-tree-shadow{fill:#10231a;opacity:.45}.terrain-tree-canopy{fill:#2e5f31;stroke:#486f3f;stroke-width:.6}.terrain-landmark-shadow{fill:#04071066}.terrain-landmark-disc{fill:#dce8f8;stroke:#283f5b;stroke-width:1.2}.terrain-landmark-glyph{fill:#20364f;stroke:#20364f;stroke-width:1}.terrain-landmark.hospital .terrain-landmark-disc{fill:#ffd6d6}.terrain-landmark.station .terrain-landmark-disc{fill:#d6e0ff}.wind-sample{stroke:#d9f5e8;stroke-width:1.2;stroke-linecap:round}.fire-front-contour{fill:none;stroke:#ff9c68;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:8 8;filter:drop-shadow(0 0 4px #ff8a4a)}.drop-feedback{fill:transparent;stroke-width:3;pointer-events:none}.drop-feedback.valid{stroke:#85e5ac}.drop-feedback.invalid{stroke:#ff8f86}.asset-slot{transition:transform .14s ease,filter .14s ease}.asset-slot.active{transform:translateY(-3px);filter:drop-shadow(0 0 9px #ffd39f99)}.map-zone{transition:transform .18s ease,stroke .18s ease,filter .18s ease}.map-zone.focused{filter:drop-shadow(0 0 8px #ffd29172)}.zone-radial-actions .radial-tool{filter:drop-shadow(0 2px 4px #0000007f)}.zone-radial-actions .radial-tool:hover{transform:translateY(-1px)}@keyframes subtleFloat{0%{transform:translateY(0)}50%{transform:translateY(-1px)}to{transform:translateY(0)}}@keyframes canopyDrift{0%{transform:translateY(0)}50%{transform:translateY(-1.2px)}to{transform:translateY(0)}}@keyframes mapSweep{0%{transform:translate(-26%);opacity:.05}40%{opacity:.18}to{transform:translate(30%);opacity:.05}}@keyframes stageSweep{0%{transform:translate(-26%);opacity:.2}50%{opacity:.34}to{transform:translate(30%);opacity:.18}}@media(max-width:920px){.game-topbar,.panel-dashboard{grid-template-columns:1fr}.volume-inline{width:100%}}
