.topbar.battle-topbar{flex-wrap:nowrap;gap:12px;height:52px;min-height:52px;overflow:visible}.battle-topbar .mission{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(360px,38vw);overflow:hidden}.battle-menu{pointer-events:auto}.battle-menu>summary,.tactics-menu>summary{cursor:pointer;list-style:none}.battle-menu>summary::-webkit-details-marker{display:none}.tactics-menu>summary::-webkit-details-marker{display:none}.battle-menu[open]>summary,.tactics-menu[open]>summary{border-color:var(--accent);color:var(--accent)}.desktop-battle-menu{flex:none;margin-left:auto;position:relative}.battle-menu-sheet{color:var(--text)}.desktop-menu-sheet{z-index:60;border:1px solid var(--edge);background:#090c10fa;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;width:min(540px,100vw - 24px);max-height:calc(100dvh - 70px);padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 14px 36px #0000006b}.battle-menu-title,.battle-menu-buttons,.battle-menu-setup,.battle-menu-help{grid-column:1/-1}.battle-menu-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.battle-menu-buttons,.battle-menu-setup{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.battle-menu-buttons .pause,.battle-menu-setup .pause,.desktop-menu-sheet>.feedback-link{width:100%;min-height:34px}.battle-menu-setup .setup-contract,.battle-menu-setup .setup-locked,.battle-menu-setup .setup-run-actions{grid-column:1/-1}.battle-menu-setup .setup-run-actions{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;display:grid;position:static}.desktop-menu-sheet>.feedback-link{place-items:center;display:grid}.battle-menu-help{color:var(--muted);border-top:1px solid #ffffff17;padding-top:8px;font-size:10px;line-height:1.4}.battle-menu-help strong{color:var(--text);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.battle-menu-help p{margin:5px 0 0}.tactics-menu{flex:none;position:relative}.tactics-toggle{min-height:100%}.tactics-menu[data-active=true]>.tactics-toggle:after{background:var(--warn);content:"";border-radius:50%;width:5px;height:5px}.tactics-drawer{z-index:45;border:1px solid var(--edge);background:#090c10fa;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:370px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 12px 32px #0000006b}.tactics-drawer .command{justify-content:flex-start;min-height:36px}.tactics-formation{grid-column:1/-1}.tactics-formation .formation-picker{width:100%}@media (width<=640px),(pointer:coarse) and (width<=1100px){.mobile-menu-sheet>.battle-menu-setup,.mobile-menu-sheet>.feedback-link,.mobile-menu-sheet>.battle-menu-help{grid-column:1/-1}.mobile-menu-sheet>.feedback-link{min-height:var(--tap-size)}.mobile-menu-sheet .battle-menu-setup{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-menu-sheet .battle-menu-help{padding:8px 2px 0}.mobile-tray .tactics-drawer{z-index:46;right:calc(8px + var(--safe-right));bottom:calc(var(--mobile-dock) + 16px + var(--safe-bottom));left:calc(8px + var(--safe-left));width:auto;max-height:calc(100dvh - var(--mobile-top) - var(--mobile-dock) - 28px);grid-template-columns:repeat(2,minmax(0,1fr));position:fixed;overflow-y:auto}.mobile-tray .tactics-drawer .command{min-width:0;min-height:var(--tap-size)}.mobile-tray .tactics-drawer .formation-picker{grid-row:auto;grid-template-columns:auto minmax(76px,1fr);width:100%;min-width:0}.mobile-tray .tactics-drawer .formation-picker-note{grid-column:1/-1}}.commander-view{z-index:6;pointer-events:auto;background:radial-gradient(circle at 50% 45%,#1f323757,#0000 48%),#040709f0;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:86px 302px 184px 270px;display:grid;position:absolute;inset:0;overflow:hidden}.commander-view[hidden]{display:none}.commander-map-header,.commander-map-footer{color:#d7e2eab8;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;align-items:center;gap:12px;min-width:0;font-size:10px;display:flex}.commander-map-header strong{color:var(--accent);letter-spacing:.16em;font-size:12px}.commander-map-header span:last-child,.commander-map-footer span:last-child{text-overflow:ellipsis;white-space:nowrap;margin-left:auto;overflow:hidden}.commander-map-frame{background:#0a1113;border:1px solid #8ce0ff57;border-radius:5px;min-width:0;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #000c,inset 0 0 48px #000000b8,0 18px 54px #00000057}.commander-map{cursor:default;touch-action:none;width:100%;height:100%;display:block}.commander-map.ordering{cursor:crosshair}.commander-map-border{fill:#0d1718;stroke:#8ce0ff66;vector-effect:non-scaling-stroke}.commander-grid-major{fill:url(#commander-grid);opacity:.58}.commander-zone{fill-opacity:.12;stroke-width:2px;vector-effect:non-scaling-stroke}.commander-zone.contested{stroke-dasharray:7 5;animation:2.4s linear infinite commander-dash}.commander-zone-label,.commander-chit-label,.commander-contact-label{paint-order:stroke;stroke:#05080af2;stroke-width:4px;stroke-linejoin:round;fill:#d7e2ead6;letter-spacing:.04em;pointer-events:none;vector-effect:non-scaling-stroke;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.commander-zone-label{fill:#d7e2ea94;text-anchor:middle;text-transform:uppercase}.commander-route{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;opacity:.84;pointer-events:none;vector-effect:non-scaling-stroke}.commander-route.queued{stroke-dasharray:5 7;opacity:.4}.commander-route-origin,.commander-route-end{fill:#0d1718;stroke-width:2px;pointer-events:none;vector-effect:non-scaling-stroke}.commander-chit-hit,.commander-contact-hit{fill:#0000;stroke:#0000;cursor:pointer;pointer-events:all}.commander-chit-body{fill:#0d1718;stroke-width:3px;vector-effect:non-scaling-stroke}.commander-chit.selected .commander-chit-body{fill:#8ce0ff2e;stroke-width:5px;filter:drop-shadow(0 0 5px #8ce0ffc2)}.commander-facing{fill:currentColor;opacity:.8;pointer-events:none}.commander-chit.optical .commander-chit-body{fill:#2a0d0ce0}.commander-chit-label{text-anchor:middle;transform:translateY(29px)}.commander-contact-body{fill:#0a0d10d1;stroke:#ffc15c;stroke-width:3px;vector-effect:non-scaling-stroke}.commander-contact.memory{opacity:.42}.commander-contact.current .commander-contact-body{animation:1.8s ease-out infinite commander-contact}.commander-contact-label{fill:#ffc15c;text-anchor:middle;transform:translateY(29px)}.commander-support-aim{fill:#ff8a6b14;stroke:var(--danger);stroke-width:2px;stroke-dasharray:7 5;pointer-events:none;vector-effect:non-scaling-stroke}.commander-toggle{background:var(--panel);min-height:32px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;border:1px solid #8ce0ff47;border-radius:4px;flex:none;padding:5px 10px;font-size:10px}.commander-toggle:hover,.commander-toggle.active{border-color:var(--accent);color:var(--accent)}.commander-mode .damage-readout,.commander-mode .incoming-fire-directions,.commander-mode .training-coach,.commander-mode .minimap{display:none}.commander-mode .objectives,.commander-mode .sidebar,.commander-mode .hostiles,.commander-mode .bottombar,.commander-mode .paused-banner{z-index:12}@keyframes commander-contact{0%{stroke-width:5px;stroke-opacity:1}to{stroke-width:2px;stroke-opacity:.5}}@keyframes commander-dash{to{stroke-dashoffset:-24px}}@media (prefers-reduced-motion:reduce){.commander-zone.contested,.commander-contact.current .commander-contact-body{animation:none}}@media (width>=641px) and (width<=1180px){.commander-view{padding-left:216px;padding-right:208px}}@media (width<=640px),(pointer:coarse) and (width<=1100px){.commander-view{z-index:28;padding:calc(var(--mobile-top) + 6px) calc(8px + var(--safe-right)) calc(var(--mobile-dock) + 18px + var(--safe-bottom)) calc(8px + var(--safe-left));gap:5px}.commander-map-header,.commander-map-footer{font-size:8px}.commander-map-header strong{font-size:10px}.commander-chit-label,.commander-contact-label,.commander-zone-label{display:none}.mobile-lance-row .commander-toggle{min-width:54px;min-height:58px;padding:4px 6px;font-size:9px}}.sensor-contact{color:var(--text);cursor:default;background:#121412eb;border-style:dashed;border-color:#ffbe52b8;grid-template-columns:auto minmax(0,1fr) auto}.sensor-contact-glyph{color:var(--warn);font-size:15px;line-height:1}.sensor-contact-note{color:var(--warn);letter-spacing:.04em;text-transform:uppercase;grid-column:1/-1;font-size:9px}@media (width<=760px){.mobile-tray .sensor-contact{width:230px;min-width:230px}}.machine-profile{border-top:1px solid #ffffff17;margin-top:10px;padding-top:9px}.machine-profile h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:10px}.machine-profile dl,.machine-profile ul{margin:0;padding:0}.machine-profile-role{gap:2px;margin:0 0 6px;font-size:10px;display:grid}.machine-profile-role span{color:var(--muted);line-height:1.35}.machine-profile dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.machine-profile dl div{background:#ffffff09;padding:5px}.machine-profile dt{color:var(--muted);text-transform:uppercase;font-size:9px}.machine-profile dd{margin:2px 0 0;font-size:10px}.machine-profile ul{margin-top:6px;list-style:none}.machine-profile li{border-top:1px solid #ffffff0f;grid-template-columns:minmax(70px,.35fr) 1fr;gap:7px;padding:4px 0;font-size:10px;display:grid}.machine-profile li span,.machine-profile-caveat,.machine-profile-standard{color:var(--muted)}.machine-profile-caveat,.machine-profile-standard{margin:6px 0 0;font-size:9px;line-height:1.35}.app .sidebar.tactical-unit-panel{border-radius:5px;padding:14px;box-shadow:0 9px 30px #061a2360}.tactical-unit-panel .selection-kicker{color:#acc4b5;font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;margin:0 0 7px}.app .tactical-unit-panel h2{margin-bottom:9px;font-size:25px}.app .tactical-unit-panel .pilot-hand{gap:7px;margin:7px 0 12px}.selection-readiness{color:#c8dfbe;text-transform:capitalize;background:#c5dab010;border:1px solid #a8c4a929;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:7px 9px;font-size:10px;display:flex}.selection-readiness.warn{color:#f0d092;background:#b1904422;border-color:#c8a35d88}.selection-readiness.danger{color:#fac4a9;background:#b9533f22;border-color:#cb806788}.selection-readiness strong{font:10px var(--font-mono);white-space:nowrap}.tactical-unit-panel .unit-system-label{color:#a9c2b1;font:9px var(--font-mono);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;margin:11px 0 7px;display:flex}.unit-system-label span{text-transform:none;letter-spacing:0;color:#839f95}.app .tactical-unit-panel .paper-doll{gap:3px;margin-bottom:10px}.app .tactical-unit-panel .doll-cell{padding:4px 2px}.app .tactical-unit-panel .target-line{border-bottom:1px solid #a4c4b324;flex-wrap:wrap;align-items:center;gap:6px;padding:9px 0;display:flex}.app .tactical-unit-panel .target-line strong{color:#f1dcba}.app .tactical-unit-panel .hit-factors{gap:4px;margin:5px 0}.app .tactical-unit-panel .weapon-group{margin-top:8px}.app .tactical-unit-panel .weapon-group li{padding:5px 0}.app .tactical-unit-panel .sidebar-details summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:34px;padding:8px 0;display:flex}.app .tactical-unit-panel .sidebar-details summary:after{content:"+";color:#a8bfae}.app .tactical-unit-panel .sidebar-details[open]>summary:after{content:"−"}.app .tactical-command-deck .camera-lance-row{align-items:stretch}.app .tactical-command-deck .command-support-row{background:#102d39f5;border:1px solid #67897b55;border-radius:5px;padding:8px;box-shadow:0 8px 22px #04171d40}.app .tactical-command-deck .lance-card{gap:4px;padding:8px 10px}.app .tactical-command-deck .lance-card.selected{border-color:#d2d8ad}@media (width>=1101px),(width>=901px) and (pointer:fine){.app .sidebar.tactical-unit-panel{scrollbar-width:thin;scrollbar-color:#557d6a transparent;overscroll-behavior:contain;max-height:calc(100dvh - 255px);overflow-y:auto}}@media (width<=640px),(width<=1100px) and (pointer:coarse){.app .tactical-unit-panel .sidebar-details summary,.app .tactical-unit-panel .doll-cell{min-height:44px}.tactical-unit-panel .unit-system-label{font-size:10px}}@media (forced-colors:active){.selection-readiness,.app .tactical-command-deck .command-support-row{color:canvastext;background:canvas;border-color:canvastext}.tactical-unit-panel :is(.selection-kicker,.unit-system-label,.unit-system-label span){color:canvastext}}.sensor-sweep-readout{z-index:29;color:var(--text);pointer-events:none;background:#071219e6;border:1px solid #78c9ffd1;border-radius:4px;align-items:baseline;gap:9px;padding:6px 10px;font-size:11px;display:flex;position:absolute;top:106px;left:50%;transform:translate(-50%);box-shadow:0 0 18px #78c9ff24}.sensor-sweep-readout strong{color:#a5dcff;letter-spacing:.04em}.sensor-sweep-kicker{color:var(--muted);letter-spacing:.16em;font-size:9px}@media (width<=640px),(pointer:coarse) and (width<=1100px){.sensor-sweep-readout{top:calc(var(--mobile-top) + 42px);max-width:calc(100vw - var(--safe-left) - var(--safe-right) - 24px);white-space:nowrap}}.salvage-coach{width:286px}.salvage-target-state{color:var(--muted);margin-top:2px;font-size:10px;display:block}.salvage-leg-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px;display:grid}.salvage-leg{border:1px solid var(--edge);color:var(--text);text-transform:uppercase;border-radius:3px;padding:5px 7px}.salvage-leg b{color:var(--accent)}.salvage-leg.lost{color:var(--danger);border-color:#ff67528c}.salvage-leg.unknown{color:var(--muted)}.salvage-coach-body>p{margin-bottom:10px}.salvage-drill-results{background:#8ce0ff09;border:1px solid #8ce0ff3d;border-radius:5px;margin:0 0 18px;padding:12px}.salvage-drill-results header>span,.salvage-drill-grade span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.salvage-drill-results h3{color:var(--accent);text-transform:uppercase;margin:3px 0 10px;font-size:14px}.salvage-drill-grade{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.salvage-drill-grade>div{border:1px solid var(--edge);border-radius:3px;min-width:0;padding:7px}.salvage-drill-grade strong{overflow-wrap:anywhere;margin-top:3px;font-size:11px;display:block}.salvage-drill-results>p{color:var(--muted);margin:10px 0 0;font-size:10px;line-height:1.45}@media (width<=640px),(pointer:coarse) and (width<=1100px){.salvage-coach.mobile-training{width:min(300px, calc(100vw - 16px - var(--safe-left) - var(--safe-right)))}.salvage-coach-body{padding:0 9px 9px}.salvage-coach-body>p{margin:8px 0 0}.salvage-leg{min-height:32px;padding:7px}.salvage-drill-grade{grid-template-columns:repeat(2,minmax(0,1fr))}.salvage-drill-results>p,.salvage-drill-grade strong{font-size:11px}}@media (width<=430px){.salvage-drill-grade{grid-template-columns:minmax(0,1fr)}}.battle-results-backdrop{z-index:60;background:#030608c2;place-items:center;padding:64px 20px 20px;display:grid;position:fixed;inset:0}.battle-results{border:1px solid var(--accent);width:min(820px,100%);max-height:100%;color:var(--text);background:#0b0f13f7;border-radius:7px;padding:22px;overflow-y:auto;box-shadow:0 16px 70px #00000094}.battle-results.defeat,.battle-results.timeout{border-color:var(--warn)}.battle-results-heading span,.battle-results-summary span,.battle-results-lance h3,.battle-results-labels{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.battle-results-heading h2{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:4px 0;font-size:30px}.battle-results.defeat .battle-results-heading h2,.battle-results.timeout .battle-results-heading h2{color:var(--warn)}.battle-results-heading p{color:var(--text);margin:0;font-size:12px}.battle-results-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0;display:grid}.battle-results-summary>div{border:1px solid var(--edge);background:#ffffff06;border-radius:4px;min-width:0;padding:10px}.battle-results-summary strong,.battle-results-summary small{margin-top:4px;display:block}.battle-results-summary strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:14px}.battle-results-summary small,.battle-results-row small,.battle-results-actions small{color:var(--muted);font-size:9px;line-height:1.4}.battle-results-lance h3{margin:0 0 7px}.battle-results-table{border-top:1px solid var(--edge)}.battle-results-row{font-variant-numeric:tabular-nums;border-bottom:1px solid #8ce0ff1a;grid-template-columns:minmax(130px,1.2fr) minmax(88px,.8fr) minmax(160px,1.2fr) minmax(120px,1fr);align-items:center;gap:12px;min-height:42px;font-size:11px;display:grid}.battle-results-row>span,.battle-results-row>strong{min-width:0}.battle-results-row small{display:block}.unit-result{color:var(--accent);text-transform:uppercase}.unit-result.lost,.unit-result.ejected{color:var(--danger)}.unit-result.withdrew{color:var(--warn)}.battle-results-actions{align-items:end;gap:8px;margin-top:18px;display:flex}.battle-result-code{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:8px;font-size:10px;display:block}.battle-result-code code{color:var(--accent);text-transform:lowercase;font-family:inherit}.battle-results-actions button,.battle-results-actions select{border:1px solid var(--accent);min-height:34px;color:var(--accent);font:inherit;background:#8ce0ff14;border-radius:4px;padding:6px 12px;font-size:11px}.battle-results-actions .secondary{border-color:var(--edge);background:var(--panel);color:var(--text)}.battle-results-actions label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;gap:3px;margin-left:auto;font-size:9px;display:grid}.battle-results-actions.campaign{flex-wrap:wrap}.battle-results-actions.campaign small{flex:1;min-width:220px}@media (width<=640px),(pointer:coarse) and (width<=1100px){.battle-results-backdrop{padding:calc(8px + env(safe-area-inset-top,0px)) 8px calc(8px + env(safe-area-inset-bottom,0px));align-items:start}.battle-results{padding:14px}.battle-results-heading h2{font-size:23px}.battle-results-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px 0}.battle-results-labels{display:none}.battle-results-row{grid-template-columns:1fr 1fr;gap:5px 12px;padding:7px 0}.battle-results-actions{flex-wrap:wrap}.battle-results-actions label{order:3;width:100%;margin-left:0}.battle-results-actions select{width:100%}.battle-results-actions>button{flex:132px}.battle-results-actions .secondary{order:4}}.briefing-setup-grid .battle-code-field{grid-column:1/-1}.battle-code-field input{border:1px solid var(--edge);width:100%;min-width:0;color:var(--text);font:inherit;letter-spacing:.05em;text-transform:lowercase;background:#ffffff0d;border-radius:4px;padding:6px 8px;font-size:11px}.battle-code-field input:focus{border-color:var(--accent);outline:1px solid #8ce0ff47}.battle-code-field input[aria-invalid=true]{border-color:var(--danger)}.battle-code-field .setup-invalid{color:var(--danger)}@media (width<=640px),(pointer:coarse) and (width<=1100px){.battle-code-field input{min-height:44px;font-size:16px}}.playtest-backdrop{z-index:120;pointer-events:auto;background:#04070ad6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.playtest-dialog{border:1px solid var(--edge);width:min(720px,100%);max-height:min(860px,100dvh - 48px);color:var(--text);background:#0d1115fa;border-radius:7px;padding:20px;overflow-y:auto;box-shadow:0 18px 70px #0000008f}.playtest-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.playtest-dialog h2{color:var(--accent);margin:3px 0 0;font-size:22px}.playtest-dialog button,.playtest-dialog textarea{font:inherit}.playtest-dialog button{border:1px solid var(--edge);min-height:38px;color:var(--text);background:#11191ffa;border-radius:4px;padding:7px 12px}.playtest-dialog button:hover,.playtest-dialog button:focus-visible{border-color:var(--accent)}.playtest-dialog button.secondary{color:var(--muted)}.playtest-dialog button.danger{color:var(--danger);border-color:#ff8a6ba8}.playtest-consent{width:min(560px,100%)}.playtest-kicker,.playtest-note-preview>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.playtest-privacy{border-left:2px solid var(--accent);color:var(--muted);background:#8ce0ff0f;margin:16px 0;padding:10px 12px;font-size:12px;line-height:1.5}.playtest-warning{color:var(--warn);border:1px solid #ffc06166;padding:9px 11px;font-size:12px}.playtest-rating,.playtest-choices,.playtest-confusion{border:1px solid var(--edge);flex-wrap:wrap;gap:7px;margin:15px 0;padding:12px;display:flex}.playtest-rating legend,.playtest-choices legend,.playtest-confusion legend{color:var(--text);padding:0 5px;font-size:12px}.playtest-rating label,.playtest-choices label,.playtest-confusion label{border:1px solid #8ce0ff1c;border-radius:3px;align-items:center;gap:6px;min-height:34px;padding:5px 8px;font-size:12px;display:inline-flex}:is(.playtest-rating label:has(input:checked),.playtest-choices label:has(input:checked),.playtest-confusion label:has(input:checked)){border-color:var(--accent);background:#8ce0ff14}.playtest-scale-label{color:var(--muted);align-self:center;font-size:10px}.playtest-note,.playtest-copy-fallback{gap:6px;margin-top:14px;font-size:12px;display:grid}.playtest-note textarea,.playtest-copy-fallback textarea{resize:vertical;border:1px solid var(--edge);width:100%;color:var(--text);-webkit-user-select:text;user-select:text;background:#05080be6;border-radius:4px;padding:9px}.playtest-note-preview{background:#ffffff06;margin-top:8px;padding:8px 10px}.playtest-note-preview p{color:var(--muted);margin:4px 0 0;font-size:11px}.playtest-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.playtest-status{color:var(--accent);margin:12px 0 0;font-size:12px}@media (width<=640px),(pointer:coarse) and (width<=1100px){.playtest-backdrop{padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));align-items:stretch}.playtest-dialog{max-height:100%;padding:15px}.playtest-dialog button,.playtest-rating label,.playtest-choices label,.playtest-confusion label{min-height:44px}.playtest-rating,.playtest-choices,.playtest-confusion{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.playtest-rating legend,.playtest-choices legend,.playtest-confusion legend{grid-column:1/-1}.playtest-scale-label{display:none}.playtest-actions{grid-template-columns:1fr;display:grid}}.audio-settings{color:var(--exp-ink,#193744);display:inline-flex}.audio-settings__trigger{white-space:nowrap;color:var(--exp-ink,#193744);background:var(--exp-paper,#f3f0e7);border:1px solid var(--exp-line,#c6cec1);cursor:pointer;border-radius:8px;padding:8px 12px}.audio-settings--compact .audio-settings__trigger{padding:7px 11px;font-size:12px}.audio-settings__panel{box-sizing:border-box;border:1px solid var(--exp-line,#c6cec1);background:var(--exp-paper-raised,#fdfbf4);width:min(344px,100vw - 24px);max-height:calc(100dvh - 100px);color:var(--exp-ink,#193744);font:14px/1.4 var(--font-body,sans-serif);border-radius:16px;margin:0;padding:20px;position:fixed;inset:76px 20px auto auto;overflow:auto;box-shadow:0 18px 60px #112c3940}.audio-settings__panel::backdrop{background:0 0}.audio-settings__heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.audio-settings__heading h2{font:600 21px/1.1 var(--font-display,sans-serif);margin:0}.audio-settings .audio-settings__panel button{border:1px solid var(--exp-line,#c6cec1);background:var(--exp-paper,#f3f0e7);min-height:36px;color:var(--exp-ink,#193744);font:inherit;cursor:pointer;border-radius:8px;padding:7px 11px}.audio-settings__mute{align-items:center;gap:10px;min-height:40px;margin-bottom:12px;display:flex}.audio-settings__mute input{width:18px;height:18px;accent-color:var(--exp-teal,#32766d)}.audio-settings__volume{gap:3px;margin:12px 0;display:grid}.audio-settings__volume>span{justify-content:space-between;align-items:center;gap:12px;font-weight:650;display:flex}.audio-settings__volume output{font:12px/1 var(--font-mono,monospace)}.audio-settings .audio-settings__panel .audio-settings__volume small,.audio-settings .audio-settings__panel .audio-settings__help{color:var(--exp-muted,#52665e);font:12px/1.4 var(--font-body,sans-serif);letter-spacing:normal}.audio-settings__volume input{width:100%;height:28px;accent-color:var(--exp-teal,#32766d);cursor:pointer;margin:0}.audio-settings__range{justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.audio-settings__range select{min-height:36px;color:var(--exp-ink,#193744);background:var(--exp-paper,#f3f0e7);border:1px solid var(--exp-line,#c6cec1);font:inherit;border-radius:7px;padding:6px 10px}.audio-settings .audio-settings__panel .audio-settings__help{margin:8px 0 18px}.audio-settings :focus-visible{outline:3px solid var(--exp-teal,#32766d);outline-offset:3px}@media (width<=640px){.audio-settings__panel{max-height:calc(100dvh - 80px);padding:16px;inset:64px 12px auto auto}}.training-briefing-note{border-left:2px solid var(--accent);color:var(--muted);background:#47beb414;margin:12px 0 0;padding:10px 12px;line-height:1.45}.briefing-actions.training-actions{justify-content:flex-end;gap:8px}.briefing-actions.training-actions .secondary{border-color:var(--edge);color:var(--muted)}.training-bottombar{right:12px}.training-topbar .mission{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.training-heat{border:1px solid var(--warn);background:#090c10f0;border-radius:5px;width:min(360px,100%);padding:9px 11px}.training-heat>span,.training-heat>strong,.training-heat>small{display:block}.training-heat>span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.training-heat>strong{color:var(--text);margin-top:3px;font-size:12px}.training-heat-track{background:#ffffff1f;border-radius:3px;height:6px;margin:7px 0 5px;overflow:hidden}.training-heat-track i{background:var(--warn);height:100%;display:block}.training-heat>small{color:var(--muted);line-height:1.35}@media (width<=760px),(pointer:coarse){.mobile-topbar.training-topbar{grid-template-columns:minmax(0,1fr) auto auto auto}.mobile-dock.training-progressive{grid-template-rows:58px 44px minmax(0,1fr)}.mobile-dock.training-select{grid-template-rows:58px;height:58px}.mobile-dock-tabs.training-tabs-1{grid-template-columns:1fr}.mobile-dock-tabs.training-tabs-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-dock-tabs.training-tabs-3{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-tray .training-heat{box-sizing:border-box;border:0;width:auto;height:100%}}.pilot-portrait{border-radius:8px;flex:none;width:88px;height:107px;display:block}.pilot-portrait.is-compact{width:42px;height:51px}.pilot-person{grid-template-columns:88px minmax(0,1fr);align-items:start;gap:14px;display:grid}.progression-roster .pilot-card{grid-template-columns:minmax(0,1fr);min-width:0}.pilot-person,.pilot-person>div,.pilot-seat{min-width:0}.pilot-seat select{flex:1;min-width:0}.pilot-person h4,.pilot-person p{margin:0 0 6px}.pilot-person .pilot-name{white-space:normal;font-size:15px}.pilot-bio{color:var(--muted);font-size:12px;line-height:1.55}.pilot-assessment{gap:4px;margin:8px 0;font-size:11px;line-height:1.4;display:grid}.pilot-assessment p{color:var(--muted);margin:0}.pilot-assessment strong{color:var(--text);font-weight:600}.pilot-assessment .pilot-strength strong{color:var(--accent)}.pilot-memorial{border-top:1px solid var(--edge);margin-top:18px;padding-top:12px}.pilot-memorial summary{color:var(--muted);cursor:pointer}.pilot-memorial li{align-items:center;gap:10px;padding:8px 0;display:flex}.pilot-memorial svg{filter:grayscale();opacity:.65}.pilot-last-mission{color:var(--accent);margin:6px 0;font-size:11px}.progression-roster .camp-hires li{grid-template-columns:1fr auto;grid-template-areas:none;gap:8px;padding:14px 0;display:grid}.progression-roster .camp-hires .pilot-person{grid-column:1/-1}.progression-roster .camp-hires .pilot-state{grid-area:auto}.progression-roster .camp-hires>li>button{grid-area:auto;min-height:40px}.manifest-pilot>.pilot-portrait{float:left;margin:0 9px 7px 0}.manifest-pilot .pilot-assessment{clear:both}@media (width<=520px){.pilot-seat{grid-template-columns:minmax(0,1fr);display:grid}.pilot-seat select{width:100%}.pilot-person{grid-template-columns:66px minmax(0,1fr);gap:10px}.pilot-person>.pilot-portrait{width:66px;height:80px}.pilot-bio{font-size:11px}}.progression-roster{min-height:520px;max-height:520px}.progression-bay{min-height:320px}.roster-ledger{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.roster-ledger strong{color:var(--warn);font-variant-numeric:tabular-nums;font-size:11px}.ledger-note,.pilot-milestone,.pilot-picks p{color:var(--muted);margin:3px 0 7px;font-size:10px;line-height:1.35}.progression-roster .pilot-card{grid-template-columns:1fr;grid-template-areas:none;align-items:stretch;gap:5px;padding:8px 0;display:grid}.pilot-card>header{justify-content:space-between;gap:8px;display:flex}.pilot-card .pilot-state{flex:none}.pilot-card .pilot-traits{gap:2px;display:grid}.pilot-trait{color:var(--muted);letter-spacing:0;text-transform:none;justify-content:space-between;gap:8px;font-size:9px;display:flex}.pilot-trait strong{color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.pilot-seat{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:8px;font-size:9px;display:flex}.pilot-training,.pilot-picks{gap:3px;display:grid}.pilot-training button,.pilot-picks button{text-align:left;grid-template-columns:1fr auto;gap:1px 8px;display:grid}.pilot-training button span,.pilot-picks button strong{text-transform:capitalize}.pilot-training button small,.pilot-picks button small{color:var(--muted);grid-column:1/-1;font-size:9px;font-weight:400}.pilot-training button b{color:var(--accent);font-variant-numeric:tabular-nums;font-size:10px;font-weight:500}.pilot-picks{border:1px solid var(--warn);border-radius:4px;padding:5px}.pilot-picks p{color:var(--warn);margin:0 0 2px}.progression-roster .camp-hires .pilot-trait{margin-top:2px}.roster-ledger .train-ready{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;vertical-align:2px;border:1px solid #8ce0ff66;border-radius:2px;margin-left:8px;padding:1px 6px;font-size:10px}.manifest.exp-prep{--prep-gutter:22px;width:min(1140px,100%);padding:var(--prep-gutter);color:var(--exp-ink,#193744);background:var(--exp-paper,#f3f0e7);border:2px solid var(--exp-ink,#193744);font-family:var(--font-body,sans-serif);border-radius:6px;box-shadow:7px 7px #112c394d}.manifest.exp-prep>header h3{font-family:var(--font-display,sans-serif);margin:12px 0 5px;font-size:27px}.manifest.exp-prep>header>p{color:var(--exp-muted,#52665e);font-size:13px;line-height:1.5}.exp-prep-steps{border-bottom:1px solid var(--exp-line,#c6cec1);flex-wrap:wrap;gap:10px 22px;margin:0;padding:0 0 12px;list-style:none;display:flex}.exp-prep-steps li{color:var(--exp-muted,#52665e);align-items:center;gap:7px;font-size:11px;font-weight:600;display:flex}.exp-prep-steps li>span{font-family:var(--font-mono,monospace)}.exp-prep-steps [aria-current]{color:var(--exp-ink,#193744)}.exp-prep-steps [aria-current]>span{background:var(--exp-orange,#d97753);color:#112c39;border-radius:3px;padding:4px 6px}.exp-prep-contract{border:1px solid var(--exp-line,#c6cec1);border-radius:4px;margin:12px 0}.exp-prep-contract>summary{cursor:pointer;padding:10px 12px;font-size:12px;font-weight:700}.exp-prep-contract>.contract-facts,.exp-prep-contract>.manifest-brief{margin:0 12px 12px}.exp-prep .contract-facts{color:var(--exp-ink,#193744)}.exp-prep .contract-facts dt{color:var(--exp-muted,#52665e)}.exp-prep-summary,.exp-prep .manifest-profile{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:14px 0;display:grid}.exp-prep-summary>div,.exp-prep .manifest-profile>div{gap:4px;min-width:0;padding:0;display:grid}.exp-prep-summary dt,.exp-prep .manifest-profile dt{color:var(--exp-muted,#52665e);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.exp-prep-summary dd,.exp-prep .manifest-profile dd{color:var(--exp-ink,#193744);margin:0;font-size:20px;font-weight:700}.exp-prep .manifest-list{gap:10px}.exp-prep .manifest-row{background:var(--exp-paper-raised,#fdfbf4);border:1px solid var(--exp-line,#c6cec1);border-left:5px solid var(--exp-line,#c6cec1);border-radius:4px;grid-template-columns:minmax(140px,.7fr) minmax(180px,.85fr) minmax(280px,1.4fr);gap:18px;padding:14px 16px}.exp-prep.hangar .manifest-row{grid-template-columns:minmax(260px,1fr) minmax(310px,1.15fr)}.exp-prep .manifest-row>*{min-width:0}.exp-prep .manifest-row.drops{border-left-color:var(--exp-teal,#32766d);background:#edf2e8}.exp-prep .manifest-row.unfit{opacity:1}.exp-prep .manifest-row.reserve{border-left-style:dashed}.exp-prep .manifest-pilot{gap:5px;display:grid}.exp-prep .pilot-name{color:var(--exp-ink,#193744);font-size:15px;font-weight:700}.exp-prep .pilot-traits,.exp-prep .manifest-status,.exp-prep .faction-economy{color:var(--exp-muted,#52665e);font-size:11px;line-height:1.45}.exp-prep .faction-economy{margin-top:6px;display:block}.exp-prep .manifest-mech{gap:9px}.exp-machine-identity{align-items:center;gap:14px;min-width:0;display:flex}.exp-machine-portrait{background:#efd9c5;border:1px solid #cbbfae;border-radius:3px;flex:0 0 82px;width:82px;height:106px;padding:6px;overflow:hidden}.exp-machine-identity[data-faction=aurelian] .exp-machine-portrait{background:#dae2df;border-color:#9daeb1}.exp-prep .exp-machine-portrait .chassis-silhouette{width:100%;height:100%;min-height:0;max-height:none;margin:0}.exp-machine-portrait .sil-edge{stroke:var(--exp-ink,#193744)}.exp-machine-copy{gap:4px;min-width:0;display:grid}.exp-machine-copy>strong{font-family:var(--font-display,sans-serif);color:var(--exp-ink,#193744);overflow-wrap:anywhere;font-size:19px;line-height:1.15}.exp-machine-copy>span:last-child{color:var(--exp-muted,#52665e);font-size:11px;line-height:1.4}.exp-machine-culture{color:#8d4129;text-transform:uppercase;letter-spacing:.045em;font-size:9px;font-weight:700}[data-faction=aurelian] .exp-machine-culture{color:var(--exp-navy,#112c39)}.exp-readiness{width:fit-content;color:var(--exp-ink,#193744);background:#e6e7df;border-radius:3px;justify-self:start;align-items:center;padding:4px 7px;font-size:10px;font-weight:700;display:inline-flex}.exp-readiness.is-ready{color:#205a50;background:#dce9da}.exp-readiness.needs-attention{color:#864329;background:#f1dfc7}.exp-readiness.is-dropping{color:var(--exp-paper-raised,#fdfbf4);background:var(--exp-teal,#32766d)}.exp-readiness.is-reserve{color:var(--exp-muted,#52665e);border:1px dashed var(--exp-line,#c6cec1);background:0 0}.exp-repair-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0 6px;display:grid}.exp-repair-facts>div{min-width:0}.exp-repair-facts dt{color:var(--exp-muted,#52665e);margin-bottom:3px;font-size:10px}.exp-repair-facts dd{overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:700}.exp-repair-facts dd.is-late,.exp-prep-warning{color:#9d442b}.exp-repair-wages,.exp-prep-warning,.exp-auto-assignment{color:var(--exp-muted,#52665e);margin:7px 0 0;font-size:11px;line-height:1.45}.exp-prep-warning{color:#9d442b;font-weight:600}.exp-prep .manifest-health{background:#dbe0d6;height:6px}.exp-prep .manifest-health>span{background:var(--exp-teal,#32766d)}.exp-prep .manifest-buttons{gap:8px;display:flex}.exp-prep button,.exp-prep select{background:var(--exp-paper-raised,#fdfbf4);min-height:40px;color:var(--exp-ink,#193744);font:inherit;border:1px solid #9aaba1;border-radius:3px;font-size:12px}.exp-prep button{cursor:pointer;padding:8px 13px}.exp-prep button:hover:not(:disabled){border-color:var(--exp-ink,#193744);background:#e1e8dc}.exp-prep button:disabled{cursor:not-allowed;opacity:.55}.exp-prep select{text-overflow:ellipsis;width:100%;min-width:0;padding:8px}.exp-prep :is(button,select,summary):focus-visible{outline:3px solid var(--exp-orange,#d97753);outline-offset:3px}.exp-prep .pilot-stats{width:100%;color:var(--exp-ink,#193744)}.exp-prep .pilot-stats .stat-label,.exp-prep .pilot-stats .stat-score{color:var(--exp-ink,#193744)}.exp-prep .pilot-stats .stat-bar{background:#d9e0d5}.exp-prep .pilot-stats .stat-bar>span{background:var(--exp-teal,#32766d)}.exp-actual-drop{color:var(--exp-paper-raised,#fdfbf4);background:var(--exp-navy,#112c39);border-radius:4px;margin:0 0 16px;padding:14px 16px}.exp-drop-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:7px;display:flex}.exp-drop-heading>strong{font-size:15px}.exp-drop-heading>span{color:#d0d9cf;font-size:11px}.exp-drop-weight{background:#506064;border-radius:2px;height:5px;margin:12px 0;overflow:hidden}.exp-drop-weight>span{background:var(--exp-orange,#d97753);height:100%;display:block}.exp-actual-drop>ol{flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;list-style:none;display:flex}.exp-actual-drop li{align-items:center;gap:8px;display:flex}.exp-actual-drop li>span{color:#b9c9bd;font-family:var(--font-mono,monospace);font-size:10px}.exp-actual-drop li>div{gap:2px;display:grid}.exp-actual-drop li strong{font-size:12px}.exp-actual-drop li small,.exp-actual-drop>p{color:#d0d9cf;font-size:10px}.exp-prep>.manifest-actions{bottom:calc(-1 * var(--prep-gutter));z-index:2;margin:18px calc(-1 * var(--prep-gutter)) calc(-1 * var(--prep-gutter));padding:14px var(--prep-gutter);border-top:1px solid var(--exp-line,#c6cec1);background:var(--exp-paper,#f3f0e7);position:sticky}.exp-prep>.manifest-actions>button:first-child{border-color:var(--exp-ink,#193744);background:var(--exp-ink,#193744);color:var(--exp-paper-raised,#fdfbf4);font-weight:700}.exp-prep>.manifest-actions>button:first-child:hover:not(:disabled){background:#2d5260}@media (width<=800px),(pointer:coarse) and (width<=1100px){.manifest.exp-prep{--prep-gutter:14px}.exp-prep .manifest-row,.exp-prep.hangar .manifest-row{grid-template-columns:minmax(0,1fr);gap:12px;padding:13px}.exp-prep .pilot-stats{max-width:340px}.exp-prep button,.exp-prep select{min-height:44px}.exp-prep .manifest-actions{flex-wrap:wrap}.exp-prep .manifest-actions>button{flex:160px}.exp-prep-steps{gap:8px 12px}}@media (width<=420px){.manifest.exp-prep>header h3{font-size:23px}.exp-prep-steps li{font-size:10px}.exp-prep-summary,.exp-prep .manifest-profile{gap:8px}.exp-prep-summary dd,.exp-prep .manifest-profile dd{font-size:17px}.exp-repair-facts{gap:8px}.exp-repair-facts dd{font-size:13px}}.camp .company-workshop .company-workshop-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 24px;margin-bottom:12px;display:flex}.camp .company-workshop-heading>div>p{color:var(--exp-orange-ink);letter-spacing:.1em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:700}.camp .company-workshop .company-workshop-heading h3{margin:0}.camp .company-workshop-ledger{flex-wrap:wrap;gap:12px 28px;margin:0;display:flex}.camp .company-workshop-ledger dt{color:var(--exp-muted);margin-bottom:3px;font-size:10px}.camp .company-workshop-ledger dd{color:var(--exp-ink);font:600 15px var(--font-mono);margin:0}.camp .company-workshop>.ledger-note{margin:0 0 18px;line-height:1.6}.company-inspection-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.camp .company-workshop .company-workshop-machines{gap:12px;display:grid}.camp .company-workshop .company-workshop-machine{border:1px solid var(--exp-line);background:#f6f5ec;border-radius:5px;grid-template-columns:minmax(250px,1fr) minmax(280px,1.2fr) minmax(86px,auto);align-items:center;gap:20px;padding:16px;display:grid}.camp .company-workshop-identity{gap:9px;min-width:0;display:grid}.camp .company-workshop .exp-machine-identity{gap:12px}.camp .company-workshop .exp-machine-portrait{flex-basis:62px;width:62px;height:78px}.camp .company-workshop .exp-machine-portrait .chassis-silhouette{width:100%;height:100%;min-height:0;max-height:none;margin:0;display:block}.camp .company-workshop .exp-machine-copy>strong{font-size:23px}.camp .company-workshop .faction-economy{color:var(--exp-muted);font-size:10px;line-height:1.45}.camp .company-workshop-integrity{color:var(--exp-muted);grid-template-columns:1fr auto;gap:5px 10px;font-size:10px;display:grid}.camp .company-workshop-integrity>strong{color:var(--exp-ink);font:11px var(--font-mono)}.camp .company-workshop-integrity>div{background:#d9dfd2;border-radius:2px;grid-column:1/-1;height:5px;overflow:hidden}.camp .company-workshop-integrity>div>span{background:var(--exp-teal);height:100%;display:block}.camp .company-workshop-condition{min-width:0;color:var(--exp-ink);display:block}.camp .company-workshop .exp-repair-readout{min-width:0}.camp .company-workshop .exp-repair-facts{margin-top:12px}.camp .company-workshop .exp-repair-facts dd{color:var(--exp-ink);font:600 13px var(--font-mono)}.camp .company-workshop .exp-repair-facts dd.is-late{color:var(--exp-negative)}.camp .company-workshop .exp-repair-wages{font-size:11px;line-height:1.55}.camp .company-workshop .company-workshop-shortfall{color:var(--exp-negative);margin:8px 0 0;font-size:11px;font-weight:600}.camp .company-workshop-actions{flex-direction:column;align-items:stretch;gap:8px;display:flex}.camp .company-workshop .company-workshop-actions button{min-height:40px;color:var(--exp-ink);font:600 12px var(--font-body);white-space:nowrap;cursor:pointer;background:#e5eddf;border:1px solid #9bb1a0;border-radius:4px;padding:9px 14px}.camp .company-workshop .company-workshop-actions button:hover:not(:disabled){border-color:var(--exp-teal);background:#d7e5d1}.camp .company-workshop .company-workshop-actions button:disabled{opacity:.5;cursor:not-allowed}.camp .company-workshop .company-workshop-actions button:focus-visible{outline:2px solid var(--exp-teal);outline-offset:3px}@media (width<=1000px){.camp .company-workshop .company-workshop-machine{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.camp .company-workshop-actions{border-top:1px solid var(--exp-line);flex-direction:row;grid-column:1/-1;justify-content:flex-end;padding-top:10px}}@media (width<=620px),(width<=1100px) and (pointer:coarse){.camp .company-workshop .company-workshop-machine{grid-template-columns:minmax(0,1fr);padding:14px}.camp .company-workshop .company-workshop-actions button{flex:1;min-height:44px}.camp .company-workshop-ledger{gap:10px 18px}.camp .company-workshop-ledger dd{font-size:13px}}@media (forced-colors:active){.camp .company-workshop .company-workshop-machine{background:canvas;border-color:canvastext}.camp .company-workshop .company-workshop-actions button{border-color:buttontext}.camp .company-workshop-integrity>div{border:1px solid canvastext}.camp .company-workshop-integrity>div>span{background:highlight}}.company-workshop-floor{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:start;gap:20px;display:grid}.selected-machine-showcase{color:#f3f0e7;background:#193b42;border:1px solid #436465;border-radius:6px;grid-area:1/2;min-width:0;position:sticky;top:16px;overflow:hidden}.selected-machine-showcase header{z-index:1;padding:24px 26px 0;position:relative}.selected-machine-showcase header p{color:#bdd0bc;font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;margin:0 0 8px}.camp .selected-machine-showcase header h3{color:#f3f0e7;font:600 44px/.95 var(--font-display);margin:0 0 9px}.selected-machine-showcase header>span{color:#c6d7c7;font-size:12px}.selected-machine-stage{isolation:isolate;background:radial-gradient(at 50% 42%,#52746755,#0000 66%);height:clamp(320px,40vw,485px);position:relative}.selected-machine-stage:before{content:"";z-index:-1;background:linear-gradient(90deg,#0000 49.9%,#bad4c416 50%,#0000 50.1%),linear-gradient(#0000 49.9%,#bad4c416 50%,#0000 50.1%);border:1px solid #b7cfb713;position:absolute;inset:12% 5%}.selected-machine-stage .mech-preview{width:100%;height:100%;min-height:0;position:relative}.selected-machine-stage>.chassis-silhouette{width:100%;height:100%;max-height:none;padding:35px}.showcase-stage-caption{color:#bdd0bd;font:9px/1.5 var(--font-mono);position:absolute;bottom:14px;left:20px;right:65px}.showcase-scale{color:#b7cbb8;font:26px var(--font-display);position:absolute;bottom:12px;right:20px}.showcase-loadout{background:#122e3580;border-top:1px solid #6e8d7740;padding:20px 26px}.camp .showcase-loadout h4{color:#c9d5c0;font:11px var(--font-mono);text-transform:uppercase;letter-spacing:.09em;margin:0 0 12px}.camp .showcase-loadout ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.camp .showcase-loadout li{color:#f3f0e7;background:0 0;border:0;border-bottom:1px solid #a0b6a321;justify-content:space-between;align-items:center;gap:20px;padding:7px 0;font-size:12px;display:flex}.showcase-loadout li strong{color:#d69469;font:12px var(--font-mono)}.showcase-loadout p{color:#d1decd;font-size:12px}.showcase-loadout .showcase-note{color:#aabfac;margin:17px 0 0;font-size:10px;line-height:1.6}.camp .company-workshop-floor>.company-workshop-machines{grid-area:1/1;min-width:0;margin:0}.camp .company-workshop-floor .company-workshop-machine{grid-template-columns:minmax(0,1fr);gap:13px;padding:18px}.camp .company-workshop-floor .company-workshop-machine[data-selected=true]{border-color:var(--exp-teal);box-shadow:inset 3px 0 var(--exp-teal);background:#edf1e5}.camp .company-workshop-floor .company-workshop-identity{grid-template-columns:minmax(0,1fr)}.camp .company-workshop-floor .company-workshop-actions{border-top:1px solid var(--exp-line);flex-flow:wrap;grid-column:auto;justify-content:flex-end;gap:8px;padding-top:12px}.camp .company-workshop-floor .company-workshop-actions button:first-child{background:0 0;margin-right:auto}.camp .company-workshop-floor .company-workshop-actions button[aria-pressed=true]{border-color:var(--exp-teal);color:var(--exp-teal)}@media (width<=900px){.company-workshop-floor{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.selected-machine-showcase header{padding:20px 18px 0}.camp .selected-machine-showcase header h3{font-size:36px}.showcase-loadout{padding:18px}}@media (width<=640px),(width<=1100px) and (pointer:coarse){.company-workshop-floor{grid-template-columns:minmax(0,1fr)}.selected-machine-showcase{grid-area:1/1;position:relative;top:auto}.camp .company-workshop-floor>.company-workshop-machines{grid-row:2}.selected-machine-stage{height:320px}.camp .company-workshop-floor .company-workshop-actions button{min-height:44px}}@media (forced-colors:active){.selected-machine-showcase,.showcase-loadout{color:canvastext;background:canvas;border-color:canvastext}.selected-machine-showcase :is(p,h3,h4,span,li,strong){color:canvastext!important}.camp .company-workshop-floor .company-workshop-machine[data-selected=true]{outline:2px solid highlight}}.camp.camp-workspace{--text:var(--exp-ink);--muted:var(--exp-muted);--accent:var(--exp-teal);--edge:var(--exp-line);--warn:#916022;--danger:var(--exp-negative);--ok:var(--exp-positive);--panel:var(--exp-paper-raised);background:var(--exp-paper);height:100%;color:var(--exp-ink);font:12px/1.55 var(--font-body);padding:0;display:block;overflow:auto}.company-workspace{max-width:1600px;margin:auto;padding:0 24px 20px}.company-overview{border-bottom:1px solid var(--exp-line);align-items:center;gap:40px;min-height:66px;display:flex}.company-overview>span{color:var(--exp-muted);display:block}.company-overview strong{font:600 28px/1 var(--font-display);color:var(--exp-ink);margin-right:6px}.company-overview small{font-size:10px;display:block}.company-overview .company-contract-state{color:var(--exp-ink);margin-left:auto;font-weight:600}.company-contract-state i{background:var(--exp-teal);border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}.company-contract-state small{color:var(--exp-muted);margin-top:3px;font-weight:400}.company-navigation{gap:4px;margin:16px 0 22px;display:flex}.company-navigation button{text-align:left;border:1px solid #0000;border-bottom:2px solid var(--exp-line);min-height:65px;color:var(--exp-ink);background:0 0;border-radius:4px 4px 0 0;flex:1;grid-template-columns:24px auto;gap:0 10px;padding:10px 14px;display:grid}.company-navigation button>span{font:11px var(--font-mono);color:var(--exp-muted);grid-row:1/3;padding-top:5px}.company-navigation strong{font:600 21px var(--font-display)}.company-navigation small{color:var(--exp-muted);font-size:10px}.company-navigation button[aria-current]{background:var(--exp-paper-raised);border-color:var(--exp-line);border-bottom-color:var(--exp-orange)}.company-navigation button:hover{background:#e5e8dc}.company-area[hidden]{display:none!important}.company-area{margin-top:20px}.company-operations{grid-template-columns:minmax(0,1fr) 355px;align-items:start;gap:18px;display:grid}.camp-workspace .camp-map{min-height:max(550px, var(--camp-map-min-height,550px));background:#e1e5d1;border:1px solid #bdc8b3;border-radius:6px;grid-area:1/1;width:100%;height:min(67vh,740px);padding:0;display:block}.camp-workspace .camp-terrain{display:block}.camp-workspace .camp-legend{color:#435e52;background:#f6f2e5e8;border:1px solid #c9cdbb;margin:0;padding:8px 12px;font-size:10px;position:absolute}.camp-workspace .camp-node{width:var(--camp-node-width,144px);min-height:var(--camp-node-height,56px);white-space:normal;color:var(--exp-ink);background:#f7f4e9f5;border:1px solid #a4b4a6;border-radius:4px;gap:7px;padding:8px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 8px #19374412}.camp-workspace .camp-node .node-name{font-size:11px;font-weight:700;line-height:1.2}.camp-workspace .camp-node .node-meta{color:#53665d;letter-spacing:.01em;margin-top:3px;font-size:8px;line-height:1.3}.camp-workspace .camp-node .node-state{font:8px/1.5 var(--font-mono);opacity:1;letter-spacing:.01em;display:block}.camp-workspace .camp-node .node-glyph{color:var(--exp-teal);box-shadow:none;border-color:#b2c5b7}.camp-workspace .camp-node.selected{background:var(--exp-navy);border-color:var(--exp-navy);color:#faf6e8;box-shadow:0 0 0 2px #d97753,0 8px 18px #17303b30}.camp-workspace .camp-node.selected :is(.node-meta,.node-state,.node-glyph){color:#d0e0ca}.camp-workspace .camp-node.available{border-color:var(--exp-teal)}.camp-workspace .camp-node:disabled{opacity:1}.camp-workspace .camp-node.locked{color:#53665d;background:#e9eddfed;border-color:#bfc9b6}.camp-workspace .camp-node.locked .node-meta{display:none}.camp-workspace .camp-node.complete{background:#e4eed9;border-color:#608d69}.camp-workspace .camp-node.failed{color:#963f2c;border-color:#a8513c}.camp-workspace :is(.camp-contract,.camp-bay,.camp-roster,.camp-store,.camp-market,.camp-hall){border:1px solid var(--exp-line);background:var(--exp-paper-raised);color:var(--exp-ink);border-radius:5px;padding:20px;font-size:12px}.camp-workspace :is(.camp-contract,.camp-contract.negotiating){grid-area:1/2/span 2;min-height:0;max-height:none;overflow:visible}.camp-workspace .camp-hall{grid-area:auto/1}.camp-workspace :is(.camp-bay,.camp-roster,.camp-store,.camp-market){grid-area:auto;max-height:none}.camp-workspace :is(.camp-contract,.camp-bay,.camp-roster,.camp-store,.camp-market,.camp-hall) h3{color:var(--exp-ink);letter-spacing:.015em;margin:0 0 12px;font-size:27px;font-weight:600}.camp-workspace :is(h4,.contract-option-name){color:var(--exp-ink)}.camp-workspace .camp-brief{font-size:12px;line-height:1.65}.camp-workspace .contract-facts{background:#eceee1;border:1px solid #d7ddcf;border-radius:3px;margin:14px 0;padding:12px;font-size:11px;line-height:1.55}.camp-workspace .contract-facts>div{grid-template-columns:62px minmax(0,1fr)}.camp-workspace .contract-facts dt{color:var(--exp-muted);font-size:10px}.camp-workspace .contract-option{border-color:var(--exp-line);background:#eeeee3;min-height:54px;padding:9px}.camp-workspace .contract-option.chosen{border-color:var(--exp-teal);background:#e1ead9}.camp-workspace .contract-option :is(.contract-option-pay,.contract-option-salvage){color:var(--exp-muted);font-size:10px}.camp-workspace .camp-negotiate{gap:6px}.camp-workspace .camp-negotiate legend{color:var(--exp-muted)}.camp-workspace .contract-salvage-detail summary{min-height:36px;padding:7px 0}.camp-workspace :is(.employer-facts,.employer-ledger,.employer-summary,.ledger-note,.yard-stock-note,.hall-note,.hall-profile){color:var(--exp-muted);font-size:11px}.camp-workspace :is(.camp-bay,.camp-roster,.camp-store,.camp-market,.camp-hall) :is(button,select),.camp-workspace .camp-contract button{border-color:var(--exp-line);min-height:36px;color:var(--exp-ink);background:#edf0e4;border-radius:3px;padding:7px 12px;font-size:11px}.camp-workspace .camp-contract [data-testid=camp-accept],.camp-workspace .camp-contract [data-testid=camp-deploy]{background:var(--exp-orange);color:#192f38;border-color:#a85435;width:100%;min-height:44px;font-weight:700}.camp-workspace .camp-contract [data-testid=camp-accept]:hover,.camp-workspace .camp-contract [data-testid=camp-deploy]:hover{background:#e78c61}.camp-workspace :is(.camp-bay,.camp-roster,.camp-store,.camp-market,.camp-hall) button:hover:not(:disabled){border-color:var(--exp-teal);background:#dfe9d9}.camp-workspace :is(.camp-bay,.camp-roster,.camp-store,.camp-market,.camp-hall) :is(button,select):disabled{opacity:.55}.camp-workspace :is(.camp-bay,.camp-roster,.camp-store,.camp-market) li{border-color:var(--exp-line)}.company-supplies{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.camp-workspace .camp-roster>ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.camp-workspace .camp-roster .pilot-card{border:1px solid var(--exp-line);background:#f5f4ea;border-radius:4px;padding:15px}.camp-workspace .pilot-trait{border-color:var(--exp-line);background:#e3e9d9}.camp-workspace .pilot-seat{color:var(--exp-muted);font-size:11px}.camp-workspace .pilot-seat select{max-width:100%}.camp-workspace .camp-hall ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.camp-workspace .camp-hall button{text-align:left;width:100%;height:100%}.camp-workspace .camp-hall .hall-name{font:600 20px var(--font-display)}.camp-workspace .camp-log{max-height:150px;color:var(--exp-muted);border:1px solid var(--exp-line);background:#e6eadd;border-radius:4px;margin:0 24px 24px;padding:12px 16px;font-size:10px;overflow:auto}.camp-workspace .camp-status:not(:empty){z-index:25;max-width:min(560px,100vw - 48px);box-shadow:var(--exp-shadow);background:var(--exp-navy);color:#f5f2e5;pointer-events:none;border:1px solid #547e71;border-radius:4px;padding:12px 18px;font-size:12px;position:fixed;bottom:18px;right:24px}.camp-workspace .campaign-guide{min-height:64px;box-shadow:none;color:var(--exp-ink);background:#e4ebd8;border-color:#b1c6a6;margin:12px 24px 0;padding:8px 14px}.camp-workspace .campaign-guide span{color:var(--exp-muted)}.camp-workspace .campaign-guide button{color:var(--exp-ink);background:0 0;border-color:#829e81}.camp-workspace .campaign-guide p{color:var(--exp-muted);font-size:12px}@media (width<=1100px){.company-operations{grid-template-columns:minmax(0,1fr) 325px;gap:12px}.company-workspace{padding:0 16px 16px}.camp-workspace .camp-node{gap:5px;padding:7px}.camp-workspace .camp-node .node-name{font-size:10px}.company-navigation small{display:none}.company-navigation button{align-items:center;min-height:48px}}@media (width<=760px),(width<=1100px) and (pointer:coarse){.company-operations,.company-supplies{grid-template-columns:minmax(0,1fr)}.camp-workspace :is(.camp-contract,.camp-contract.negotiating,.camp-map,.camp-hall){grid-area:auto/1}.camp-workspace .camp-map{min-height:max(420px, var(--camp-map-min-height,420px));order:1;height:58vh}.camp-workspace .camp-contract{order:0}.camp-workspace .camp-hall{order:2}.company-overview{flex-wrap:wrap;gap:20px;padding:16px 0}.company-overview .company-contract-state{margin-left:0}.company-navigation{grid-template-columns:1fr 1fr;gap:6px;display:grid}.company-navigation button{min-height:52px}.camp-workspace .camp-roster>ul,.camp-workspace .camp-hall ul{grid-template-columns:1fr}.camp-workspace :is(.company-area button,.company-area select,.company-area summary,.campaign-guide button){min-height:44px}.camp-workspace .company-area .camp-node{min-height:var(--camp-node-height,56px);width:var(--camp-node-width,112px)}.camp-workspace .camp-node .node-glyph{width:17px;height:20px;font-size:11px}.camp-workspace .camp-node .node-meta{display:none}.camp-workspace .camp-node .node-state{font-size:7px}.camp-workspace .camp-status:not(:empty){max-width:calc(100vw - 24px);bottom:10px;right:12px}}@media (forced-colors:active){.camp-workspace .camp-node,.camp-workspace .camp-node.selected,.camp-workspace .camp-status:not(:empty){color:canvastext;background:canvas;border-color:canvastext}.company-navigation button[aria-current]{border:2px solid highlight}.camp-workspace .camp-node.selected :is(.node-meta,.node-state,.node-glyph){color:canvastext}}.camp-workspace[data-first-drop-stage] .company-overview{min-height:50px}.camp-workspace[data-first-drop-stage] .company-overview>span{align-items:baseline;gap:5px;display:flex}.camp-workspace[data-first-drop-stage] .company-overview .company-contract-state small{display:none}.camp-recovery{box-sizing:border-box;color:#ffe1ba;background:#362212f0;border:1px solid #ffb85cad;border-radius:5px;flex:1 0 100%;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.camp-recovery div{gap:3px;min-width:0;display:grid}.camp-top .camp-recovery strong,.camp-top .camp-recovery span,.camp-top .camp-recovery small{color:inherit;line-height:1.35}.camp-top .camp-recovery strong{font-size:11px}.camp-top .camp-recovery span{font-size:10px}.camp-top .camp-recovery small{color:#ffe1bab3;overflow-wrap:anywhere;font-size:9px}.camp-top .camp-recovery button{color:#ffe1ba;border-color:#ffb85cd1;flex:none}@media (width<=640px),(pointer:coarse) and (width<=1100px){.camp-recovery{flex-direction:column;align-items:stretch}}.camp .camp-top.camp-command-header{border:1px solid var(--exp-line);background:var(--exp-paper-raised);color:var(--exp-ink);border-radius:8px;padding:12px 20px 10px;display:block;overflow:visible}.camp-command-header .camp-command-main{grid-template-columns:minmax(200px,1fr) auto auto;align-items:center;gap:16px;display:grid}.camp-command-header .camp-company-identity{align-items:center;gap:14px;min-width:0;display:flex}.camp-command-header .camp-company-identity>svg{color:var(--exp-orange-ink);flex-shrink:0}.camp-command-header .camp-title{flex:1 1 0;gap:2px;min-width:0;margin:0;display:grid}.camp-command-header .camp-title .camp-command-kicker{display:none}.camp-command-header .camp-title h2{color:var(--exp-ink);font:600 clamp(25px, 2.3vw, 28px)/1.04 var(--font-display);letter-spacing:.015em;margin:0}.camp-command-header .camp-title .camp-seed{color:var(--exp-muted);font:10px/1.4 var(--font-mono);overflow-wrap:anywhere;margin:0}.camp-command-header .camp-command-kicker,.camp .camp-restart-dialog .camp-command-kicker{color:var(--exp-orange-ink);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:10px;font-weight:700}.camp-command-header .camp-company-status{align-items:center;gap:24px;display:flex}.camp-command-header .camp-company-status>div{white-space:nowrap;gap:4px;display:grid}.camp-command-header .camp-stat-label{color:var(--exp-muted);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.camp-command-header .camp-company-status strong{color:var(--exp-ink);font:600 17px/1.25 var(--font-mono)}.camp .camp-command-header button,.camp .camp-command-header summary,.camp .camp-command-header .camp-file-import{border:1px solid var(--exp-line);color:var(--exp-ink);min-height:36px;font:600 12px/1.3 var(--font-body);white-space:nowrap;cursor:pointer;background:0 0;border-radius:5px;margin:0;padding:8px 12px}.camp .camp-command-header button:hover:not(:disabled),.camp .camp-command-header summary:hover,.camp .camp-command-header .camp-file-import:hover{border-color:var(--exp-teal);background:#e9eee2}.camp .camp-command-header button:disabled{opacity:.45;cursor:not-allowed}.camp .camp-command-header :is(button,summary,input):focus-visible,.camp .camp-command-header .camp-file-import:focus-within{outline:2px solid var(--exp-teal);outline-offset:3px}.camp .camp-command-header .camp-advance-button{background:var(--exp-navy);border-color:var(--exp-navy);min-height:44px;color:var(--exp-paper-raised);padding:10px 18px;font-size:13px}.camp .camp-command-header .camp-advance-button:hover:not(:disabled){background:var(--exp-teal);border-color:var(--exp-teal)}.camp-command-header .camp-command-tools{border-top:1px solid var(--exp-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin-top:8px;padding-top:7px;display:flex}.camp-command-header .camp-utility-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.camp .camp-command-header .camp-utility-actions button{border-color:#0000;min-width:0}.camp-command-header .camp-company-files{position:relative}.camp-command-header .camp-company-files>summary{list-style:inside disclosure-closed}.camp-command-header .camp-company-files[open]>summary{background:#e5ebde;list-style-type:disclosure-open}.camp-command-header .camp-files-panel{z-index:40;box-sizing:border-box;background:var(--exp-paper-raised);border:1px solid var(--exp-line);width:min(292px,100vw - 56px);box-shadow:var(--exp-shadow);border-radius:6px;padding:16px;position:absolute;top:calc(100% + 8px);left:0}.camp-command-header .camp-files-panel p{color:var(--exp-muted);margin:0 0 12px;font-size:12px}.camp-command-header .camp-files-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.camp-command-header .camp-files-run{border-top:1px solid var(--exp-line);margin-top:12px;padding-top:12px}.camp .camp-command-header .camp-restart-link{color:var(--exp-negative)}.camp .camp-command-header .camp-file-import{justify-content:center;align-items:center;display:flex;position:relative}.camp .camp-command-header .camp-file-import input{opacity:0;cursor:pointer;width:100%;min-width:0;height:100%;display:block;position:absolute;inset:0}.camp .camp-command-header .camp-recovery{color:var(--exp-ink);background:#faedce;border-color:#c4a462;margin-top:14px;padding:12px 14px}.camp .camp-command-header .camp-recovery strong{font-size:13px}.camp .camp-command-header .camp-recovery span{white-space:normal;font-size:12px}.camp .camp-command-header .camp-recovery small{color:var(--exp-muted);font-size:11px}.camp .camp-command-header .camp-recovery button{color:var(--exp-orange-ink);white-space:normal;background:#fff7e4;border-color:#c4a462}.camp .camp-restart-backdrop{z-index:150;background:#0d232b94;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.camp .camp-restart-dialog{box-sizing:border-box;overscroll-behavior:contain;border:1px solid var(--exp-line);border-top:4px solid var(--exp-orange);background:var(--exp-paper-raised);width:min(460px,100%);min-height:0;max-height:calc(100dvh - 40px);color:var(--exp-ink);box-shadow:var(--exp-shadow);border-radius:8px;padding:28px;overflow:auto}.camp .camp-restart-dialog h2{font:600 32px/1.1 var(--font-display);margin:9px 0 14px}.camp .camp-restart-dialog>p:not(.camp-command-kicker){color:var(--exp-muted);margin:0;font-size:14px;line-height:1.65}.camp .camp-restart-dialog strong{color:var(--exp-ink)}.camp .camp-restart-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.camp .camp-restart-actions button{border:1px solid var(--exp-line);background:var(--exp-paper);min-height:42px;color:var(--exp-ink);cursor:pointer;border-radius:5px;padding:10px 14px;font-weight:600}.camp .camp-restart-actions .camp-restart-confirm{background:var(--exp-negative);border-color:var(--exp-negative);color:#fffaf0}.camp .camp-restart-actions button:hover{filter:brightness(.94)}.camp .camp-restart-actions button:focus-visible{outline:2px solid var(--exp-teal);outline-offset:3px}@media (width<=860px){.camp-command-header .camp-command-main{grid-template-columns:minmax(0,1fr) auto;gap:18px}.camp-command-header .camp-company-identity{grid-column:1/-1}}@media (width<=580px){.camp .camp-top.camp-command-header{padding:16px}.camp-command-header .camp-command-main{grid-template-columns:1fr;gap:16px}.camp-command-header .camp-company-status{justify-content:space-between;gap:12px}.camp-command-header .camp-command-tools{align-items:flex-start}.camp-command-header .camp-utility-actions{gap:3px}.camp .camp-command-header .camp-utility-actions button{padding-inline:8px}.camp .camp-restart-dialog{padding:22px}.camp .camp-restart-actions{flex-direction:column}}@media (width<=640px),(pointer:coarse) and (width<=1100px){.camp .camp-command-header button,.camp .camp-command-header summary,.camp .camp-command-header .camp-file-import,.camp .camp-restart-actions button{min-height:44px}}@media (forced-colors:active){.camp .camp-command-header :is(button,summary),.camp .camp-command-header .camp-file-import,.camp .camp-restart-actions button{border-color:buttontext}}.campaign-chooser-backdrop{z-index:40;background:#030709c7;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow:auto}.campaign-chooser{box-sizing:border-box;overscroll-behavior:contain;border:1px solid #8ce0ff66;border-top-color:var(--accent);width:min(560px,100%);min-height:0;max-height:calc(100dvh - 40px);color:var(--text);background:#10191d;padding:clamp(22px,5vw,38px);overflow:auto;box-shadow:0 24px 80px #0000009e}.campaign-chooser h3{color:var(--accent);margin:7px 0 14px;font-size:clamp(20px,4vw,28px)}.campaign-chooser p{color:var(--muted);font-size:12px;line-height:1.55}.campaign-chooser p strong{color:var(--text)}.campaign-chooser-kicker{letter-spacing:.16em;text-transform:uppercase;margin:0}.campaign-chooser label{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;gap:7px;margin-top:22px;font-size:11px;display:grid}.campaign-chooser select{border:1px solid var(--edge);width:100%;color:var(--text);background:var(--panel);font:inherit;letter-spacing:normal;text-transform:none;border-radius:4px;padding:10px 12px;font-size:13px}.campaign-chooser-selection{min-height:19px;margin:9px 0 0}.campaign-difficulty{color:var(--text);gap:8px;margin:18px 0;font-size:12px;display:grid}.campaign-difficulty select{border:1px solid var(--edge);min-height:44px;color:var(--text);background:var(--panel);font:inherit;border-radius:6px;padding:8px}.campaign-difficulty small{color:var(--muted);letter-spacing:normal;text-transform:none;font-size:11px;line-height:1.5}.campaign-chooser-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.campaign-chooser-actions button{border:1px solid var(--edge);color:var(--text);background:var(--panel);font:inherit;border-radius:4px;padding:8px 12px}.campaign-chooser-actions button:last-child:not(:disabled){border-color:var(--accent);color:var(--accent)}.campaign-chooser-actions button:disabled{opacity:.35}@media (width<=520px){.campaign-chooser-backdrop{place-items:end center;padding:0}.campaign-chooser{border-bottom:0;border-left:0;border-right:0;max-height:92dvh}.campaign-chooser-actions{flex-direction:column-reverse}.campaign-chooser-actions button{min-height:44px}}.camp-map .campaign-geography text{fill:#526f61;font:1.3px var(--font-mono);letter-spacing:.2px;opacity:.75}.camp-map .campaign-anchor{fill:#ecedde;stroke:#476e61;stroke-width:.23px}.camp-map .campaign-anchor.available{fill:#376f65;stroke:#edf0dc;stroke-width:.2px}.camp-map .campaign-anchor.complete{fill:#6c906a}.camp-map .campaign-anchor.failed{fill:#a4513b}.camp-map .campaign-label-leader{stroke:#70887b;stroke-width:.14px;stroke-dasharray:.35 .3;opacity:.85}.camp-map .campaign-cartouche{pointer-events:none;color:#3f6558;font:9px var(--font-mono);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:10px;left:12px;right:12px}.campaign-cartouche strong{text-transform:uppercase;letter-spacing:.07em}.campaign-cartouche span{opacity:.85;font-size:8px}.camp-workspace .camp-route{stroke:#607d6c;stroke-width:.22px;stroke-dasharray:.7 .6}.camp-workspace .camp-route.open{stroke:#326c61;stroke-width:.38px}@media (width<=640px){.campaign-cartouche span{display:none}}@media (forced-colors:active){.camp-map .campaign-geography{opacity:.2}.camp-map .campaign-anchor{fill:canvas;stroke:canvastext}.camp-map .campaign-label-leader{stroke:canvastext}.camp-map .campaign-cartouche{color:canvastext;background:canvas}}.debrief-ledger{line-height:1.3}.debrief-salvage-report{border-top:1px solid #ffffff1a}.debrief-salvage-report>summary{color:var(--accent);cursor:pointer;text-transform:uppercase;padding:.65rem .1rem;font-size:.78rem;font-weight:700}.debrief-salvage-report[open]>summary{margin-bottom:.15rem}.debrief-recovery,.debrief-salvage{border-top:1px solid #ffffff1a;padding-top:.6rem}.debrief-recovery h4,.debrief-salvage h4{margin:0 0 .15rem}.debrief-recovery p,.salvage-note{color:#8fa3ab;margin:0 0 .5rem;font-size:.78rem}.debrief-recovery ul{gap:.3rem;margin:0 0 .65rem;padding:0;list-style:none;display:grid}.debrief-recovery li{border:1px solid var(--edge);background:#0e1216c7;grid-template-columns:minmax(130px,1fr) minmax(170px,1.2fr) auto auto;align-items:center;gap:.35rem .65rem;padding:.42rem .55rem;font-size:.72rem;display:grid}.recovery-name{color:var(--text);font-weight:700}.recovery-outcome,.recovery-chance{color:#a9b8bd}.recovery-chance{font-variant-numeric:tabular-nums}.recovery-result{color:#8fa3ab;text-transform:uppercase}.recovery-result.recovered{color:var(--accent)}.debrief .manifest-actions button{background:var(--panel);border:1px solid var(--edge);color:var(--text);border-radius:4px;padding:.4rem .65rem}.salvage-offer{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.salvage-offer button{border:1px solid var(--edge);color:var(--text);text-align:left;background:#0e1216f5;border-radius:4px;grid-template-columns:1fr auto auto;grid-template-areas:"name kind mark""spec spec spec""fit fit fit""owned owned owned""source source source""value value value";gap:.2rem .5rem;width:100%;padding:.55rem .65rem;display:grid}.salvage-offer button.taken{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#8ce0ff12}.salvage-kind{color:#7c8f97;text-transform:uppercase;grid-area:kind;font-size:.7rem}.salvage-name{grid-area:name}.salvage-mark{color:#8fa3ab;grid-area:mark;font-size:.7rem}.salvage-offer button.taken .salvage-mark{color:var(--accent)}.salvage-spec,.salvage-fit,.salvage-owned,.salvage-source,.salvage-value{color:#a9b8bd;font-size:.7rem}.salvage-spec{grid-area:spec}.salvage-fit{grid-area:fit}.salvage-owned{grid-area:owned}.salvage-source{grid-area:source}.salvage-value{color:#d3c79e;grid-area:value}.camp-salvage-terms p{margin:.35rem 0}.salvage-stance{color:#d1b471;text-transform:uppercase;border:1px solid #d1b47173;margin-left:.55rem;padding:.1rem .3rem;font-size:.68rem}.camp-salvage-terms .salvage-rights,.camp-salvage-terms .salvage-part-odds,.camp-salvage-terms .salvage-capacity{color:#8fa3ab;font-size:.74rem}.salvage-odds{border-collapse:collapse;color:#a9b8bd;width:100%;max-width:620px;font-size:.7rem}.salvage-odds caption{color:var(--text);text-align:left;padding:.25rem 0;font-weight:700}.salvage-odds th,.salvage-odds td{text-align:right;border-bottom:1px solid #ffffff14;padding:.22rem .35rem}.salvage-odds th:first-child{text-align:left}.salvage-odds tbody th{color:#a9b8bd;font-weight:400}.salvage-odds td{font-variant-numeric:tabular-nums}@media (width<=640px),(pointer:coarse) and (width<=1100px){.debrief-salvage-report>summary{box-sizing:border-box;min-height:44px}.debrief-recovery li{grid-template-columns:1fr auto}.recovery-outcome,.recovery-result{grid-column:1}.recovery-chance{grid-area:1/2}.recovery-result{text-align:right;grid-area:2/2}}.employer-facts{color:var(--muted);margin:5px 0;font-size:11px}.employer-facts strong{color:var(--text);font-weight:600}.employer-ledger{border-top:1px solid var(--line);color:var(--muted);margin-top:10px;font-size:11px}.employer-ledger summary{color:var(--accent);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;padding:8px 0 2px;font-weight:600}.employer-ledger ul{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.employer-ledger li{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;display:grid}.employer-ledger li span{color:var(--text)}.employer-ledger li small{text-align:right;font-variant-numeric:tabular-nums}@media (width<=640px),(pointer:coarse) and (width<=1100px){.employer-ledger summary{align-items:center;min-height:44px;display:flex}.employer-ledger li{grid-template-columns:minmax(0,1fr)}.employer-ledger li small{text-align:left}}.contract-facts{gap:4px;min-width:0;margin:7px 0 9px;display:grid}.contract-facts>div{grid-template-columns:62px minmax(0,1fr);gap:8px;display:grid}.contract-facts dt{color:var(--muted)}.contract-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.contract-salvage-detail{margin:6px 0 8px}.contract-salvage-detail summary{color:var(--muted);cursor:pointer}.hall-name,.hall-employer,.hall-profile{overflow-wrap:anywhere;min-width:0}@media (width<=420px){.contract-facts>div{grid-template-columns:minmax(0,1fr);gap:1px}.contract-option{grid-template-columns:auto minmax(0,1fr);min-width:0}.contract-option-salvage{grid-area:auto/2;align-self:auto}.camp-hall button{grid-template-columns:minmax(0,1fr)}.hall-terms{grid-area:auto/1;justify-self:start}}.crew-stand-down{border:1px solid var(--warn);background:var(--panel);border-radius:8px;margin:12px 0;padding:14px}.crew-stand-down p{color:var(--text);margin:0 0 10px;font-size:12px;line-height:1.55}.crew-stand-down button{border:1px solid var(--warn);min-height:44px;color:var(--text);font:inherit;background:0 0;border-radius:6px;padding:8px 12px}.crew-stand-down button:hover{background:color-mix(in srgb, var(--warn) 15%, transparent)}.manual-control-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.manual-sheet>header button{border:1px solid var(--edge);background:var(--panel);min-height:32px;color:var(--text);border-radius:4px;padding:4px 8px;font-size:11px}.manual-sheet>header button:hover,.manual-sheet>header button:focus-visible{border-color:var(--accent);color:var(--accent)}.manual-sheet>header{z-index:1;background:var(--panel);padding:4px 0 8px;position:sticky;top:0}.manual-controls h5{color:var(--text);letter-spacing:.1em;text-transform:uppercase;margin:4px 0 8px;font-size:10px}.manual-bindings{margin:0}.manual-bindings>div{border-top:1px solid #ffffff0f;grid-template-columns:minmax(112px,.7fr) minmax(0,1.7fr);gap:8px;padding:6px 0;display:grid}.manual-bindings dt,.manual-bindings dd{margin:0;font-size:11px;line-height:1.45}.manual-bindings dt{color:var(--accent)}.manual-bindings dd{color:var(--muted)}.manual-support{margin-top:16px}.manual-support .manual-bindings{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;display:grid}@media (width<=640px),(pointer:coarse) and (width<=1100px){.camp-manual{padding:10px}.manual-sheet{padding:14px}.manual-control-columns,.manual-support .manual-bindings{grid-template-columns:1fr}.manual-bindings>div{grid-template-columns:minmax(100px,.7fr) minmax(0,1.6fr)}.manual-sheet>header button{min-height:44px}}.campaign-guide{border:1px solid color-mix(in srgb, var(--accent) 64%, transparent);background:color-mix(in srgb, var(--panel) 92%, var(--accent));border-left-width:4px;grid-area:guide;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px;min-height:64px;padding:10px 14px;display:grid;box-shadow:0 8px 24px #0007}.camp:has(.campaign-guide){grid-template-rows:auto auto 1fr auto auto auto;grid-template-areas:"top top""guide guide""map contract""map hall""bay roster""store market""log log"}.campaign-guide span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.campaign-guide p{margin:0}.campaign-guide button{border:1px solid var(--edge);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:#0a0f14c7;border-radius:4px;grid-area:1/2/span 3;justify-self:end;padding:8px 12px}.campaign-guide button:hover,.campaign-guide button:focus-visible{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 72%, transparent);outline-offset:2px}.camp[data-first-drop-stage=choose] .camp-contract,.camp[data-first-drop-stage=launch] .camp-contract,.camp[data-first-drop-stage=prepare] .camp-contract{outline:2px solid color-mix(in srgb, var(--accent) 76%, white);outline-offset:3px}@media (pointer:coarse),(width<=720px){.camp:has(.campaign-guide){grid-template-rows:none;grid-template-areas:none}.campaign-guide{top:calc(52px + env(safe-area-inset-top));z-index:16;position:sticky}}.company-operations>.mission-survey{grid-area:1/1;min-width:0}.camp-workspace .company-operations>.camp-map{grid-row:2;height:580px}.mission-survey{border:1px solid var(--exp-line);background:var(--exp-paper-raised);border-radius:6px;overflow:hidden}.mission-survey header{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.mission-survey header p{color:var(--exp-muted);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 5px}.camp-workspace .mission-survey h3{color:var(--exp-ink);font:600 31px/1 var(--font-display);margin:0}.survey-tonnage{color:var(--exp-muted);font:10px var(--font-body);text-align:right;flex-shrink:0}.survey-tonnage strong{font:500 30px var(--font-display);color:var(--exp-teal);display:block}.mission-survey-image{aspect-ratio:1200/650;background:#213e45;min-height:240px;position:relative}.mission-survey-image img{object-fit:contain;width:100%;height:100%;display:block}.survey-orientation{color:#f4f0df;font:9px var(--font-mono);background:#193744cc;border:1px solid #d6e1d440;padding:5px 7px;position:absolute;bottom:12px;left:14px}.survey-fallback{color:#e1ebd9;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.survey-fallback>span{font:80px var(--font-display);color:#89ab9c}.survey-fallback strong{font:28px var(--font-display)}.survey-fallback p{font-size:12px}.mission-survey footer{color:var(--exp-muted);justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;display:flex}.mission-survey footer strong{color:var(--exp-ink);font-size:12px;display:block}.mission-survey footer span{font-size:10px}.mission-survey footer p{max-width:250px;margin:0;font-size:10px;line-height:1.5}@media (width<=760px),(width<=1100px) and (pointer:coarse){.company-operations>.mission-survey{order:1;grid-area:auto}.camp-workspace .company-operations>.camp-map{order:2;grid-row:auto}.mission-survey header{gap:10px;padding:14px}.camp-workspace .mission-survey h3{font-size:27px}.mission-survey footer{flex-wrap:wrap;gap:8px;padding:12px 14px}.mission-survey footer p{max-width:none}.mission-survey-image{min-height:190px}}@media (forced-colors:active){.mission-survey{border-color:canvastext}.survey-orientation{color:canvastext;background:canvas;border-color:canvastext}}.home-screen{min-height:100%;color:var(--text);background:linear-gradient(135deg,#1f373e47,#0000 42%),repeating-linear-gradient(90deg,#0000 0 71px,#8ce0ff06 72px),#0b1013;place-items:center;padding:clamp(20px,5vw,72px);display:grid;overflow:auto}.home-panel{border:1px solid #8ce0ff3d;border-top-color:var(--accent);background:#0d1418f5;width:min(860px,100%);padding:clamp(24px,5vw,56px);box-shadow:0 28px 80px #0000006b}.home-kicker,.home-note{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:11px}.home-panel h1{color:var(--accent);letter-spacing:.11em;margin:8px 0 0;font-size:clamp(42px,9vw,82px);font-weight:800;line-height:.96}.home-premise{color:#c7d2d6;max-width:64ch;margin:24px 0 30px;font-size:clamp(15px,2.3vw,18px);line-height:1.65}.home-routes{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.home-route{min-height:132px;color:var(--text);text-align:left;background:#172328d6;border:1px solid #8ce0ff38;flex-direction:column;align-items:flex-start;gap:9px;padding:20px;display:flex}.home-route:hover,.home-route:focus-visible{border-color:var(--accent);background:#23383feb}.home-route.primary{background:#26434bdb;border-color:#8ce0ff9e}.home-route strong{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:15px}.home-route span{color:#aebdc2;font-size:13px;line-height:1.45}.home-note{letter-spacing:.08em;margin-top:24px;line-height:1.5}@media (width<=700px){.home-screen{place-items:start center;padding:16px}.home-panel{padding:24px 18px}.home-routes{grid-template-columns:1fr}.home-route{min-height:94px}}@media (prefers-reduced-motion:reduce){.home-route{transition:none}}.home-screen.graphic-home{height:100%;color:var(--exp-ink,#193744);background:var(--exp-paper,#f3f0e7);padding:0;display:block;overflow:auto}.graphic-home .home-masthead{color:#e9e7d6;background:#19333f;border-bottom:3px solid #c88156;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:76px;padding:18px clamp(24px,4vw,64px);display:flex}.graphic-home .home-masthead>div{align-items:center;gap:13px;display:flex}.graphic-home .home-masthead svg{color:#deb382;width:38px;height:38px}.graphic-home .home-masthead>div>span{font-family:var(--font-display,sans-serif);letter-spacing:2px;font-size:26px;font-weight:700;line-height:1}.graphic-home .home-masthead small{font-family:var(--font-body,sans-serif);letter-spacing:1.65px;color:#b6c9c0;margin-top:7px;font-size:7px;font-weight:500;display:block}.graphic-home .home-masthead p{letter-spacing:1.5px;color:#c1d0c3;margin:0;font-size:9px}.graphic-home .home-masthead p span{color:#c88156;padding:0 12px}.graphic-home .home-panel{width:min(1400px,100%);box-shadow:none;background:0 0;border:0;grid-template-columns:.95fr 1.05fr;gap:26px 40px;margin:auto;padding:36px clamp(24px,4vw,64px) 24px;display:grid}.graphic-home .home-introduction{align-self:center;padding:16px 0}.graphic-home .home-edition{letter-spacing:2.1px;color:#698378;font-size:9px;font-weight:700}.graphic-home .home-kicker{color:#9e694a;letter-spacing:1.6px;margin:25px 0 0;font-size:10px}.graphic-home .home-panel h1{font-family:var(--font-display,Impact, sans-serif);color:#193744;letter-spacing:-.015em;margin:8px 0 0;font-size:clamp(60px,7.2vw,105px);font-weight:700;line-height:.95}.graphic-home .home-premise{color:#52665e;max-width:46ch;margin:23px 0;font-size:14px;line-height:1.85}.graphic-home .home-command-note{border-top:1px solid #cdd6c7;align-items:center;gap:13px;padding:16px 0 0;display:flex}.graphic-home .home-command-note>span{color:#718b76;border:1px solid #9ab2a1;border-radius:50%;flex:none;place-items:center;width:33px;height:33px;font-size:15px;display:grid}.graphic-home .home-command-note p{margin:0;font-size:10px;line-height:1.7}.graphic-home .home-command-note strong{color:#3c6054;font-size:11px;font-weight:600;display:block}.graphic-home .home-command-note p span{color:#698172}.graphic-home .home-theatre{background:radial-gradient(at 55% 45%,#577 0,#254853 55%,#193744 100%);border-radius:3px;min-width:0;height:420px;position:relative;overflow:hidden}.graphic-home .home-theatre-label{z-index:3;color:#b4ccc1;letter-spacing:1.65px;font-size:8px;line-height:1.6;position:absolute;top:23px;left:22px;right:20px}.graphic-home .home-theatre-grid{background:repeating-linear-gradient(0deg,#0000 0 39px,#7caa9b0c 40px),repeating-linear-gradient(90deg,#0000 0 39px,#7caa9b0c 40px);position:absolute;inset:0}.graphic-home .home-theatre-ground{background:#859c8745;border:1px solid #b3b99135;border-radius:50%;height:70px;position:absolute;bottom:65px;left:4%;right:4%;transform:rotate(-5deg)}.graphic-home .home-machines{z-index:2;position:absolute;inset:32px 0 17px}.graphic-home .home-machine{width:72%;height:100%;position:absolute}.graphic-home .home-machine.linewrought{z-index:2;left:-9%}.graphic-home .home-machine.aurelian{z-index:1;right:-7%;transform:translateY(-13px)}.graphic-home .home-machine .mech-preview{background:0 0;border:0;width:100%;height:auto;min-height:0;position:absolute;inset:0 0 48px}.graphic-home .home-machine .mech-preview canvas{width:100%;height:100%}.graphic-home .home-machine-label{color:#ebddbd;flex-wrap:wrap;align-items:baseline;gap:10px;display:flex;position:absolute;bottom:0;left:28%;right:15%}.graphic-home .home-machine.aurelian .home-machine-label{bottom:-13px;left:22%}.graphic-home .home-machine-label span{color:#b9c9b5;letter-spacing:1.3px;flex-basis:100%;font-size:7px}.graphic-home .home-machine-label strong{font-family:var(--font-display,sans-serif);font-size:24px;font-weight:600}.graphic-home .home-machine-label small{color:#abc3b8;font-size:10px}.graphic-home .home-machine-loading{color:#b6cbb8;place-items:center;font-size:12px;display:grid;position:absolute;inset:0}.graphic-home .home-routes{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.graphic-home .home-route{color:#294a45;background:#e8eadc;border:1px solid #c7d0bd;border-radius:3px;gap:7px;min-height:127px;padding:18px 23px;position:relative}.graphic-home .home-route:after{content:"↗";color:#8ba18b;font-size:21px;position:absolute;top:16px;right:18px}.graphic-home .home-route:hover,.graphic-home .home-route:focus-visible{background:#e0e6d4;border-color:#7c9c84}.graphic-home .home-route.primary{color:#193744;background:#d97753;border-color:#b96946}.graphic-home .home-route.primary:hover,.graphic-home .home-route.primary:focus-visible{background:#e48d64;border-color:#b96946}.graphic-home .home-route-number{letter-spacing:1.5px;color:#5c7665;font-size:8px;font-style:normal;font-weight:600}.graphic-home .home-route strong{font-family:var(--font-display,sans-serif);color:#294a45;letter-spacing:.01em;text-transform:none;font-size:27px;font-weight:600}.graphic-home .home-route span{color:#526c5e;font-size:11px;line-height:1.6}.graphic-home .home-route.primary strong,.graphic-home .home-route.primary span,.graphic-home .home-route.primary .home-route-number,.graphic-home .home-route.primary:after{color:#17313b}.graphic-home .home-note{letter-spacing:.6px;color:#617c6c;border-top:1px solid #d3d9ca;grid-column:1/-1;justify-content:space-between;gap:18px;margin:0;padding-top:15px;font-size:8px;line-height:1.7;display:flex}.graphic-home .home-note>span{color:#688273;white-space:nowrap;letter-spacing:.8px;font-size:8px}@media (height<=800px) and (width>=901px){.graphic-home .home-panel{gap:22px 35px;padding-top:25px}.graphic-home .home-theatre{height:355px}.graphic-home .home-premise{margin:19px 0;font-size:13px}.graphic-home .home-kicker{margin-top:21px}.graphic-home .home-route{min-height:120px;padding:15px 20px}}@media (width<=900px){.graphic-home .home-panel{grid-template-columns:1fr 1fr;gap:22px;padding:25px}.graphic-home .home-panel h1{font-size:61px}.graphic-home .home-premise{font-size:12px;line-height:1.8}.graphic-home .home-command-note{display:none}.graphic-home .home-theatre{height:330px}.graphic-home .home-route{min-height:132px;padding:16px}.graphic-home .home-route strong{font-size:23px}.graphic-home .home-route span{font-size:10px}.graphic-home .home-theatre-label{font-size:7px;left:16px}.graphic-home .home-machine-label strong{font-size:22px}.graphic-home .home-note{display:block}.graphic-home .home-note>span{margin-top:7px;display:block}}@media (width<=640px){.graphic-home .home-masthead{min-height:70px;padding:14px 18px}.graphic-home .home-masthead>p{display:none}.graphic-home .home-panel{flex-direction:column;gap:21px;padding:23px 18px;display:flex}.graphic-home .home-introduction{align-self:stretch;padding:0}.graphic-home .home-edition{font-size:8px}.graphic-home .home-panel h1{font-size:clamp(52px,14.5vw,85px)}.graphic-home .home-kicker{margin-top:17px;font-size:8px}.graphic-home .home-premise{max-width:55ch;margin:17px 0 0;font-size:12px}.graphic-home .home-theatre{order:3;width:100%;height:285px}.graphic-home .home-routes{order:2;grid-template-columns:1fr;gap:9px;display:grid}.graphic-home .home-route{gap:5px;min-height:97px;padding:13px 18px}.graphic-home .home-route strong{font-size:25px}.graphic-home .home-route span{font-size:11px}.graphic-home .home-route-number{font-size:7px}.graphic-home .home-note{order:4}}@media (forced-colors:active){.home-screen.graphic-home,.graphic-home .home-panel,.graphic-home .home-masthead,.graphic-home .home-route,.graphic-home .home-route.primary{color:canvastext;background:canvas;border-color:canvastext}.graphic-home .home-route *,.graphic-home .home-panel h1,.graphic-home .home-kicker,.graphic-home .home-premise,.graphic-home .home-edition,.graphic-home .home-note{color:canvastext}.graphic-home .home-theatre{border:1px solid canvastext}}:root{--bg:#0d1013;--panel:#0e1216eb;--edge:#8ce0ff2e;--accent:#8ce0ff;--warn:#ffc061;--danger:#ff8a6b;--text:#d7e2ea;--muted:#7f8f9c;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100dvh;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;overflow:hidden}@supports not (height:100dvh){html,body,#root{height:100%}}button{font:inherit;color:inherit;cursor:pointer}.app{width:100%;height:100%;position:relative}.viewport{position:absolute;inset:0}.viewport canvas{touch-action:none;display:block}.topbar{pointer-events:none;background:linear-gradient(#080b0ee6,#080b0e00);align-items:center;gap:16px;padding:10px 16px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.mission{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:600}.clock{font-variant-numeric:tabular-nums;color:var(--accent);font-size:15px}.clock-minute{color:#e1c476}.clock-final{color:var(--warn);font-weight:700}.pause{background:var(--panel);border:1px solid var(--edge);border-radius:4px;padding:4px 12px;font-size:12px}.pause.active{border-color:var(--warn);color:var(--warn)}.pause:disabled{cursor:not-allowed;opacity:.56}.setup-locked{color:var(--warn);text-transform:uppercase;letter-spacing:.06em;border:1px solid #ffc06161;border-radius:4px;flex:none;padding:4px 8px;font-size:10px}.setup-contract{text-overflow:ellipsis;white-space:nowrap;max-width:190px;overflow:hidden}.setup-run-actions{border:1px solid var(--edge);background:var(--panel);border-radius:5px;gap:6px;padding:4px;display:flex;position:absolute;top:90px;right:288px}.feedback-link{color:inherit;text-decoration:none;display:inline-block}.hint{color:var(--muted);margin-left:auto;font-size:11px}.paused-banner,.outcome{border:1px solid var(--warn);color:var(--warn);letter-spacing:.14em;background:#0a0d10e6;border-radius:4px;padding:6px 18px;font-size:12px;position:absolute;top:52px;left:50%;transform:translate(-50%)}.outcome{border-color:var(--accent);color:var(--accent);flex-direction:column;align-items:center;gap:12px;padding:14px 34px;font-size:22px;display:flex;top:40%}.outcome-actions{gap:8px;display:flex}.outcome button{border:1px solid var(--edge);background:var(--panel);color:var(--text);border-radius:4px;padding:6px 12px;font-size:12px}.error{border:1px solid var(--danger);color:var(--danger);white-space:pre-wrap;background:#140808f2;padding:16px;font-size:12px;position:absolute;inset:20% 20% auto}.sidebar{background:var(--panel);border:1px solid var(--edge);border-radius:6px;width:268px;padding:12px;font-size:12px;position:absolute;top:52px;right:12px}.sidebar h2{flex-direction:column;margin:0 0 10px;font-size:14px;display:flex}.sidebar h2 small{color:var(--muted);font-size:11px;font-weight:400}.empty{color:var(--muted);margin:0 0 10px}.paper-doll{grid-template-columns:repeat(5,1fr);grid-template-areas:". .hd. .""la lt ct rt ra"".ll.rl.";gap:3px;margin-bottom:12px;display:grid}.doll-cell{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:3px;flex-direction:column;align-items:center;gap:2px;padding:3px 2px;display:flex}.doll-cell:disabled{cursor:default}.doll-cell.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.doll-cell.destroyed{border-color:var(--danger);background:#ff5a4629}.doll-label{color:var(--muted);letter-spacing:.06em;font-size:9px}.doll-bar{background:#00000073;border-radius:2px;width:100%;height:4px;display:block;overflow:hidden}.doll-bar span{height:100%;display:block}.doll-bar.armour span{background:var(--accent)}.doll-bar.rear{height:3px}.doll-bar.rear span{background:var(--accent);opacity:.45}.doll-bar.internal span{background:var(--warn)}.heat{align-items:center;gap:8px;margin-bottom:8px;display:flex}.heat-track{background:#00000080;border:1px solid #ffffff1f;border-radius:3px;flex:1;height:10px;position:relative;overflow:hidden}.heat-fill{height:100%;transition:width .12s linear}.heat-fill.ok{background:#4fa3d1}.heat-fill.warn{background:var(--warn)}.heat-fill.danger{background:#ff9448}.heat-fill.critical{background:var(--danger)}.heat-mark{background:#ffffff8c;width:1px;position:absolute;top:0;bottom:0}.heat-value{font-variant-numeric:tabular-nums;color:var(--muted);font-size:11px}.target-line{color:var(--muted);margin-bottom:8px}.weapons{flex-direction:column;gap:6px;display:flex}.weapon-group{align-items:flex-start;gap:6px;display:flex}.weapon-group.disabled{opacity:.45}.group-key{border:1px solid var(--edge);background:#ffffff0d;border-radius:3px;width:20px;height:20px;padding:0;font-size:11px}.weapon-group ul{flex:1;margin:0;padding:0;list-style:none}.weapon-group li{align-items:center;gap:6px;padding:1px 0;display:flex}.weapon-group li.destroyed{color:var(--danger);text-decoration:line-through}.cooldown-ring{border-radius:50%;flex:none;width:10px;height:10px}.weapon-group li.out-of-range{opacity:.45}.weapon-name{flex:1}.weapon-range{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.weapon-range.short{color:var(--accent)}.weapon-range.over{color:var(--danger)}.weapon-ammo{color:var(--muted);font-variant-numeric:tabular-nums}.hostiles{align-items:stretch;gap:6px;padding-bottom:2px;display:flex;position:absolute;top:52px;left:274px;right:300px;overflow-x:auto}.hostiles-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;flex:none;align-self:center;font-size:10px}.hostile{background:var(--panel);text-align:left;border:1px solid #ff4d3a73;border-radius:4px;flex:none;grid-template-columns:1fr auto;gap:2px 8px;width:min(310px,100vw - 32px);min-width:250px;padding:5px 8px;font-size:11px;display:grid}.hostile:disabled{opacity:.45;cursor:default}.hostile:not(:disabled):hover{border-color:var(--danger)}.hostile.targeted{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.hostile-name{overflow-wrap:anywhere;line-height:1.25}.hostile-range{color:var(--muted);font-variant-numeric:tabular-nums}.hostile-health{background:#ffffff1f;border-radius:2px;grid-column:1/-1;height:3px;overflow:hidden}.hostile-health span{background:var(--danger);height:100%;display:block}.log{color:var(--muted);border-top:1px solid #ffffff14;max-height:120px;margin:12px 0 0;padding:8px 0 0;font-size:11px;list-style:none;overflow:hidden}.bottombar{flex-direction:column;gap:8px;display:flex;position:absolute;bottom:12px;left:12px;right:300px}.lance{gap:8px;display:flex}.lance-card{text-align:left;background:var(--panel);border:1px solid var(--edge);border-radius:5px;flex-direction:column;flex:1;gap:3px;min-width:0;padding:6px 8px;font-size:11px;display:flex}.lance-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.lance-card.dead{opacity:.45}.lance-name{font-weight:600}.lance-chassis{color:var(--muted);overflow-wrap:anywhere;min-height:2.5em;font-size:10px;line-height:1.25}.lance-health{background:#00000080;border-radius:2px;height:4px;display:block;overflow:hidden}.lance-health span{background:var(--accent);height:100%;display:block}.lance-status{color:var(--muted);letter-spacing:.08em;font-size:9px}.palette{flex-wrap:wrap;gap:6px;display:flex}.command{background:var(--panel);border:1px solid var(--edge);border-radius:4px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:flex}.command:disabled{opacity:.35;cursor:not-allowed}.command.active{border-color:var(--accent);color:var(--accent)}.command-key{color:var(--muted);border:1px solid #ffffff24;border-radius:2px;padding:0 4px;font-size:9px}.bay{grid-template:"top top top""machine grid side"1fr"act act act"/320px minmax(480px,1fr) 390px;gap:12px;height:100%;padding:12px;display:grid;overflow:auto}.bay-top{flex-wrap:wrap;grid-area:top;align-items:center;gap:10px;display:flex}.bay-name{border:1px solid var(--edge);color:var(--text);font:inherit;background:#ffffff0d;border-radius:4px;flex:1;padding:6px 10px;font-size:14px}.bay-top select,.bay-top button,.bay-actions button,.bay-actions select{background:var(--panel);border:1px solid var(--edge);color:var(--text);font:inherit;border-radius:4px;padding:6px 10px;font-size:12px}.bay-actions button:disabled{opacity:.35;cursor:not-allowed}.bay-machine{background:var(--panel);border:1px solid var(--edge);border-radius:6px;grid-area:machine;padding:10px;font-size:12px;overflow-y:auto}.bay-machine h3{flex-direction:column;margin:0 0 2px;font-size:13px;display:flex}.bay-gauges{gap:6px;margin-bottom:10px;display:grid}.bay-gauge{grid-template-columns:1fr auto;gap:2px 8px;font-size:10px;display:grid}.gauge-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.gauge-value{font-variant-numeric:tabular-nums;color:var(--accent)}.gauge-track{background:#00000080;border-radius:2px;grid-column:1/-1;height:4px;overflow:hidden}.gauge-track>span{background:var(--accent);height:100%;display:block}.bay-gauge.warn .gauge-value{color:var(--warn)}.bay-gauge.warn .gauge-track>span{background:var(--warn)}.bay-gauge.over .gauge-value{color:var(--danger)}.bay-gauge.over .gauge-track>span{background:var(--danger)}.bay-controls{gap:6px;margin:8px 0;display:grid}.bay-controls>button{border:1px solid var(--edge);color:var(--accent);font:inherit;background:#8ce0ff1f;border-radius:4px;padding:5px;font-size:11px}.bay-commission{letter-spacing:.06em;color:var(--accent);font-size:13px}.bay-sinks{color:var(--muted);align-items:center;gap:6px;margin-bottom:8px;display:flex}.bay-sinks input{border:1px solid var(--edge);width:52px;color:var(--text);font:inherit;background:#ffffff0d;border-radius:3px;padding:2px 4px;font-size:11px}.bay-sinks select{border:1px solid var(--edge);min-width:0;color:var(--text);font:inherit;background:#ffffff0d;border-radius:3px;flex:1;font-size:11px}.bay-issues{color:var(--danger);margin:10px 0 0;padding:0;font-size:11px;list-style:none}.bay-issues li{padding:2px 0}.bay-grid{grid-area:grid;grid-template-columns:repeat(5,1fr);grid-template-areas:". .head. .""la lt ct rt ra"".ll.rl.";align-content:start;gap:8px;display:grid;overflow-y:auto}.loc-head{grid-area:head}.loc-left_arm{grid-area:la}.loc-left_torso{grid-area:lt}.loc-centre_torso{grid-area:ct}.loc-right_torso{grid-area:rt}.loc-right_arm{grid-area:ra}.loc-left_leg{grid-area:ll}.loc-right_leg{grid-area:rl}.loc-centre_torso{border-color:#8ce0ff5c}@media (width<=1100px){.bay-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:none}.bay-grid>*{grid-area:auto}}.bay-location{background:var(--panel);border:1px solid var(--edge);border-radius:6px;flex-direction:column;gap:6px;min-height:150px;padding:8px;font-size:11px;display:flex}.bay-location.invalid{border-color:var(--danger)}.bay-location header{justify-content:space-between;align-items:baseline;display:flex}.bay-location-name{font-size:11px;font-weight:600}.bay-slots{color:var(--muted);font-size:10px}.bay-slots.over{color:var(--danger)}.bay-hardpoints{flex-wrap:wrap;gap:4px;display:flex}.pip{color:var(--muted);border:1px solid #ffffff29;border-radius:2px;padding:0 4px;font-size:9px}.pip.energy{border-color:#8ce0ff80}.pip.ballistic{border-color:#ffd48980}.pip.missile{border-color:#ff9d5c80}.pip.over{border-color:var(--danger);color:var(--danger)}.pip.size{letter-spacing:.04em;border-style:dashed}.bay-items li.too-big>span{color:var(--danger);text-decoration:line-through}.bay-stock.unmountable{opacity:.42}.bay-items{flex:1;margin:0;padding:0;list-style:none}.bay-items li{justify-content:space-between;align-items:center;gap:4px;padding:1px 0;display:flex}.bay-items li.ammo span{color:var(--warn)}.bay-items li.equipment span{color:var(--muted)}.bay-items button{color:var(--muted);background:0 0;border:none;padding:0 3px;line-height:1}.bay-items button:hover{color:var(--danger)}.bay-armour{color:var(--muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.bay-armour input{width:100%;accent-color:var(--accent)}.bay-side{background:var(--panel);border:1px solid var(--edge);border-radius:6px;grid-area:side;grid-template-rows:auto minmax(0,1fr) auto;min-height:0;padding:10px;font-size:11px;display:grid;overflow:hidden}.bay-side>.bay-stocks{min-height:0;overflow-y:auto}.bay-side h4{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:10px 0 4px;font-size:11px}.bay-side h4:first-child{margin-top:0}.bay-heat dl{grid-template-columns:auto 1fr;gap:1px 8px;margin:0 0 6px;display:grid}.bay-heat dt{color:var(--muted)}.bay-heat dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.bay-heat dd.ok{color:var(--accent)}.bay-heat dd.warn{color:var(--warn)}.heat-meter{background:#00000080;border-radius:3px;height:5px;margin-bottom:2px;overflow:hidden}.heat-meter span{background:var(--accent);height:100%;display:block}.bay-stocks{margin:0;padding:0;list-style:none}.bay-stock{cursor:grab;background:#ffffff08;border:1px solid #ffffff1a;border-radius:3px;flex-direction:column;margin-bottom:3px;padding:3px 6px;display:flex}.bay-stock:active{cursor:grabbing}.stock-detail{color:var(--muted);font-size:9px}.bay-actions{flex-wrap:wrap;grid-area:act;align-items:center;gap:8px;display:flex}.bay-import{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.bay-import input{max-width:180px;font-size:10px}.bay-status{color:var(--muted);margin-left:auto;font-size:11px}.bay-status.ok{color:var(--accent)}.bay-status.error{color:var(--danger)}.camp{grid-template:"top top""map contract"1fr"map hall""bay roster""store market""log log"/1fr 300px;gap:12px;height:100%;padding:12px;display:grid;overflow:auto}.camp-top{flex-wrap:wrap;grid-area:top;align-items:center;gap:10px;display:flex}.camp-top h2{flex:1;margin:0;font-size:15px}.camp-top span{font-variant-numeric:tabular-nums;color:var(--accent);font-size:12px}.camp-top button,.camp-contract button,.camp-bay button,.camp-roster button,.camp-store select{background:var(--panel);border:1px solid var(--edge);color:var(--text);font:inherit;border-radius:4px;padding:4px 8px;font-size:11px}.camp-top button:disabled,.camp-roster button:disabled{opacity:.3;cursor:not-allowed}.camp-import{color:var(--muted);font-size:10px}.camp-import input{max-width:130px;font-size:10px}.camp-map{background:var(--panel);border:1px solid var(--edge);border-radius:6px;grid-area:map;min-height:320px;position:relative;overflow:hidden}.camp-terrain{width:100%;height:100%;position:absolute;inset:0}.camp-route{stroke:#8ce0ff24;stroke-width:.4px;stroke-dasharray:1.6 1.4}.camp-route.open{stroke:#8ce0ff80;stroke-dasharray:none}.camp-legend{border:1px solid var(--edge);color:var(--muted);background:#0a0e12d1;border-radius:4px;gap:12px;margin:0;padding:5px 9px;font-size:10px;list-style:none;display:flex;position:absolute;bottom:8px;right:8px}.camp-legend span{color:var(--accent);margin-right:4px}.camp-node{text-align:left;white-space:nowrap;background:#0a0e12f0;border:1px solid #ffffff24;border-radius:5px;align-items:center;gap:8px;padding:6px 10px 6px 7px;font-size:11px;display:flex;position:absolute;transform:translate(-50%,-50%)}.node-glyph{border:1px solid #ffffff29;border-radius:4px;flex:none;place-items:center;width:22px;height:22px;font-size:13px;line-height:1;display:grid}.node-body{flex-direction:column;gap:1px;display:flex}.node-meta{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px}.camp-node.available{border-color:var(--accent);color:var(--accent)}.camp-node.available .node-glyph{border-color:var(--accent);box-shadow:0 0 10px #8ce0ff47}.camp-node.selected{box-shadow:0 0 0 2px var(--accent)}.camp-node.complete{color:var(--muted);border-color:#8ce0ff57}.camp-node.complete .node-glyph{color:var(--accent)}.camp-node.locked{opacity:.62}.camp-node.failed{border-color:var(--danger);color:var(--danger)}.camp-node:disabled{opacity:.5;cursor:default}.node-state{letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:9px}.camp-contract,.camp-bay,.camp-roster,.camp-store{background:var(--panel);border:1px solid var(--edge);border-radius:6px;max-height:320px;padding:10px;font-size:11px;overflow-y:auto}.camp-roster h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:10px 0 4px;font-size:10px}.camp-contract{grid-area:contract}.camp-contract.negotiating{min-height:350px;max-height:380px}.camp-bay{grid-area:bay}.camp-roster{grid-area:roster}.camp-store{grid-area:store}.camp-contract h3,.camp-bay h3,.camp-roster h3,.camp-store h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 6px;font-size:11px}.camp-brief{color:var(--muted);line-height:1.4}.camp-negotiate{border:0;gap:5px;margin:0 0 7px;padding:0;display:grid}.camp-negotiate legend{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;padding:0}.contract-option{border:1px solid var(--edge);cursor:pointer;border-radius:4px;grid-template-columns:auto 1fr auto;gap:2px 6px;padding:6px;display:grid}.contract-option.chosen{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, transparent)}.contract-option input{accent-color:var(--accent);grid-row:1/3;margin:2px 1px 0 0}.contract-option-name{color:var(--text);font-weight:700}.contract-option-pay,.contract-option-salvage,.contract-exposure,.contract-package{color:var(--muted)}.contract-option-pay{grid-column:2}.contract-option-salvage{grid-area:1/3/3;align-self:center}.contract-exposure{margin:6px 0 8px;line-height:1.35}.contract-package{text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-weight:700}.camp-buttons{flex-wrap:wrap;gap:6px;display:flex}.camp-contract button.secondary{color:var(--muted);background:0 0}.camp-bay ul,.camp-roster ul,.camp-store ul{margin:0;padding:0;list-style:none}.camp-bay li,.camp-roster li,.camp-store li{border-bottom:1px solid #ffffff0d;align-items:center;gap:6px;padding:3px 0;display:flex}.bay-mech-name,.camp-roster li{grid-template-columns:1fr auto auto;grid-template-areas:"name name name""skills seat buttons";align-items:center;gap:2px 6px;display:grid}.camp-roster .pilot-name{grid-area:name}.camp-roster .pilot-skills{grid-area:skills}.camp-roster .pilot-state{grid-area:skills;justify-self:end;padding-right:4px}.camp-roster .pilot-mech{grid-area:seat}.camp-roster .pilot-buttons{grid-area:buttons}.pilot-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.bay-mech-state,.pilot-state{color:var(--muted);font-size:10px}.bay-mech-state{gap:1px;min-width:0;display:grid}.faction-economy{min-width:0;color:var(--muted);white-space:normal;overflow-wrap:anywhere;font-size:9px;line-height:1.35;display:block}.faction-economy[data-faction=aurelian]{color:var(--warn)}.pilot-skills{font-variant-numeric:tabular-nums;color:var(--accent)}.pilot-mech{border:1px solid var(--edge);max-width:130px;color:var(--text);font:inherit;background:0 0;border-radius:3px;padding:1px 3px;font-size:10px}.pilot-mech:disabled{opacity:.4}.pilot-buttons{gap:3px;display:flex}.pilot-buttons button{padding:1px 4px;font-size:9px}.strip-legal{color:var(--danger);font-size:9px}.camp-log{color:var(--muted);grid-area:log;font-size:10px}.camp-log ul{margin:4px 0 0;padding:0;list-style:none}.camp-status{color:var(--accent)}.outcome{flex-direction:column;align-items:center;gap:10px;display:flex}.outcome button{background:var(--panel);border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:6px 14px;font-size:12px}.objectives{background:var(--panel);border:1px solid var(--edge);border-radius:6px;width:250px;padding:10px;font-size:11px;position:absolute;top:52px;left:12px}.objectives h4{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 6px;font-size:10px}.objectives ul{margin:0;padding:0;list-style:none}.objectives li{align-items:baseline;gap:6px;padding:2px 0;display:flex}.objectives li.complete{color:var(--accent)}.objectives li.failed{color:var(--danger);text-decoration:line-through}.objective-mark{width:10px}.objective-label{flex:1}.objective-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:10px}.objectives .zones{border-top:1px solid #ffffff14;margin-top:8px;padding-top:6px}.objectives .zones li{justify-content:space-between}.objectives .zones .held{color:var(--accent)}.objectives .zones .lost{color:var(--muted)}.support{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.rp{font-variant-numeric:tabular-nums;color:var(--warn);border:1px solid #ffc06159;border-radius:4px;align-self:center;padding:4px 8px;font-size:12px}.training-coach{z-index:2;border:1px solid var(--accent);background:#090c10f0;border-radius:6px;width:250px;padding:11px 12px;font-size:11px;position:absolute;top:225px;left:12px;box-shadow:0 8px 24px #00000047}.training-coach strong,.training-kicker{display:block}.training-kicker{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px;font-size:9px}.training-coach strong{color:var(--accent);font-size:13px}.training-coach p{color:var(--text);margin:5px 0 9px;line-height:1.45}.training-progress{gap:5px;display:flex}.training-progress i{background:var(--edge);width:24px;height:3px}.training-progress i.done{background:var(--accent)}.support-call{background:var(--panel);border:1px solid var(--edge);text-align:left;border-radius:4px;flex-direction:column;flex:1;align-items:stretch;gap:3px;min-width:210px;max-width:270px;padding:6px 9px;font-size:11px;display:flex}.support-call:disabled{opacity:.5;cursor:not-allowed}.support-call.active{border-color:var(--warn);color:var(--warn)}.support-call-head{justify-content:space-between;gap:12px;display:flex}.support-cost{color:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.support-effect,.support-placement{font-size:9px;line-height:1.3}.support-effect{color:var(--text)}.support-placement{color:var(--muted)}.support-call.active .support-placement{color:var(--warn)}.briefing{z-index:10;border:1px solid var(--accent);background:#090c10f7;border-radius:8px;padding:22px 26px;position:absolute;inset:5% max(5%,50% - 460px);overflow-y:auto}.briefing h2{color:var(--accent);margin:0 0 10px;font-size:17px}.briefing h4{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:14px 0 4px;font-size:10px}.briefing p{margin:0;font-size:12px;line-height:1.55}.briefing ul{margin:0;padding-left:18px;font-size:12px}.briefing-setup-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.setup-field{min-width:0;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:5px;font-size:10px;display:flex}.setup-field select,.setup-fixed{border:1px solid var(--edge);width:100%;min-width:0;color:var(--text);font:inherit;letter-spacing:0;text-transform:none;background:#ffffff0d;border-radius:4px;padding:6px 8px;font-size:11px}.setup-fixed{flex-direction:column;gap:3px;display:flex}.setup-fixed small,.setup-description{color:var(--muted);letter-spacing:0;text-transform:none;font-size:9px;line-height:1.4}.briefing-rp{color:var(--warn);margin-top:14px!important}.briefing button{border:1px solid var(--accent);color:var(--accent);background:#8ce0ff24;border-radius:4px;margin-top:18px;padding:8px 22px;font-size:13px}.bay-dossier{border:1px solid var(--edge);background:var(--panel);border-radius:6px;padding:10px 12px}.bay-dossier h4{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 6px;font-size:13px;display:flex}.dossier-class{letter-spacing:.08em;color:var(--muted);font-size:10px}.dossier-summary{color:var(--text);margin:0 0 6px;font-size:12px}.dossier-lore{max-width:78ch;color:var(--muted);margin:0;font-size:11px;line-height:1.55}.dossier-traits{flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.dossier-traits li{border:1px solid var(--edge);letter-spacing:.05em;text-transform:uppercase;color:var(--accent);cursor:help;border-radius:3px;padding:2px 7px;font-size:10px}.stock-note{display:none}.camp-manual{z-index:40;background:#05070ac7;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.manual-sheet{border:1px solid var(--edge);background:var(--panel);border-radius:8px;width:min(760px,100%);max-height:100%;padding:20px 24px 24px;overflow-y:auto}.manual-sheet>header{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:4px;display:flex}.manual-sheet h3{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0;font-size:14px}.manual-sheet article{border-top:1px solid var(--edge);padding:14px 0}.manual-sheet h4{letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0 0 4px;font-size:12px}.manual-summary{color:var(--accent);margin:0 0 10px;font-size:11px;font-style:italic}.manual-sheet p{max-width:72ch;color:var(--muted);margin:0 0 9px;font-size:12px;line-height:1.65}.chassis-silhouette{width:100%;height:min(44vh,400px);margin:4px 0 12px;display:block}.sil-edge{stroke:#0b1014;stroke-width:1px;vector-effect:non-scaling-stroke;stroke-linejoin:round}.sil-leader{stroke:var(--accent);stroke-width:1px;opacity:.5;vector-effect:non-scaling-stroke}.sil-mount{fill:#080c10d9;stroke:var(--accent);stroke-width:1.4px;vector-effect:non-scaling-stroke}.sil-mount-count{fill:var(--accent);text-anchor:middle;font-family:inherit}.sil-lit .sil-mount{stroke:var(--warn)}.sil-lit .sil-mount-count{fill:var(--warn)}.marquee{border:1px solid var(--accent);pointer-events:none;background:#8ce0ff1a;position:absolute}.pilot-traits{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;font-size:9px;display:block}.camp-hires li{grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:3px 0;display:grid}.camp-hires button{border:1px solid var(--edge);background:0 0;border-radius:3px;padding:2px 8px;font-size:10px}.camp-hires button:disabled{opacity:.4;cursor:default}.camp-empty{color:var(--muted);font-size:11px}@media (width<=640px),(pointer:coarse) and (width<=1100px){.app{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}.topbar{padding:calc(6px + var(--safe-top)) calc(8px + var(--safe-right)) 6px calc(8px + var(--safe-left));flex-wrap:nowrap;gap:6px;overflow-x:auto}.setup-run-actions{background:0 0;border:0;flex:none;padding:0;position:static}.briefing{inset:calc(48px + var(--safe-top)) calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left));padding:16px}.briefing-setup-grid{grid-template-columns:1fr}.mission{text-overflow:ellipsis;white-space:nowrap;max-width:90px;font-size:10px;overflow:hidden}.clock{font-size:12px}.pause{flex:none;padding:6px 10px;font-size:11px}.hint{display:none}.objectives{top:calc(46px + var(--safe-top));left:calc(8px + var(--safe-left));max-width:46vw;font-size:10px}.training-coach{top:auto;bottom:calc(150px + var(--safe-bottom));left:calc(8px + var(--safe-left));width:min(220px,45vw)}.hostiles{top:calc(46px + var(--safe-top));left:auto;right:calc(8px + var(--safe-right));max-width:50vw}.hostile{min-width:108px;font-size:10px}.sidebar{top:auto;bottom:calc(220px + var(--safe-bottom));right:calc(8px + var(--safe-right));width:190px;max-height:34dvh;padding:8px;font-size:11px;overflow-y:auto}.log{max-height:60px}.bottombar{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));gap:6px}.lance,.palette,.support{flex-wrap:nowrap;overflow-x:auto}.topbar select{display:none}.topbar .pause:has(option){display:none}.mission{flex:1;max-width:none}.clock,.pause{flex:none}.lance-card{flex:none;min-width:128px;font-size:10px}.command,.support-call,.group-key,.doll-cell{min-height:34px}.command,.support-call{flex:none;padding:6px 10px}.support-call{width:220px}.command-key{display:none}}@media (width<=640px) and (orientation:landscape),(pointer:coarse) and (width<=1100px) and (orientation:landscape){.sidebar{top:calc(44px + var(--safe-top));max-height:calc(100dvh - 200px);bottom:auto}}@media (width<=640px),(pointer:coarse) and (width<=1100px){.camp,.bay{-webkit-overflow-scrolling:touch;height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 10px calc(10px + env(safe-area-inset-bottom,0px));grid-template:none/1fr;overflow-y:auto}.camp>*,.bay>*{grid-area:auto;min-width:0;min-height:min-content}.camp,.bay{grid-auto-rows:min-content}.camp-map{min-height:220px}.camp-roster,.camp-store,.camp-bay,.camp-contract{max-height:none;overflow-y:visible}.camp-contract.negotiating{min-height:min-content;max-height:none}.camp-top{gap:6px}.camp-top h2{flex-basis:100%;font-size:14px}}.minimap{border:1px solid var(--edge);width:160px;height:160px;image-rendering:pixelated;cursor:grab;touch-action:none;background:#05070a;border-radius:4px;position:absolute;bottom:12px;right:12px}.minimap.dragging{cursor:grabbing}.minimap:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent);box-shadow:0 0 0 1px #05070aeb,0 0 12px #8ce0ff80}@media (width<=640px),(pointer:coarse) and (width<=1100px){.minimap{top:calc(70px + var(--safe-top));right:calc(8px + var(--safe-right));width:104px;height:104px;bottom:auto}}.manifest-backdrop{z-index:45;background:#05070ad1;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.manifest{border:1px solid var(--edge);background:var(--panel);border-radius:8px;width:min(1120px,100%);max-height:100%;padding:16px 20px 20px;overflow-y:auto}.manifest>header h3{margin:0 0 2px}.manifest>header p{color:var(--muted);margin:0 0 10px;font-size:11px}.manifest-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.manifest-row{border:1px solid var(--edge);border-left:3px solid #0000;border-radius:4px;grid-template-columns:minmax(140px,.8fr) minmax(190px,1fr) minmax(300px,1.5fr);align-items:center;gap:10px;padding:7px 9px;display:grid}.manifest-row.drops{border-left-color:var(--accent,#8ce0ff);background:#8ce0ff0d}.manifest-row.unfit{opacity:.5}.manifest-status{color:var(--muted);font-size:9px;display:block}.manifest-skills{gap:1px;margin:0;font-size:10px;display:grid}.manifest-skills>div{gap:6px;display:flex}.manifest-skills dt{width:58px;color:var(--muted)}.manifest-skills dd{margin:0}.manifest-mech{gap:4px;display:grid}.manifest-health{background:#ffffff1a;border-radius:2px;height:3px;overflow:hidden}.manifest-health>span{background:var(--accent,#8ce0ff);height:100%;display:block}.manifest-actions{gap:8px;margin-top:12px;display:flex}@media (width<=640px),(pointer:coarse) and (width<=1100px){.manifest-row{grid-template-columns:1fr}}.debrief-fate{letter-spacing:.06em;font-size:10px}.debrief-fate.returned{color:var(--accent)}.debrief-fate.injured{color:var(--warn)}.debrief-fate.killed{color:var(--danger)}.debrief-losses{color:var(--danger);margin:10px 0 0;font-size:11px}.hostile.unidentified{border-style:dashed}.hostile.unidentified .hostile-name{color:var(--muted);font-style:italic}.pilot-line{color:var(--muted);font-variant-numeric:tabular-nums;gap:8px;margin:-6px 0 10px;font-size:10px;display:flex}.pilot-line-range{color:var(--accent);margin-left:auto}.manifest-profile{gap:18px;margin:0 0 8px;font-size:11px;display:flex}.manifest-profile>div{align-items:baseline;gap:6px;display:flex}.manifest-profile dt{color:var(--muted)}.manifest-profile dd{font-variant-numeric:tabular-nums;color:var(--accent);margin:0}.manifest-profile>div.over dd{color:var(--danger)}.manifest-brief{color:var(--muted);margin:0 0 10px;font-size:10px;line-height:1.5}.bay-slotgrid{gap:2px;min-height:16px;margin:4px 0 6px;padding:0;list-style:none;display:grid}.slot-block{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:2px;min-width:0;height:16px;overflow:hidden}.slot-block.empty{background:0 0;border-style:dashed;border-color:#ffffff17}.slot-block>button{width:100%;height:100%;font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;color:inherit;background:0 0;border:0;padding:0 3px;font-size:9px;line-height:14px;overflow:hidden}.slot-block.tone-energy{--cell:#8ce0ff8c;background:#8ce0ff1f;border-color:#8ce0ff8c}.slot-block.tone-ballistic{--cell:#ffd4898c;background:#ffd4891f;border-color:#ffd4898c}.slot-block.tone-missile{--cell:#ff9d5c8c;background:#ff9d5c1f;border-color:#ff9d5c8c}.slot-block.tone-ammo{--cell:#ff9d5c59;background:#ff9d5c0f;border-color:#ff9d5c59;font-style:italic}.slot-block.tone-gear{--cell:#ffffff47;background:#ffffff12;border-color:#ffffff47}.rack-cells{flex-wrap:wrap;gap:2px;min-width:0;display:flex}.rack-cell{border:1px solid var(--cell,#ffffff38);background:var(--cell,#ffffff0d);border-radius:1px;flex:none;width:16px;height:9px}.slot-block.empty .rack-cell{background:0 0;border-style:dashed;border-color:#ffffff2e}.slot-block.empty .rack-cell--incoming{border-style:solid;border-color:var(--accent);background:#8ce0ff38}.rack-free-count{color:var(--muted);font-size:9px}.slot-block.too-big{border-color:var(--danger);color:var(--danger);background:#ff8a6b2e}.bay-shelf-tabs{gap:4px;margin-bottom:6px;display:flex}.bay-shelf-tabs button{border:1px solid var(--edge);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:3px;flex:1;padding:4px 0;font-size:10px}.bay-shelf-tabs button.active{color:var(--accent);background:#8ce0ff1f}.stock-count{float:right;color:var(--muted);font-style:normal}.bay-stock.exhausted{opacity:.32;cursor:not-allowed}.bay-dossier-card{border:1px solid var(--edge);background:#8ce0ff0a;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:11px}.bay-dossier-card.empty{color:var(--muted)}.bay-dossier-card p{margin:0}.bay-dossier-card h4{margin:0 0 1px;font-size:12px}.dossier-line{color:var(--muted);font-size:10px;margin-bottom:6px!important}.dossier-stats{gap:4px;margin:0 0 6px;display:grid}.dossier-stats dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:9px}.dossier-stats dd{margin:0;font-size:10px;line-height:1.4}.dossier-stats dd.hot{color:var(--warn)}.dossier-note{color:var(--text);font-size:10px;line-height:1.5;margin-bottom:4px!important}.dossier-bargain{color:var(--muted);font-size:10px;font-style:italic;line-height:1.5}.manifest-buttons{gap:4px;display:flex}.manifest-buttons>button{flex:1}.refit-bay{border:1px solid var(--edge);background:var(--bg);border-radius:8px;width:min(1500px,100%);height:min(940px,100%);overflow:hidden}.briefing-lance{margin:10px 0 4px}.briefing-lance h4{justify-content:space-between;align-items:baseline;display:flex}.briefing-tonnage{color:var(--accent);font-variant-numeric:tabular-nums;font-size:11px}.briefing-tonnage.over{color:var(--danger)}.briefing-berth{grid-template-columns:minmax(360px,2fr) minmax(150px,1fr) auto;gap:6px;margin-bottom:5px;display:grid}.briefing-berth select,.briefing-berth button{border:1px solid var(--edge);min-width:0;color:var(--text);font:inherit;background:#ffffff0d;border-radius:3px;padding:3px 4px;font-size:11px}.bay-armour-total{color:var(--muted);gap:2px;font-size:10px;display:grid}.bay-armour-total input{width:100%}.bay-armour-detail summary{cursor:pointer;color:var(--muted);letter-spacing:.04em;font-size:10px}.bay-armour-row{color:var(--muted);text-transform:capitalize;grid-template-columns:1fr 1.2fr;align-items:center;gap:6px;font-size:9px;display:grid}.bay-armour-row input{width:100%}.bay-armour-read{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:9px;display:block}.bay-show-all{color:var(--muted);align-items:center;gap:5px;margin-bottom:5px;font-size:9px;display:flex}.bay-sinks>button{border:1px solid var(--edge);color:var(--accent);font:inherit;background:#8ce0ff1f;border-radius:3px;padding:2px 7px;font-size:10px}.bay-armed-banner{border:1px solid var(--accent);background:#8ce0ff1a;border-radius:4px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding:5px 10px;font-size:11px;display:flex}.bay-armed-banner button{border:1px solid var(--edge);color:var(--accent);font:inherit;background:0 0;border-radius:3px;padding:2px 8px;font-size:10px}.bay-stock.armed{border-color:var(--accent);background:#8ce0ff24}.bay-location.armed-target{border-style:dashed;border-color:var(--accent);cursor:copy}.bay-location.armed-target:hover{background:#8ce0ff14}.camp-hall{background:var(--panel);border:1px solid var(--line);border-radius:6px;grid-area:hall;padding:10px 12px}.camp-hall h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.camp-hall ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.camp-hall button{text-align:left;width:100%;color:inherit;cursor:pointer;background:#ffffff08;border:1px solid #0000;border-radius:4px;grid-template-columns:minmax(0,1fr);gap:2px 10px;padding:6px 8px;display:grid}.camp-hall button:hover,.camp-hall .chosen button{border-color:var(--accent);background:#ffffff12}.hall-name{font-weight:600}.hall-employer{color:var(--muted);grid-column:1;font-size:11px}.hall-profile{color:var(--muted);grid-column:1/-1;font-size:10px;line-height:1.35}.camp-title{flex-direction:column;flex:1 0 180px;gap:2px;min-width:0;display:flex}.camp-title h2{flex:none}.camp-title .camp-seed{color:var(--muted);font-size:9px}.hall-terms{font-variant-numeric:tabular-nums;min-width:0;color:var(--accent);overflow-wrap:anywhere;grid-area:auto/1;place-self:center start;font-size:10px}.hall-note{color:var(--muted);margin:8px 0 0;font-size:11px}.pilot-stats{gap:3px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.pilot-stats li{grid-template-columns:54px 1fr 18px;align-items:center;gap:6px;font-size:10px;display:grid}.pilot-stats .stat-label{color:var(--muted);letter-spacing:.04em}.pilot-stats .stat-bar{background:#00000073;border-radius:3px;height:5px;overflow:hidden}.pilot-stats .stat-bar span{background:var(--accent);height:100%;display:block}.pilot-stats .stat-score{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}.pilot-stats.compact{grid-column:1/-1;gap:2px;margin-top:2px}.pilot-stats.compact li{grid-template-columns:48px 1fr 16px;font-size:9px}.camp-market{background:var(--panel);border:1px solid var(--line);border-radius:6px;grid-area:market;padding:10px 12px}.camp-market h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px}.yard-stock-note{color:var(--muted);overflow-wrap:anywhere;margin:0 0 10px;font-size:10px;line-height:1.4}.camp-market ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.camp-market .market-sell{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}.camp-market li{grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-size:11px;display:grid}.camp-market li.empty{color:var(--muted);display:block}.market-name{flex-direction:column;min-width:0;display:flex}.market-name small{color:var(--muted);font-size:10px}.market-price{font-variant-numeric:tabular-nums;color:var(--accent)}.speed-controls{gap:2px;display:inline-flex}.speed-controls .pause{min-width:2.2rem;padding-inline:.35rem}.target-line .target-range{color:var(--dim,#8fa1a8);margin-left:.5rem;font-size:.82em}.hit-factors{flex-wrap:wrap;gap:4px;margin:.25rem 0 .35rem;display:flex}.hit-factors span{color:#9fb2ba;background:#ffffff0f;border-radius:3px;padding:1px 6px;font-size:.72rem}.hit-factors .penalty{color:#e0a86e}.hit-factors .bonus{color:#8fd49a}.weapon-hit{text-align:right;font-variant-numeric:tabular-nums;min-width:2.6rem}.weapon-hit.good{color:#8fd49a}.weapon-hit.fair{color:#e0c86e}.weapon-hit.poor{color:#e0876e}.weapon-hit.blocked{color:#75858c;font-size:.72rem}.perf-overlay{z-index:30;pointer-events:none;border:1px solid #ffffff29;border-radius:4px;position:absolute;bottom:168px;left:10px}.incoming-fire-directions{z-index:54;pointer-events:none;contain:strict;position:absolute;inset:0;overflow:hidden}.incoming-fire-tick{box-sizing:border-box;opacity:0;filter:drop-shadow(0 0 3px #f55332f2);will-change:opacity;border-top:3px solid #ffc06f;border-right:3px solid #ffc06f;width:17px;height:17px;position:absolute}.incoming-fire-tick.pulse-a{animation:.85s ease-out both incoming-fire-pulse-a}.incoming-fire-tick.pulse-b{animation:.85s ease-out both incoming-fire-pulse-b}@keyframes incoming-fire-pulse-a{0%{opacity:0}14%,58%{opacity:1}to{opacity:0}}@keyframes incoming-fire-pulse-b{0%{opacity:0}14%,58%{opacity:1}to{opacity:0}}.mech-preview{cursor:crosshair;background:radial-gradient(circle at 50% 64%,#8ce0ff1f,#0000 42%),linear-gradient(#8ce0ff09 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#8ce0ff09 1px,#0000 1px) 0 0/24px 24px,#090d11;border:1px solid #8ce0ff38;border-radius:6px;height:clamp(220px,31vh,330px);margin:8px 0 5px;position:relative;overflow:hidden}.mech-preview:after{content:"";pointer-events:none;background:#8ce0ff33;height:1px;position:absolute;bottom:10%;left:12%;right:12%}.mech-preview canvas{z-index:1;position:relative}.mech-preview .chassis-silhouette{width:100%;height:100%;margin:0;padding:12px}.bay-preview-help{color:var(--muted);margin:0 0 10px;font-size:9px;line-height:1.4}.bay-location{transition:border-color .1s,background-color .1s,box-shadow .1s}.bay-location.selected{border-color:var(--warn);background:#ffc0610e;box-shadow:inset 0 0 0 1px #ffc0613d}.bay-location.hovered{border-color:var(--accent);background:#8ce0ff12}.bay-location.compatible:not(.selected):not(.hovered){border-color:#8fd49aa6;box-shadow:inset 0 0 0 1px #8fd49a14}.bay-location.armed-target.compatible{cursor:copy;background:#8fd49a14;border-style:solid;border-color:#8fd49a;box-shadow:inset 0 0 0 1px #8fd49a33}.bay-location-name{min-width:0;color:inherit;text-align:left;background:0 0;border:0;padding:2px 0}.bay-location-name[aria-pressed=true]{color:var(--warn)}.bay-location-name:disabled{cursor:default}.bay-location-name:focus-visible,.weapon-card__pick:focus-visible,.bay-stock>button:focus-visible,.bay-shelf-tabs button:focus-visible,.bay-location-filter button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bay-shelf-head{border-bottom:1px solid #ffffff12;gap:5px;padding-bottom:6px;display:grid}.bay-location-filter{color:var(--warn);text-transform:capitalize;background:#ffc06112;border:1px solid #ffc0616b;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:5px 7px;display:flex}.bay-location-filter button{color:var(--text);background:0 0;border:1px solid #ffffff29;border-radius:3px;flex:none;padding:2px 6px;font-size:9px}.weapon-category{border-bottom:1px solid #ffffff12;margin:0;padding:7px 2px 9px}.weapon-category:last-child{border-bottom:0}.weapon-category>h4{color:var(--text);letter-spacing:.12em;margin:0 0 6px;font-size:10px}.weapon-category>ul,.bay-simple-stocks{gap:7px;margin:0;padding:0;list-style:none;display:grid}.weapon-card{--weapon-faction:#e2b56b;border:1px solid #e2b56b47;border-left:3px solid var(--weapon-faction);color:var(--text);background:linear-gradient(110deg,#e2b56b13,#ffffff05 58%);border-radius:5px;gap:6px;padding:8px 8px 9px 11px;display:grid;position:relative;overflow:hidden}.weapon-card.faction-aurelian{--weapon-faction:#8edfd1;border-color:#8edfd14d;border-left-color:var(--weapon-faction);background:linear-gradient(110deg,#8edfd114,#ffffff05 58%)}.weapon-card.is-selected{box-shadow:inset 0 0 0 1px var(--accent), 0 0 12px #8ce0ff14}.weapon-card.is-unavailable{opacity:.48}.weapon-card__pick{width:100%;min-width:0;color:inherit;text-align:left;background:0 0;border:0;gap:6px;padding:0;display:grid}.weapon-card__heading{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.weapon-glyph{border:1px solid color-mix(in srgb, var(--weapon-faction) 38%, transparent);width:64px;height:40px;color:var(--weapon-faction);background:#05080b7a;border-radius:4px;padding:3px}.weapon-card__identity{min-width:0;display:grid}.weapon-card__identity strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.weapon-card__category,.weapon-card__stock{color:var(--muted);font-size:9px}.weapon-card__stock{color:var(--weapon-faction);font-variant-numeric:tabular-nums}.weapon-card__badges,.weapon-card__traits{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.weapon-card__faction-badge,.weapon-card__foreign-badge,.weapon-card__trait{border:1px solid color-mix(in srgb, var(--weapon-faction) 42%, transparent);color:var(--weapon-faction);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 5px;font-size:8px}.weapon-card__foreign-badge{color:var(--muted);border-style:dashed}.weapon-card__meters{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.weapon-card__meter{grid-template-columns:1fr auto;gap:2px 4px;min-width:0;font-size:8px;display:grid}.weapon-card__meter-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.weapon-card__meter-value{color:var(--text);font-variant-numeric:tabular-nums}.weapon-card__meter-track{background:#ffffff14;border-radius:3px;grid-column:1/-1;height:4px;overflow:hidden}.weapon-card__meter-track>span{background:var(--weapon-faction);height:100%;display:block}.weapon-card__meter.is-warning .weapon-card__meter-value{color:var(--warn)}.weapon-card__meter.is-warning .weapon-card__meter-track>span{background:var(--warn)}.weapon-card__cost,.weapon-card__operating-line,.weapon-card__unavailable-reason{font-size:9px;line-height:1.45;display:block}.weapon-card__cost{color:var(--text)}.weapon-card__operating-line{color:var(--muted)}.weapon-card__unavailable-reason{color:var(--warn)}.weapon-range-strip{grid-template-rows:17px 7px auto;gap:3px;min-width:0;padding-top:2px;display:grid;position:relative}.weapon-range-strip__candidate,.weapon-range-strip__mounted{width:100%;display:block;position:relative}.weapon-range-strip__candidate{background:#ffffff0d;height:6px;margin-top:5px}.weapon-range-strip__segment,.weapon-range-strip__envelope{height:100%;position:absolute;top:0}.weapon-range-strip__segment.is-minimum{background:repeating-linear-gradient(135deg,#ffc0612e 0 2px,#0000 2px 4px)}.weapon-range-strip__segment.is-short{background:var(--weapon-faction)}.weapon-range-strip__segment.is-medium{background:color-mix(in srgb, var(--weapon-faction) 62%, transparent)}.weapon-range-strip__segment.is-long{background:color-mix(in srgb, var(--weapon-faction) 30%, transparent)}.weapon-range-strip__tick{color:var(--muted);white-space:nowrap;font-size:7px;line-height:1;position:absolute;top:7px;transform:translate(-50%)}.weapon-range-strip__tick.is-long{transform:translate(-100%)}.weapon-range-strip__mounted{background:#ffffff0a;height:5px}.weapon-range-strip__envelope{border-right:1px solid var(--accent);background:#8ce0ff1f}.weapon-range-strip__mounted-mark{background:var(--accent);width:1px;height:9px;color:var(--accent);font-size:7px;position:absolute;top:-2px;transform:translate(-1px)}.weapon-range-strip__comparison{color:var(--muted);font-size:8px;line-height:1.35}.bay-simple-stocks{padding:7px 2px}.bay-stock{padding:0}.bay-stock>button{width:100%;min-height:40px;color:inherit;text-align:left;background:0 0;border:0;gap:2px;padding:6px 8px;display:grid}.stock-name{justify-content:space-between;gap:8px;display:flex}.bay-shelf-empty{color:var(--muted);margin:12px 4px;font-size:10px;line-height:1.5}@media (width<=1280px) and (pointer:fine){.bay{grid-template-columns:286px minmax(430px,1fr) 350px}.weapon-card__heading{grid-template-columns:54px minmax(0,1fr) auto}.weapon-glyph{width:54px}}@media (width<=640px),(pointer:coarse) and (width<=1100px){.mech-preview{width:100%;max-width:560px;height:min(56vh,330px);margin-left:auto;margin-right:auto}.bay-machine,.bay-side{overflow:visible}.bay-side{display:block}.bay-side>.bay-stocks,.bay-grid{overflow:visible}.bay-shelf-tabs button,.bay-location-filter button,.bay-show-all,.bay-location-name,.bay-stock>button,.weapon-card__pick,.bay-armed-banner button{min-height:44px}.weapon-card__pick{display:grid}.bay-show-all{margin:0}.weapon-category>ul{gap:9px}}@media (prefers-reduced-motion:reduce){.bay-location{transition:none}}.weapon-mode,.weapon-mode-readout{min-width:54px;color:var(--accent);text-align:center;border:1px solid #8ce0ff3d;border-radius:3px;place-items:center;font-size:9px;line-height:18px;display:inline-grid}.weapon-mode{cursor:pointer;background:#8ce0ff14;min-height:20px;padding:0 6px}.weapon-mode:hover:not(:disabled),.weapon-mode:focus-visible{border-color:var(--accent);background:#8ce0ff24}.weapon-mode:disabled{cursor:not-allowed;opacity:.45;text-decoration:none}.weapon-mode-readout{color:var(--muted);padding:0 6px}@media (pointer:coarse){.weapon-mode{min-width:44px;min-height:44px}}@media (width>=641px){.topbar{z-index:20}.briefing{top:max(52px,5%)}}@media (width>=641px) and (width<=1320px){.topbar{gap:8px}.topbar .hint{display:none}}.tactical-readout{border-top:1px solid #ffffff14;border-bottom:1px solid #ffffff14;gap:7px;margin:0 0 8px;padding:7px 0;font-size:10px;display:grid}.ability-readout,.tactical-row{grid-template-columns:68px 1fr auto;align-items:center;gap:2px 6px;display:grid}.ability-readout .tactical-label{grid-column:1}.ability-readout strong{grid-column:2;min-width:0}.ability-readout .tactical-state{grid-column:3}.ability-readout p{color:var(--muted);grid-column:1/-1;margin:1px 0 0;font-size:9px;line-height:1.35}.tactical-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:8px}.tactical-state{color:var(--accent);letter-spacing:.05em;text-align:right;white-space:nowrap;font-size:8px}.tactical-state.ok,.alpha-band.ok{color:#8fd49a}.tactical-state.warn,.alpha-band.warn,.governor-line .warn{color:var(--warn)}.tactical-state.danger,.alpha-band.danger,.alpha-band.critical{color:var(--danger)}.stability-track{background:#00000080;border-radius:3px;grid-column:1/3;height:5px;position:relative;overflow:hidden}.stability-fill{background:#8fd49a;height:100%;display:block}.stability-fill.warn{background:var(--warn)}.stability-fill.danger{background:var(--danger)}.stability-mark{background:#ffffffb3;width:1px;position:absolute;inset-block:0}.tactical-number{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:9px}.alpha-readout strong{font-variant-numeric:tabular-nums;grid-column:1}.alpha-band{text-align:right;grid-column:2/4;font-size:8px}.alpha-caveat{color:var(--muted);grid-column:1/-1;font-size:8px}.governor-line{justify-content:space-between;gap:8px;display:flex}.governor-line strong{color:var(--accent);letter-spacing:.05em;font-size:8px}.command.timed{grid-template-columns:auto auto;gap:1px 6px;display:grid}.command.timed .command-key{grid-row:1/3}.command-state{color:var(--muted);letter-spacing:.04em;white-space:nowrap;font-size:7px}@media (width<=640px),(pointer:coarse) and (width<=1100px){.camp,.bay,.briefing,.battle-results,.manual-sheet,.manifest{--tap-size:44px;font-size:13px;line-height:1.4}.camp,.bay{height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;grid-template:none/minmax(0,1fr);grid-auto-rows:min-content;grid-auto-columns:minmax(0,1fr);grid-auto-flow:row;overflow:hidden auto}.camp>*,.bay>*,.camp>.camp-hall,.camp>.camp-market{grid-area:auto/1;width:auto;min-width:0}.camp>*,.bay>*{min-height:min-content}.camp button,.camp select,.camp input[type=file],.bay button,.bay select,.bay input:not([type=checkbox]):not([type=range]),.briefing button,.briefing select,.battle-results button,.battle-results select,.manual-sheet button,.manifest button,.manifest select{min-height:var(--tap-size);font-size:13px}.camp small,.bay small,.setup-description,.manifest-status,.manifest-brief,.battle-results small{font-size:11px}.camp h3,.camp h4,.bay h3,.bay h4{font-size:13px}.setup-field,.setup-fixed small,.pilot-trait,.pilot-seat,.pilot-training button small,.pilot-picks button small,.pilot-state,.bay-slots,.bay-armour-read,.bay-show-all,.dossier-stats dt{font-size:11px}.camp-top{gap:8px}.camp-title,.camp-top h2{flex-basis:100%}.camp-top button,.camp-top .feedback-link{text-align:center;flex:92px;place-items:center;padding:8px 10px;display:grid}.camp-import{flex:100%;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;font-size:12px;display:grid}.camp-import input{width:100%;min-width:0;max-width:none}.camp-map{grid-template-columns:minmax(0,1fr);gap:6px;width:100%;min-height:0;padding:8px;display:grid}.camp-terrain{display:none}.camp-node{width:100%;min-width:var(--tap-size);min-height:var(--tap-size);white-space:normal;padding:7px 9px;position:static;transform:none}.camp-node .node-state{display:none}.camp-node .node-meta{font-size:9px;display:block}.camp-node .node-name{max-width:none;font-size:11px;display:block}.camp-legend{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:2px;font-size:11px;position:static}.camp-contract,.camp-contract.negotiating,.camp-bay,.camp-roster,.camp-store{min-height:min-content;max-height:none;overflow-y:visible}.contract-option{min-height:56px;padding:8px}.contract-option input[type=radio]{width:20px;height:20px}.bay-top{order:0;gap:8px}.bay-name{flex:100%}.bay-top select{flex:100%;min-width:0}.bay-top select,.briefing-berth select:first-child{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 10px),calc(100% - 6px);background-repeat:no-repeat;background-size:4px 4px;padding-right:18px;font-size:10px}.bay-machine{order:1;overflow-y:visible}.chassis-silhouette{height:clamp(180px,30dvh,260px)}.bay-side{flex-direction:column;order:3;min-height:0;display:flex;overflow:visible}.bay-side>.bay-stocks{overscroll-behavior:auto;flex:none;max-height:none;overflow-y:visible}.bay-grid{order:2;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:none;overflow:visible}.bay-grid>*{grid-area:auto}.bay-grid>.bay-armed-banner{grid-column:1/-1}.bay-actions{order:4}.bay-shelf-tabs button,.bay-stock,.bay-show-all,.bay-armed-banner button,.bay-sinks>button{min-height:var(--tap-size)}.bay-stock{justify-content:center;padding:6px 8px;font-size:12px}.stock-detail{font-size:11px}.bay-show-all input[type=checkbox]{width:20px;height:20px}.bay input[type=range]{min-height:var(--tap-size)}.bay-armed-banner{top:calc(8px + env(safe-area-inset-top,0px));z-index:3;min-height:var(--tap-size);background:#0c161cfa;position:sticky}.bay-slotgrid{gap:4px;grid-template-columns:minmax(0,1fr)!important}.slot-block{height:var(--tap-size);grid-column:1!important}.slot-block.empty{display:none}.slot-block>button{padding:0 10px;font-size:12px;line-height:1.2}.briefing p,.briefing ul,.manual-sheet p{font-size:13px}.briefing-berth{grid-template-columns:minmax(0,1fr);gap:6px}.briefing-actions{z-index:2;padding:10px 16px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--edge);background:#090c10fa;gap:8px;margin:14px -16px -16px;display:grid;position:sticky;bottom:-16px;box-shadow:0 -10px 18px #0000003d}.briefing-actions .briefing-rp,.briefing-actions button{margin-top:0!important}.briefing-actions button{width:100%}.manifest-actions,.battle-results-actions{align-items:stretch}.manifest-actions>button,.battle-results-actions>button{flex:140px}.camp-manual,.manifest-backdrop{padding:calc(10px + env(safe-area-inset-top,0px)) calc(10px + env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) calc(10px + env(safe-area-inset-left,0px))}.battle-results-backdrop{padding:calc(8px + env(safe-area-inset-top,0px)) calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px))}.app{--mobile-top:calc(52px + var(--safe-top));--mobile-dock:250px;--tap-size:44px}.mobile-topbar{z-index:50;height:var(--mobile-top);padding:var(--safe-top) calc(8px + var(--safe-right)) 0 calc(8px + var(--safe-left));pointer-events:auto;background:#080b0ef5;grid-template-columns:auto minmax(0,1fr) auto auto;gap:6px;display:grid;overflow:visible}.mobile-topbar .clock{align-self:center;min-width:52px;font-size:13px}.mobile-topbar>.pause,.mobile-battle-menu>summary{min-height:var(--tap-size);place-items:center;padding:5px 10px;font-size:12px;display:grid}.mobile-battle-menu{position:static}.mobile-battle-menu>summary{border:1px solid var(--edge);background:var(--panel);min-width:58px;color:var(--text);cursor:pointer;border-radius:4px;list-style:none}.mobile-battle-menu>summary::-webkit-details-marker{display:none}.mobile-menu-sheet{z-index:55;top:var(--mobile-top);left:var(--safe-left);right:var(--safe-right);max-height:calc(100dvh - var(--mobile-top) - var(--safe-bottom));border:1px solid var(--edge);background:#090c10fa;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid;position:fixed;overflow-y:auto}.mobile-menu-sheet>strong,.mobile-menu-buttons,.mobile-menu-sheet .setup-run-actions,.mobile-menu-sheet .setup-contract{grid-column:1/-1}.mobile-menu-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mobile-menu-sheet .pause,.mobile-menu-sheet select,.mobile-menu-sheet .feedback-link{width:100%;min-height:var(--tap-size);place-items:center;padding:7px 9px;font-size:12px;display:grid}.mobile-menu-sheet .setup-run-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid;position:static}.mobile-dock{z-index:35;left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));height:var(--mobile-dock);pointer-events:none;grid-template-rows:96px 44px minmax(0,1fr);gap:5px;display:grid;position:absolute}.mobile-dock>*{pointer-events:auto}.mobile-lance-row{gap:5px;min-width:0;display:flex}.mobile-lance-row .lance{flex:1;gap:5px;min-width:0;overflow-x:auto}.mobile-lance-row .lance-card{flex:0 0 100%;min-width:0;min-height:96px;padding:5px 7px}.mobile-lance-action{border:1px solid var(--edge);background:var(--panel);min-width:52px;min-height:96px;color:var(--text);border-radius:4px;flex:none;padding:4px 6px;font-size:11px}.mobile-lance-action.active,.mobile-lance-action.armed{border-color:var(--accent);color:var(--accent)}.mobile-dock-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;display:grid}.mobile-dock-tabs button{min-width:0;min-height:var(--tap-size);border:1px solid var(--edge);background:var(--panel);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;padding:4px 6px;font-size:10px;overflow:hidden}.mobile-dock-tabs button.active{border-color:var(--accent);color:var(--accent)}.mobile-tray{border:1px solid var(--edge);background:#090c10f2;border-radius:5px;min-height:0;overflow:hidden}.mobile-tray .palette{grid-template-rows:repeat(2,minmax(44px,1fr));grid-auto-columns:116px;grid-auto-flow:column;gap:4px;height:100%;padding:4px;display:grid;overflow-x:auto}.mobile-tray .command{min-width:116px;min-height:var(--tap-size);justify-content:center;padding:5px 8px;font-size:11px}.mobile-tray .command-key{display:none}.mobile-tray .support,.mobile-tray .hostiles{flex-wrap:nowrap;gap:5px;width:100%;max-width:none;height:100%;padding:4px;display:flex;position:static;overflow-x:auto}.mobile-tray .support-call,.mobile-tray .hostile{width:210px;min-width:210px;min-height:var(--tap-size);flex:none;padding:5px 8px}.mobile-tray .rp{z-index:1;min-width:52px;min-height:var(--tap-size);background:#090c10fa;place-items:center;display:grid;position:sticky;left:0}.mobile-unit-panel{height:100%;padding:8px;font-size:11px;overflow-y:auto}.mobile-unit-panel h2{margin:0 0 5px;font-size:13px}.mobile-unit-panel .doll{float:left;width:150px;margin:0 10px 6px 0}.mobile-unit-panel .doll-cell,.mobile-unit-panel .group-key{min-width:var(--tap-size);min-height:var(--tap-size)}.mobile-unit-panel .log{clear:both}.mobile-objectives{z-index:31;top:calc(var(--mobile-top) + 6px);left:calc(8px + var(--safe-left));width:min(210px, calc(100vw - 132px - var(--safe-left) - var(--safe-right)));max-width:none;padding:0}.mobile-objectives>summary,.mobile-training>summary{min-height:var(--tap-size);color:var(--accent);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:11px;list-style:none;display:flex}.mobile-objectives>summary::-webkit-details-marker{display:none}.mobile-training>summary::-webkit-details-marker{display:none}.mobile-objectives .objective-body{max-height:36dvh;padding:0 9px 8px;overflow-y:auto}.mobile-objectives .objective-body h4{display:none}.minimap{z-index:30;top:calc(var(--mobile-top) + 6px);width:104px;height:104px}.mobile-training{z-index:34;top:auto;bottom:calc(var(--mobile-dock) + 16px + var(--safe-bottom));left:calc(8px + var(--safe-left));width:min(260px, calc(100vw - 16px - var(--safe-left) - var(--safe-right)));padding:0}.mobile-training p,.mobile-training .training-progress{margin-left:9px;margin-right:9px}.mobile-training .training-progress{margin-bottom:8px}.paused-banner{z-index:32;top:calc(var(--mobile-top) + 5px)}.briefing{inset:var(--mobile-top) calc(8px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(8px + var(--safe-left))}}@media (width<=640px) and (orientation:landscape),(pointer:coarse) and (width<=1100px) and (orientation:landscape){.app{--mobile-dock:118px}.mobile-dock{grid-template-rows:44px minmax(0,1fr);grid-template-columns:minmax(290px,44vw) minmax(0,1fr)}.mobile-lance-row{grid-row:1/-1}.mobile-lance-row .lance-card{flex:0 0 100%;min-width:0;min-height:100%}.mobile-lance-action{min-width:52px;min-height:100%}.mobile-dock-tabs{grid-area:1/2}.mobile-tray{grid-area:2/2}.mobile-tray .palette{grid-template-rows:minmax(44px,1fr)}.mobile-training{bottom:calc(var(--mobile-dock) + 16px + var(--safe-bottom));width:250px}.mobile-objectives .objective-body{max-height:42dvh}.minimap{width:88px;height:88px}}.damage-readouts{z-index:7;pointer-events:none;contain:layout paint style;position:absolute;inset:0;overflow:hidden}.damage-readout{--readout-life:.95s;--readout-peak:.92;color:#e8f4fa;letter-spacing:.045em;text-align:center;text-shadow:0 1px 2px #000;overflow-wrap:anywhere;white-space:normal;opacity:0;will-change:transform, opacity;background:#070a0da8;border:1px solid #0000;border-radius:3px;max-width:min(360px,62vw);padding:2px 6px;font-size:clamp(10px,1.05vw,13px);font-weight:750;line-height:1.25;position:absolute;transform:translate(-50%,-50%)}.damage-readout.armour{--readout-life:.72s;--readout-peak:.72;color:#bcecff;background:#070a0d57;font-weight:650}.damage-readout.structure{--readout-life:.95s;--readout-peak:.92;color:#ffd89a;border-color:#ffc061a3}.damage-readout.critical{--readout-life:1.08s;--readout-peak:.98;color:#ffe0a8;background:#0c0a07d1;border-color:#ffc061c2}.damage-readout.danger,.damage-readout.terminal{--readout-peak:1;color:#ffb09e;background:#100707d6;border-color:#ff6852b8}.damage-readout.danger{--readout-life:1.2s}.damage-readout.terminal{--readout-life:1.35s}.damage-readout.miss{--readout-life:.48s;--readout-peak:.55;color:#c3cfd7;background:#070a0d47;font-weight:650}.damage-readout.is-active{animation:damage-readout-rise var(--readout-life) cubic-bezier(.16, .78, .28, 1) both}@keyframes damage-readout-rise{0%{opacity:0;transform:translate(-50%,calc(4px - 50%))scale(.97)}14%{opacity:var(--readout-peak)}72%{opacity:var(--readout-peak)}to{opacity:0;transform:translate(-50%,calc(-50% - 12px))scale(1)}}@keyframes damage-readout-fade{0%{opacity:0}18%{opacity:var(--readout-peak)}72%{opacity:var(--readout-peak)}to{opacity:0}}.damage-readouts.reduced-motion .damage-readout.is-active{animation-name:damage-readout-fade}@media (prefers-reduced-motion:reduce){.damage-readout.is-active{animation-name:damage-readout-fade}}@media (width<=700px),(height<=500px) and (width<=940px){.damage-readout{letter-spacing:.025em;max-width:68vw;padding:2px 5px;font-size:11px}.damage-readout.armour,.damage-readout.miss{font-size:10px}}.formation-picker{border:1px solid var(--accent);background:var(--panel);min-height:32px;color:var(--text);border-radius:4px;flex:none;grid-template-columns:auto minmax(76px,1fr);align-items:center;gap:2px 7px;padding:4px 7px;font-size:10px;display:grid}.formation-picker-label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}.formation-picker select{min-width:76px;min-height:24px;color:var(--accent);font:inherit;background:#03080ce0;border:1px solid #7dd3fc66;border-radius:3px;font-weight:700}.formation-picker-note{color:var(--muted);letter-spacing:.03em;white-space:nowrap;grid-column:1/-1;font-size:9px}@media (width<=640px),(pointer:coarse) and (width<=1100px){.mobile-tray .formation-picker{width:116px;min-width:116px;min-height:var(--tap-size);grid-row:1/-1;grid-template-columns:1fr;align-content:center;padding:4px 6px}.mobile-tray .formation-picker-label,.mobile-tray .formation-picker-note{text-align:center}.mobile-tray .formation-picker-note{grid-column:1;font-size:8px}.mobile-tray .formation-picker select{width:100%;min-height:28px}}.camera-lance-row{align-items:stretch;gap:8px;display:flex}.camera-lance-row>.lance{flex:1;min-width:0}.camera-centre{flex:none;align-self:stretch}.support{align-self:flex-start;position:relative}.command-support-row{align-items:stretch;gap:8px;display:flex}.command-support-row>.palette{flex:1;min-width:0}.support-toggle{border:1px solid var(--edge);min-width:174px;min-height:38px;color:var(--text);font:inherit;background:#090c10f5;border-radius:5px;justify-content:space-between;align-items:center;gap:14px;padding:7px 10px;display:flex}.support-toggle:hover,.support-toggle:focus-visible,.support-toggle.active{border-color:var(--warn)}.support-toggle-rp,.support-cost{color:var(--warn);font-variant-numeric:tabular-nums;white-space:nowrap}.support-drawer{z-index:7;border:1px solid var(--edge);background:#090c10fa;border-radius:6px;width:min(560px,100vw - 340px);padding:8px;position:absolute;bottom:calc(100% + 6px);left:auto;right:0;box-shadow:0 12px 32px #0000006b}.support-drawer[hidden]{display:none}.support-choices{gap:5px;display:flex}.support-call{border:1px solid var(--edge);min-width:0;min-height:42px;color:var(--text);text-align:left;background:#ffffff09;border-radius:4px;flex:1;grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;padding:6px 8px;display:grid}.support-call:hover,.support-call:focus-visible,.support-call.active{border-color:var(--warn)}.support-call[aria-disabled=true]{opacity:.48;cursor:not-allowed}.support-mark{min-width:32px;color:var(--accent);letter-spacing:.08em;grid-row:1/3;font-size:8px}.support-label{white-space:nowrap;font-size:11px}.support-cost{font-size:9px}.support-detail{color:var(--muted);border-top:1px solid #ffffff14;grid-template-columns:auto 1fr;gap:3px 10px;margin-top:7px;padding-top:7px;font-size:9px;line-height:1.35;display:grid}.support-detail strong{color:var(--text);grid-row:1/3;font-size:10px}.support-detail .blocked{color:var(--warn)}.support.embedded,.support.embedded .support-drawer{width:100%;position:static}.support.embedded .support-drawer{height:100%;box-shadow:none;gap:5px;padding:4px;display:flex}.support.embedded .rp{flex:none;place-items:center;min-width:52px;min-height:44px;display:grid}.support.embedded .support-choices{flex:none}.support.embedded .support-call{width:148px;min-width:148px;min-height:44px}.support.embedded .support-detail{border:1px solid #ffffff14;border-radius:4px;grid-template-columns:1fr;width:260px;min-width:260px;margin:0;padding:5px 8px;overflow:hidden}.support-notice{z-index:8;border:1px solid var(--warn);width:max-content;max-width:min(380px,100vw - 340px);color:var(--warn);background:#120c07f7;border-radius:4px;margin:0;padding:6px 8px;font-size:10px;line-height:1.35;position:absolute;bottom:calc(100% + 6px);right:0}.support.embedded .support-notice{align-self:stretch;min-width:180px;max-width:240px;position:sticky;bottom:auto;right:0}.support.embedded .support-detail strong{grid-row:auto}@media (width<=640px),(pointer:coarse) and (width<=1100px){.support.embedded .support-drawer{overflow-x:auto}}.sidebar-details{border-top:1px solid #ffffff14;margin-top:9px}.sidebar-details summary{min-height:34px;color:var(--muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:8px;font-size:10px;list-style:none;display:flex}.sidebar-details summary::-webkit-details-marker{display:none}.sidebar-details summary:after{content:"+";color:var(--accent);font-size:14px}.sidebar-details[open] summary:after{content:"−"}.sidebar-details summary span{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.sidebar-details .tactical-readout,.sidebar-details .log{border-top:0;margin-top:0;padding-top:3px}.mobile-unit-panel .sidebar-details summary{min-height:44px}.pilot-hand{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin:2px 0 6px;font-size:10px;display:flex}.pilot-hand span{border:1px solid var(--edge);color:var(--text);letter-spacing:.06em;border-radius:2px;padding:1px 5px}.pilot-hand em{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-style:normal}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(./DMSans-Variable-OkNhvBry.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(./BarlowCondensed-SemiBold-B7YG4rBL.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(./BarlowCondensed-Bold-v1X23fbx.ttf)format("truetype")}:root{--exp-paper:#f3f0e7;--exp-paper-raised:#fdfbf4;--exp-ink:#193744;--exp-muted:#52665e;--exp-orange:#d97753;--exp-orange-ink:#984726;--exp-navy:#112c39;--exp-teal:#32766d;--exp-line:#c6cec1;--exp-sand:#e8bd7c;--exp-positive:#28684d;--exp-negative:#ab402f;--exp-shadow:0 12px 36px #0c232b1f;--font-body:"DM Sans", Arial, sans-serif;--font-display:"Barlow Condensed", "Arial Narrow", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg:#0c222c;--panel:#112c39f5;--edge:#9fc0b35c;--accent:#b5dfc9;--warn:#efc182;--danger:#ffa087;--text:#eff1e6;--muted:#b0c2ba;--ok:#a9d7ad;font-family:var(--font-body);font-synthesis:none;font-size:14px}button,select,input,textarea{font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600}.clock,.tactical-number,.gauge-value,.briefing-tonnage,.weapon-ammo,.weapon-range,.pilot-skills,.command-key,.build-review__metrics dd,.battle-results-summary strong,.armour-paper-doll__location-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button,select,input,textarea,summary{accent-color:var(--accent)}:is(button,select,input,textarea,summary,a,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled{cursor:not-allowed}input,textarea,select{-webkit-user-select:text;user-select:text}.route-loading,.crash{font-family:var(--font-body)}.crash-panel{border-radius:8px}@media (prefers-contrast:more){:root{--exp-paper:#fffdf5;--exp-paper-raised:#fff;--exp-ink:#102a35;--exp-muted:#334b42;--exp-line:#60786c;--exp-teal:#17594f;--exp-positive:#195532}}@media (forced-colors:active){:root{--exp-paper:Canvas;--exp-paper-raised:Canvas;--exp-ink:CanvasText;--exp-muted:CanvasText;--exp-line:CanvasText;--exp-teal:LinkText;--exp-orange-ink:LinkText;--exp-positive:CanvasText;--exp-negative:CanvasText}:is(button,select,input,textarea,summary,a,[tabindex]):focus-visible{outline-color:highlight}}.briefing,.battle-results{--panel:var(--exp-paper-raised);--edge:var(--exp-line);--accent:var(--exp-teal);--warn:#945e1d;--danger:var(--exp-negative);--text:var(--exp-ink);--muted:var(--exp-muted);--ok:var(--exp-positive);border:1px solid var(--edge);border-top:4px solid var(--exp-orange);background:var(--exp-paper);color:var(--text);border-radius:7px;box-shadow:0 18px 80px #081b2266}.briefing{padding:25px 28px}.briefing h2{color:var(--text);margin-bottom:13px;font-size:34px}.briefing h4{letter-spacing:.08em;margin-top:16px;margin-bottom:7px;font-size:16px}.briefing p,.briefing ul{font-size:13px;line-height:1.65}.briefing>ul{border-left:3px solid var(--accent);background:var(--panel);padding:10px 12px 10px 30px}.briefing .setup-field{font-size:11px;font-weight:600}.briefing .setup-field select,.briefing .setup-fixed,.briefing .briefing-berth select{border-color:var(--edge);background-color:var(--panel);min-height:36px;color:var(--text);font-size:12px}.briefing .setup-description,.briefing .setup-fixed small{font-size:11px}.briefing .briefing-berth{border-bottom:1px solid var(--edge);gap:8px;padding-block:6px}.briefing .briefing-berth button{background:var(--panel);min-height:36px;color:var(--accent);margin-top:0;padding:5px 10px;font-size:12px}.briefing .briefing-tonnage{font-size:15px}.briefing .pilot-stats{color:var(--muted)}.briefing .training-briefing-note{border-color:var(--edge);background:var(--panel);color:var(--muted)}.briefing .briefing-actions{border-top:1px solid var(--edge);background:var(--exp-paper);padding-top:12px}.briefing .briefing-actions>button,.battle-results .battle-results-actions>button{border:1px solid var(--accent);background:var(--accent);min-height:42px;color:var(--exp-paper-raised);letter-spacing:.025em;border-radius:4px;font-size:13px;font-weight:700}.briefing .briefing-actions>button.secondary,.battle-results .battle-results-actions>button.secondary{background:var(--panel);color:var(--text);border-color:var(--edge)}.briefing .briefing-actions>button:disabled{opacity:.5}.battle-results .battle-results-heading h2{color:var(--text);letter-spacing:.025em;font-size:36px}.battle-results .battle-results-heading p{font-size:13px;line-height:1.55}.battle-results .battle-results-summary>div{background:var(--panel)}.battle-results .battle-results-summary strong{font-size:17px}.battle-results .battle-results-summary small,.battle-results .battle-results-row small,.battle-results .battle-results-actions small{font-size:11px}.battle-results .battle-results-row{border-bottom-color:var(--edge);font-size:12px}.battle-results .battle-results-lance h3{font-size:17px}.battle-results .unit-result.operational{color:var(--ok)}@media (width<=640px),(pointer:coarse) and (width<=1100px){.briefing{padding:18px}.briefing h2{font-size:29px}.briefing .briefing-berth{grid-template-columns:minmax(0,1fr)}.briefing :is(button,select),.battle-results button{min-height:44px}.briefing .briefing-actions{background:var(--exp-paper);padding-top:10px}}@media (prefers-contrast:more){.briefing,.battle-results{--edge:var(--exp-line);--accent:var(--exp-teal)}}@media (forced-colors:active){.briefing,.battle-results{--text:CanvasText;--muted:CanvasText;--panel:Canvas;--accent:LinkText;--warn:CanvasText;--danger:CanvasText;box-shadow:none;border-color:canvastext}.briefing .briefing-actions>button,.battle-results .battle-results-actions>button{color:buttontext;background:buttonface}}.app .battle-topbar,.app .mobile-topbar{border-bottom:2px solid var(--exp-orange);background:#112c39f7;box-shadow:0 4px 18px #06151b2b}.app .battle-topbar .mission{font-family:var(--font-display);letter-spacing:.045em;font-size:20px}.app .clock{color:var(--exp-sand);font-size:13px}.app .clock-final{color:var(--danger)}.app .pause{border-color:var(--edge);background:#f3f0e70d;min-height:30px;font-size:12px;font-weight:600}.app .pause.active{color:var(--warn);background:#e8bd7c1f}.app .sidebar,.app .objectives,.app .training-coach,.app .salvage-drill-coach,.app .desktop-menu-sheet,.app .mobile-menu-sheet,.app .tactics-drawer,.app .support-drawer,.app .mobile-tray{border-color:var(--edge);background:var(--panel);box-shadow:0 6px 24px #06161d33}.app .sidebar{border-top:3px solid var(--exp-orange)}.app .sidebar h2{font-size:23px;line-height:1.1}.app .sidebar h2 small{font-family:var(--font-body);margin-top:4px;font-size:11px;line-height:1.4}.app .sidebar .empty{font-size:12px;line-height:1.5}.app .sidebar-details{border-top-color:var(--edge)}.app .sidebar-details summary{letter-spacing:.04em;font-size:11px;font-weight:600}.app .tactical-readout{border-color:var(--edge);font-size:11px}.app .tactical-label,.app .tactical-state{letter-spacing:.025em;font-size:9px}.app .ability-readout p{font-size:11px;line-height:1.45}.app .alpha-caveat,.app .governor-line strong{font-size:9px}.app .pilot-hand{font-size:11px}.app .doll-cell{background:#f3f0e70d;border-color:#b2c9bb38}.app .doll-cell.active{border-color:var(--warn);box-shadow:0 0 0 1px var(--warn)}.app .doll-cell.destroyed{border-color:var(--danger);background:#ae3c263d}.app .doll-label{font-size:10px}.app .weapon-group li{font-size:11px}.app .weapon-name{color:var(--text)}.app .weapon-range,.app .weapon-ammo{font-size:10px}.app .group-key{border-color:var(--edge);background:#b5dfc914}.app .weapon-mode{border-color:var(--edge);background:#f3f0e70d}.app .weapon-mode[aria-pressed=true]{color:var(--warn)}.app .bottombar{gap:8px}.app .lance-card{border-color:var(--edge);background:linear-gradient(145deg,#1c3d47,#112c39);border-top-width:3px;padding:8px 10px;box-shadow:0 4px 16px #05141b33}.app .lance-card.selected{border-color:var(--exp-sand);box-shadow:inset 0 2px var(--exp-sand), 0 4px 16px #05141b33;background:linear-gradient(145deg,#31524f,#193943)}.app .lance-name{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.05}.app .lance-chassis{font-size:11px;line-height:1.3}.app .lance-status{color:#c7d4c1;letter-spacing:.06em;font-size:9px}.app .lance-health{background:#081d27;height:5px}.app .lance-health span{background:#add6b0}.app .command,.app .support-toggle,.app .mobile-lance-action,.app .mobile-dock-tabs button{border-color:var(--edge);color:var(--text);background:#16343f;font-size:12px;font-weight:600}.app .command{min-height:36px;padding:6px 10px}.app .command.active,.app .mobile-lance-action.active,.app .mobile-dock-tabs button.active{border-color:var(--exp-sand);color:#faf3d9;background:#35554e}.app .command-key{color:#bfd0c5;border-color:var(--edge);font-size:10px}.app .command-state{color:var(--muted);font-size:9px}.app .command:disabled{opacity:.48}.app .support-toggle{border-left:3px solid var(--exp-orange)}.app .support-call{background:#20404a}.app .support-label{font-size:12px}.app .support-detail{border-color:var(--edge);font-size:11px}.app .support-cost{font-size:10px}.app .support-mark{font-family:var(--font-display);font-size:14px}.app .hostiles{background:#1d2a2deb;border:1px solid #de9d7f52;border-radius:5px;padding:7px}.app .hostiles-label{color:#eab59c;font-size:10px}.app .hostile{background:#293c3e;border-color:#de9d7f4d}.app .hostile.targeted{background:#494b40;border-color:#efb18c}.app .hostile-name{font-size:12px}.app .hostile-range{font-family:var(--font-mono);font-size:10px}.app .contact{border-color:var(--edge)}.app .minimap{border:2px solid #91a99b;border-radius:4px;box-shadow:0 6px 24px #06161d3d}.app .paused-banner{border-color:var(--exp-sand);font-family:var(--font-display);letter-spacing:.14em;background:#15353f;font-size:17px}.app .battle-menu-help{border-color:var(--edge);font-size:11px;line-height:1.5}.app .battle-menu-title{font-family:var(--font-display);font-size:22px}.app .log{font-size:11px;line-height:1.45}.app .objectives h4,.app .training-coach h4{font-size:17px}.app .training-coach p{font-size:12px;line-height:1.5}.app .training-progress{font-size:11px}.app .tactics-menu[open]>summary{color:var(--warn);background:#35554e}@media (width<=640px),(pointer:coarse) and (width<=1100px){.app .mobile-topbar{background:#112c39}.app .mobile-topbar .pause,.app .mobile-battle-menu>summary,.app .mobile-menu-sheet .pause,.app .mobile-menu-sheet select,.app .mobile-menu-sheet .feedback-link,.app .mobile-dock .command,.app .mobile-dock-tabs button,.app .mobile-tray .support-call,.app .mobile-unit-panel .group-key{min-height:44px}.app .mobile-dock .command{padding:5px 8px;font-size:11px}.app .mobile-dock-tabs button{font-size:11px}.app .mobile-lance-row .lance-card{padding:6px 8px}.app .mobile-lance-row .lance-name{font-size:18px}.app .mobile-lance-row .lance-chassis{font-size:11px}.app .mobile-lance-row .lance-status{font-size:9px}.app .mobile-tray .hostiles{background:0 0;border:0}.app .mobile-tray .rp{background:#112c39}.app .mobile-unit-panel{font-size:12px}.app .mobile-unit-panel h2{font-size:22px}.app .mobile-objectives>summary,.app .mobile-training>summary{font-size:12px}}@media (prefers-contrast:more){.app .sidebar,.app .lance-card,.app .command,.app .mobile-tray,.app .desktop-menu-sheet,.app .tactics-drawer,.app .support-drawer{background:#081d27}}@media (forced-colors:active){.app :is(.battle-topbar,.mobile-topbar,.sidebar,.objectives,.lance-card,.command,.mobile-lance-action,.mobile-tray,.tactics-drawer,.support-drawer,.desktop-menu-sheet,.mobile-menu-sheet,.hostiles,.hostile,.paused-banner){color:canvastext;box-shadow:none;background:canvas;border-color:canvastext}.app .lance-card.selected,.app .command.active,.app .mobile-dock-tabs button.active{border-width:3px}}.bay.bay--workspace{--panel:var(--exp-paper-raised);--edge:var(--exp-line);--accent:var(--exp-teal);--text:var(--exp-ink);--muted:var(--exp-muted);--warn:#945e1d;--warning:#945e1d;--danger:var(--exp-negative);--ok:var(--exp-positive);--catalog-fit:var(--exp-positive);background:var(--exp-paper);color:var(--text);font-family:var(--font-body)}.bay.bay--workspace .bay-top{border:1px solid var(--edge);border-top:3px solid var(--exp-orange);background:var(--panel);border-radius:6px;padding:10px 12px}.bay.bay--workspace .bay-name{background:var(--exp-paper);min-height:38px;font-size:17px;font-weight:600}.bay.bay--workspace :is(.bay-top,.bay-actions) :is(button,select){min-height:36px;font-size:12px}.bay.bay--workspace .bay-commission{color:var(--accent);font-size:13px;font-weight:600}.bay.bay--workspace .bay-workspace-tabs{background:#e5e8dc;padding:5px}.bay.bay--workspace .bay-workspace-tabs__tab{letter-spacing:.065em;font-size:12px}.bay.bay--workspace .bay-workspace-tabs__tab.is-active{border-color:var(--accent);background:var(--panel);color:var(--text);box-shadow:0 2px 6px #122b3412}.bay.bay--workspace .bay-workspace-tabs__count{background:var(--exp-paper);font-size:10px}.bay.bay--workspace :is(.bay-machine,.bay-side,.bay-location,.bay-dossier,.bay-dossier-card,.cooling-bank,.armour-workbench,.build-review,.build-compare,.location-workbench__guide){border-color:var(--edge);background:var(--panel);color:var(--text);box-shadow:0 2px 9px #122b340a}.bay.bay--workspace .bay-machine{padding:12px}.bay.bay--workspace .bay-machine h3{font-size:26px;line-height:1.08}.bay.bay--workspace .dossier-class{font-family:var(--font-body);margin-top:5px;font-size:11px}.bay.bay--workspace .bay-role{font-size:11px}.bay.bay--workspace .mech-preview{background:radial-gradient(at 50% 60%,#31565b,#112c39 75%);border-color:#537969;border-radius:5px;box-shadow:inset 0 0 32px #04161d3d}.bay.bay--workspace .bay-preview-help{font-size:11px;line-height:1.45}.bay.bay--workspace .bay-gauges{gap:9px;margin-top:12px}.bay.bay--workspace .bay-gauge{font-size:11px}.bay.bay--workspace .gauge-track{background:#d6dfd1;height:5px}.bay.bay--workspace .dossier-summary{color:var(--muted);font-size:12px;line-height:1.55}.bay.bay--workspace .dossier-traits li{border-color:var(--edge);color:var(--accent);font-size:10px}.bay.bay--workspace .bay-issues{font-size:11px;line-height:1.45}.bay.bay--workspace .machine-culture{--machine-culture-tone:#966020}.bay.bay--workspace .machine-culture.culture-aurelian{--machine-culture-tone:#26796f}.bay.bay--workspace .machine-culture__badge,.bay.bay--workspace :is(.machine-culture__explanation,.machine-culture__fit-guide,.machine-culture__foreign-note){font-size:11px}.bay.bay--workspace .location-workbench__guide{background:#e8ecdf}.bay.bay--workspace .location-workbench__guide h3{font-size:17px}.bay.bay--workspace .location-workbench__guide.is-folded h3{font-family:var(--font-body);font-size:12px}.bay.bay--workspace .location-workbench__disclosure{background:var(--panel);font-size:11px}.bay.bay--workspace .location-fit-steps li{border-color:var(--edge)}.bay.bay--workspace .location-fit-steps li.current{background:#dce9d8}.bay.bay--workspace .location-fit-steps li.complete{color:var(--ok)}.bay.bay--workspace .location-overview>.bay-location{padding:9px}.bay.bay--workspace .bay-location-name{color:var(--text);font-size:12px;font-weight:700}.bay.bay--workspace .bay-location.selected{border-color:var(--accent);box-shadow:inset 0 3px var(--accent);background:#edf4e5}.bay.bay--workspace .bay-location.hovered{border-color:var(--accent);background:#edf4e5}.bay.bay--workspace .bay-location.compatible{border-color:#6c9b7a}.bay.bay--workspace .bay-location.invalid{border-color:var(--danger)}.bay.bay--workspace .location-flag--compatible{border-color:var(--ok);color:var(--ok)}.bay.bay--workspace .location-flag--selected{border-color:var(--accent);color:var(--accent)}.bay.bay--workspace .location-overview .bay-armour-read{font-size:10px}.bay.bay--workspace .slot-block{color:var(--text);background:#e9eee2;border-color:#adc3b7}.bay.bay--workspace .slot-block.tone-energy{color:#275d57;background:#e0eee4;border-color:#85b3a1}.bay.bay--workspace .slot-block.tone-ballistic{color:#655127;background:#eee8d7;border-color:#bfaa7a}.bay.bay--workspace .slot-block.tone-missile{color:#81422e;background:#f3e5dc;border-color:#c28d72}.bay.bay--workspace .slot-block.tone-ammo{color:#655127;background:#f2eddf}.bay.bay--workspace .slot-block.tone-gear{color:#425c69;background:#e4ebed;border-color:#9cabb8}.bay.bay--workspace .slot-block__remove{color:var(--muted);border-left-color:var(--edge);background:#1937440a}.bay.bay--workspace .slot-block__inspect{font-size:11px}.bay.bay--workspace .slot-block.empty{border-color:var(--edge);background:0 0}.bay.bay--workspace .rack-cell{opacity:.6;background:currentColor;border-color:currentColor}.bay.bay--workspace .slot-block.empty .rack-cell{opacity:.45;background:0 0}.bay.bay--workspace .slot-block.empty .rack-cell--incoming{background:var(--ok);opacity:.75}.bay.bay--workspace .bay-armed-banner{border-color:var(--accent);color:var(--text);background:#dce9d8}.bay.bay--workspace .bay-catalog{--catalog-fit:var(--ok)}.bay.bay--workspace .bay-shelf-head{border-bottom-color:var(--edge);padding-bottom:9px}.bay.bay--workspace .bay-shelf-tabs button{font-size:11px}.bay.bay--workspace :is(.bay-catalog-search input,.bay-catalog-family select){background:var(--exp-paper);height:auto;min-height:34px;font-size:12px}.bay.bay--workspace :is(.bay-catalog-count,.bay-catalog-search,.bay-catalog-family){font-size:10px}.bay.bay--workspace .weapon-card{--weapon-faction:#966020;background:var(--exp-paper);border-color:var(--edge);border-left-color:var(--weapon-faction)}.bay.bay--workspace .weapon-card.faction-aurelian{--weapon-faction:#26796f;background:#e9f1e8}.bay.bay--workspace .weapon-card--compact .weapon-card__identity strong{font-size:12px}.bay.bay--workspace .weapon-card--compact .weapon-card__category,.bay.bay--workspace .weapon-card__quick-stats,.bay.bay--workspace .weapon-card__fit{font-size:10px}.bay.bay--workspace .weapon-card--compact.is-unavailable{background:#efeee6}.bay.bay--workspace .weapon-card--compact.is-inspected{background:#e3edde}.bay.bay--workspace .bay-stock{background:var(--exp-paper);color:var(--text);border-color:var(--edge)}.bay.bay--workspace .bay-stock>button{color:var(--text);font-size:12px}.bay.bay--workspace :is(.bay-catalog-inspector,.bay-dossier-card,.dossier-stats){background:var(--exp-paper);border-color:var(--edge)}.bay.bay--workspace .bay-dossier-card h4{font-size:22px}.bay.bay--workspace .bay-dossier-card p{font-size:11px;line-height:1.5}.bay.bay--workspace .weapon-glyph{background:#19374412}.bay.bay--workspace .bay-actions{border:1px solid var(--edge);background:var(--panel);border-radius:5px;padding:9px 12px}.bay.bay--workspace .bay-actions [data-testid=bay-save]:not(:disabled){background:var(--accent);color:var(--exp-paper-raised)}@media (width<=760px),(pointer:coarse) and (width<=1100px){.bay.bay--workspace .bay-top{padding:8px}.bay.bay--workspace :is(.bay-top,.bay-actions) :is(button,select),.bay.bay--workspace :is(.bay-shelf-tabs button,.bay-catalog-search input,.bay-catalog-family select,.location-workbench__disclosure,.machine-culture__disclosure){min-height:44px}.bay.bay--workspace .location-overview>.bay-location{padding:7px}.bay.bay--workspace .bay-machine h3{font-size:25px}.bay.bay--workspace .bay-actions{gap:8px}}@media (forced-colors:active){.bay.bay--workspace{--text:CanvasText;--muted:CanvasText;--panel:Canvas;--accent:LinkText;--warn:CanvasText;--warning:CanvasText;--danger:CanvasText;--ok:CanvasText}.bay.bay--workspace :is(.bay-top,.bay-actions,.bay-machine,.bay-side,.bay-location,.bay-workspace-tabs,.bay-workspace-tabs__tab,.slot-block,.weapon-card,.bay-stock,.bay-catalog-inspector,.bay-dossier-card,.location-workbench__guide,.bay-armed-banner){color:canvastext;box-shadow:none;background:canvas;border-color:canvastext}.bay.bay--workspace .bay-actions [data-testid=bay-save]:not(:disabled){color:buttontext;background:buttonface}.bay.bay--workspace .mech-preview{background:canvas;border-color:canvastext}}.bay.bay--workspace :is(.armour-workbench__header,.cooling-bank__header) h4{letter-spacing:.025em;font-size:23px}.bay.bay--workspace :is(.armour-workbench__header,.cooling-bank__header) p{font-size:11px;line-height:1.45}.bay.bay--workspace :is(.armour-paper-doll__editor,.armour-workbench__faces>div,.cooling-bank__allocation>div,.cooling-bank__heat>div,.build-review__metrics>div,.build-review__gear-group){border-color:var(--edge);background:var(--exp-paper)}.bay.bay--workspace :is(.armour-workbench button,.cooling-bank button,.cooling-bank select,.cooling-bank input){border-color:var(--edge);background:var(--exp-paper);font-family:var(--font-body)}.bay.bay--workspace :is(.armour-workbench__maximise,.armour-workbench__total,.armour-workbench__location>label,.armour-workbench__rear>label,.armour-paper-doll__slider-label,.armour-workbench__advanced>summary,.cooling-bank select,.cooling-bank__controls>label){font-size:12px}.bay.bay--workspace :is(.armour-workbench__presets legend,.armour-workbench__preset-grid strong,.armour-workbench__faces dt,.cooling-bank dt,.cooling-bank__verdict){font-size:11px}.bay.bay--workspace :is(.armour-workbench__preset-grid span,.armour-workbench__advanced>p,.cooling-bank__help,.cooling-bank__stock,.cooling-bank__fit-note,.cooling-bank__allocation span,.cooling-bank__heat span){font-size:11px;line-height:1.45}.bay.bay--workspace .armour-workbench__preset-grid button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 2px var(--accent);background:#dce9d8}.bay.bay--workspace :is(.armour-workbench__location,.cooling-bank__stock),.bay.bay--workspace .armour-workbench__rear{border-color:var(--edge)}.bay.bay--workspace :is(.armour-workbench dd,.cooling-bank dd){font-family:var(--font-mono);font-size:15px}.bay.bay--workspace .armour-paper-doll__stage,.bay.bay--workspace .range-damage-chart{--text:#eff1e6;--muted:#b0c2ba;--accent:#b5dfc9;--warn:#efc182;--danger:#ffa087;--edge:#607e77;border-color:var(--edge);color:var(--text);background:#112c39}.bay.bay--workspace .armour-paper-doll__stage{background:radial-gradient(at 50% 48%,#7ba99521,#0000 60%),linear-gradient(#afccb90d 1px,#0000 1px) 0 0/24px 24px,linear-gradient(90deg,#afccb90d 1px,#0000 1px) 0 0/24px 24px,#112c39}.bay.bay--workspace .armour-paper-doll__location{background:#193d48}.bay.bay--workspace .armour-paper-doll__location[aria-pressed=true]{border-color:var(--warn);background:#495849}.bay.bay--workspace .armour-paper-doll__location--below-median:not([aria-pressed=true]){border-color:var(--danger);background:#523e3a}.bay.bay--workspace .armour-paper-doll__location-label{font-size:9px}.bay.bay--workspace .armour-paper-doll__location-value{font-size:12px}.bay.bay--workspace .armour-paper-doll__location-status{font-size:8px}.bay.bay--workspace .armour-paper-doll__editor[data-below-class-median=true]{border-color:var(--danger)}.bay.bay--workspace .armour-paper-doll__slider-label>:last-child:not(output){font-size:10px}.bay.bay--workspace .range-damage-chart__caption{font-size:11px}.bay.bay--workspace .range-damage-chart__caption span{font-size:9px}.bay.bay--workspace .build-compare{padding:9px}.bay.bay--workspace .build-compare__header p{font-size:10px}.bay.bay--workspace .build-compare__header h3{font-size:19px}.bay.bay--workspace :is(.build-compare__header span,.build-compare--missing>p){font-size:11px}.bay.bay--workspace .build-compare__metric{background:var(--exp-paper);padding:6px}.bay.bay--workspace .build-compare__metric.is-good{border-left-color:var(--ok)}.bay.bay--workspace .build-compare__metric.is-good .build-compare__direction{color:var(--ok)}.bay.bay--workspace .build-compare__metric dt{font-size:9px}.bay.bay--workspace :is(.build-compare__metric dd,.build-compare__direction){font-size:10px}.bay.bay--workspace .build-compare__unit{font-size:9px}.bay.bay--workspace .build-review__header h3{font-size:30px}.bay.bay--workspace .build-review__eyebrow{font-size:11px}.bay.bay--workspace .build-review__verdict strong{font-size:13px}.bay.bay--workspace :is(.build-review__verdict span,.build-review__metrics dt,.build-review__metrics span,.build-review__gear-group li span,.build-review__gear-group p,.build-review__issue-group li,.build-review__issue-action,.build-review__next p){font-size:12px;line-height:1.45}.bay.bay--workspace .build-review__metrics dd{font-size:19px}.bay.bay--workspace :is(.build-review__gear-group h4,.build-review__issues>h4){font-size:17px}.bay.bay--workspace .build-review__gear-group li{font-size:12px}.bay.bay--workspace .build-review__issue-group{background:#f3e6dc}.bay.bay--workspace .build-review__issue-group.has-warnings{background:#f2ecdb}.bay.bay--workspace .build-review__issue-group h5{font-size:12px}.bay.bay--workspace .build-review__location{border-color:var(--edge);font-size:10px}.bay.bay--workspace .build-review__next{border-color:var(--edge)}.bay.bay--workspace .build-review__next button{background:var(--accent);color:var(--exp-paper-raised);font-size:12px}@media (forced-colors:active){.bay.bay--workspace .armour-paper-doll__stage,.bay.bay--workspace .range-damage-chart{--text:CanvasText;--muted:CanvasText;--accent:LinkText;--warn:CanvasText;--danger:CanvasText;--edge:CanvasText;color:canvastext;background:canvas}.bay.bay--workspace :is(.armour-paper-doll__location,.build-review__issue-group,.build-review__next button,.armour-workbench__preset-grid button[aria-pressed=true]){color:canvastext;box-shadow:none;background:canvas;border-color:canvastext}.bay.bay--workspace .armour-paper-doll__location[aria-pressed=true]{border-width:3px}}.camp-workspace :is(.manual-sheet,.campaign-chooser,.manifest.debrief){--text:var(--exp-ink);--muted:var(--exp-muted);--accent:var(--exp-teal);--edge:var(--exp-line);--panel:var(--exp-paper-raised);--warn:#916022;--danger:var(--exp-negative);--ok:var(--exp-positive);border-color:var(--edge);border-top:4px solid var(--exp-orange);background:var(--exp-paper);color:var(--text);font-family:var(--font-body);border-radius:8px;box-shadow:0 18px 70px #081b2252}.camp-workspace :is(.camp-manual,.campaign-chooser-backdrop){background:#0d232ba8}.camp-workspace .manual-sheet>header{background:var(--exp-paper);border-bottom:1px solid var(--edge)}.camp-workspace .manual-sheet h3{color:var(--text);letter-spacing:.04em;font-size:30px}.camp-workspace .manual-sheet h4{letter-spacing:.035em;font-size:21px}.camp-workspace .manual-controls h5{letter-spacing:.06em;font-size:12px}.camp-workspace .manual-sheet p{font-size:13px;line-height:1.65}.camp-workspace .manual-bindings>div{border-color:var(--edge)}.camp-workspace .manual-bindings :is(dt,dd){font-size:12px;line-height:1.5}.camp-workspace .manual-bindings dt{font-weight:600}.camp-workspace .manual-sheet>header button{border-color:var(--edge);background:var(--panel);min-height:36px;color:var(--text);font-size:12px}.camp-workspace .campaign-chooser h3{color:var(--text);font-size:32px;line-height:1.1}.camp-workspace .campaign-chooser p{font-size:13px;line-height:1.65}.camp-workspace .campaign-chooser .campaign-chooser-kicker{color:var(--accent);font-size:11px}.camp-workspace .campaign-chooser :is(button,select){min-height:44px;font-family:var(--font-body)}.camp-workspace .campaign-chooser-actions button{font-size:12px}.camp-workspace .campaign-chooser-actions [data-testid=campaign-choice-start]:not(:disabled){border-color:var(--accent);background:var(--accent);color:var(--exp-paper-raised);font-weight:700}.camp-workspace .manifest.debrief>header{padding-bottom:10px}.camp-workspace .manifest.debrief>header h3{color:var(--text);font-size:clamp(22px,2.4vw,29px)}.camp-workspace .manifest.debrief>header p{font-size:12px;line-height:1.5}.camp-workspace .debrief :is(.debrief-salvage-report,.debrief-recovery,.debrief-salvage){border-color:var(--edge)}.camp-workspace .debrief-salvage-report>summary{min-height:44px;font-size:12px}.camp-workspace .debrief :is(.debrief-recovery h4,.debrief-salvage h4){font-size:21px}.camp-workspace .debrief :is(.debrief-recovery p,.salvage-note){color:var(--muted);font-size:12px;line-height:1.5}.camp-workspace .debrief-recovery li{border-color:var(--edge);background:var(--panel);font-size:11px}.camp-workspace .debrief :is(.recovery-outcome,.recovery-chance,.recovery-result){color:var(--muted)}.camp-workspace .debrief .recovery-result.recovered{color:var(--ok);font-weight:600}.camp-workspace .debrief .salvage-offer button{background:var(--panel);border-color:var(--edge);color:var(--text)}.camp-workspace .debrief .salvage-offer button.taken{border-color:var(--accent);box-shadow:inset 0 2px var(--accent);background:#e2ecda}.camp-workspace .debrief .salvage-offer button:disabled{opacity:1;cursor:default}.camp-workspace .debrief .salvage-name{font-size:13px;font-weight:700}.camp-workspace .debrief :is(.salvage-kind,.salvage-mark,.salvage-spec,.salvage-fit,.salvage-owned,.salvage-source,.salvage-value){color:var(--muted);font-size:11px;line-height:1.45}.camp-workspace .debrief .salvage-value{color:var(--warn)}.camp-workspace .debrief .salvage-offer button.taken .salvage-mark{color:var(--ok);font-weight:700}.camp-workspace .debrief .manifest-row{border-color:var(--edge);background:var(--panel);padding:10px}.camp-workspace .debrief .manifest-row.unfit{opacity:1;border-left-color:var(--danger)}.camp-workspace .debrief .pilot-name{color:var(--text);font-family:var(--font-display);font-size:22px}.camp-workspace .debrief :is(.manifest-status,.manifest-skills,.debrief-fate,.debrief-losses){font-size:12px}.camp-workspace .debrief .manifest-skills{gap:4px}.camp-workspace .debrief .debrief-fate.returned{color:var(--ok)}.camp-workspace .debrief .manifest-actions{z-index:2;border-top:1px solid var(--edge);background:var(--exp-paper);margin:12px -20px -20px;padding:12px 20px 20px;position:sticky;bottom:-20px}.camp-workspace .debrief .manifest-actions button{border-color:var(--accent);background:var(--accent);min-height:44px;color:var(--exp-paper-raised);padding:8px 16px;font-size:13px;font-weight:700}.camp-workspace .camp-recovery{color:#624923;background:#f3e6ce;border-color:#a88652}.camp-workspace .camp-recovery strong{color:inherit;font-size:13px}.camp-workspace .camp-recovery span{color:inherit;font-size:12px}.camp-workspace .camp-recovery small{color:#6b5638;font-size:11px}.camp.camp-workspace .camp-recovery button{background:var(--exp-paper-raised);color:#624923;border-color:#a88652;min-height:44px;font-size:12px}.camp-workspace .company-status{border-left:3px solid var(--exp-orange);background:#f0e8d8;padding:12px}.camp-workspace .company-status h3{margin-bottom:7px;font-size:22px}.camp-workspace .company-status p{color:var(--text);font-size:12px;line-height:1.6}.camp-workspace .company-status [data-testid=company-retire-confirm]{border-color:var(--danger);color:var(--danger)}.camp-workspace .employer-ledger{border-color:var(--edge)}.camp-workspace .employer-ledger summary{font-size:11px}.camp-workspace .employer-ledger li{border-bottom:1px solid var(--edge);padding-block:6px}.camp-workspace .employer-ledger li small,.camp-workspace :is(.camp-salvage-terms .salvage-rights,.camp-salvage-terms .salvage-part-odds,.camp-salvage-terms .salvage-capacity,.salvage-odds,.salvage-odds tbody th){color:var(--muted);font-size:11px}.camp-workspace .salvage-stance{color:var(--warn);border-color:var(--warn);font-size:10px}.camp-workspace .salvage-odds :is(th,td){border-color:var(--edge)}@media (width<=640px),(pointer:coarse) and (width<=1100px){.camp-workspace .manual-sheet>header button,.camp-workspace .company-status button,.camp-workspace .employer-ledger summary{min-height:44px}.camp-workspace .manual-sheet h3{font-size:26px}.camp-workspace .campaign-chooser h3{font-size:29px}}@media (forced-colors:active){.camp-workspace :is(.manual-sheet,.campaign-chooser,.manifest.debrief){--text:CanvasText;--muted:CanvasText;--accent:LinkText;--edge:CanvasText;--panel:Canvas;--warn:CanvasText;--danger:CanvasText;--ok:CanvasText;color:canvastext;box-shadow:none;background:canvas;border-color:canvastext}.camp-workspace :is(.manual-sheet>header,.debrief .salvage-offer button.taken,.debrief .manifest-actions,.camp-recovery,.company-status){color:canvastext;box-shadow:none;background:canvas;border-color:canvastext}.camp-workspace .camp-recovery :is(strong,span,small){color:canvastext}.camp-workspace .debrief .manifest-actions button,.camp-workspace .campaign-chooser-actions [data-testid=campaign-choice-start]:not(:disabled),.camp.camp-workspace .camp-recovery button{color:buttontext;background:buttonface;border-color:buttontext}.camp-workspace .debrief .salvage-offer button.taken{border-width:3px}}.route-loading{height:100dvh;color:var(--muted);letter-spacing:.18em;text-transform:uppercase;background:var(--bg);place-items:center;font-size:13px;display:grid}.crash{height:100dvh;padding:calc(16px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));background:var(--bg);place-items:center;display:grid;overflow-y:auto}.crash-panel{border:1px solid var(--edge);border-left:3px solid var(--danger);background:var(--panel);max-width:46rem;padding:24px 26px}.crash-eyebrow{color:var(--danger);letter-spacing:.24em;text-transform:uppercase;margin:0 0 6px;font-size:11px}.crash-title{color:var(--text);text-wrap:balance;margin:0 0 12px;font-size:clamp(1.3rem,4vw,1.7rem);line-height:1.2}.crash-body{color:var(--text);max-width:60ch;margin:0 0 14px;font-size:14px;line-height:1.65}.crash-detail{border:1px solid var(--edge);color:var(--muted);overflow-wrap:anywhere;background:#00000047;margin:0 0 20px;padding:10px 12px;font-size:12px;line-height:1.5}.crash-actions{flex-wrap:wrap;gap:10px;display:flex}.crash-actions button{border:1px solid var(--accent);min-height:44px;color:var(--accent);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:0 18px;font-size:13px}.crash-actions button:hover{background:#8ce0ff1a}.crash-actions .crash-secondary{border-color:var(--edge);color:var(--muted)}@media (prefers-contrast:more){:root{--panel:#05080a;--edge:#a0e8ff9e;--text:#f2f8fc;--muted:#b6c6d2;--accent:#b6ecff;--warn:#ffd27a;--danger:#ff9f86}button,[role=tab],[role=dialog]{border-color:var(--edge)}}@media (forced-colors:active){.crash-panel,.crash-detail,.crash-actions button,[role=dialog],[role=tab],[role=meter],[role=progressbar],button{border:1px solid canvastext}.crash-actions button{color:linktext}[aria-pressed=true],[aria-selected=true],[aria-current=true]{border-width:3px}}
