#hud{display:contents}.hud-panel,#top-bar,#bottom-bar>section,#drawer,.settings-card,#dev-stats,#notice-banner,#region-banner,#formation-hint,#alert-strip,#protection,#net-status{background:linear-gradient(180deg,#0b1421ed,#060c14f2);border:1px solid var(--line);box-shadow:0 0 0 1px #0000008c,0 10px 30px #00000080}.hud-panel:before,#bottom-bar>section:before,#top-bar:before{content:"";position:absolute;top:0;left:10px;right:10px;height:1px;background:linear-gradient(90deg,transparent,rgba(127,212,255,.38),transparent);pointer-events:none}.bar-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:#6f94ac;font:650 9px/1.3 var(--sans);letter-spacing:1.2px;text-transform:uppercase}.bar-title .legend{display:flex;align-items:center;gap:6px;color:#5f7e94;font:9px/1.3 var(--sans);letter-spacing:0;text-transform:none}.bar-title .dot{display:inline-block;width:6px;height:6px;margin-right:2px}.dot.own{background:#69d7ff}.dot.ally{background:#7ef0c0}.dot.foe{background:#ff765f}#top-bar{position:fixed;top:0;left:0;right:0;height:44px;z-index:6;display:flex;align-items:stretch;gap:0;border-inline:0;border-top:0;pointer-events:auto}.top-seg{display:flex;align-items:center;padding-inline:12px;border-right:1px solid rgba(84,142,196,.18)}#identity-seg{position:relative;display:grid;align-content:center;min-width:168px;padding-inline:0}#identity-toggle{display:grid;align-content:center;gap:1px;width:100%;padding-inline:12px;min-height:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}#identity-toggle:hover{background:#7fd4ff0f}#identity-toggle[aria-expanded=true]{background:#7fd4ff1a}#identity-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}#identity-name{display:block;overflow:hidden;max-width:200px;color:var(--ink-bright);font:650 12px/1.25 var(--sans);text-overflow:ellipsis;white-space:nowrap}#identity-meta{display:block;color:#6689a3;font:9px/1.2 var(--sans);letter-spacing:.4px}#identity-menu{position:absolute;top:100%;left:0;margin-top:6px;min-width:156px;z-index:7;padding:4px;background:linear-gradient(180deg,#0b1421f5,#060c14fa);border:1px solid var(--line);box-shadow:0 10px 28px #0009}#identity-menu button{display:block;width:100%;padding:7px 11px;border:0;background:transparent;color:#cdeaff;font:600 11px/1.2 var(--sans);text-align:left;cursor:pointer;border-radius:2px}#identity-menu button:hover,#identity-menu button:focus-visible{background:#7fd4ff24;color:#fff;outline:0}#identity-menu button.danger{color:#ff9b9b}#identity-menu button.danger:hover,#identity-menu button.danger:focus-visible{background:#d8696938;color:#fcc}#economy-tools{display:flex;gap:0}.ledger-cell{display:grid;align-content:center;gap:1px;min-width:78px;padding-inline:12px 14px}.ledger-cell+.ledger-cell{border-left:1px solid rgba(84,142,196,.14)}.ledger-cell span{color:#6689a3;font:9px/1.1 var(--sans);letter-spacing:.6px}.ledger-cell strong{color:var(--ink-bright);font:700 14px/1.2 var(--mono)}.ledger-cell.crystal strong{color:#78e5ff;text-shadow:0 0 11px rgba(70,203,255,.3)}.ledger-cell.crystal span:before{content:"◆ ";color:#4bc4e8}.ledger-cell.starcore strong{color:#ffd45c;text-shadow:0 0 11px rgba(255,196,64,.32)}.ledger-cell.starcore span:before{content:"✦ ";color:#e8b53c}.ledger-cell.honor strong{color:#ffc98f}.ledger-cell.honor span:before{content:"❖ ";color:#d99a52}#economy-tools.pop-full .ledger-cell.population strong{color:#ffac72}.ledger-cell.hostiles strong{color:#ffb0a0}.ledger-cell.hostiles.clear strong{color:#5e7e93}#top-center{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;padding-inline:12px}#protection,#net-status{display:flex;align-items:center;gap:8px;padding:5px 11px;border-radius:2px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}#protection{color:#dff6ff;border-color:#69d7ff6b;background:#0e273acc}#protection .shield{color:#69d7ff;font-size:15px;text-shadow:0 0 9px rgba(105,215,255,.8)}#protection strong{color:#eaf8ff;font-weight:650}#protection-remaining{color:#8fcbe9}#net-status{color:#ffd58a;background:#261908eb;border-color:#ffc15473}#net-status.fatal{color:#ff9b9b;border-color:#ff6b6b8c;background:#280a0cf0}#top-actions{display:flex;align-items:center;gap:6px;padding-inline:10px}#top-actions button{min-height:28px;padding:5px 10px;border-radius:2px;cursor:pointer;color:#bfe3f8;background:#2e709e29;border:1px solid rgba(105,207,255,.28);font:600 11px/1.1 var(--sans)}#top-actions button:hover{color:#fff;background:#3f8bbe52;border-color:#7fd4ff99}#top-actions button[aria-expanded=true]{color:#03101a;background:#79d9f6;border-color:#b7edff}#top-actions button.has-badge:after{content:"";display:inline-block;width:6px;height:6px;margin-left:6px;background:var(--warn);box-shadow:0 0 8px var(--warn)}#notice-banner{position:fixed;top:56px;left:50%;transform:translate(-50%);z-index:9;max-width:min(620px,calc(100vw - 28px));padding:8px 13px;color:#e8f6ff;border-left:3px solid #69d7ff;pointer-events:none}#region-banner{position:fixed;top:102px;left:50%;z-index:8;max-width:min(520px,calc(100vw - 28px));padding:6px 14px;color:#dcefff;border-left:3px solid rgba(141,187,211,.8);font:600 13px/1.35 var(--sans);letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;transform:translate(-50%) translateY(-4px);opacity:0;transition:opacity .28s ease,transform .28s ease}#region-banner.region-banner-on{opacity:1;transform:translate(-50%) translateY(0)}#region-banner.region-banner-landmark{color:#ffeecd;border-left-color:#e9c47a}#formation-hint{position:fixed;left:50%;bottom:calc(var(--bar-h, 200px) + 14px);z-index:9;max-width:min(720px,calc(100vw - 24px));padding:7px 13px;color:#d9f3ff;border-left:3px solid #69d7ff;font:600 12px/1.45 var(--sans);text-align:center;pointer-events:none;white-space:normal;transform:translate(-50%);opacity:1;transition:opacity .75s ease,transform .75s ease}#formation-hint strong{color:#8ee8ff;font-weight:800;letter-spacing:.2px}#formation-hint.formation-hint-fade{opacity:0;transform:translate(-50%) translateY(5px)}@media(prefers-reduced-motion:reduce){#region-banner,#formation-hint{transition:none}#region-banner,#region-banner.region-banner-on{transform:translate(-50%)}}#internal-error-alert{position:fixed;top:50%;left:50%;z-index:40;transform:translate(-50%,-50%);display:grid;gap:10px;box-sizing:border-box;width:min(820px,calc(100vw - 32px));max-height:min(76vh,680px);padding:18px 20px;color:#ffd6d6;text-align:left;background:#340004f5;border:3px solid #ff2f3f;box-shadow:0 0 0 2px #000000d9,0 0 38px #ff1f37b8;user-select:text;-webkit-user-select:text}#internal-error-alert header{display:flex;align-items:center;justify-content:space-between;gap:12px}#internal-error-alert strong{color:#ff3347;font:800 clamp(18px,2.6vw,32px)/1.15 var(--sans);letter-spacing:.8px;text-shadow:0 0 14px rgba(255,30,55,.72)}.internal-error-actions{display:flex;flex:0 0 auto;align-items:center;gap:10px}#internal-error-count{color:#ffc1c7;font:650 11px/1.4 var(--mono)}#internal-error-close{min-height:30px;padding:6px 12px;cursor:pointer;color:#fff0f1;background:#ff5b691f;border:1px solid rgba(255,137,148,.65);border-radius:2px;font:700 11px/1 var(--sans)}#internal-error-close:hover{color:#fff;background:#ff5b6947;border-color:#ffb4bb}#internal-error-summary{color:#fff0f1;font:750 clamp(14px,1.8vw,20px)/1.4 var(--sans);overflow-wrap:anywhere}#internal-error-detail{min-height:42px;max-height:48vh;margin:0;padding:10px 12px;overflow:auto;color:#ffc1c7;background:#0c00028c;border:1px solid rgba(255,91,105,.42);font:550 clamp(10px,1.25vw,13px)/1.48 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}#alert-strip{position:fixed;top:56px;z-index:13;right:calc(var(--roster-right) + var(--roster-w) + 10px);display:flex;align-items:center;gap:9px;padding:8px 12px;cursor:pointer;color:#ffdcd2;border-color:#ff765f8c;border-left:3px solid #ff765f;font:600 11px/1.2 var(--sans);pointer-events:auto;animation:alert-pulse 1.6s ease-in-out infinite}#alert-strip .alert-icon{color:#ff8f74;font-size:14px}#alert-strip .alert-hint{color:#b58a80;font-weight:500;font-size:10px}#alert-strip:hover{border-color:#ff9d86;color:#fff}@keyframes alert-pulse{0%,to{box-shadow:0 0 0 1px #0000008c,0 0 #ff765f00}50%{box-shadow:0 0 0 1px #0000008c,0 0 22px #ff765f61}}@media(prefers-reduced-motion:reduce){#alert-strip{animation:none}}#battle-log{position:fixed;left:10px;bottom:calc(var(--bar-h, 200px) + 8px + 168px + 8px);z-index:8;width:min(400px,42vw);height:168px;pointer-events:none}#battle-log-list{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(127,212,255,.3) transparent}#battle-log-list>.battle-line:first-child{margin-top:auto}.battle-line{flex:none;box-sizing:border-box;width:fit-content;max-width:100%;margin:0;padding:1px 4px;color:#d3e7f7;font:11px/1.55 var(--mono);text-shadow:0 0 4px #030910,0 1px 2px #030910;pointer-events:auto;white-space:normal;overflow-wrap:anywhere}.battle-line time{margin-right:5px;color:#6f94ac;font:10px/1.55 var(--mono)}.battle-line .battle-actor{margin-right:4px}.battle-line .battle-arrow{margin:0 4px;color:#6f94ac}.battle-line .battle-damage{margin-left:4px;color:#c5d6e6;font-variant-numeric:tabular-nums}.battle-line .battle-kill{margin-left:4px;color:#ff7a7a;font-weight:600}.battle-line.kind-outgoing,.battle-line.kind-outgoing-friendly{color:#8ee8b4}.battle-line.kind-outgoing:not(.killed) .battle-actor:first-of-type{color:#b6f5cf}.battle-line.kind-incoming{color:#ffb59a}.battle-line.kind-incoming:not(.killed) .battle-actor:nth-of-type(2){color:#ffd1c2}.battle-line.killed{font-weight:700}.battle-line.kind-incoming.killed{color:#ff5f5f}.battle-line.kind-incoming.killed *{color:inherit}.battle-line.kind-outgoing.killed{color:#3f9f68}.battle-line.kind-outgoing.killed *{color:inherit}#chat{position:fixed;left:10px;bottom:calc(var(--bar-h, 200px) + 8px);z-index:7;width:min(400px,42vw);display:grid;gap:5px;pointer-events:none}#chat-log{display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:2px;max-height:168px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(127,212,255,.3) transparent}.chat-line{width:fit-content;max-width:100%;margin:0;padding:1px 4px;color:#d3e7f7;font:12px/1.55 var(--sans);text-shadow:0 0 4px #030910,0 1px 2px #030910;pointer-events:auto;transition:opacity .5s ease;overflow-wrap:anywhere}.chat-line time{margin-right:5px;color:#6f94ac;font:10px/1.55 var(--mono)}.chat-who{margin-right:5px;padding:0;color:#7fd4ff;background:transparent;border:0;font:650 12px/1.55 var(--sans);text-shadow:inherit}button.chat-who{cursor:pointer}button.chat-who:hover{color:#d8f2ff;text-decoration:underline}.chat-line.own .chat-who{color:#8ee8b4}.chat-line.whisper,.chat-line.whisper .chat-who{color:#ff9ad5}.chat-line.whisper time{color:#b3789b}.chat-line.faded{opacity:.26}#chat-log:has(.chat-line:hover) .chat-line.faded{opacity:1}#chat-form{display:flex;align-items:center;gap:6px;padding:5px 7px;background:#060c14eb;border:1px solid rgba(105,207,255,.45);pointer-events:auto}#chat-target{flex:none;padding:1px 6px;color:#2a0c1e;background:#ff9ad5;font:650 10px/1.5 var(--sans)}#chat-input{flex:1;min-width:0;padding:2px 0;color:#eaf6ff;caret-color:var(--accent);background:transparent;border:0;outline:none;font:12px/1.5 var(--sans);user-select:text;-webkit-user-select:text}#chat-input::placeholder{color:#5f7e94}@media(prefers-reduced-motion:reduce){.chat-line{transition:none}}#bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:6;display:flex;align-items:flex-end;gap:8px;padding:8px 10px;pointer-events:none}#bottom-bar>section{position:relative;padding:8px 10px 9px;pointer-events:auto}#minimap{flex:none;width:190px}#minimap-canvas{display:block;width:100%;aspect-ratio:1;margin-top:6px;cursor:crosshair;border:1px solid rgba(127,212,255,.26);background:#03060a}#minimap-canvas.minimap-locked{border-color:#79d9f6c7;box-shadow:inset 0 0 0 1px #79d9f633,0 0 8px #37a4da2e}#minimap-mode{padding:1px 7px;cursor:pointer;color:#9fd8f5;background:#2e709e33;border:1px solid rgba(105,207,255,.3);font:600 9px/1.5 var(--sans);letter-spacing:.5px}#minimap-mode:hover{color:#fff;background:#3f8bbe57}#minimap-mode[aria-pressed=true]{color:#03101a;background:#79d9f6;border-color:#b7edff}.minimap-legend{display:grid;justify-items:stretch;gap:3px;margin-top:5px}.minimap-legend .legend{justify-content:flex-start}.minimap-place{display:flex;align-items:baseline;justify-content:space-between;gap:5px;min-width:0}#minimap-region{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a8cfe4;letter-spacing:.15px;text-transform:none}#minimap-region:not(:empty):after{content:" ·";opacity:.5}#minimap-coords{flex:none;white-space:nowrap;color:#8dbbd3;font-variant-numeric:tabular-nums;letter-spacing:.15px;text-transform:none}#minimap.tactical-map-open{position:fixed;top:54px;bottom:14px;left:50%;z-index:16;width:min(calc(100vw - 28px),calc(100vh - 68px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:11px 12px 10px;transform:translate(-50%);border-color:#79d9f69e;box-shadow:0 0 0 1px #000000bf,0 22px 80px #000000c7,0 0 46px #38a5db1f}#minimap.tactical-map-open:after{content:"M / Esc 收起";position:absolute;top:11px;left:50%;color:#64879f;font:9px/1.3 var(--mono);letter-spacing:.5px;transform:translate(-50%);pointer-events:none}#minimap.tactical-map-open #minimap-canvas{width:auto;height:100%;max-width:100%;min-height:0;margin:7px auto 0;aspect-ratio:1;border-color:#7fd4ff7a}#minimap.tactical-map-open .minimap-legend{grid-template-columns:1fr auto;align-items:end;gap:12px;margin-top:7px}#unit-nameplates{position:fixed;inset:0;z-index:5;overflow:hidden;pointer-events:none}#gpu.hover-unit:not(.attack-cursor,.move-cursor,.gather-cursor,.assign-cursor,.build-cursor,.patrol-cursor,.rally-cursor,.target-cursor),#gpu.hover-unit:not(.attack-cursor,.move-cursor,.gather-cursor,.assign-cursor,.build-cursor,.patrol-cursor,.rally-cursor,.target-cursor):active{cursor:pointer}#gpu.target-cursor,#gpu.target-cursor:active{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='38'%20height='38'%20viewBox='0%200%2038%2038'%3E%3Ccircle%20cx='19'%20cy='19'%20r='11'%20fill='none'%20stroke='%23041018'%20stroke-width='5'/%3E%3Ccircle%20cx='19'%20cy='19'%20r='11'%20fill='none'%20stroke='%238fe6ff'%20stroke-width='2'/%3E%3Cpath%20d='M19%202V10M19%2028V36M2%2019H10M28%2019H36'%20stroke='%23041018'%20stroke-width='5'/%3E%3Cpath%20d='M19%202V10M19%2028V36M2%2019H10M28%2019H36'%20stroke='%23dff8ff'%20stroke-width='2'/%3E%3Ccircle%20cx='19'%20cy='19'%20r='2'%20fill='%23ff765f'/%3E%3C/svg%3E") 19 19,crosshair}#gpu.patrol-cursor,#gpu.patrol-cursor:active{cursor:crosshair}#patrol-overlay{position:fixed;inset:0;z-index:5;width:100%;height:100%;overflow:hidden;pointer-events:none}#patrol-overlay[hidden]{display:none}.patrol-route{position:absolute;inset:0;pointer-events:none}.patrol-route-segment{position:absolute;height:2px;transform-origin:0 50%;background:#8fddff;border-radius:999px}.patrol-route-dashed{height:0;background:none;border-top:2px dashed #b7ebff}.patrol-route-point{position:absolute;box-sizing:border-box;border-radius:50%;transform:translate(-50%,-50%);background:#0c374de0;border:1.5px solid #a8e7ff}.patrol-route-authoritative{opacity:.76}.patrol-route-pending{opacity:.86}.patrol-route-draft{opacity:.95}.patrol-route-draft .patrol-route-segment{background:#b7ebff}.patrol-route-draft .patrol-route-dashed{background:none}.patrol-route-preview{opacity:.82}#gpu.rally-cursor{cursor:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%3E%3Cpath%20d='M7%2029V3'%20stroke='%23d9ffe4'%20stroke-width='3'%20stroke-linecap='round'/%3E%3Cpath%20d='M9%204H27L22%2010L27%2016H9Z'%20fill='%2348df78'%20stroke='%23072412'%20stroke-width='1.5'/%3E%3Ccircle%20cx='7'%20cy='29'%20r='2'%20fill='%2348df78'/%3E%3C/svg%3E") 7 29,crosshair}#rally-flag{position:fixed;z-index:5;width:48px;height:55px;pointer-events:none;transform:translate(-7px,-100%);filter:drop-shadow(0 2px 2px #020a05) drop-shadow(0 0 7px rgba(72,223,120,.42))}#rally-flag[hidden]{display:none}#rally-flag:before{content:"";position:absolute;left:6px;top:2px;bottom:0;width:2px;background:linear-gradient(#e5ffee,#64dd8a 72%,#254b30)}#rally-flag i{position:absolute;left:8px;top:3px;width:29px;height:18px;background:linear-gradient(135deg,#8bf5aa,#2abb5a 72%);border:1px solid rgba(220,255,230,.75);clip-path:polygon(0 0,100% 0,76% 50%,100% 100%,0 100%)}#rally-flag span{position:absolute;left:13px;bottom:-2px;padding:1px 4px;color:#b9f7cb;background:#03120ad6;border-left:2px solid #48df78;font:9px/1.3 var(--sans);white-space:nowrap}.unit-nameplate{position:absolute;left:0;top:0;width:0;height:0;color:#dff5ff;font-family:var(--sans);text-align:center;white-space:nowrap;text-shadow:-1px -1px 1px #02060a,1px -1px 1px #02060a,-1px 1px 1px #02060a,1px 1px 1px #02060a,0 0 4px #02060a}.unit-nameplate-name,.unit-nameplate-owner{position:absolute;left:50%;max-width:180px;padding:1px 5px;overflow:hidden;text-overflow:ellipsis;transform:translate(-50%)}.unit-nameplate-name{bottom:calc(var(--bar-h-px, 4px) + 2px);color:#edf9ff;font:650 10px/1.1 var(--sans)}.unit-nameplate-ammo,.sel-ammo{display:inline-flex;align-items:center;gap:2px;margin-left:5px;vertical-align:middle}.unit-nameplate-ammo[hidden],.sel-ammo[hidden]{display:none}.unit-nameplate-ammo i,.sel-ammo i{display:block;width:6px;height:6px;border-radius:50%;border:1px solid rgba(4,12,18,.95);box-shadow:0 0 0 1px #9bc9de3d}.unit-nameplate-ammo i.loaded,.sel-ammo i.loaded{background:#67e89b;box-shadow:0 0 0 1px #96ffbe57,0 0 5px #50ee89b3}.unit-nameplate-ammo i.empty,.sel-ammo i.empty{background:#43515c}.sel-ammo i{width:7px;height:7px}.unit-nameplate-reload{margin-left:1px;padding:0 3px;color:#ffc87a;background:#261502d1;border:1px solid rgba(255,184,94,.72);font:700 8px/11px var(--sans);letter-spacing:.3px}#unit-speech-bubbles{position:fixed;inset:0;z-index:8;overflow:hidden;pointer-events:none}.unit-speech-bubble{position:absolute;left:0;top:0;width:0;height:0}.unit-speech-body{position:absolute;left:0;bottom:0;max-width:280px;min-width:120px;padding:7px 12px 8px;transform:translate(-50%,-100%);color:#edf8ff;font:650 11px/1.45 var(--sans);text-align:center;white-space:normal;background:linear-gradient(90deg,rgba(127,212,255,.12),transparent 20% 80%,rgba(127,212,255,.08)),linear-gradient(180deg,#0c1b2af7,#050c14fa);border:1px solid rgba(126,201,236,.72);box-shadow:0 0 0 1px #01070ce0,0 8px 24px #00000085,inset 0 1px #cdf1ff29;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);animation:speech-in .16s ease-out}.unit-speech-body:after{content:"";position:absolute;left:50%;bottom:-7px;width:12px;height:12px;background:#07121d;border-right:1px solid rgba(126,201,236,.72);border-bottom:1px solid rgba(126,201,236,.72);transform:translate(-50%) rotate(45deg)}@keyframes speech-in{0%{opacity:0;transform:translate(-50%,-92%) scale(.96)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.unit-nameplate-owner{top:calc(var(--bar-h-px, 4px) + 3px);color:#8fb4ca;font:9px/1.1 var(--sans)}.unit-nameplate-drain,.unit-nameplate-heal{position:absolute;top:0;display:none}.unit-nameplate-drain{background:#ff4a2c;border-right:1px solid #ffd9c8;box-shadow:0 0 4px #ff5a32bf}.unit-nameplate-heal{background:#dcfff0;box-shadow:0 0 5px #8cffcdcc}.unit-nameplate-tags{position:absolute;left:50%;top:calc(var(--bar-h-px, 4px) + 16px);display:flex;gap:2px;transform:translate(-50%)}.unit-nameplate-tags[hidden]{display:none}.unit-tag{min-width:14px;padding:0 2px;color:#dff5ff;background:#030a11e0;border:1px solid rgba(150,190,215,.55);font:700 9px/13px var(--sans);text-align:center}.unit-tag-protect{color:#9fe3ff;border-color:#7fd4ffd9}.unit-tag-sonic{color:#f2fbff;border-color:#eefaffd9}.unit-tag-jam{color:#d3b4ff;border-color:#be96ffd9}.unit-tag-build{color:#ffc87a;border-color:#ffb85ee6}.unit-tag-heal{color:#7ef0bd;border-color:#63e6a8e6}.unit-tag-veil{color:#a8c6ff;border-color:#8cafffcc}.unit-tag-clone{color:#bdd0dd;border-color:#a0b9cdb3}.unit-nameplate-shred{margin-right:2px;color:#ff5d5d;font-size:11px;filter:drop-shadow(0 0 3px #ff3b3b88)}.unit-nameplate-shred[hidden]{display:none}#kill-floats{position:fixed;inset:0;z-index:6;overflow:hidden;pointer-events:none}.kill-float{position:absolute;left:0;top:0;width:0;height:0}.kill-float b{position:absolute;left:0;bottom:0;white-space:nowrap;color:#ffd45c;font:800 15px/1.1 var(--sans);text-shadow:-1px -1px 1px #1a0f00,1px -1px 1px #1a0f00,-1px 1px 1px #1a0f00,1px 1px 1px #1a0f00,0 0 10px rgba(255,180,40,.55);animation:kill-float-rise 1.5s ease-out forwards}@keyframes kill-float-rise{0%{opacity:.18;transform:translate(-50%,16px)}40%{opacity:1;transform:translate(-50%)}72%{opacity:1;transform:translate(-50%,-12px)}to{opacity:0;transform:translate(-50%,-26px)}}#kill-banners{position:fixed;inset:0;z-index:7;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.kill-banner{color:#ffd45c;font:800 36px/1.2 var(--sans);letter-spacing:1px;text-shadow:-2px -2px 2px #150c00,2px -2px 2px #150c00,-2px 2px 2px #150c00,2px 2px 2px #150c00,0 0 18px rgba(255,176,32,.6);animation:kill-banner-rise 1.9s ease-out forwards}@keyframes kill-banner-rise{0%{opacity:.18;transform:translateY(26px)}32%{opacity:1;transform:translateY(0)}76%{opacity:1;transform:translateY(-10px)}to{opacity:0;transform:translateY(-26px)}}@media(prefers-reduced-motion:reduce){.kill-float b{animation:kill-float-still 1.5s ease-out forwards}.kill-banner{animation:kill-banner-still 1.9s ease-out forwards}@keyframes kill-float-still{0%{opacity:.18;transform:translate(-50%)}30%,72%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@keyframes kill-banner-still{0%{opacity:.18}30%,76%{opacity:1}to{opacity:0}}}.unit-nameplate.friendly .unit-nameplate-owner{color:#79d9f6}.unit-nameplate.ally .unit-nameplate-owner{color:#7ef0c0}.unit-nameplate.enemy .unit-nameplate-owner{color:#ff9b83}.unit-nameplate.neutral .unit-nameplate-owner{color:#8aa0ae}.unit-nameplate.hovered:before{content:"";position:absolute;left:calc(var(--bar-w-px, 24px) / -2 - 3px);top:-3px;width:calc(var(--bar-w-px, 24px) + 6px);height:calc(var(--bar-h-px, 4px) + 6px);border:1px solid #f2fbff;box-shadow:0 0 0 1px #02080ee6,0 0 8px #a0e6ff99}.unit-nameplate.hovered .unit-nameplate-name{color:#fff;background:#071521e0;box-shadow:inset 0 0 0 1px #aae6ff8c}.unit-nameplate.hovered .unit-nameplate-owner{color:#e7f6ff;background:#071521cc}.minimap-locked+.minimap-legend #minimap-coords{color:#79d9f6}.dot.mine{background:#63e68f}#command-center{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:12px;height:var(--compact-panel-h, 128px);min-height:0;overflow:hidden}#selection-pane{min-width:0;min-height:0;display:grid;align-content:start;gap:4px;overflow-x:hidden;overflow-y:auto}#sel-empty{align-self:center;color:#5f7e94;font:11px/1.5 var(--sans)}#sel-single{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px}.portrait-frame{position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:68px;overflow:hidden;background:radial-gradient(circle at 50% 30%,#0d1a28,#060b13 70%);border:1px solid rgba(84,142,196,.4)}.portrait-frame i{display:block;background-repeat:no-repeat}.sel-info{min-width:0;display:grid;align-content:start;gap:3px}.sel-name{display:flex;align-items:baseline;gap:7px;min-width:0;color:var(--ink-bright);font:700 13px/1.15 var(--sans);letter-spacing:.4px}#sel-owner{color:#6f94ac;font:500 10px/1.2 var(--sans)}.sel-bar{height:4px;overflow:hidden;background:#ffffff17}.sel-bar i{display:block;height:100%;width:0;background:var(--good);transition:width .12s linear}.sel-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 8px;margin:1px 0 0}.sel-stats>div{display:flex;justify-content:space-between;gap:4px;min-width:0}.sel-stats dt{flex:none;color:#7593aa;font:10px/1.4 var(--sans);white-space:nowrap}.sel-stats dd{flex:none;margin:0;color:#dceaf8;font:10px/1.4 var(--mono);white-space:nowrap}#sel-state{overflow:hidden;padding:2px 6px;color:#ffd7a8;background:#7b391438;border-left:2px solid #e9904d;font:9px/1.3 var(--sans);text-overflow:ellipsis;white-space:nowrap}#sel-multi{display:grid;gap:6px;min-width:0}#sel-multi-head{color:#a7cada;font:11px/1.3 var(--sans)}#sel-multi-grid{display:grid;grid-auto-flow:column;grid-auto-columns:40px;gap:4px;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}.mini-portrait{position:relative;width:40px;height:40px;padding:0;overflow:hidden;cursor:pointer;background:#070d16;border:1px solid rgba(84,142,196,.34)}.mini-portrait i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block}.mini-portrait b{position:absolute;bottom:0;left:0;height:3px;background:var(--good)}.mini-portrait.hurt b{background:var(--warn)}.mini-portrait.critical b{background:var(--danger)}.mini-portrait:hover,.mini-portrait:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 1px var(--accent)}.mini-portrait .stack{position:absolute;top:1px;right:2px;color:#cfe8f8;font:700 9px/1 var(--mono);text-shadow:0 0 4px #000}#command-pane{min-width:0;min-height:0;display:grid;align-content:start;gap:4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain}#command-grid{display:grid;grid-auto-flow:column;grid-auto-columns:56px;grid-auto-rows:56px;gap:4px;width:max-content;align-content:start}.cmd-btn{position:relative;display:grid;place-items:center;padding:0;overflow:hidden;cursor:pointer;color:#cdeaff;background:#172e428c;border:1px solid rgba(105,207,255,.26);font:600 10px/1.15 var(--sans);text-align:center}.cmd-btn:hover:not(:disabled){color:#fff;background:#306a9499;border-color:#7fd4ffb8}.cmd-btn:active:not(:disabled){transform:translateY(1px)}.cmd-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cmd-btn[aria-pressed=true]{color:#03101a;background:#79d9f6;border-color:#b7edff}.cmd-btn[aria-pressed=true] .label{background:linear-gradient(180deg,transparent,rgba(255,255,255,.55) 45%);color:#03101a;text-shadow:none}.cmd-btn[aria-pressed=true] .key,.cmd-btn[aria-pressed=true] .cost{color:#0a2634;text-shadow:none}.cmd-btn:disabled{cursor:not-allowed;opacity:.38}.cmd-btn.danger{color:#edb4b4;background:#70262a4d;border-color:#d8696957}.cmd-btn.danger:hover:not(:disabled){color:#fff;background:#9630348c}.cmd-btn.back{color:#9db9cb;background:#101b26b3;border-style:dashed}.cmd-btn .art{position:absolute;inset:0;background-repeat:no-repeat;opacity:.92}.cmd-btn .label{position:relative;align-self:end;width:100%;padding:1px 2px 2px;background:linear-gradient(180deg,transparent,rgba(4,9,15,.88) 45%);font-size:9px;text-shadow:0 1px 3px #000}.cmd-btn .charges{margin-left:3px;color:#ffd58a;font:700 9px/1 var(--mono);white-space:nowrap}.cmd-btn[aria-pressed=true] .charges{color:#6a4708}.cmd-btn .key{position:absolute;top:1px;left:3px;color:#9fd8f5;font:700 9px/1 var(--mono);text-shadow:0 0 4px #000}.cmd-btn .cost{position:absolute;top:1px;right:3px;color:#8ee8ff;font:600 9px/1 var(--mono);text-shadow:0 0 4px #000}.cmd-btn.unaffordable .cost{color:#ff9d8a}#command-hint{min-height:15px;margin:0;color:#ffad8e;font:10px/1.4 var(--sans)}#command-hint.neutral{color:#6f94ac}#production{flex:none;width:268px;height:var(--compact-panel-h, 128px);min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:5px;overflow:hidden}#econ-panel{min-height:0;display:grid;align-content:start;gap:6px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}#econ-pop-alert{margin:0;padding:5px 7px;color:#ffd0a8;background:#7b391433;border-left:2px solid #e9904d;font:10px/1.4 var(--sans)}.econ-monitor-list{display:grid;gap:5px}.econ-monitor-list:empty{display:none}.econ-row-heading{color:#7ba3ba;font:9px/1.3 var(--sans);letter-spacing:.8px}.econ-progress-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;align-items:center}.econ-progress-title{overflow:hidden;color:#b9cedd;font:10px/1.35 var(--sans);text-overflow:ellipsis;white-space:nowrap}.econ-progress-row.paused .econ-progress-title{color:#ffba83}.econ-progress{grid-column:1 / -1;height:3px;overflow:hidden;background:#688fa929}.econ-progress i{display:block;height:100%;background:#64c9ec;box-shadow:0 0 7px #64c9ec5c;transition:width .18s linear}.econ-progress-row.paused .econ-progress i{background:#c97942;box-shadow:none}.econ-progress-row button{min-height:22px;padding:2px 6px;cursor:pointer;color:#d6a8a8;background:#70262a24;border:1px solid rgba(216,105,105,.26);font:600 9px/1 var(--sans)}.econ-progress-row button:hover{color:#fff;background:#96303480}.econ-empty{margin:0;color:#5f7e94;font:10px/1.4 var(--sans)}:root{--roster-w: 98px;--roster-art: 54px;--roster-cell: 42px;--roster-right: 10px}html.drawer-open{--roster-right: calc(min(268px, 100vw - 20px) + 20px) }#force-roster,#roster-flyout,#cmd-tip,#tracking-panel,#closeup{--cut: 13px;padding:1px;background:linear-gradient(158deg,#7fd4ff9e,#2e709e47 34%,#122a4080 64%,#7fd4ff6b);box-shadow:0 0 0 1px #0000008c,0 12px 34px #0000008c;clip-path:polygon(0 var(--cut),var(--cut) 0,100% 0,100% calc(100% - var(--cut)),calc(100% - var(--cut)) 100%,0 100%)}.roster-body,.cmd-tip-body,.tracking-body,.closeup-body{min-height:0;overflow:hidden;background:repeating-linear-gradient(135deg,rgba(127,212,255,.055) 0 1px,transparent 1px 7px),radial-gradient(128% 44% at 50% 0%,rgba(66,156,214,.22),transparent 68%),linear-gradient(180deg,#0a131ff2,#050a12f7);clip-path:polygon(0 calc(var(--cut) - 1px),calc(var(--cut) - 1px) 0,100% 0,100% calc(100% - var(--cut) + 1px),calc(100% - var(--cut) + 1px) 100%,0 100%)}#tracking-panel{position:fixed;top:52px;left:10px;z-index:6;width:min(252px,calc(100vw - 20px));max-height:calc(100vh - 68px - var(--bar-h, 200px));pointer-events:auto}.tracking-body{position:relative;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:7px;max-height:inherit;padding:9px 8px 10px}.tracking-body:before{content:"";position:absolute;top:9px;right:8px;width:37px;height:37px;border-radius:50%;pointer-events:none;opacity:.52;background:conic-gradient(from -18deg,transparent 0 28deg,rgba(95,224,255,.42) 29deg 31deg,transparent 32deg 88deg,rgba(95,224,255,.28) 89deg 91deg,transparent 92deg 148deg,rgba(95,224,255,.22) 149deg 151deg,transparent 152deg),radial-gradient(circle,transparent 0 6px,rgba(102,214,255,.45) 6px 7px,transparent 7px 13px,rgba(102,214,255,.25) 13px 14px,transparent 14px)}.tracking-head{position:relative;display:grid;gap:1px;min-height:43px;padding-right:44px}.tracking-eyebrow{color:#4e829c;font:700 7px/1.3 var(--mono);letter-spacing:1px;white-space:nowrap}.tracking-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px;color:#e3f5ff;font:750 13px/1.35 var(--sans);letter-spacing:1.1px}.tracking-title b{color:#8ee8ff;font:750 12px/1 var(--mono)}.tracking-status{color:#6592a9;font:9px/1.3 var(--sans)}.tracking-selecting .tracking-status{color:#ffe08a}.tracking-selecting .tracking-body{box-shadow:inset 0 0 24px #ffb84a0e}.tracking-list{display:grid;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(127,212,255,.3) transparent}.tracking-list[hidden]{display:none}.tracking-source{display:grid;gap:4px}.tracking-source+.tracking-source{padding-top:7px;border-top:1px solid rgba(93,152,184,.18)}.tracking-source-head{display:flex;justify-content:space-between;color:#759bb1;font:700 8px/1.3 var(--mono);letter-spacing:.2px}.tracking-source-head b{color:#8ee8ff}.tracking-targets{display:grid;gap:4px}.tracking-target{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:7px;min-width:0;padding:4px;overflow:hidden;cursor:pointer;text-align:left;color:#b9d7e8;background:linear-gradient(90deg,#132b3ca8,#070f189e);border:1px solid rgba(77,137,168,.32);clip-path:polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%)}.tracking-target:hover,.tracking-target:focus-visible{outline:none;color:#f1fbff;border-color:#7edeffe6;background:linear-gradient(90deg,#1c465dc7,#091622bf);box-shadow:inset 0 0 14px #53caff1f}.tracking-selecting .tracking-target-eligible{border-color:#ffc35c85}.tracking-selecting .tracking-target-eligible:hover,.tracking-selecting .tracking-target-eligible:focus-visible{border-color:#ffd16f;box-shadow:inset 0 0 16px #ffb44426}.tracking-selecting .tracking-target-ineligible{cursor:not-allowed;opacity:.48;filter:saturate(.38);color:#77909e;border-color:#5a717c4d;background:linear-gradient(90deg,#0f181ead,#070c11a6);box-shadow:none}.tracking-selecting .tracking-target-ineligible:hover,.tracking-selecting .tracking-target-ineligible:focus-visible{color:#77909e;border-color:#70848d6b;box-shadow:none;background:linear-gradient(90deg,#0f181ead,#070c11a6)}.tracking-target-lock{position:absolute;right:5px;bottom:3px;display:none;font:700 7px/1 var(--mono);letter-spacing:.3px}.tracking-selecting .tracking-target-lock{display:block}.tracking-target-eligible .tracking-target-lock{color:#ffd16f}.tracking-target-ineligible .tracking-target-lock{color:#8999a1}.tracking-target-art{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;overflow:hidden;background:radial-gradient(circle at 50% 42%,#13283a,#050b12 76%);border:1px solid rgba(102,181,214,.34)}.tracking-target-art>i{display:block;background-repeat:no-repeat}.tracking-sweep{position:absolute;inset:2px;border:1px solid rgba(112,225,255,.38);border-radius:50%;background:conic-gradient(from 0deg,rgba(112,225,255,.35),transparent 18% 100%);animation:tracking-sweep 2.4s linear infinite}@keyframes tracking-sweep{to{transform:rotate(360deg)}}.tracking-target-info{display:grid;align-content:center;gap:1px;min-width:0}.tracking-target-name{display:flex;justify-content:space-between;gap:5px;min-width:0}.tracking-target-name strong{overflow:hidden;color:#e8f7ff;font:700 10px/1.25 var(--sans);text-overflow:ellipsis;white-space:nowrap}.tracking-target-age{flex:none;color:#58798b;font:8px/1.3 var(--mono);white-space:nowrap;text-align:right}.tracking-target-owner{color:#db8f7a;font:8px/1.25 var(--sans)}.tracking-hp{height:3px;margin-top:2px;overflow:hidden;background:#00000094}.tracking-hp i{display:block;height:100%;background:linear-gradient(90deg,#d95948,#ff8067)}.tracking-target-meta{color:#7399af;font:8px/1.3 var(--mono);white-space:nowrap}.tracking-empty{margin:0;padding:4px 2px 2px;color:#6b8ca0;font:10px/1.5 var(--sans)}.tracking-empty small{color:#4f6f82;font-size:8px}#force-roster{position:fixed;top:52px;right:var(--roster-right);z-index:6;width:var(--roster-w)}#force-roster .roster-body{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100vh - 68px - var(--bar-h, 200px) - var(--closeup-space, 0px));padding:8px 6px 10px}html.closeup-open{--closeup-space: calc(var(--closeup-h, 264px) + 10px)}.roster-head{position:relative;display:grid;gap:1px;padding:0 2px 7px}.roster-eyebrow{color:#4d7590;font:650 7px/1.35 var(--sans);letter-spacing:.9px;overflow:hidden;white-space:nowrap}.roster-title{display:flex;align-items:baseline;justify-content:space-between;gap:4px;overflow:hidden;color:#dff2ff;font:700 11px/1.3 var(--sans);letter-spacing:1px;white-space:nowrap}.roster-title b{flex:none;color:#8ee8ff;font:700 11px/1 var(--mono);letter-spacing:0}.roster-head:after{content:"";position:absolute;left:0;right:7px;bottom:2px;height:1px;background:linear-gradient(90deg,#7fd4ff8c,#7fd4ff0f)}.roster-head:before{content:"";position:absolute;right:0;bottom:0;width:5px;height:5px;background:#7fd4ffb3;transform:rotate(45deg)}.roster-types{display:grid;align-content:start;gap:6px;padding-right:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(127,212,255,.3) transparent}.roster-empty{margin:6px 2px 0;color:#5f7e94;font:10px/1.45 var(--sans)}.roster-type{position:relative;display:grid;justify-items:center;gap:3px;padding:4px 2px 5px;cursor:pointer;color:#bcdcef;background:linear-gradient(180deg,#172e4273,#09111c73);border:1px solid rgba(84,142,196,.26);clip-path:polygon(0 7px,7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%)}.roster-type:hover{color:#fff;border-color:#7fd4ffa8;background:linear-gradient(180deg,#2854768c,#0b16238c)}.roster-type[aria-expanded=true]{color:#fff;border-color:#8fe0ffe6;background:linear-gradient(180deg,#347aa87a,#0c1e2e8c);box-shadow:inset 0 0 15px #69cfff2e}.roster-type[aria-expanded=true]:after{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;background:#8fe0ff;box-shadow:0 0 8px #8fe0ffcc}.roster-type-art{position:relative;display:flex;align-items:center;justify-content:center;width:var(--roster-art);height:var(--roster-art);overflow:hidden;background:radial-gradient(circle at 50% 32%,#0e1c2b,#060b13 72%);border:1px solid rgba(84,142,196,.34)}.roster-type-art i{display:block;background-repeat:no-repeat}.roster-type-art:before,.roster-type-art:after{content:"";position:absolute;width:8px;height:8px;pointer-events:none;border:1px solid rgba(143,224,255,.55)}.roster-type-art:before{top:2px;left:2px;border-right:0;border-bottom:0}.roster-type-art:after{right:2px;bottom:2px;border-left:0;border-top:0}.roster-type-count{position:absolute;top:2px;right:2px;min-width:16px;padding:0 3px;color:#04121c;background:linear-gradient(180deg,#a9e8ff,#58bfea);font:800 9px/13px var(--mono);text-align:center;clip-path:polygon(3px 0,100% 0,100% calc(100% - 3px),calc(100% - 3px) 100%,0 100%,0 3px)}.roster-type-name{max-width:100%;overflow:hidden;color:#9fc3d8;font:650 9px/1.25 var(--sans);letter-spacing:.2px;text-overflow:ellipsis;white-space:nowrap}.roster-type:hover .roster-type-name,.roster-type[aria-expanded=true] .roster-type-name{color:#e6f6ff}#roster-flyout{position:fixed;z-index:11;right:calc(var(--roster-right) + var(--roster-w) + 8px);max-width:min(370px,46vw)}#roster-flyout .roster-body{display:grid;gap:7px;padding:8px 9px 9px}.roster-flyout-head{display:flex;align-items:baseline;gap:6px}#roster-flyout-title{color:#e6f5ff;font:700 12px/1.3 var(--sans);letter-spacing:.6px}.roster-flyout-count{color:#8ee8ff;font:700 10px/1.3 var(--mono)}.roster-flyout-hint{flex:1;color:#5f8199;font:9px/1.4 var(--sans);text-align:right;white-space:nowrap}.roster-unit-grid{display:grid;gap:4px;grid-template-columns:repeat(var(--roster-columns, 6),var(--roster-cell));max-height:min(52vh,424px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(127,212,255,.3) transparent}.roster-unit{position:relative;width:var(--roster-cell);height:var(--roster-cell);padding:0;overflow:hidden;cursor:pointer;background:#070d16;border:1px solid rgba(84,142,196,.34)}.roster-unit i{position:absolute;top:50%;left:50%;display:block;transform:translate(-50%,-50%);background-repeat:no-repeat}.roster-unit b{position:absolute;bottom:0;left:0;height:3px;background:var(--good)}.roster-unit.hurt b{background:var(--warn)}.roster-unit.critical b{background:var(--danger)}.roster-unit-index{position:absolute;top:0;left:2px;color:#8fb6cd;font:700 8px/1.35 var(--mono);text-shadow:0 0 4px #000}.roster-unit:hover,.roster-unit:focus-visible{border-color:var(--accent);outline:none;box-shadow:0 0 0 1px var(--accent)}.roster-unit.picked{border-color:#8ee8b4;box-shadow:inset 0 0 0 1px #8ee8b499}.roster-unit.wip{border-style:dashed;opacity:.82}:root{--closeup-w: 420px}#closeup{position:fixed;right:var(--roster-right);bottom:calc(var(--bar-h, 200px) + 8px);z-index:8;width:var(--closeup-w);pointer-events:none;animation:closeup-in .18s ease-out}#closeup[hidden]{display:none}@keyframes closeup-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}.closeup-body{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:6px;padding:7px}.closeup-stage{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:radial-gradient(122% 82% at 50% 16%,#1c405e,#060d16 78%);border:1px solid rgba(102,181,214,.34)}.closeup-stage:before,.closeup-stage:after{content:"";position:absolute;z-index:2;width:13px;height:13px;pointer-events:none;border:1px solid rgba(143,224,255,.55)}.closeup-stage:before{top:3px;left:3px;border-right:0;border-bottom:0}.closeup-stage:after{right:3px;bottom:3px;border-left:0;border-top:0}.closeup-tag{position:absolute;top:4px;left:19px;z-index:2;color:#4e829c;font:700 7px/1.3 var(--mono);letter-spacing:1px;white-space:nowrap}.closeup-actor{position:absolute;left:50%;top:54%;z-index:2;display:block;background-repeat:no-repeat;transform:translate(calc(-50% + var(--actor-dx, 0px)),calc(-50% + var(--actor-dy, 0px))) rotate(var(--actor-rot, 0rad));filter:drop-shadow(0 7px 12px rgba(0,0,0,.6)) brightness(1.14) contrast(1.06)}.closeup-canvas{position:absolute;inset:0;z-index:2;display:none;width:100%;height:100%;filter:drop-shadow(0 7px 12px rgba(0,0,0,.6)) brightness(1.08)}.closeup-stage[data-actor="3d"] .closeup-canvas{display:block}.closeup-stage[data-actor="3d"] .closeup-actor{display:none}.closeup-exhaust{position:absolute;top:50%;left:100%;width:124%;height:150%;transform-origin:left center;transform:translateY(-50%);background:radial-gradient(56% 44% at 6% 50%,rgba(255,190,116,.58),rgba(255,118,46,.28) 44%,transparent 76%);animation:closeup-exhaust .09s ease-in-out infinite alternate}.closeup-exhaust:after{content:"";position:absolute;top:50%;left:0;width:100%;height:38%;transform:translateY(-50%);background:linear-gradient(90deg,rgba(255,255,248,.98),rgba(255,232,160,.95) 22%,rgba(255,162,62,.82) 48%,rgba(232,92,32,.46) 74%,rgba(190,60,22,.16) 90%,transparent);clip-path:polygon(0 2%,52% 30%,100% 47%,100% 53%,52% 70%,0 98%);filter:blur(1.1px)}.closeup-stage:not([data-effect=flight]) .closeup-exhaust{display:none}@keyframes closeup-exhaust{0%{transform:translateY(-50%) scaleX(.84);opacity:.82}to{transform:translateY(-50%) scaleX(1.06);opacity:1}}.closeup-stage[data-effect=impact] .closeup-actor,.closeup-stage[data-effect=critical] .closeup-actor{filter:drop-shadow(0 0 15px rgba(255,152,72,.85)) brightness(1.34) contrast(1.05)}.closeup-flash{position:absolute;left:50%;top:52%;z-index:1;width:54%;aspect-ratio:1;border-radius:50%;opacity:0;pointer-events:none;mix-blend-mode:screen;transform:translate(-50%,-50%) scale(var(--flash-scale, 1));background:radial-gradient(circle,rgba(255,255,255,.92),rgba(190,232,255,.46) 28%,rgba(96,178,232,.2) 52%,transparent 72%)}.closeup-stage[data-effect=impact] .closeup-flash,.closeup-stage[data-effect=critical] .closeup-flash{background:radial-gradient(circle,rgba(255,246,226,.94),rgba(255,204,122,.58) 26%,rgba(255,108,44,.3) 50%,transparent 74%)}.closeup-stage[data-effect=critical]{border-color:#ffc35cb8}.closeup-grille{position:absolute;inset:0;z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(4,10,17,.32) 0 1px,transparent 1px 3px),radial-gradient(122% 92% at 50% 50%,transparent 50%,rgba(2,6,11,.74))}.closeup-stage[data-effect=flight] .closeup-grille{background:repeating-linear-gradient(var(--streak-angle, 180deg),transparent 0 30px,rgba(152,226,255,.26) 30px 33px,transparent 33px 68px),repeating-linear-gradient(0deg,rgba(4,10,17,.32) 0 1px,transparent 1px 3px),radial-gradient(122% 92% at 50% 50%,transparent 50%,rgba(2,6,11,.74));animation:closeup-streak .4s linear infinite}@keyframes closeup-streak{0%{background-position:0 0,0 0,0 0}to{background-position:-68px 0,0 0,0 0}}.closeup-caption{display:grid;align-content:center;gap:1px;min-height:40px;padding:5px 9px;background:linear-gradient(90deg,#132b3ca8,#070f189e);border:1px solid rgba(77,137,168,.32);clip-path:polygon(0 6px,6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%)}.closeup-speaker{color:#ffffffa8;font:650 9px/1.35 var(--sans);letter-spacing:.9px}.closeup-line{color:#fff;font:700 14px/1.4 var(--sans);letter-spacing:.4px;overflow-wrap:anywhere;text-shadow:0 0 10px rgba(120,205,255,.34)}.closeup-stage[data-effect=critical]+.closeup-caption .closeup-line{text-shadow:0 0 11px rgba(255,176,84,.5)}#cmd-tip{position:fixed;z-index:13;left:0;top:0;width:max-content;max-width:min(320px,62vw);pointer-events:none;animation:cmd-tip-in .1s ease-out}#cmd-tip[hidden]{display:none}@keyframes cmd-tip-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.tracking-sweep{animation:none;background:none}.unit-speech-body,#cmd-tip{animation:none}}.cmd-tip-body{display:grid;gap:7px;padding:8px 10px 9px}.cmd-tip-head{position:relative;display:grid;gap:2px;padding:0 2px 7px}.cmd-tip-eyebrow{color:#4d7590;font:650 7px/1.35 var(--sans);letter-spacing:1.1px;overflow:hidden;white-space:nowrap}.cmd-tip-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:#dff2ff;font:700 12px/1.3 var(--sans);letter-spacing:.6px}.cmd-tip-title b{flex:none;padding:1px 4px;color:#9fd8f5;font:700 9px/1.25 var(--mono);background:#2e709e47;border:1px solid rgba(105,207,255,.34)}.cmd-tip-head:after{content:"";position:absolute;left:0;right:7px;bottom:2px;height:1px;background:linear-gradient(90deg,#7fd4ff8c,#7fd4ff0f)}.cmd-tip-head:before{content:"";position:absolute;right:0;bottom:0;width:5px;height:5px;background:#7fd4ffb3;transform:rotate(45deg)}.cmd-tip-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;margin:0;padding:0 2px}.cmd-tip-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cmd-tip-stats dt{color:#6f94ac;font:9px/1.5 var(--sans);letter-spacing:.4px}.cmd-tip-stats dd{margin:0;color:#cfe8f8;font:700 10px/1.5 var(--mono)}.cmd-tip-desc{margin:0;padding:0 2px;color:#a8c6d9;font:10px/1.6 var(--sans)}.cmd-tip-note{margin:0;padding:5px 2px 0;color:#ffd58a;font:9px/1.55 var(--sans);border-top:1px solid rgba(84,142,196,.2)}#touch-controls{position:fixed;left:50%;bottom:calc(var(--bar-h, 200px) + 10px);z-index:7;display:none;grid-template-columns:repeat(3,minmax(70px,1fr));gap:8px;width:min(290px,calc(100vw - 24px));padding:8px;background:#070d16e6;border:1px solid var(--line);box-shadow:0 8px 28px #00000085;transform:translate(-50%)}#touch-controls button{min-height:40px;padding:7px 9px;cursor:pointer;color:#cdeaff;background:#2e709e29;border:1px solid rgba(105,207,255,.34);font:600 11px/1.2 var(--sans)}#touch-controls button[aria-pressed=true]{color:#03101a;background:#83dafc;border-color:#b9edff}#drawer{position:fixed;top:52px;right:10px;bottom:calc(var(--bar-h, 200px) + 14px);z-index:12;width:268px;padding:10px 12px 12px;overflow-y:auto;display:grid;align-content:start;gap:10px}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.drawer-head h2{margin:0;color:#e9f7ff;font:650 13px/1.3 var(--sans)}.drawer-head button{width:26px;height:26px;padding:0;cursor:pointer;color:#9dbdd2;background:transparent;border:1px solid var(--line);font:12px/1 var(--mono)}.drawer-head button:hover{color:#fff;border-color:var(--accent)}#session-tools{display:grid;gap:7px;padding-top:9px;border-top:1px solid rgba(84,142,196,.2)}#session-tools h3,.settings-group h3{margin:0;color:#6f94ac;font:650 9px/1.3 var(--sans);letter-spacing:1.1px;text-transform:uppercase}.session-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.session-actions button,#beacon-copy,#fleet-toggle,.fleet-form button,#fleet-leave{min-height:32px;padding:6px 9px;cursor:pointer;color:#cdeaff;background:#2e709e29;border:1px solid rgba(105,207,255,.3);font:600 11px/1.2 var(--sans)}.session-actions button:hover,#beacon-copy:hover,#fleet-toggle:hover,.fleet-form button:hover,#fleet-leave:hover{color:#fff;background:#3f8bbe4d;border-color:#7fd4ff9e}#session-switch{color:#b4aeb0;border-color:#be979747}#beacon-result{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;padding-top:7px;border-top:1px solid rgba(84,142,196,.22)}#beacon-result code{color:#8ee8ff;font-size:12px;user-select:text;-webkit-user-select:text}#beacon-result small{grid-column:1 / -1;color:#7593aa;font:10px/1.4 var(--sans)}#beacon-copy{min-height:26px;padding-block:4px}#fleet-tools{display:grid;gap:8px}#fleet-toggle{position:relative;width:100%;padding-right:28px;text-align:left;color:#bceaff}#fleet-toggle:after{content:"＋";position:absolute;top:50%;right:9px;transform:translateY(-50%);color:#6da6c8;font:500 15px/1 var(--mono)}#fleet-toggle[aria-expanded=true]:after{content:"−"}#fleet-panel{display:grid;gap:9px}.fleet-roster{padding:8px;background:#03090f8f;border:1px solid rgba(84,142,196,.22)}#fleet-title{overflow:hidden;color:#e9f7ff;font:650 12px/1.35 var(--sans);text-overflow:ellipsis;white-space:nowrap}#fleet-meta,#fleet-empty{margin-top:2px;color:#6f91aa;font:10px/1.45 var(--sans)}#fleet-members{display:grid;gap:6px;max-height:132px;margin:8px 0 0;padding:8px 0 0;overflow-y:auto;list-style:none;border-top:1px solid rgba(84,142,196,.18)}#fleet-members:empty{display:none}#fleet-members li{display:grid;gap:1px;min-width:0}#fleet-members span{overflow:hidden;color:#cfe8f8;text-overflow:ellipsis;white-space:nowrap}#fleet-members small{color:#64879f;font:9px/1.3 var(--sans)}.fleet-action{border-bottom:1px solid rgba(84,142,196,.18);padding-bottom:7px}.fleet-action summary{cursor:pointer;color:#83abc5;font:600 10px/1.4 var(--sans)}.fleet-action[open] summary{margin-bottom:7px;color:#a8dafa}.fleet-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:6px}.fleet-form:first-of-type{margin-top:0}.fleet-form label{display:grid;gap:3px;min-width:0;color:#7191a8;font-size:9px}.fleet-form.two-fields{grid-template-columns:minmax(0,1fr) 64px}.fleet-form.two-fields button{grid-column:1 / -1}.fleet-form input{min-width:0;width:100%;padding:6px 8px;color:#e9f7ff;caret-color:var(--accent);background:#050b13;border:1px solid rgba(92,164,218,.28);font:11px/1.2 var(--sans);user-select:text;-webkit-user-select:text}.fleet-form input:focus{border-color:#69cfff;outline:none}.fleet-form button{align-self:end;white-space:nowrap}#fleet-leave{width:100%;color:#e3b8b8;border-color:#d8696952;background:#70262a1f}#fleet-leave:disabled{cursor:not-allowed;opacity:.38}#fleet-error{min-height:15px;margin:0;color:#ff9b9b;font:10px/1.4 var(--sans)}#settings{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#020509b8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.settings-card{width:min(480px,100%);max-height:min(88vh,720px);padding:16px 18px 18px;overflow-y:auto;display:grid;gap:14px;text-align:left}.settings-group{display:grid;gap:7px}.settings-note{margin:0;color:#6f8fa4;font:10px/1.5 var(--sans)}.choice-row{display:flex;gap:6px;flex-wrap:wrap}.choice-row button{min-height:30px;padding:6px 12px;cursor:pointer;color:#cdeaff;background:#2e709e29;border:1px solid rgba(105,207,255,.28);font:600 11px/1.1 var(--sans)}.choice-row button[aria-checked=true]{color:#03101a;background:#79d9f6;border-color:#b7edff}.volume-row{display:grid;grid-template-columns:72px minmax(0,1fr) 40px;gap:10px;align-items:center;color:#a7c4d6;font:11px/1.3 var(--sans)}.volume-row output{color:#8ee8ff;font:11px/1.3 var(--mono);text-align:right}.volume-row input[type=range]{width:100%;accent-color:#69cfff}.settings-check{display:flex;align-items:center;gap:8px;color:#a7c4d6;font:11px/1.4 var(--sans);cursor:pointer}.settings-check input{accent-color:#69cfff}.settings-check.settings-forced{color:#7896aa;cursor:default}.settings-check.settings-forced input{opacity:.75}.keymap{display:grid;grid-template-columns:92px minmax(0,1fr);gap:3px 10px;margin:0}.keymap dt{color:#8ee8ff;font:11px/1.5 var(--mono)}.keymap dd{margin:0;color:#9db9cb;font:11px/1.5 var(--sans)}#dev-stats{position:fixed;top:52px;left:10px;z-index:8;min-width:224px;padding:8px 11px}#dev-stats .row{display:flex;justify-content:space-between;gap:14px;white-space:nowrap}#dev-stats .row span:last-child{color:var(--ink-bright)}#dev-stats hr{border:0;border-top:1px solid rgba(84,142,196,.22);margin:6px 0}#protection-confirm,#fleet-leave-confirm{position:fixed;inset:0;z-index:22;display:grid;place-items:center;padding:18px;background:#020509bd;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.confirm-card{width:min(430px,100%);padding:20px;text-align:left;color:#d9ebf8;background:#0a1420;border:1px solid rgba(255,184,94,.48);box-shadow:0 24px 70px #000000b8,inset 3px 0 var(--warn)}.confirm-card .eyebrow{color:#d6974d;font-size:10px;letter-spacing:1.7px}.confirm-card h2{margin:6px 0 8px;color:#fff1dc;font:650 18px/1.3 var(--sans)}.confirm-card p{margin:0;color:#a8bbc9;font:13px/1.65 var(--sans)}.confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.confirm-actions button{padding:8px 12px;cursor:pointer;color:#d8e9f5;background:#111f2c;border:1px solid rgba(125,166,195,.36);font:600 12px/1 var(--sans)}.confirm-actions .danger{color:#2a1602;background:#f2b55f;border-color:#ffd18e}#fleet-leave-confirm .confirm-card{border-color:#eb6b6b7a;box-shadow:0 24px 70px #000000b8,inset 3px 0 #eb6b6b}#fleet-leave-confirm .eyebrow{color:#df7777}#fleet-leave-confirm .confirm-actions .danger{color:#240707;background:#e77c7c;border-color:#faa}#top-actions button:focus-visible,.choice-row button:focus-visible,.session-actions button:focus-visible,#beacon-copy:focus-visible,#touch-controls button:focus-visible,#fleet-toggle:focus-visible,.fleet-form input:focus-visible,.fleet-form button:focus-visible,#fleet-leave:focus-visible,.fleet-action summary:focus-visible,.drawer-head button:focus-visible,.econ-progress-row button:focus-visible,.settings-check input:focus-visible,.volume-row input:focus-visible,#alert-strip:focus-visible,#minimap-canvas:focus-visible,button.chat-who:focus-visible,#internal-error-close:focus-visible,.roster-type:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.econ-progress-row button:focus-visible,.roster-type:focus-visible{outline-offset:-2px}@media(pointer:coarse){#touch-controls{display:grid}#top-actions button{min-height:40px}#internal-error-close{min-height:44px}.cmd-btn{width:62px;height:62px}#command-grid{grid-auto-columns:62px;grid-auto-rows:62px}#sel-multi-grid{grid-auto-columns:44px}.mini-portrait{width:44px;height:44px}.session-actions button,#fleet-toggle,.fleet-form button,#fleet-leave,.econ-progress-row button{min-height:44px}.tracking-target{min-height:54px}}@media(max-width:1180px){#production{width:216px}#command-center{grid-template-columns:minmax(0,270px) minmax(0,1fr)}#sel-single{grid-template-columns:52px minmax(0,1fr);gap:7px}.portrait-frame{width:52px;height:52px}.sel-stats{gap-inline:6px}.sel-stats dt,.sel-stats dd{font-size:9px}.ledger-cell.hostiles{display:none}:root{--roster-w: 88px;--roster-art: 48px;--closeup-w: 356px}}@media(max-width:900px){:root{--roster-w: 80px;--roster-art: 44px;--roster-cell: 34px;--closeup-w: min(288px, calc(100vw - 20px) )}.closeup-line{font-size:12px}.roster-eyebrow{display:none}.roster-title,.roster-title b{font-size:9px;letter-spacing:.2px}#production{display:none}#identity-seg{min-width:0}#identity-meta{display:none}#command-center{grid-template-columns:minmax(0,1fr)}#selection-pane{display:none}#drawer{width:min(268px,calc(100vw - 20px))}}@media(max-width:560px){#tracking-panel{width:min(214px,calc(100vw - 20px))}.tracking-target{grid-template-columns:40px minmax(0,1fr)}.tracking-target-art{width:40px;height:40px}#internal-error-alert header{align-items:stretch;flex-direction:column}.internal-error-actions{justify-content:space-between}}@media(pointer:coarse){:root{--roster-w: 112px;--roster-art: 64px;--roster-cell: 46px}}@media(pointer:coarse)and (max-width:900px){:root{--roster-w: 86px;--roster-art: 48px;--roster-cell: 40px}}@media(prefers-reduced-motion:reduce){.sel-bar i,.econ-progress i{transition:none}#closeup,.closeup-stage[data-effect=flight] .closeup-grille,.closeup-exhaust{animation:none}}
