:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#dedfdc;background:#0c0e10;font-synthesis:none;color-scheme:dark;--text: #dedfdc;--muted: #a1a7a7;--faint: #818b8e;--line: #c1cbd21c;--surface: #111518;--raised: #252c31;--gold: #b8ac8d;--green: #8c9c8a;--blue: #9bc9d8;--energy: #83b9ff;--arcane: #c5b0ef;--hostile: #c3a0e7;--red: #bf877a;--ok: #8fd3c1;--warn: #e0a646;--danger: #ec6a57;--night: #06090d;--steel: #b9d6df;--overlay: #151c21f7;--overlay-line: #ffffff2b;--overlay-shadow: 0 6px 20px #0006;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--display: "Avenir Next Condensed", "Bahnschrift", "Roboto Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--wordmark: "Avenir Next", "Bahnschrift", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--ink: #eef4f6;--steel-fill: linear-gradient(180deg, #ffffff 0%, #dbe9ee 46%, #a9c8d3 62%, #e7f0f3 100%);--arcane-fill: linear-gradient(180deg, #f1e6ff 0%, #d6c4f7 50%, #a88ddb 100%);--deck-controls: 156px;--header: 44px;--performance-height: 22px;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .15s,border-color .15s,color .15s}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:active:not(:disabled){background-color:#343b3f}[hidden]{display:none!important}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:19px;padding:0 4px;border:1px solid #ffffff26;border-radius:2px;color:#adb8bf;background:#ffffff05;font:10px var(--mono);white-space:nowrap}#game{height:100%;height:100dvh;position:relative;overflow:hidden;background:#202326;isolation:isolate}#game{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.topbar{position:absolute;inset:0 0 auto;height:var(--header);z-index:17;display:flex;align-items:center;gap:22px;padding:0 16px;background:linear-gradient(180deg,#1c2226,#121619);border-bottom:1px solid #abb8c32b;box-shadow:0 3px 12px #0005}.operation-brand{display:flex;align-items:center;gap:9px;white-space:nowrap}.faction-mark{display:flex;color:var(--blue)}.faction-mark svg{width:30px;height:30px;filter:drop-shadow(0 0 6px #c5b0ef44)}.operation-brand strong{display:block;font-family:var(--wordmark);font-size:12px;font-weight:500;letter-spacing:.2em}.operation-name{display:block;margin-top:2px;color:var(--faint);font-size:8px;letter-spacing:.17em}.core-status{display:flex;align-items:center;justify-content:center;gap:20px;flex:1}.core-hud{width:clamp(100px,11vw,166px)}.core-hud>span{display:flex;justify-content:space-between;gap:12px;color:var(--friendly-team, var(--blue));font-size:10px;font-weight:600;letter-spacing:.06em}.core-hud b{font:10px var(--mono);color:var(--text)}.core-track{height:3px;margin-top:5px;background:#ffffff12}.core-track i{display:block;height:100%;background:var(--friendly-team, var(--blue));transition:width .2s}.hostile>span{color:var(--hostile-team, var(--hostile))}.hostile .core-track i{background:var(--hostile-team, var(--hostile))}#matchTime{font:15px var(--mono);font-variant-numeric:tabular-nums;color:#c0c7c1}.resources{display:flex;align-items:center;gap:10px}.energy-symbol,.arcane-symbol{display:flex;color:var(--energy)}.energy-symbol svg,.arcane-symbol svg{width:25px;height:25px}#energy,#arcane{min-width:38px;color:var(--energy);font:600 22px var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.04em}.energy-resource .resource-copy,.energy-resource .resource-copy small{color:var(--energy)}.energy-amount{display:flex;align-items:baseline;gap:3px}.energy-cap{color:var(--energy);opacity:.55;font:11px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.energy-resource[data-full=true] #energy{text-shadow:0 0 9px #83b9ff99}.energy-resource[data-full=true] .energy-cap{opacity:1}.energy-resource[data-full=true] #energyLabel{color:var(--text);font-weight:600}.arcane-symbol,#arcane,.arcane-resource .resource-copy{color:var(--arcane)}#arcane{min-width:14px}.resource-copy{color:#bfc7ca;font-size:9px;letter-spacing:.08em}.resource-copy small{display:block;margin-top:2px;font:10px var(--mono);color:var(--green);letter-spacing:0;white-space:nowrap}.supply{display:flex;align-items:center;gap:6px;font:11px var(--mono);white-space:nowrap;color:var(--muted)}.supply-mark{display:flex;margin-right:3px}.supply-mark svg{width:22px;height:22px}.supply strong{font-size:14px;font-weight:500;color:var(--text)}.header-actions{display:flex;gap:2px;padding-left:17px;border-left:1px solid var(--line)}.header-actions button{position:relative;width:34px;height:34px;display:grid;place-items:center;padding:7px;color:var(--muted);border:1px solid transparent;border-radius:2px;background:transparent}.header-actions button:hover{color:var(--text);background:var(--raised)}.header-actions button:focus-visible{outline:1px solid #9bc9d88c;outline-offset:-1px}.header-actions svg{width:20px;height:20px}.speed-control{display:flex;align-items:center;gap:2px;margin-right:8px;padding-right:8px;border-right:1px solid var(--line)}.speed-control>span{margin-right:4px;font-size:8px;font-weight:600;letter-spacing:.09em;color:var(--muted)}.header-actions .speed-control button{width:auto;min-width:30px;height:24px;padding:0 6px;font:10px var(--mono);color:var(--muted);border-color:#fff2}.header-actions .speed-control button[aria-pressed=true]{color:#d5edf4;border-color:var(--blue);background:#1c303b}#soundButton[aria-pressed=true]{color:var(--faint)}#soundButton[aria-pressed=true]:after{content:"";position:absolute;width:24px;height:1px;background:var(--red);transform:rotate(-45deg)}.music-player{display:flex;align-items:center;gap:2px;min-width:0;margin-left:auto;padding-left:17px;border-left:1px solid var(--line)}.music-player>button{height:34px;display:flex;align-items:center;justify-content:center;color:var(--muted);border:1px solid transparent;border-radius:2px;background:transparent}.music-player>button:hover,.music-track[aria-expanded=true]{color:var(--text);background:var(--raised)}.music-player button:focus-visible{outline:1px solid #9bc9d88c;outline-offset:-1px}.music-skip{flex-shrink:0;width:28px;padding:0}.music-skip svg{width:16px;height:16px}.music-track{gap:8px;min-width:34px;padding:0 9px 0 7px}.music-track svg{width:18px;height:18px;color:var(--blue)}.music-title{display:flex;min-width:0;max-width:170px;text-align:left}.music-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c9d0d0;font-size:12px;font-weight:500}.music-track>*{transition:opacity .3s}.music-player[data-loading=true] .music-track>*{opacity:.45}.music-menu{position:fixed;width:min(280px,calc(100vw - 16px));max-height:calc(100dvh - var(--header) - 16px);overflow-y:auto;padding:4px;background:var(--overlay);border:1px solid var(--overlay-line);border-top:2px solid var(--blue);border-radius:2px;box-shadow:var(--overlay-shadow)}.music-menu:before{content:"Soundtrack";display:block;padding:8px 10px 6px;color:var(--muted);font:600 9px var(--mono);letter-spacing:.14em;text-transform:uppercase}.music-menu button{width:100%;display:flex;align-items:center;gap:11px;min-height:36px;padding:6px 10px;color:var(--muted);text-align:left;border:0;border-radius:2px;background:transparent}.music-menu button:hover,.music-menu button:focus-visible{color:var(--text);background:var(--raised)}.music-menu[data-keyboard=false] button:focus-visible:not(:hover){outline:none;color:var(--muted);background:transparent}.music-menu [data-repeat]{font-size:12px}.music-menu strong{display:block;font-size:12px;font-weight:500;line-height:1.3}.music-menu [aria-checked=true] strong{color:#d5edf4}.music-menu [aria-disabled=true]{opacity:.4;cursor:default}.music-menu [role=separator]{height:1px;margin:4px 10px;background:var(--line)}.music-volume{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;align-items:center;gap:10px;min-height:36px;margin-top:4px;padding:6px 10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.music-volume input{min-width:0;margin:0;accent-color:var(--gold)}.music-volume output{text-align:right;font:11px var(--mono)}.music-bars{display:flex;align-items:flex-end;justify-content:center;gap:2px;width:14px;height:12px;flex-shrink:0}.music-bars i{width:2px;height:100%;background:var(--blue);transform-origin:bottom;visibility:hidden;animation:music-level .9s ease-in-out infinite alternate paused}.music-bars i:nth-child(2){animation-duration:.7s;animation-delay:-.4s}.music-bars i:nth-child(3){animation-duration:1.1s;animation-delay:-.7s}[aria-checked=true]>.music-bars i{visibility:visible}.music-player[data-playing=true] .music-bars i{animation-play-state:running}@keyframes music-level{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.music-check{position:relative;width:12px;height:12px;margin:0 1px;flex-shrink:0;border:1px solid #ffffff4d;border-radius:2px}[aria-checked=true]>.music-check{border-color:var(--blue);background:#1c303b}[aria-checked=true]>.music-check:after{content:"";position:absolute;left:3px;top:0;width:3px;height:7px;border:solid var(--blue);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.battle-view{position:absolute;inset:var(--header) 0 calc(var(--deck-controls) + var(--performance-height));overflow:hidden}#battlefield{display:block;width:100%;height:100%;outline:none;touch-action:none;cursor:default}#battlefield.placing{cursor:crosshair}#status{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-comms{display:flex;align-items:center;gap:14px;min-width:0;pointer-events:none}#soldierCaption{position:absolute;z-index:9;left:0;bottom:calc(100% + 8px);flex-direction:column;align-items:flex-start;gap:1px;width:min(280px,calc(100vw - 36px));text-shadow:0 1px 4px #000000d9}#soldierCaption .comms-speaker{color:var(--blue);font:9px var(--mono);letter-spacing:.04em;text-transform:uppercase}.comms-heading{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0;color:var(--blue);font:9px var(--mono);letter-spacing:.04em;text-transform:uppercase}.comms-speaker{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.comms-front{flex-shrink:0;color:var(--faint);font-size:8px;letter-spacing:0}.comms-signal{display:flex;align-items:center;justify-content:center;gap:2px;height:12px;flex-shrink:0}.comms-signal i{width:2px;height:4px;background:currentColor;opacity:.7}.comms-signal i:nth-child(2){height:9px}.comms-signal i:nth-child(3){height:6px}.field-comms .comms-text{min-width:0;max-width:none;margin:0;color:#d6dddc;font-size:12px;line-height:1.3;text-wrap:pretty}.field-comms[data-category=nearDeath] .comms-speaker,.field-comms[data-category=death] .comms-speaker{color:#ddb4a8}.result-comms{display:block;width:100%;margin:-9px 0 24px}.result-comms .comms-text{margin-top:6px}.result-card{max-height:100%;overflow-y:auto;overscroll-behavior:contain}.command-deck{position:absolute;inset:auto 0 var(--performance-height);height:var(--deck-controls);padding:7px 16px 8px;display:grid;grid-template-columns:176px minmax(230px,1fr) 480px;column-gap:16px;z-index:7;background:linear-gradient(180deg,#1a2024 0,var(--surface) 24px);border-top:1px solid #9aa7b13d;box-shadow:0 -4px 16px #0004,inset 0 1px #0008}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:20px;font-size:9px;font-weight:550;letter-spacing:.09em;color:var(--muted)}.panel-heading>span+span{font:10px var(--mono);letter-spacing:0;color:var(--faint)}.panel-heading b{font-size:11px;font-weight:500;color:var(--text)}.faction-toggle{display:flex;align-items:center;gap:2px;margin-right:8px;padding-right:8px;border-right:1px solid var(--line)}.header-actions .faction-toggle button{width:auto;height:24px;padding:0 7px;border:1px solid #ffffff22;border-radius:1px;background:#ffffff05;color:var(--muted);font-size:8px;font-weight:600;letter-spacing:.08em}.header-actions .faction-toggle button:hover{color:var(--text);border-color:#fff4}.header-actions .faction-toggle button[aria-pressed=true]{color:var(--team-west-ink, #d5edf4);border-color:var(--team-west, var(--blue));background:var(--team-west-wash, #1c303b)}.header-actions .faction-toggle button[data-faction="-1"][aria-pressed=true]{color:var(--team-east-ink, #eadcf7);border-color:var(--team-east, #be8bdf);background:var(--team-east-wash, #2b1e3a)}.tactical-panel{position:relative;min-width:0;padding-right:14px;border-right:1px solid var(--line)}#minimap{display:block;width:100%;height:auto;aspect-ratio:15 / 7;margin-top:4px;border:1px solid #9aa7b13b;background:#14191b;cursor:crosshair;touch-action:none}.selection-panel{min-width:0;padding-right:14px;border-right:1px solid var(--line)}#selectionTeam{font-size:9px}.selection-content{display:flex;gap:12px;min-width:0;margin-top:4px}.unit-portrait{position:relative;width:82px;height:111px;flex-shrink:0;background:#1c2226;border:1px solid var(--line);overflow:hidden}.unit-portrait img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.04)}.selection-rank{--rank: #f2bf4a;position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;gap:5px;padding:18px 6px 6px;background:linear-gradient(#0000,#0b0f11e6 70%);color:var(--rank);pointer-events:auto}.selection-rank[data-rank="3"]{--rank: #ffc53d}.selection-rank svg{width:13px;height:16px;flex-shrink:0;fill:currentColor;filter:drop-shadow(0 1px 1px #000c)}.selection-rank[data-rank="3"] svg{filter:drop-shadow(0 1px 1px #000c) drop-shadow(0 0 4px #ffbc3a80)}.selection-rank[data-rank="1"] path:nth-child(n+2),.selection-rank[data-rank="2"] path:nth-child(3){display:none}.selection-rank span{font:600 8px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;text-shadow:0 1px 2px #000}.selection-rank:not([hidden]){animation:rank-in .5s cubic-bezier(.2,1.4,.4,1)}.selection-xp{--exp: #ffd84a;margin-top:7px}.selection-xp-track{display:block;height:2px;background:#ffd84a1a}.selection-xp-track i{display:block;height:100%;background:var(--exp);transition:width .3s}.selection-xp .selection-statline>span:first-child{color:#e9d9a6}.stat-label{margin-right:2px;font-weight:700;letter-spacing:.08em;color:var(--friendly-team, var(--blue))}.selection-panel[data-side=hostile] .selection-statline .stat-label{color:var(--hostile-team, var(--hostile))}.selection-panel .selection-xp .selection-statline .stat-label{color:var(--exp)}@keyframes rank-in{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.selection-rank:not([hidden]){animation:none}}.selection-info{min-width:0;flex:1}.selection-info h2{margin:0 0 6px;font-size:18px;font-weight:550;line-height:1.1;letter-spacing:-.025em;color:#e2e4df}.selection-integrity{height:3px;background:#ffffff10}.selection-integrity i{display:block;width:100%;height:100%;background:var(--friendly-team, var(--blue));transition:width .15s}.selection-panel[data-side=friendly] #selectionTeam{color:var(--friendly-team, var(--blue))}.selection-panel[data-side=hostile] .selection-integrity i,.selection-panel[data-side=hostile] .production-track i{background:var(--hostile-team, var(--hostile))}.selection-panel[data-side=hostile] #selectionTeam,.selection-panel[data-side=hostile] .production-status b{color:var(--hostile-team, var(--hostile))}.selection-panel[data-side=hostile] .unit-portrait{border-color:var(--hostile-team-dim, #c3a0e733)}.selection-statline{display:flex;justify-content:space-between;gap:8px;margin-top:5px;color:#b4c1c6;font:9px var(--mono)}.selection-statline>span+span{color:var(--muted)}#selectionDescription{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:-1px;padding:0;border:0}.production-status{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;font-size:9px;font-weight:550;letter-spacing:.05em;color:var(--muted)}.production-status b{font:11px var(--mono);color:var(--gold)}.production-track{height:3px;margin-top:6px;background:#ffffff10}.production-track i{display:block;height:100%;background:var(--gold)}.selection-details{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font:9px var(--mono);color:var(--muted)}.selection-details>span+span{color:var(--faint)}.production-panel{min-width:0}.production-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;height:32px;margin-bottom:4px}.production-heading>.panel-heading{width:100%;gap:10px}.command-grid{display:grid;grid-template-columns:repeat(var(--construction-columns, 5),minmax(0,1fr));gap:5px}.build-card{position:relative;min-width:0;height:62px;padding:0;text-align:left;border:1px solid #aab7c02b;border-radius:1px;background:#1b2227;overflow:hidden}.build-card img{position:absolute;inset:0;width:100%;height:55px;object-fit:cover;object-position:center 40%;opacity:.96;filter:saturate(.9) contrast(1.04);transition:opacity .15s}.build-card:before{content:"";position:absolute;inset:12px 0 0;background:linear-gradient(transparent,#10161be8 68%,#10161b);z-index:1;pointer-events:none}.build-card>strong{position:absolute;left:7px;right:4px;bottom:18px;z-index:1;color:#dddfdc;font-size:11px;line-height:1.1;font-weight:600}.build-role{position:absolute;left:7px;bottom:5px;z-index:1;color:#a7b2b8;font-size:9px}.build-cost{position:absolute;left:4px;top:4px;display:flex;align-items:center;gap:3px;color:var(--energy);background:#0e1418eb;border-radius:1px;padding:1px 3px;font:10px var(--mono)}.build-cost svg{width:12px;height:12px}.build-card:hover:not(:disabled){border-color:var(--blue);background:#323b41}.build-card:hover:not(:disabled) img{opacity:1}.build-card[aria-pressed=true]{border-color:var(--blue);box-shadow:inset 0 -2px var(--blue)}.build-card[aria-pressed=true]:before{background:linear-gradient(transparent,#1c303bed 68%,#1c303b)}.build-card[aria-pressed=true]>strong,.build-card[aria-pressed=true] .build-role{color:#d5edf4}.build-card:disabled img{opacity:.32}.build-card:disabled>strong,.build-card:disabled .build-role{color:#8b9691}.build-card:disabled .build-cost{color:#819bbd}.command-actions{display:grid;grid-template-columns:1fr 1.1fr 76px;gap:5px;margin-top:5px}.ability,.salvage{position:relative;min-width:0;height:36px;display:flex;align-items:center;gap:7px;border:1px solid #ffffff20;border-radius:2px;background:#ffffff03;padding:4px 8px;text-align:left}.ability>svg{width:19px;height:19px;color:var(--gold)}.ability>span{min-width:0}.ability strong{display:block;font-size:11px;line-height:1.15;font-weight:550;white-space:nowrap}.ability small{display:block;margin-top:2px;font-size:9px;color:var(--muted);white-space:nowrap}.ability:hover:not(:disabled),.salvage:hover:not(:disabled){border-color:#b8ac8d80;background:#b8ac8d0b}.ability:disabled,.salvage:disabled{color:#8b9691;border-color:#ffffff10}.ability:disabled>svg{color:var(--faint)}.ability:disabled small{color:var(--faint)}.strike{--charge: 100%}.strike:after{content:"";position:absolute;bottom:-1px;left:0;width:var(--charge);height:2px;background:#8c9c8a90;transition:width .1s linear}.strike:not(:disabled) small{color:#abb6a6}.strike.armed{background:#b8ac8d1c;border-color:var(--gold)}.strike.armed:after{background:var(--gold)}.salvage{justify-content:center;flex-direction:column;gap:2px;padding:3px;color:var(--muted);font-size:10px}.salvage span{color:var(--energy);font:10px var(--mono)}.salvage:disabled span{color:var(--faint)}.command-tooltip{position:fixed;z-index:20;width:min(300px,calc(100vw - 16px));padding:12px;color:var(--text);background:var(--overlay);border:1px solid var(--overlay-line);border-top:2px solid var(--gold);box-shadow:var(--overlay-shadow);pointer-events:none}.command-tooltip>div:first-child{display:flex;justify-content:space-between;align-items:center;font-size:14px}.command-tooltip strong{font-weight:550}.tooltip-unit{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.command-tooltip p{font-size:12px;line-height:1.45;color:#bbc4c7;margin:9px 0}.tooltip-cost{display:flex;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--line);font:10px var(--mono);color:var(--energy)}.command-tooltip small{display:block;margin-top:8px;font-size:10px;line-height:1.4;color:var(--muted)}.unit-preview{--preview-glow: #50636e;--preview-accent: #9fd6e4;display:grid;grid-template-columns:118px 1fr;align-items:center;gap:12px;margin:0 0 10px;border:1px solid #ffffff17;border-radius:5px;overflow:hidden;background:#0c1318}.unit-preview[data-side=brood]{--preview-glow: #54406c;--preview-accent: #cfaef2}.unit-preview__art{display:grid;place-items:center;height:84px;padding:7px 8px 5px;background:radial-gradient(ellipse 70% 75% at 50% 58%,var(--preview-glow),#151d23 78%);border-right:1px solid #ffffff12}.unit-preview__art img{display:block;max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 5px 5px #000a)}.unit-preview figcaption{display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:10px}.command-tooltip .unit-preview small{margin:0;font:8px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.unit-preview strong{font-size:13px;line-height:1.2;color:#f2f5f3}.unit-preview span{font:10px var(--mono);color:var(--preview-accent)}.placement-hint,.target-hint{display:flex;align-items:center;gap:8px;height:32px;margin-bottom:4px;padding-left:7px;border-left:2px solid var(--gold)}.placement-hint>div,.target-hint>div{min-width:0}.placement-hint strong,.target-hint strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dcd3bd;font-size:9px;font-weight:600;letter-spacing:.02em}.placement-hint span,.target-hint span{display:block;margin-top:2px;color:#b9c3c5;font-size:10px;line-height:1.2}.placement-hint button,.target-hint button{display:flex;align-items:center;gap:5px;flex-shrink:0;margin-left:auto;height:32px;padding:0 6px;font-size:9px;color:var(--muted);background:#ffffff05;border:1px solid var(--line)}.placement-hint button:hover,.target-hint button:hover{background:#ffffff10;color:var(--text)}.placement-hint:not([hidden])~.production-heading,.target-hint:not([hidden])~.production-heading{display:none}.placement-hint.invalid{border-left-color:var(--red)}.placement-hint.invalid span{color:#e0b3a7}.primary-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:48px;padding:13px 17px;border:1px solid #b2d7e2;border-radius:1px;background:#9bc9d8;color:#111e25;font-size:13px;font-weight:650;text-align:left}.primary-button:hover{background:#b8dfe9;border-color:#d4edf3}.primary-button svg{width:18px;height:18px}.pause-overlay,.result-overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:16px;background:#0a111378}.pause-overlay{z-index:auto}.pause-card{position:relative;z-index:6}.pause-card,.result-card{width:390px;max-width:100%;padding:32px;background:linear-gradient(145deg,#242b30fa,#11171afa);border:1px solid #aab7c033;border-top:2px solid var(--gold);box-shadow:0 20px 70px #0008;text-align:left}.pause-card h2{margin:0 0 24px;color:#e2e4df;font-size:32px;font-weight:550;letter-spacing:-.035em}.result-overlay{inset:var(--header) 0 var(--performance-height);z-index:15;background:#0a11139c}.result-card{width:560px;padding:38px}.result-card h2{font-size:36px;font-weight:550;line-height:1.05;letter-spacing:-.035em;margin:22px 0 16px;color:#e2e4df}.result-card p{margin:0;max-width:400px;font-size:14px;line-height:1.6;color:var(--muted)}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:24px 0;margin:28px 0;border-block:1px solid var(--line)}.result-stats>span{font-size:9px;letter-spacing:.07em;color:var(--muted)}.result-stats strong{display:block;margin-top:12px;font:24px var(--mono);color:var(--text)}dialog{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:0 28px 28px;color:var(--text);background:#161d22;border:1px solid var(--overlay-line);border-top:2px solid var(--gold);box-shadow:0 20px 80px #0006;scrollbar-width:thin;scrollbar-color:#707d83 transparent}dialog::backdrop{background:#070e11b8}.dialog-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;margin:0 -28px;padding:20px 20px 16px 28px;background:#161d22;border-bottom:1px solid var(--line)}.dialog-head h2{margin:0;font-size:20px;font-weight:550;letter-spacing:-.01em;color:#e2e4df}.dialog-close{width:32px;height:32px;display:grid;place-items:center;padding:6px;background:transparent;border:0;border-radius:2px;color:var(--muted)}.dialog-close:hover{background:var(--raised);color:var(--text)}.dialog-close svg{width:18px;height:18px}.settings-group{padding:20px 0 4px}.settings-group+.settings-group{border-top:1px solid var(--line)}dialog h3{margin:0 0 12px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.setting-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:4px 14px;min-height:36px;margin-bottom:8px;font-size:13px;color:var(--text)}.setting-row select{grid-column:2 / -1;justify-self:start;width:200px;max-width:100%;padding:7px 28px 7px 10px;color:var(--text);background:#252f35;border:1px solid #ffffff30;border-radius:2px;font-size:13px}.setting-note{grid-column:2 / -1;margin:0;font-size:12px;line-height:1.5;color:var(--muted)}.volume-setting input{min-width:0;accent-color:var(--gold)}.volume-setting output{min-width:36px;text-align:right;font:11px var(--mono);color:var(--muted)}.toggle-setting{display:flex;gap:10px;min-height:28px;color:var(--text)}.toggle-setting input{width:16px;height:16px;margin:0;accent-color:var(--gold)}.toggle-setting+.setting-note{margin:-6px 0 14px 26px}.soundtrack-link{display:inline-block;margin:4px 0 12px;color:var(--muted);font-size:12px;text-underline-offset:3px}.soundtrack-link:hover{color:var(--text)}.controls-list{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 16px;margin:0 0 16px;font-size:13px}.controls-list dt{color:var(--muted)}.controls-list dd{display:flex;align-items:center;justify-content:flex-end;gap:5px;margin:0;color:var(--text)}.controls-list kbd{font-size:10px}.rules{margin:0 0 12px;padding-left:18px;color:#aeb8bb;font-size:13px;line-height:1.55}.rules li+li{margin-top:6px}@media(min-width:1700px){.topbar{padding-inline:22px;gap:28px}.command-deck{grid-template-columns:196px minmax(340px,1fr) 540px;padding-inline:22px;column-gap:22px}.unit-portrait{width:92px}.selection-details{font-size:10px}.selection-info h2{font-size:20px}.build-card>strong{font-size:12px}}@media(max-width:1190px){.topbar{padding-inline:16px;gap:18px}.core-status{gap:13px}.core-hud{width:100px}.operation-brand{gap:8px}.operation-brand strong{font-size:11px}.operation-name{font-size:8px}.supply{gap:4px}.supply-mark{display:none}.header-actions{padding-left:10px}.command-deck{grid-template-columns:156px minmax(190px,1fr) 424px;padding-inline:14px;column-gap:14px}.tactical-panel,.selection-panel{padding-right:12px}.unit-portrait{width:70px}.selection-content{gap:10px}#selectionTeam,.selection-details>span+span{display:none}.selection-info h2{font-size:17px}.selection-statline{font-size:8px}.build-card>strong{font-size:11px;left:7px}.build-role{left:7px}.ability{gap:6px;padding-inline:7px}.command-actions{grid-template-columns:1fr 1.1fr 65px}}@media(max-width:980px){.topbar{gap:14px}.operation-brand strong{font-size:10px;letter-spacing:.04em}.operation-name{font-size:7px}.core-hud{width:80px}.core-hud>span,.core-hud b{font-size:9px}.core-status{gap:10px}.supply{display:none}.header-actions{padding-left:8px}.header-actions button{width:32px}.resources{gap:8px}.command-deck{grid-template-columns:132px minmax(160px,1fr) 390px;column-gap:12px;padding-inline:12px}.unit-portrait{display:none}.selection-info h2{font-size:18px}.panel-heading{font-size:9px}.build-card>strong{font-size:10px}.build-role{font-size:9px}.ability strong{font-size:11px}}@media(max-width:800px){.operation-brand{flex:1}.operation-brand strong{font-size:12px}.operation-name{font-size:8px}.core-status{flex:0}.core-hud{display:none}#matchTime{font-size:13px}.command-deck{grid-template-columns:140px minmax(0,1fr);column-gap:12px;padding-inline:12px}.selection-panel{display:none}.build-card>strong{font-size:11px}.build-role{font-size:9px}.ability strong{font-size:11px}}@media(max-width:600px){:root{--deck-controls: 182px}.topbar{gap:10px;padding-inline:12px}.faction-mark svg{width:26px;height:26px}.operation-brand{gap:7px}.operation-brand strong{font-size:10px;letter-spacing:.025em}.operation-name{font-size:7px;margin-top:2px}.core-status,.energy-symbol,.arcane-symbol{display:none}.resources{gap:6px}#energy,#arcane{font-size:18px;min-width:0}.energy-cap{font-size:9px}.resource-copy,.resource-copy small{font-size:8px}.header-actions{gap:0;padding-left:8px}.header-actions button{width:32px;height:34px;padding:6px}#fullscreenButton{display:none}.command-deck{grid-template-columns:88px minmax(0,1fr);column-gap:10px;padding:7px 10px 8px}.tactical-panel{padding-right:8px}.tactical-panel .panel-heading{font-size:8px;letter-spacing:.03em}#minimap{margin-top:4px}.production-heading{height:40px;margin-bottom:4px}.command-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.build-card{height:40px}.build-card img{height:100%;object-position:center 40%}.build-card>strong{font-size:10px;bottom:4px;left:6px}.build-role{display:none}.build-cost{font-size:9px;top:3px;left:4px;gap:2px}.build-cost svg{width:10px;height:10px}.command-actions{grid-template-columns:1fr 1fr;gap:4px;margin-top:4px}.ability{height:34px;padding:3px 4px;gap:4px}.ability>svg{width:17px;height:17px}.ability strong{font-size:10px}.ability small{margin-top:2px;font-size:8px}.salvage{position:absolute;bottom:9px;left:10px;width:79px;height:34px;flex-direction:row;gap:5px;font-size:9px}.salvage span{font-size:9px}.comms-front{font-size:7px}.comms-heading{gap:6px;font-size:8px}.result-comms{margin-bottom:20px}.placement-hint,.target-hint{height:40px;gap:5px;padding-left:5px}.placement-hint strong,.target-hint strong{font-size:8px}.placement-hint span,.target-hint span{font-size:9px}.placement-hint button,.target-hint button{padding-inline:4px;font-size:8px}.pause-card,.result-card{padding:26px}.pause-card h2{font-size:28px}.result-card h2{font-size:30px}.result-stats{gap:14px}.result-stats>span{font-size:8px}.result-stats strong{font-size:22px}dialog{padding:0 20px 20px}.dialog-head{margin:0 -20px;padding-left:20px}.setting-row{grid-template-columns:64px minmax(0,1fr) auto}}@media(max-width:370px){.operation-brand strong{font-size:9px}.faction-mark{display:none}.topbar{gap:7px}.command-deck{grid-template-columns:76px minmax(0,1fr);column-gap:8px}.salvage{width:67px;flex-direction:column;gap:2px}.tactical-panel .panel-heading{font-size:8px}.ability>svg{display:none}.ability{justify-content:center}}@media(max-height:700px)and (min-width:601px){:root{--deck-controls: 148px;--header: 42px}.command-deck{padding-block:5px}.build-card{height:58px}.unit-portrait{height:105px}.selection-info h2{font-size:17px}.selection-details{margin-top:6px}}@media(max-height:520px)and (min-width:601px){.pause-overlay{padding:8px}.pause-card{width:440px;display:flex;align-items:center;gap:18px;padding:14px 20px}.pause-card h2{font-size:21px;margin:0;white-space:nowrap}.pause-card .primary-button{width:auto;flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}.music-bars i{animation:none;transform:scaleY(.6)}}.performance-strip{position:absolute;inset:auto 0 0;height:var(--performance-height);display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:0 12px;background:#0c1013;border-top:1px solid var(--line);color:#a1a7a7;font:10px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;z-index:16}@media(max-width:600px){.performance-strip{justify-content:center;gap:12px;padding-inline:6px;font-size:9px}}.combat-types{display:grid;grid-template-columns:1fr 1fr;gap:8px}.combat-type{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--type-color);font-size:11px;line-height:1.4}.combat-type svg{width:22px;height:22px;flex-shrink:0}.combat-type small{display:block;margin:0 0 2px;color:var(--muted);font:8px var(--mono);text-transform:uppercase;letter-spacing:.08em}.tooltip-combat{margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line)}.tooltip-combat .combat-types{padding-bottom:10px}.tooltip-combat .combat-types>.combat-type{padding:7px;border:1px solid #ffffff0e;border-radius:4px;background:#ffffff03}.combat-affinity{padding:8px 0;border-top:1px solid var(--line)}.combat-affinity>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px}.combat-affinity>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.combat-affinity .combat-type svg{width:16px;height:16px}.combat-affinity b{color:#a8d7ba;font:10px var(--mono)}.combat-reduced b{color:#efb29e}.command-tooltip [data-field=damage]{margin:0 0 10px}#selectionCombat{margin-top:7px}#selectionCombat .combat-type{font-size:10px;gap:5px}#selectionCombat .combat-type svg{width:18px;height:18px}.selection-panel[data-combat=true] .selection-details{display:none}.selection-panel[data-combat=true] .production-status{margin-top:6px}.selection-panel[data-combat=true] .production-track{margin-top:3px}@media(min-width:801px)and (max-width:1190px){.selection-panel[data-combat=true] .unit-portrait{display:none}}@media(max-width:600px){.topbar .faction-mark{display:none}.topbar{gap:8px;padding-inline:8px}.header-actions{padding-left:4px}.header-actions button{width:28px}}@media(max-width:370px){.topbar .operation-brand{display:none}.topbar .resources{flex:1}}#tooltip-energy{border-top-color:var(--energy)}#tooltip-arcane{border-top-color:var(--arcane)}#tooltip-arcane .tooltip-cost{color:var(--arcane)}#upgradeLabel,.selection-panel[data-economy=true] .production-status b{color:var(--energy)}.selection-panel[data-economy=true] .production-track i{background:var(--energy)}.epic-supply{margin-left:auto;font:9px var(--mono);color:var(--blue)}.epic-lock{display:none;position:absolute;top:23px;left:5px;z-index:2;color:#ded5b6;font:8px var(--mono)}.tech-locked .epic-lock{display:block}.build-card[data-build=aegis]{border-color:#99bdcf66}@media(max-width:600px){:root{--deck-controls: 200px}.production-heading,.placement-hint,.target-hint{height:32px}.build-card{height:34px}.build-card[data-build=aegis]{grid-column:1 / -1}html[data-map=sandbox] .build-card[data-build=aegis]{grid-column:auto}.build-card[data-build=aegis] img{object-position:center 55%}.build-card[data-build=aegis] .epic-lock{left:auto;right:6px;top:5px}}@media(max-width:1799px){html[data-map=sandbox] .arcane-resource{display:none}}@media(max-width:1699px){html[data-map=sandbox] .energy-resource{display:none}}@media(max-width:1365px){html[data-map=sandbox] #musicPrevious,html[data-map=sandbox] #musicNext,html[data-map=sandbox] .music-title{display:none}html[data-map=sandbox] .music-track{width:34px;padding:0}}@media(max-width:1190px){.speed-control>span{display:none}}@media(max-width:719px){.faction-toggle,.speed-control{margin-right:4px;padding-right:4px}.header-actions .faction-toggle button{padding:0 4px}.header-actions .speed-control button{min-width:24px;padding:0 3px}}@media(max-width:600px){html[data-map=sandbox] .topbar .header-actions>button:not(#pauseButton){display:none}}@media(min-width:1191px)and (max-width:1459px){.topbar{gap:16px}.core-hud{width:clamp(100px,8.5vw,166px)}}@media(max-width:1279px){.music-player{flex-shrink:0}#musicPrevious,#musicNext,.music-title{display:none}.music-track{width:34px;padding:0}}@media(min-width:981px)and (max-width:1024px){.topbar{gap:14px}}@media(max-width:880px){.core-hud{display:none}}@media(max-width:1190px){.music-player{padding-left:10px}}@media(max-width:980px){.music-player{padding-left:8px}}@media(min-width:601px)and (max-width:719px){.topbar{gap:10px}.topbar .faction-mark,.energy-symbol,.arcane-symbol{display:none}}@media(min-width:371px)and (max-width:390px){.topbar{gap:4px}}@media(max-width:600px){.music-player{padding-left:4px}.music-track{width:32px;min-width:32px}}.outpost-banner{--banner: var(--team-west, #85cddc);--banner-rgb: var(--team-west-rgb, 133 205 220);position:absolute;inset:0;z-index:3;pointer-events:none;color:#f1f3ee}.outpost-banner[data-owner="-1"]{--banner: var(--team-east, #be8bdf);--banner-rgb: var(--team-east-rgb, 190 139 223)}.outpost-banner[data-kind=lost]{--banner: var(--danger);--banner-rgb: 236 106 87}.outpost-banner[data-kind=neutralized]{--banner: #e6cf91;--banner-rgb: 230 207 145}.outpost-banner:before{content:"";position:absolute;inset:0 0 auto;height:90px;opacity:0;background:radial-gradient(ellipse 45% 100% at 50% 0%,rgb(var(--banner-rgb) / .2),transparent 70%)}.outpost-banner__stage{position:absolute;top:10px;left:50%;display:flex;align-items:center;gap:11px;max-width:calc(100% - 24px);padding:7px 16px 8px 10px;transform:translate(-50%);overflow:hidden;background:linear-gradient(90deg,rgb(var(--banner-rgb) / .16),transparent 40%),linear-gradient(180deg,#0a1114eb,#05090beb);border:1px solid #ffffff12;border-left:2px solid var(--banner);border-radius:3px;box-shadow:0 6px 18px #0008,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.outpost-banner__stage:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgb(var(--banner-rgb) / .9),rgb(var(--banner-rgb) / .15) 60%,transparent)}.outpost-banner__emblem{position:relative;flex:none;display:grid;place-items:center;width:22px;height:22px;margin:0 2px 0 4px;color:#fff;background:radial-gradient(circle,rgb(var(--banner-rgb) / .5),#070c0f 75%);border:1px solid var(--banner);transform:rotate(45deg);box-shadow:0 0 10px rgb(var(--banner-rgb) / .6)}.outpost-banner__emblem svg{width:13px;height:13px;transform:rotate(-45deg);filter:drop-shadow(0 0 3px var(--banner))}.outpost-banner__halo{position:absolute;inset:-5px;border:1px solid rgb(var(--banner-rgb) / .6);opacity:0}.outpost-banner__copy{display:grid;gap:2px;min-width:0}.outpost-banner__heading{display:flex;align-items:baseline;gap:12px}.outpost-banner__title{font-size:14px;font-weight:800;line-height:1.1;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;color:#fff;text-shadow:0 0 10px rgb(var(--banner-rgb) / .55)}.outpost-banner__lane{margin-left:auto;color:color-mix(in srgb,var(--banner) 70%,#fff);font:600 9px var(--mono);letter-spacing:.24em;white-space:nowrap;opacity:.85}.outpost-banner__subline{display:flex;align-items:baseline;gap:7px;min-width:0;font-size:11px;line-height:1.25;white-space:nowrap}.outpost-banner__name{color:#ece5d2;font-weight:700}.outpost-banner__name:after{content:"·";margin-left:7px;color:var(--banner)}.outpost-banner__detail{overflow:hidden;color:#aab2af;text-overflow:ellipsis}.outpost-banner__streak{position:absolute;inset:0 auto 0 0;width:40%;opacity:0;background:linear-gradient(100deg,transparent,rgb(var(--banner-rgb) / .28) 45%,#ffffff40 50%,transparent 60%)}.outpost-banner__timer{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--banner);box-shadow:0 0 6px var(--banner);transform-origin:left;opacity:.8}.outpost-banner.is-entering .outpost-banner__timer{animation:outpost-banner-timer var(--hold, 4.2s) linear .35s both}.outpost-banner.is-entering:before{animation:outpost-banner-edge 1.2s ease-out both}.outpost-banner.is-entering[data-tone=loss]:before{animation:outpost-banner-alarm 1.5s ease-out both}.outpost-banner.is-entering .outpost-banner__stage{animation:outpost-banner-in .45s cubic-bezier(.16,1,.3,1) both}.outpost-banner.is-entering .outpost-banner__streak{animation:outpost-banner-streak .9s .15s cubic-bezier(.4,0,.2,1) both}.outpost-banner.is-entering .outpost-banner__emblem{animation:outpost-banner-emblem .55s .05s cubic-bezier(.2,1.3,.35,1) both}.outpost-banner.is-entering .outpost-banner__halo{animation:outpost-banner-halo .9s .3s ease-out both}.outpost-banner.is-entering .outpost-banner__title{animation:outpost-banner-title .6s .12s cubic-bezier(.16,1,.3,1) both}.outpost-banner.is-entering .outpost-banner__lane,.outpost-banner.is-entering .outpost-banner__subline{animation:outpost-banner-rise .4s .28s ease-out both}.outpost-banner.is-leaving .outpost-banner__stage{animation:outpost-banner-out .48s cubic-bezier(.5,0,.75,0) both}@keyframes outpost-banner-edge{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes outpost-banner-alarm{0%{opacity:0}10%{opacity:1}30%{opacity:.3}45%{opacity:.9}to{opacity:0}}@keyframes outpost-banner-in{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-50%,-6px)}to{opacity:1;clip-path:inset(0);transform:translate(-50%)}}@keyframes outpost-banner-streak{0%{opacity:1;transform:translate(-100%)}to{opacity:1;transform:translate(260%)}}@keyframes outpost-banner-emblem{0%{opacity:0;transform:rotate(-135deg) scale(1.9);filter:brightness(3)}to{opacity:1;transform:rotate(45deg) scale(1);filter:none}}@keyframes outpost-banner-halo{0%{opacity:.9;transform:scale(.7)}to{opacity:0;transform:scale(2)}}@keyframes outpost-banner-title{0%{opacity:0;letter-spacing:.4em;filter:blur(4px) brightness(2.2)}to{opacity:1;letter-spacing:.16em;filter:none}}@keyframes outpost-banner-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes outpost-banner-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes outpost-banner-out{to{opacity:0;transform:translate(-50%,-10px);filter:blur(2px)}}@media(prefers-reduced-motion:reduce){.outpost-banner.is-entering:before,.outpost-banner.is-entering *,.outpost-banner.is-leaving *{animation:none!important}.outpost-banner__streak,.outpost-banner__halo{display:none}}@media(max-width:600px){.outpost-banner__stage{top:6px;padding-right:12px}.outpost-banner__title{font-size:12px;letter-spacing:.12em}.outpost-banner__lane{display:none}}.outpost-markers{position:absolute;inset:0;pointer-events:none;overflow:hidden}.outpost-marker{--tone: #cdbf98;position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;transform-origin:50% 100%;will-change:transform}.outpost-marker[data-owner="1"]{--tone: var(--team-west, #85cddc)}.outpost-marker[data-owner="-1"]{--tone: var(--team-east, #be8bdf)}.outpost-marker[hidden]{display:none}.outpost-emblem{position:relative;display:block;width:46px;height:46px;padding:0;border:0;background:none;color:var(--tone);pointer-events:auto;cursor:pointer;transition:transform .18s cubic-bezier(.2,1.4,.4,1)}.outpost-emblem:focus-visible{outline:none}.outpost-emblem:hover,.outpost-emblem:focus-visible,.outpost-marker[data-selected=true] .outpost-emblem{transform:scale(1.1)}.outpost-markers[data-aiming=true] .outpost-emblem,.outpost-markers[data-aiming=true] .outpost-badge{pointer-events:none}.outpost-hex{display:block;width:100%;height:100%;overflow:visible}.outpost-hex path,.outpost-hex circle{fill:none;stroke-linejoin:round;stroke-linecap:round}.outpost-hex .hex-track{stroke:#05080acc;stroke-width:5}.outpost-hex .hex-fill{--capture: #cdbf98;stroke:var(--capture);stroke-width:2.6;stroke-dasharray:0 100;transition:stroke-dasharray .12s linear;filter:drop-shadow(0 0 2px var(--capture))}.outpost-hex[data-capture="1"] .hex-fill{--capture: var(--team-west, #85cddc)}.outpost-hex[data-capture="-1"] .hex-fill{--capture: var(--team-east, #be8bdf)}.outpost-hex[data-capture=contested] .hex-fill{--capture: var(--warn);animation:hex-contested .7s ease-in-out infinite alternate}.outpost-hex .hex-core{fill:#0b1014e6;stroke:currentColor;stroke-width:.9;stroke-opacity:.45}.outpost-hex .hex-sigil{stroke:currentColor;stroke-width:1.9}.outpost-hex .hex-sigil path,.outpost-hex .hex-sigil circle{fill:color-mix(in srgb,currentColor 22%,transparent)}.outpost-hex[data-owner="0"] .hex-sigil{opacity:.8}.outpost-hex[data-owner="0"] .hex-sigil path{fill:none}.outpost-hex .hex-burst{stroke:currentColor;stroke-width:2;opacity:0;transform-origin:24px 24px}.outpost-marker:not([data-owner="0"]) .outpost-hex .hex-core{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--tone) 45%,transparent))}.outpost-emblem:hover .hex-core,.outpost-emblem:focus-visible .hex-core,.outpost-marker[data-selected=true] .hex-core{stroke-opacity:1;fill:#111a20f0}.outpost-emblem:before,.outpost-emblem:after{content:"";position:absolute;top:4px;bottom:4px;width:5px;border:1.5px solid var(--tone);opacity:0;transition:opacity .15s,transform .2s;pointer-events:none}.outpost-emblem:before{left:-3px;border-right:0;transform:translate(-4px)}.outpost-emblem:after{right:-3px;border-left:0;transform:translate(4px)}.outpost-marker[data-selected=true] .outpost-emblem:before,.outpost-marker[data-selected=true] .outpost-emblem:after{opacity:.9;transform:none}.outpost-marker__name{position:absolute;bottom:calc(100% + 2px);left:50%;color:var(--tone);font:700 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 2px #000,0 0 6px #000;opacity:0;transform:translate(-50%,4px);transition:opacity .15s,transform .15s;pointer-events:none}.outpost-marker:has(.outpost-emblem:hover) .outpost-marker__name,.outpost-marker:has(.outpost-emblem:focus-visible) .outpost-marker__name,.outpost-marker[data-selected=true] .outpost-marker__name{opacity:1;transform:translate(-50%)}.outpost-perk-row{display:flex;gap:3px;margin-top:1px;color:var(--tone);pointer-events:none}.outpost-perk-row i{display:grid;width:12px;height:12px}.outpost-perk-row svg{width:100%;height:100%;fill:color-mix(in srgb,currentColor 25%,transparent);stroke:currentColor;stroke-width:2.6;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 1px 1px #000) drop-shadow(0 0 2px #000c)}.outpost-marker:not([data-relation=own]) .outpost-perk-row{opacity:.6}.outpost-marker:not([data-relation=own]) .outpost-perk-row svg{fill:none}.outpost-marker[data-healing=true] [data-perk=heal]{color:#9ee6b2;animation:perk-heal 1.4s ease-in-out infinite}.outpost-marker[data-capturing=true] .hex-core{animation:hex-capture 1s ease-in-out infinite}.outpost-marker[data-threatened=true] .hex-core{stroke:var(--danger);stroke-opacity:1;animation:hex-threat .8s ease-in-out infinite}.outpost-marker[data-flash=gained] .outpost-emblem{animation:emblem-online .9s cubic-bezier(.2,1.3,.4,1)}.outpost-marker[data-flash=gained] .hex-burst{animation:hex-burst .9s ease-out}.outpost-marker[data-flash=gained] .outpost-perk-row i{animation:perk-online .6s calc(.35s + var(--i, 0) * .1s) cubic-bezier(.2,1.4,.4,1) both}.outpost-marker[data-flash=lost] .outpost-emblem,.outpost-marker[data-flash=lost] .outpost-perk-row{animation:emblem-lost 1.2s ease-out}@keyframes hex-contested{0%{opacity:1}to{opacity:.35}}@keyframes hex-capture{50%{stroke-opacity:1}}@keyframes hex-threat{50%{stroke-opacity:.3}}@keyframes perk-heal{50%{filter:drop-shadow(0 0 5px #9ee6b2)}}@keyframes emblem-online{0%{transform:scale(1.5);filter:brightness(2.6)}to{transform:none;filter:none}}@keyframes hex-burst{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}@keyframes perk-online{0%{opacity:.2;transform:scale(.5)}50%{opacity:1;transform:scale(1.45);filter:brightness(2.4)}to{transform:none;filter:none}}@keyframes emblem-lost{0%,40%{color:#f07a66;filter:drop-shadow(0 0 6px #ec6a57aa)}}@media(prefers-reduced-motion:reduce){.outpost-marker[data-flash] *,.outpost-marker[data-capturing=true] .hex-core,.outpost-marker[data-threatened=true] .hex-core,.outpost-hex[data-capture=contested] .hex-fill,.outpost-marker[data-healing=true] [data-perk=heal]{animation:none}}.selection-panel[data-kind=outpost] .selection-content{display:none}.outpost-selection{--tone: #cdbf98;margin-top:6px}.selection-panel[data-side=friendly] .outpost-selection{--tone: var(--friendly-tint, #85cddc)}.selection-panel[data-side=hostile] .outpost-selection{--tone: var(--hostile-tint, #be8bdf)}.selection-panel[data-side=neutral] #selectionTeam{color:#cdbf98}.outpost-selection[hidden]{display:none}.outpost-selection__head{display:flex;align-items:center;gap:12px}.outpost-crest{flex:none;width:58px;height:58px;color:var(--tone)}.outpost-crest .hex-track{stroke-width:4}.outpost-selection .selection-info h2{margin-bottom:7px}.outpost-control i{background:var(--tone)}.outpost-control i[data-side="1"]{background:var(--team-west, #85cddc)}.outpost-control i[data-side="-1"]{background:var(--team-east, #be8bdf)}.outpost-control i[data-side="0"]{background:#cdbf98}.outpost-control i[data-side=contested]{background:var(--warn)}.outpost-perk-list{display:grid;gap:6px;margin:11px 0 0;padding:10px 0 0;border-top:1px solid var(--line);list-style:none}.outpost-perk-list li{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:8px}.outpost-perk-list svg{width:14px;height:14px;fill:color-mix(in srgb,var(--tone) 22%,transparent);stroke:var(--tone);stroke-width:2.3;stroke-linejoin:round;stroke-linecap:round}.outpost-perk-list b{font-size:12px;font-weight:550;color:#dfe3df}.outpost-perk-list span{color:var(--tone);font:600 9px/1 var(--mono);letter-spacing:.06em;white-space:nowrap}.outpost-perk-list:not([data-relation=own]) svg{fill:none;opacity:.75}.outpost-perk-list:not([data-relation=own]) b{color:#b4bcbd}.outpost-perk-list[data-healing=true] [data-perk=heal] span,.outpost-perk-list[data-healing=true] [data-perk=heal] svg{color:#9ee6b2;stroke:#9ee6b2;animation:perk-heal 1.4s ease-in-out infinite}.outpost-perk-list[data-healing=true] [data-perk=heal] span:after{content:" · ACTIVE"}.outpost-badge{--side: var(--team-west, #85cddc);position:absolute;left:calc(50% + 29px);top:13px;display:flex;align-items:center;gap:4px;height:20px;padding:0 7px 0 5px;pointer-events:auto;cursor:pointer;border:1px solid color-mix(in srgb,var(--side) 55%,transparent);border-radius:3px;background:#0b0f10d9;color:#dcd3bd;font:700 9px/1 var(--mono);letter-spacing:.08em;white-space:nowrap}.outpost-badge[data-side="-1"]{--side: var(--team-east, #be8bdf)}.outpost-badge[hidden]{display:none}.outpost-badge:hover,.outpost-badge:focus-visible{border-color:var(--side);background:#111719f0;outline:none}.outpost-badge .stance-icon{display:grid;width:12px;height:12px;color:var(--side)}.outpost-badge .stance-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}.outpost-badge[data-stance=hold] .stance-icon svg{fill:color-mix(in srgb,var(--side) 30%,transparent)}.outpost-badge[data-stance=advance]{border-style:dashed}#game:is([data-lobby],[data-online]) :is(.topbar,.command-deck,.performance-strip){transition:opacity .45s}#game[data-lobby] :is(.topbar,.command-deck,.performance-strip){opacity:0;pointer-events:none}.placement-hint[data-notice] button{display:none}.match-settings__row{display:flex;align-items:center;gap:18px;margin-bottom:14px}.match-settings__row .setting-note{flex:1}.surrender-button{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:9px 16px 9px 12px;border:1px solid #ec6a5766;border-radius:1px;background:linear-gradient(180deg,#3a1d1bcc,#221211e6);color:#f3c3b9;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.surrender-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}.surrender-button:hover{border-color:var(--danger);background:linear-gradient(180deg,#4d2421,#2b1513);color:#fff}#game[data-online] #pauseButton,.rematch-panel[hidden]{display:none}.result-card .rematch-status{display:flex;align-items:center;gap:10px;min-height:20px;margin:0 0 16px;max-width:none;color:#c3cbcc;font-size:13px}.rematch-status i{flex:none;width:8px;height:8px;border-radius:50%;background:#6f7f88;box-shadow:0 0 0 2px #6f7f8833}.rematch-panel[data-state=invited] .rematch-status i,.rematch-panel[data-state=waiting] .rematch-status i{background:var(--friendly-team, var(--blue));box-shadow:0 0 0 2px color-mix(in srgb,var(--friendly-team, var(--blue)) 30%,transparent),0 0 12px var(--friendly-team, var(--blue));animation:rematch-led 1.1s ease-in-out infinite alternate}.rematch-panel[data-state=invited] .rematch-status i{background:var(--hostile-team, var(--hostile));box-shadow:0 0 0 2px color-mix(in srgb,var(--hostile-team, var(--hostile)) 30%,transparent),0 0 12px var(--hostile-team, var(--hostile))}.rematch-panel[data-state=gone] .rematch-status i{background:var(--danger);box-shadow:0 0 0 2px #ec6a5733}@keyframes rematch-led{to{opacity:.45}}.rematch-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px}.secondary-button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:13px 17px;border:1px solid #aab7c055;border-radius:1px;background:#1a2227;color:var(--text);font-size:13px;font-weight:650}.secondary-button:hover{border-color:#c9d4da;background:#232d33}#rematchButton[aria-pressed=true]{background:#1d3139;border-color:var(--friendly-team, var(--blue));color:#dff1f6}#rematchButton[aria-pressed=true] svg{animation:rematch-spin 1.6s linear infinite}@keyframes rematch-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.rematch-status i,#rematchButton svg{animation:none!important}}.emblem{display:block;overflow:visible;fill:none;stroke:none;stroke-width:0}.emblem-dial{transform-origin:60px 60px;animation:spin 48s linear infinite}.emblem-shard{animation:emblem-shard 3.4s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes emblem-shard{0%,to{opacity:.82}50%{opacity:1}}.wordmark{display:flex;flex-direction:column;align-items:center;margin:0;font-family:var(--wordmark);font-weight:500;line-height:1;letter-spacing:.32em;text-transform:uppercase;color:var(--ink);background:var(--steel-fill);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 #1b2a33) drop-shadow(0 8px 20px #0009)}.wordmark span{padding-left:.32em}.wordmark .wordmark-wars{margin-top:.34em;font-size:.46em;font-weight:400;letter-spacing:.78em;padding-left:.78em;background:var(--arcane-fill);-webkit-background-clip:text;background-clip:text}.letterbox{position:absolute;left:0;right:0;height:9vh;max-height:84px;z-index:3;pointer-events:none}.letterbox.top{top:0;background:linear-gradient(180deg,#05080b,#05080b00)}.letterbox.bottom{bottom:0;background:linear-gradient(0deg,#05080b,#05080b00)}.horizon-grid{transform:perspective(520px) rotateX(64deg);transform-origin:50% 0;background-image:linear-gradient(90deg,#9bc9d81c 1px,#0000 1px),linear-gradient(0deg,#9bc9d81c 1px,#0000 1px);background-size:64px 64px;background-position:50% 0;mask-image:radial-gradient(ellipse 60% 100% at 50% 0,#000 0,#0000 80%);-webkit-mask-image:radial-gradient(ellipse 60% 100% at 50% 0,#000 0,#0000 80%);animation:grid-drift 9s linear infinite;pointer-events:none}@keyframes grid-drift{to{background-position:50% 64px}}.cine-eyebrow{display:block;color:var(--mp-tone, var(--blue));font:600 10px var(--mono);letter-spacing:.22em;text-transform:uppercase}.cine-title{margin:10px 0 12px;color:var(--ink);font:500 28px/1.12 var(--wordmark);letter-spacing:.14em;text-transform:uppercase;overflow-wrap:anywhere}.cine-lede{margin:0 0 22px;color:#b8c0c2;font-size:13px;line-height:1.7}.cine-button{--cut-size: 10px;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 22px;border:1px solid #9bc9d855;border-radius:0;background:#0a1116b3;color:#d7e7ec;font:700 13px var(--display);font-stretch:condensed;letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;clip-path:polygon(0 0,calc(100% - var(--cut-size)) 0,100% var(--cut-size),100% 100%,var(--cut-size) 100%,0 calc(100% - var(--cut-size)));transition:background .15s,border-color .15s,color .15s,box-shadow .2s,transform .15s,opacity .2s}.cine-button svg{width:16px;height:16px}.cine-button:hover:not(:disabled){border-color:var(--steel);background:#1b2c36d9;color:#fff}.cine-button:active:not(:disabled){transform:translateY(1px);background:#13212a}.cine-button:disabled{opacity:.4;cursor:default}.cine-button:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--arcane),0 0 18px #c5b0ef55}.cine-button--primary{--cut-size: 12px;min-height:52px;padding:15px 26px;border-color:#c9e4ec;background:linear-gradient(180deg,#cfe6ee,#9bc9d8 55%,#86b4c5);color:#0f1c24;font-size:14px;letter-spacing:.24em;box-shadow:inset 0 1px #fff6,inset 0 -1px #2f4b5866}.cine-button--primary:hover:not(:disabled){background:linear-gradient(180deg,#e2f2f7,#b3d9e5 55%,#9bc9d8);color:#0f1c24;border-color:#e2f2f7;box-shadow:inset 0 1px #fff8,inset 0 -1px #2f4b5866}.cine-button--primary:active:not(:disabled){background:linear-gradient(180deg,#bfdce6,#92bfcf 55%,#7eabbc)}.cine-button--primary:focus-visible{box-shadow:inset 0 0 0 2px #5b3fa0,inset 0 0 0 3px #f1e6ff}.cine-button--secondary{border-color:#9bc9d888;color:#e3f1f5;background:linear-gradient(180deg,#1d2e38e6,#0f1a21e6);box-shadow:inset 0 1px #ffffff14}.cine-button--secondary:hover:not(:disabled){border-color:#c9e4ec;background:linear-gradient(180deg,#213440e6,#0f1a21ee)}.cine-button--ghost{background:#0a111699}.cine-button--small{--cut-size: 8px;min-height:34px;padding:8px 14px;font-size:11px;letter-spacing:.18em}.cine-button--danger{border-color:#f0a497;background:linear-gradient(180deg,#e7907f,#c9604e 55%,#b3503f);color:#1c0c09;box-shadow:inset 0 1px #fff5,inset 0 -1px #5a221866}.cine-button--danger:hover:not(:disabled){border-color:#ffd0c6;background:linear-gradient(180deg,#f3a595,#d86f5c 55%,#c05a48);color:#1c0c09;box-shadow:inset 0 1px #fff7}.cine-button--danger:active:not(:disabled){background:linear-gradient(180deg,#d98372,#b9584a 55%,#a3493a)}.cine-button--danger:focus-visible{box-shadow:inset 0 0 0 2px #5a2218,inset 0 0 0 3px #ffe0d8}.cine-button[data-busy=true]{cursor:progress}.cine-button[data-busy=true]>span:last-of-type:after{content:"…";display:inline-block;width:1.2em;text-align:left;letter-spacing:0;animation:ellipsis 1.2s steps(4) infinite;clip-path:inset(0 100% 0 0)}@keyframes ellipsis{to{clip-path:inset(0 -10% 0 0)}}.cine-link{padding:6px 2px;border:0;border-bottom:1px solid #b9d6df44;border-radius:0;background:none;color:#b9d6dfb8;font:600 10px var(--mono);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;transition:color .15s,border-color .15s}.cine-link:hover:not(:disabled),.cine-link:focus-visible{color:var(--ink);border-color:var(--ink);outline:none;background:none}.cine-link:active:not(:disabled){background:none}.cine-panel{--cut-size: 18px;position:relative;width:100%;padding:28px 32px 30px;background:linear-gradient(160deg,#1b262ef5,#0d1317f7 70%);border:1px solid #9bc9d838;box-shadow:inset 0 1px #dce4e80f,inset 0 0 0 1px #05080b;clip-path:polygon(0 0,calc(100% - var(--cut-size)) 0,100% var(--cut-size),100% 100%,var(--cut-size) 100%,0 calc(100% - var(--cut-size)))}.cine-panel:before{content:"";position:absolute;top:0;left:0;width:140px;height:2px;background:linear-gradient(90deg,var(--arcane),#c5b0ef00)}.cine-panel:after{content:"";position:absolute;top:0;right:0;width:calc(var(--cut-size) * 1.4142);height:1px;background:#9bc9d855;transform-origin:0 0;transform:translate(calc(-1 * var(--cut-size))) rotate(45deg)}.cine-panel--narrow{max-width:460px}.cine-panel--narrow .cine-title{font-size:25px}.cine-panel--center{display:flex;flex-direction:column;align-items:center;text-align:center}.cine-panel--center .cine-lede{max-width:340px}.cine-panel--danger{border-color:#ec6a5740}.cine-panel--danger:before{background:linear-gradient(90deg,var(--danger),#ec6a5700)}.cine-panel--danger .cine-eyebrow{color:#f0a497}.cine-panel .cine-button--primary{width:100%}#game[inert]{visibility:hidden}.entry-screen{position:fixed;inset:0;z-index:100;overflow:hidden;display:grid;grid-template-rows:1fr auto;place-items:center;padding:28px;background:var(--night);color:#e5ecee;text-align:center}.entry-screen[hidden]{display:none}.entry-atmosphere{position:absolute;inset:0;pointer-events:none}.entry-atmosphere i{position:absolute;inset:0}.entry-horizon{background:radial-gradient(ellipse 80% 48% at 50% 104%,#7a5fd08a 0,#45338a33 42%,#0000 70%),radial-gradient(ellipse 60% 55% at 50% 30%,#1d3542 0,#101c26 40%,var(--night) 78%),linear-gradient(180deg,#05080c,#0a121a 60%,#0b1018)}.entry-atmosphere .horizon-grid{top:52%;bottom:-10%}.entry-embers{inset:0;opacity:.8;background-image:radial-gradient(2px 2px at 12% 90%,#d9c7ff 40%,#0000 60%),radial-gradient(1.6px 1.6px at 28% 80%,#c5b0ef 40%,#0000 60%),radial-gradient(2.4px 2.4px at 41% 96%,#b8eee8 40%,#0000 60%),radial-gradient(1.4px 1.4px at 57% 84%,#e6dcff 40%,#0000 60%),radial-gradient(2px 2px at 69% 92%,#c5b0ef 40%,#0000 60%),radial-gradient(1.6px 1.6px at 83% 78%,#9bc9d8 40%,#0000 60%),radial-gradient(2.2px 2.2px at 92% 95%,#d9c7ff 40%,#0000 60%),radial-gradient(1.4px 1.4px at 5% 70%,#b8eee8 40%,#0000 60%);background-repeat:repeat-y;background-size:100% 140vh;animation:embers 26s linear infinite}.entry-embers.far{opacity:.35;filter:blur(1px);background-size:100% 90vh;animation-duration:40s;animation-delay:-18s}@keyframes embers{0%{background-position:0 0}to{background-position:0 -140vh}}.entry-vignette{background:radial-gradient(ellipse 72% 68% at 50% 46%,#0000 40%,#04070ab8)}.entry-content{position:relative;z-index:4;width:min(100%,460px);display:flex;flex-direction:column;align-items:center;animation:entry-rise 1.1s cubic-bezier(.2,.7,.2,1) both}@media(min-height:700px){.entry-content:has(>.multiplayer-button){padding-top:60px}}@keyframes entry-rise{0%{opacity:0;transform:translateY(18px)}}.logo-lockup{position:relative;display:flex;flex-direction:column;align-items:center;width:100%}.entry-emblem{width:150px;height:150px;margin:24px 0 16px;filter:drop-shadow(0 0 22px #c5b0ef55) drop-shadow(0 12px 22px #000a);animation:emblem-breathe 5s ease-in-out infinite}@keyframes emblem-breathe{0%,to{filter:drop-shadow(0 0 18px #c5b0ef44) drop-shadow(0 12px 22px #000a)}50%{filter:drop-shadow(0 0 34px #c5b0ef88) drop-shadow(0 12px 22px #000a)}}.entry-content .wordmark{position:relative;font-size:clamp(40px,6vw,56px)}.logo-lockup:before{content:"";position:absolute;width:520px;height:260px;top:120px;left:50%;transform:translate(-50%);background:radial-gradient(ellipse at 50% 50%,#9bc9d826 0,#c5b0ef12 40%,#0000 70%);pointer-events:none}.entry-content .logo-lockup{margin-bottom:40px}.entry-links{margin-top:22px;display:flex;justify-content:center;gap:28px}.entry-loading{width:min(100%,280px);margin-bottom:18px}.entry-loading progress{display:block;width:100%;height:4px;border:0;border-radius:0;overflow:hidden;appearance:none;background:#1a2531;accent-color:var(--steel);box-shadow:0 0 0 1px #0a1016,0 0 0 2px #9bc9d822}.entry-loading progress::-webkit-progress-bar{background:#1a2531}.entry-loading progress::-webkit-progress-value{background:linear-gradient(90deg,#7fb3c5,#dbeff5);box-shadow:0 0 12px #9bc9d8aa;transition:width .3s}.entry-loading progress::-moz-progress-bar{background:linear-gradient(90deg,#7fb3c5,#dbeff5)}.entry-loading #entryStatus{margin:12px 0 0;color:#93a6b2;font:600 10px var(--mono);letter-spacing:.22em;text-transform:uppercase}.entry-loading[data-ready=true]{visibility:hidden}.entry-content .cine-button{width:min(100%,280px)}.entry-content .multiplayer-button{margin-top:12px}.multiplayer-button b{margin-left:.5em;font:600 1.05em var(--mono);letter-spacing:.3em;color:#f1e6ff}.multiplayer-button.cine-button--primary b{color:#3a2a63}.entry-screen[data-invite] .multiplayer-button{margin-top:0}.entry-screen[data-invite] .enter-button{order:1;margin-top:12px}.entry-screen[data-invite] .entry-links{order:2}.intro-overlay{position:absolute;inset:var(--header) 0 var(--performance-height);overflow-y:auto;z-index:12;display:flex;align-items:center;padding:32px 5vw;background:linear-gradient(90deg,#06090dbf,#0a1016 26%,#0d121720 60%,#0d121700);pointer-events:auto}.briefing-panel{flex-shrink:0;width:430px;margin-block:auto;padding:24px 30px 26px;animation:brief-in .7s cubic-bezier(.2,.7,.2,1) both}@keyframes brief-in{0%{opacity:0;transform:translate(-16px)}}.briefing-panel .cine-lede{margin-bottom:18px}.story-player{margin:0 0 20px;padding:12px 14px;border-left:2px solid var(--arcane);background:#c5b0ef0a}#storyCaption,#outroCaption{min-height:3.2em;margin:0;color:#e0daea;font-size:12.5px;line-height:1.6}#storyCaption[data-speaker]:not([data-speaker=""]):before,#outroCaption[data-speaker]:not([data-speaker=""]):before{content:attr(data-speaker);display:block;margin-bottom:5px;color:var(--arcane);font:600 9px var(--mono);letter-spacing:.16em;text-transform:uppercase}.deploy-button{width:100%}.result-card .outro-transmission{margin:-9px 0 24px}.result-card #outroCaption{max-width:none;font-size:13px}.outro-transmission[data-result=defeat]{border-left-color:var(--red);background:#bf877a0d}.outro-transmission[data-result=defeat] #outroCaption:before{color:var(--red)}#game[data-phase=intro] .command-deck{filter:brightness(.5) saturate(.65)}#game[data-phase=intro][data-render-ready=false] #battlefield{opacity:0}#game[data-phase=intro] #battlefield{transition:opacity .4s}@media(min-width:1700px){.briefing-panel{width:470px;padding:30px 34px 32px}.briefing-panel .cine-title{font-size:32px}.briefing-panel .cine-lede{font-size:14px}#storyCaption{font-size:13px}}@media(max-width:760px){.intro-overlay{padding:22px 5vw}.briefing-panel{width:400px;padding:24px 26px}}@media(max-width:540px){.intro-overlay{padding:18px 17px;background:#0b1015b8}.briefing-panel{width:100%;padding:22px 20px}.briefing-panel .cine-title{font-size:24px}.briefing-panel .cine-lede,#storyCaption{font-size:12px}.entry-screen{padding:20px 18px}.entry-emblem{width:104px;height:104px;margin:20px 0 14px}.entry-content .wordmark{font-size:clamp(32px,9vw,44px)}}@media(max-height:660px){.intro-overlay{padding-block:18px}.briefing-panel{padding:20px 24px}.briefing-panel .cine-lede,.story-player{margin-bottom:14px}.entry-emblem{width:96px;height:96px;margin:14px 0 10px}.entry-content .wordmark{font-size:36px}.entry-content .logo-lockup{margin-bottom:28px}}@media(prefers-reduced-motion:reduce){.emblem-dial,.emblem-shard,.entry-emblem,.horizon-grid,.entry-embers,.entry-content,.briefing-panel{animation:none}.cine-button{transition:none}}#game[data-card-battle=true]{--card-height: 180px;--card-lift: 24px;--card-grow: 1.1;--deck-controls: calc(var(--card-height) + 46px);overflow:clip}#game[data-card-battle=true] .battle-view{bottom:var(--performance-height)}#game[data-card-battle=true] .command-deck{bottom:var(--performance-height);display:block;padding:0 18px;background:none;border:0;box-shadow:none;pointer-events:none}#game[data-card-battle=true] .command-deck:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent,#07101733 32%,#071017c4 62%,#071017f0)}#game[data-card-battle=true] .tactical-panel{position:absolute;left:18px;bottom:17px;width:172px;padding:6px;border:1px solid #b4cbd52e;border-radius:6px;background:#0b141bea;box-shadow:0 8px 22px #0006;pointer-events:auto}@media(min-width:1001px){#game[data-card-battle=true] #soldierCaption{width:min(280px,max(186px,calc(50vw - 580px)))}}#game[data-card-battle=true] #minimap{margin:0;border-radius:3px}#game[data-card-battle=true] .selection-panel{position:absolute;left:18px;bottom:185px;display:none;width:292px;max-width:calc(100vw - 24px);padding:10px 12px 12px;border:1px solid #7599a755;border-radius:6px;background:#101b23f5;box-shadow:0 6px 24px #0008;pointer-events:auto}#game[data-card-battle=true][data-has-selection=true] .selection-panel{display:block}#game[data-card-battle=true] .selection-content{flex-wrap:nowrap}#game[data-card-battle=true] .unit-portrait{width:64px;height:100px}#game[data-card-battle=true] .selection-info h2{font-size:17px}#game[data-card-battle=true] .selection-details,#game[data-card-battle=true] .selection-statline{flex-wrap:wrap}#game[data-card-battle=true] .production-panel{position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:min(1100px,calc(100% - 410px));height:var(--card-height);padding:0;max-width:none}#game[data-card-battle=true] .production-heading,#game[data-card-battle=true] .command-grid,#game[data-card-battle=true] .command-actions{display:none}#game[data-card-battle=true] .salvage{position:static;width:100%;height:32px;padding:3px 8px;flex-direction:row;gap:7px;font-size:11px;margin-top:12px}#game[data-card-battle=true] .salvage span{font-size:11px}#closeSelection{display:grid;place-items:center;width:28px;height:28px;margin:-6px -5px -2px auto;padding:4px;border:0;background:transparent;color:#a7bac4}#closeSelection svg{width:15px;height:15px}#closeSelection:hover{background:#d4e8ef15;color:#f3faff}#game[data-card-battle=true] .placement-hint,#game[data-card-battle=true] .target-hint{position:absolute;z-index:32;inset:auto 0 calc(100% + var(--card-lift) + 14px);width:min(440px,100%);margin:0 auto;height:40px;padding:5px 8px;border:1px solid #8ecddd66;border-radius:4px;background:#101e28ed;box-shadow:0 5px 20px #0005;pointer-events:none}#game[data-card-battle=true] .placement-hint button,#game[data-card-battle=true] .target-hint button{pointer-events:auto}.card-command{position:relative;height:100%;min-width:0}.card-command__body{position:absolute;inset:0;display:flex;gap:14px}.card-deck{--deck-accent: #9fd6e4;flex:0 0 112px;align-self:flex-end;display:flex;flex-direction:column;gap:7px;height:78%;padding:0;border:0;background:none;color:#c0d0d8;font:10px var(--mono);pointer-events:auto;cursor:pointer}html[data-map=sandbox] .card-deck{display:none}.card-deck__pile{position:relative;flex:1;display:grid;place-items:center;margin:0 6px 6px 0;border-radius:9px;background:repeating-linear-gradient(135deg,#ffffff08 0 6px,transparent 6px 12px),radial-gradient(circle at 50% 40%,#2f6f8466,transparent 70%),linear-gradient(165deg,#47606a,#1b2a33 45%,#0f1a21);box-shadow:0 0 0 1px #0a151c,inset 0 0 0 3px #9fd6e42e,inset 0 1px #ffffff40,3px 3px 0 -1px #1b2a33,3px 3px #47606a,6px 6px 0 -1px #13202a,6px 6px #3a4f58,0 10px 22px #000a;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,filter .2s}.card-deck[data-empty=true] .card-deck__pile{box-shadow:0 0 0 1px #0a151c,inset 0 0 0 3px #9fd6e41a;opacity:.45}.card-deck-count{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;color:#a1b3ba;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.card-deck-count strong{color:#e4f3f8;font:600 26px/1 var(--mono);letter-spacing:0;font-variant-numeric:tabular-nums;text-shadow:0 0 10px #2f6f84}.card-deck__redraw{display:flex;align-items:center;justify-content:center;gap:5px;height:26px;padding:0 5px;border:1px solid #9fd6e455;border-radius:5px;background:#0b141bea;color:#d9ecf2;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;transition:border-color .2s,background .2s}.card-deck__redraw b{display:inline-flex;align-items:center;gap:1px;color:#f3faff;font-weight:600;font-variant-numeric:tabular-nums}.card-deck__redraw svg{width:11px;height:11px;fill:var(--deck-accent)}.card-deck[aria-disabled=false]:hover .card-deck__pile,.card-deck[aria-disabled=false]:focus-visible .card-deck__pile{transform:translateY(-4px);filter:brightness(1.15)}.card-deck[aria-disabled=false]:hover .card-deck__redraw,.card-deck[aria-disabled=false]:focus-visible .card-deck__redraw{border-color:var(--deck-accent);background:#16303ce8}.card-deck:focus-visible{outline:none}.card-deck:focus-visible .card-deck__redraw{outline:2px solid var(--deck-accent);outline-offset:2px}.card-deck[aria-disabled=true]{cursor:default}.card-deck[aria-disabled=true] .card-deck__redraw{border-color:#9fd6e422;color:#7d8c92}.card-deck[data-affordable=false] .card-deck__redraw b{color:#e08a7a}.card-deck[aria-disabled=true] .card-deck__redraw svg{fill:#6b7c83}.card-hand{flex:1;--card-gap: 10px;display:flex;align-items:flex-end;justify-content:center;gap:var(--card-gap);height:100%;min-width:0;padding:0 3px}.card-slot,.card-pending-slot{--card-offset: 0px;--card-scale: 1;--card-shift: 0px;flex:0 1 calc((100% - var(--card-gap) * (var(--hand-size, 5) - 1)) / var(--hand-size, 5));max-width:136px;max-height:100%;aspect-ratio:136 / 179;position:relative;min-width:0;pointer-events:auto}.card-pending-slot{pointer-events:none}.card-pending{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;overflow:hidden;border:1px dashed #9fd6e455;border-radius:11px;background:#0b141b99;color:#a1b3ba;font:9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.card-pending__fill{position:absolute;inset:auto 0 0;height:calc(var(--draw-progress, 0) * 100%);background:linear-gradient(0deg,#2f6f8466,#9fd6e422)}.card-pending small,.card-pending strong{position:relative}.card-pending strong{color:#e4f3f8;font:600 22px/1 var(--mono);letter-spacing:0;font-variant-numeric:tabular-nums;text-shadow:0 0 10px #2f6f84}.card-pending__preview{position:absolute;inset:0;opacity:.78;filter:saturate(.55) brightness(.92);--reveal: calc(var(--draw-progress, 0) * 100%);-webkit-mask-image:linear-gradient(0deg,#000 var(--reveal),#0000008c var(--reveal));mask-image:linear-gradient(0deg,#000 var(--reveal),#0000008c var(--reveal))}.card-pending__preview .battle-card{box-shadow:0 0 0 1px #0a151c;animation:card-tease .5s ease-out backwards}.card-pending-slot[data-teaser=true] .card-pending{border-color:transparent;background:none}.card-pending-slot[data-teaser=true] .card-pending__fill{background:linear-gradient(0deg,#2f6f8433,#9fd6e400);border-top:1px solid #bfeaf580;box-shadow:0 -2px 10px #9fd6e433}.card-pending-slot[data-teaser=true] .card-pending:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 72% 26% at 50% 50%,#07101ae6 30%,#07101a00)}.card-pending-slot[data-teaser=true] .card-pending small{text-shadow:0 1px 3px #000,0 0 6px #000}.card-pending-slot[data-teaser=true] .card-pending strong{text-shadow:0 1px 3px #000,0 0 10px #2f6f84}@keyframes card-tease{0%{opacity:0;transform:translateY(10px) scale(.96)}}.battle-card{--card-accent: #9fd6e4;--card-accent-deep: #2f6f84;--card-tint: #17323f;--card-frame-light: #d3dee2;--card-frame-dark: #47606a;position:relative;width:100%;height:100%;padding:0;border-radius:11px;background:linear-gradient(165deg,var(--card-frame-light) 0,var(--card-frame-dark) 18%,#1b2a33 42%,var(--card-frame-dark) 78%,var(--card-frame-light) 100%);box-shadow:0 10px 22px #000a,0 0 0 1px #0a151c,inset 0 1px #ffffff5c;transform:translate(var(--card-shift),calc(-1 * var(--card-offset))) scale(var(--card-scale, 1));transform-origin:50% 100%;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s,filter .24s,opacity .24s}.battle-card[data-theme=epic]{--card-accent: #f2d18d;--card-accent-deep: #8f6a2c;--card-tint: #3c3120;--card-frame-light: #f1dfae;--card-frame-dark: #7a5f32}.battle-card[data-theme=tactical]{--card-accent: #dcb9f4;--card-accent-deep: #6f4a8d;--card-tint: #302040;--card-frame-light: #dccbe8;--card-frame-dark: #5d4a70}.battle-card__play{display:block;width:100%;height:100%;padding:0;border:0;border-radius:11px;text-align:left;background:transparent;color:#e0eaf0;touch-action:pan-x;container-type:inline-size}.battle-card__play:after{content:"";position:absolute;inset:0 0 calc(-1 * var(--card-offset))}.battle-card__play:active:not(:disabled){background:transparent}.battle-card__play[aria-disabled=true]{cursor:help}.battle-card__surface{position:absolute;inset:3px;display:block;overflow:hidden;border-radius:8px;background:radial-gradient(ellipse at 50% 0,var(--card-tint),transparent 70%),linear-gradient(#0f1a23,#0a1218);box-shadow:inset 0 0 0 1px #000000a0,inset 0 0 0 2px #ffffff10}.battle-card__surface:after{content:"";position:absolute;inset:0;border-radius:8px;background:linear-gradient(115deg,transparent 30%,#ffffff12 45%,#ffffff00 52%,transparent 70%);background-size:260% 100%;background-position:100% 0;pointer-events:none;transition:background-position .6s ease}.battle-card__art{position:absolute;inset:0 0 auto;display:block;height:58%;overflow:hidden;background:#202c33;-webkit-mask-image:linear-gradient(#000 88%,transparent);mask-image:linear-gradient(#000 88%,transparent)}.battle-card__art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a121880 0,transparent 26%,transparent 58%,#0d171fd0 86%,#0d171f);pointer-events:none}.battle-card__illustration{display:block;width:100%;height:100%;stroke:none;filter:saturate(1.1) contrast(1.05);transition:filter .24s,transform .4s ease}.battle-card[data-type=gatling] .battle-card__illustration{object-fit:cover}.battle-card[data-kind=troops] .battle-card__art{background:radial-gradient(ellipse 70% 62% at 50% 56%,color-mix(in srgb,var(--card-accent) 26%,#202c33),#202c33 72%)}.battle-card[data-kind=troops] .battle-card__illustration{object-fit:contain;padding:9% 8% 16%;box-sizing:border-box}.battle-card__reticle{position:absolute;width:40px;height:40px;left:calc(50% - 20px);top:calc(50% - 20px);border:1px solid #f0d8ff;border-radius:50%;box-shadow:0 0 0 6px #30234435,0 0 14px #f0d8ff66}.battle-card__reticle:before,.battle-card__reticle:after{content:"";position:absolute;left:50%;top:-7px;bottom:-7px;width:1px;background:#f0d8ff}.battle-card__reticle:after{transform:rotate(90deg)}.battle-card__cost{position:absolute;z-index:2;top:6px;left:6px;display:flex;align-items:center;gap:2px;height:clamp(20px,17cqi,25px);padding:0 clamp(5px,5cqi,8px) 0 clamp(4px,4cqi,6px);border:1px solid #8fd0ff8a;border-radius:13px;background:linear-gradient(180deg,#16344b,#081a29);box-shadow:0 2px 6px #0008,inset 0 1px #bfe9ff33;color:#baeaff;font:700 clamp(10.5px,9cqi,13px)/1 var(--mono);letter-spacing:-.02em}.battle-card__cost svg{width:.78em;height:.92em;fill:currentColor;stroke-width:1;filter:drop-shadow(0 0 3px #8fd0ffaa)}.battle-card__cost b{font-weight:700}.battle-card__category{position:absolute;z-index:2;right:6px;top:6px;width:clamp(20px,17cqi,25px);height:clamp(20px,17cqi,25px);display:grid;place-items:center;color:var(--card-accent);border:1px solid #ffffff2a;border-radius:50%;background:#0a141ccc;box-shadow:0 2px 6px #0008,inset 0 1px #ffffff14}.battle-card__category svg{width:66%;height:66%;fill:currentColor;stroke:none}.battle-card__plate{position:absolute;z-index:2;bottom:calc(42% + 2px);left:8px;right:8px;display:flex;flex-direction:column;gap:3px}.battle-card__kind{display:flex;align-items:center;gap:6px;color:var(--card-accent);font:600 7px/1 var(--mono);letter-spacing:.16em;text-shadow:0 1px 2px #000}.battle-card__kind:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--card-accent) 0,transparent);opacity:.5}.battle-card__name{display:block;overflow:hidden;text-wrap:balance;color:#f4f5f0;font:650 clamp(10px,9.2cqi,12.5px)/1.1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.02em;text-shadow:0 1px 2px #000,0 0 12px #000c}.battle-card__copy{position:absolute;z-index:2;top:calc(58% + 4px);left:7px;right:7px;bottom:6px;display:flex;align-items:center;justify-content:center;padding:3px 2px 5px;text-align:center}.battle-card__pips{display:flex;gap:3px;color:var(--card-accent);font-size:6px;line-height:1;opacity:.8}.battle-card__effect{color:#b9c6cd;font-size:clamp(8.5px,7.6cqi,10px);line-height:1.35;letter-spacing:.01em;text-wrap:balance;text-shadow:0 1px 2px #000}.battle-card__effect-short{display:none}@container (max-width: 112px){.battle-card__effect-long{display:none}.battle-card__effect-short{display:inline}}.battle-card__availability{position:absolute;z-index:3;top:calc(29% - 11px);left:12px;right:12px;padding:5px 4px;color:#f6e2c2;background:#1a140fea;border:1px solid #d3ab7477;border-radius:3px;text-align:center;font:600 8.5px/1.1 var(--mono);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 3px 10px #0008}.battle-card__state{position:absolute;z-index:3;left:3px;right:3px;bottom:3px;height:20px;display:none;align-items:center;justify-content:center;gap:5px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,var(--card-accent),var(--card-accent-deep));color:#0a1218;font:700 8px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.battle-card__play[aria-disabled=true] .battle-card__art{filter:saturate(.3) brightness(.62)}.battle-card[data-affordable=false] .battle-card__cost{border-color:#ff8c8caa;color:#ffb0b0;background:linear-gradient(180deg,#4d2229,#24121a)}.battle-card[data-affordable=false] .battle-card__cost svg{filter:drop-shadow(0 0 3px #ff8c8c88)}.card-slot[data-selected=true]{--card-offset: var(--card-lift);--card-scale: calc(1 + (var(--card-grow) - 1) / 3);z-index:7}.battle-card[data-selected=true]{box-shadow:0 0 0 2px var(--card-accent),0 0 30px color-mix(in srgb,var(--card-accent) 55%,transparent),0 18px 34px #000c;animation:card-pulse 1.6s ease-in-out infinite}.battle-card[data-selected=true] .battle-card__state{display:flex}.battle-card[data-selected=true] .battle-card__copy{bottom:24px}.battle-card[data-selected=true] .battle-card__surface:after{background-position:0 0}.card-command[data-selecting=true] .card-slot[data-selected=false] .battle-card{filter:saturate(.6) brightness(.68)}.card-command[data-selecting=true] .card-slot[data-selected=false]:is(:hover,:has(:focus-visible)) .battle-card{filter:none}@keyframes card-pulse{50%{box-shadow:0 0 0 2px var(--card-accent),0 0 44px color-mix(in srgb,var(--card-accent) 75%,transparent),0 18px 34px #000c}}.battle-card__play:focus-visible{outline:2px solid #e8fbff;outline-offset:3px}.card-slot:has(:focus-visible){z-index:6}@media(hover:hover)and (min-width:701px){.card-slot:is(:hover,:has(:focus-visible)){--card-offset: var(--card-lift);--card-scale: var(--card-grow);z-index:6}.card-slot:is(:hover,:has(:focus-visible))+.card-slot{--card-shift: 6px}.card-slot:is(:hover,:has(:focus-visible))+.card-slot+.card-slot{--card-shift: 3px}.card-slot:has(+.card-slot:hover),.card-slot:has(+.card-slot :focus-visible){--card-shift: -6px}.card-slot:has(+.card-slot+.card-slot:hover),.card-slot:has(+.card-slot+.card-slot :focus-visible){--card-shift: -3px}.card-slot:is(:hover,:has(:focus-visible)) .battle-card{box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 80%,transparent),0 0 18px color-mix(in srgb,var(--card-accent) 26%,transparent),0 26px 30px -10px #000e,0 10px 14px #0007}.card-slot:is(:hover,:has(:focus-visible)) .battle-card__surface:after{background-position:calc(85% - 70% * var(--glint, .5)) 0}.card-slot:is(:hover,:has(:focus-visible)) .battle-card__illustration{transform:scale(1.03)}.card-slot[data-selected=true]{z-index:7}}.card-command__announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.battle-card--dealt{animation:card-deal .38s cubic-bezier(.2,.8,.2,1) var(--deal-delay) backwards}.battle-card--drawn{animation:card-refill .55s cubic-bezier(.2,.7,.2,1) backwards}@keyframes card-refill{0%{opacity:0;transform:perspective(600px) translateY(calc(72px - var(--card-offset))) rotateY(-55deg) rotate(4deg) scale(calc(.82 * var(--card-scale)))}35%{opacity:1}75%{transform:perspective(600px) translateY(calc(-8px - var(--card-offset))) rotateY(0) rotate(-1deg) scale(calc(1.02 * var(--card-scale)))}to{opacity:1;transform:perspective(600px) translateY(calc(-1 * var(--card-offset))) rotateY(0) rotate(0) scale(var(--card-scale))}}.battle-card--drawn.battle-card--revealed{animation:card-reveal .5s cubic-bezier(.2,.7,.2,1) backwards}@keyframes card-reveal{0%{opacity:.6;filter:saturate(.45) brightness(.9);transform:translateY(calc(-1 * var(--card-offset))) scale(calc(.98 * var(--card-scale)))}40%{opacity:1;filter:saturate(1.2) brightness(1.4);transform:translateY(calc(-7px - var(--card-offset))) scale(calc(1.03 * var(--card-scale)))}to{opacity:1;filter:none;transform:translateY(calc(-1 * var(--card-offset))) scale(var(--card-scale))}}@keyframes card-deal{0%{opacity:0;transform:translateY(calc(60px - var(--card-offset))) rotate(3deg) scale(var(--card-scale))}to{opacity:1;transform:translateY(calc(-1 * var(--card-offset))) rotate(0) scale(var(--card-scale))}}.card-ghost{position:fixed;z-index:35;animation:card-play .26s ease-out both;pointer-events:none}.card-ghost *{pointer-events:none!important}@keyframes card-play{0%{transform:none}to{opacity:0;transform:translateY(-34px) scale(.94)}}.card-overlays,.card-tooltip{pointer-events:none}.card-tooltip{z-index:40;border-top-color:#87e2ee;border-radius:5px}.card-tooltip .tooltip-combat:empty{display:none}.card-slot[data-dragging=true] .battle-card{opacity:.35}.card-drag-preview{position:fixed;z-index:35;max-width:150px;padding:7px 9px;border:1px solid #99dbe780;border-radius:5px;background:#0b202bee;box-shadow:0 3px 12px #0005;color:#e5f9fd;pointer-events:none}.card-drag-preview strong{display:block;font-size:11px}.card-drag-preview span{display:block;margin-top:3px;color:#a2c6ce;font:8px var(--mono)}html[data-map=sandbox] .card-hand{--hand-size: 9}@media(min-width:1201px){html[data-map=sandbox] #game[data-card-battle=true] .production-panel{width:min(1180px,calc(100% - 410px))}}@media(max-width:1200px)and (min-width:1001px){#game[data-card-battle=true]{--card-height: 168px}#game[data-card-battle=true] .production-panel{width:calc(100% - 230px);left:auto;right:16px;transform:none}#game[data-card-battle=true] .tactical-panel{width:140px;left:12px}}@media(max-width:1000px){#game[data-card-battle=true] .production-panel{width:calc(100% - 24px)}#game[data-card-battle=true] .tactical-panel{left:10px;bottom:calc(100% + 10px);width:104px;padding:3px}#game[data-card-battle=true] .selection-panel{left:auto;right:10px;width:min(280px,calc(100vw - 134px));bottom:calc(100% + 10px)}#game[data-card-battle=true] .unit-portrait{display:none}}@media(hover:none),(max-width:700px){#game[data-card-battle=true]{--card-height: 162px;--card-lift: 0px;--card-grow: 1;--deck-controls: calc(var(--card-height) + 22px)}#game[data-card-battle=true] .production-panel{bottom:6px}#game[data-card-battle=true] .field-comms .comms-text{font-size:10px}#game[data-card-battle=true] .placement-hint,#game[data-card-battle=true] .target-hint{bottom:calc(100% + 105px)}.card-hand{--card-gap: 7px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:3px;scrollbar-width:thin;scrollbar-color:#77b5c377 #0b172566;padding:0 3px 6px;pointer-events:auto}.card-slot,.card-pending-slot{flex:0 0 clamp(108px,calc((100% - var(--card-gap) * (var(--hand-size, 5) - 1)) / var(--hand-size, 5)),118px);max-width:none;scroll-snap-align:start}.card-command__body{gap:8px}.card-deck{flex-basis:74px;padding-bottom:6px}.card-deck-count strong{font-size:21px}.battle-card{border-radius:10px}.battle-card__surface{border-radius:7px}.battle-card__art{height:56%}.battle-card__plate{bottom:calc(44% + 2px);left:7px;right:7px;gap:2px}.battle-card__kind{font-size:7px}.battle-card__effect-long{display:none}.battle-card__effect-short{display:inline}.battle-card__copy{top:calc(56% + 3px)}.battle-card__availability{top:calc(27% - 10px);font-size:8px}.battle-card__state{height:20px;font-size:7.5px}}@media(max-height:600px)and (min-width:701px)and (hover:hover){#game[data-card-battle=true]{--card-height: 150px;--card-lift: 16px;--card-grow: 1.08;--deck-controls: calc(var(--card-height) + 30px)}#game[data-card-battle=true] .production-panel{bottom:6px}}@media(hover:none)and (max-height:500px){#game[data-card-battle=true]{--card-height: 142px}.card-slot,.card-pending-slot{flex-basis:clamp(98px,calc((100% - var(--card-gap) * (var(--hand-size, 5) - 1)) / var(--hand-size, 5)),108px)}}@media(prefers-reduced-motion:reduce){.battle-card,.battle-card__surface,.battle-card__surface:after,.battle-card__illustration{transition:none!important;animation:none!important}.card-ghost{display:none;animation:none}}.card-return-ghost{position:fixed;z-index:35;width:110px;height:150px;pointer-events:none;animation:card-return .7s cubic-bezier(.4,0,.3,1) both}.card-return-ghost *{pointer-events:none!important}.card-return-ghost .battle-card__cost,.card-return-ghost .battle-card__copy{display:none}.card-return-ghost .battle-card__name{font-size:10px}.battle-card .battle-card__name[data-long]{font-size:clamp(9px,8.2cqi,11px);letter-spacing:-.035em;line-height:1.02}@keyframes card-return{0%{opacity:0;transform:scale(.35) rotate(-8deg)}20%{opacity:1;transform:translateY(-18px) scale(.85) rotate(-4deg)}85%{opacity:1}to{opacity:0;transform:translate(var(--return-x),var(--return-y)) scale(.08)}}.card-deck--returned .card-deck__pile{animation:deck-return-glow .9s ease-out}@keyframes deck-return-glow{0%,60%,to{filter:none}78%{filter:brightness(1.5) drop-shadow(0 0 8px #9fd6e4)}}.card-ghost--redrawn{animation:card-redraw .42s cubic-bezier(.4,0,.3,1) both}@keyframes card-redraw{to{opacity:0;transform:translate(var(--return-x),var(--return-y)) scale(.3)}}@media(prefers-reduced-motion:reduce){.card-return-ghost{display:none;animation:none}.card-deck--returned .card-deck__pile{animation:none}}.battle-card__order{position:absolute;z-index:3;left:3px;right:3px;bottom:3px;height:20px;display:none;align-items:center;justify-content:center;gap:6px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,color-mix(in srgb,var(--card-accent) 26%,#0b141b),#0b141bf2);box-shadow:inset 0 1px color-mix(in srgb,var(--card-accent) 55%,transparent);color:var(--card-accent);font:700 8px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}.battle-card__order i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;animation:card-order-blink .45s ease-in-out infinite alternate}.card-slot:has(.battle-card[data-pending=true]){--card-offset: 10px}.battle-card[data-pending=true]{box-shadow:0 0 0 1px color-mix(in srgb,var(--card-accent) 70%,transparent),0 0 22px color-mix(in srgb,var(--card-accent) 30%,transparent),0 14px 26px #000c}.battle-card[data-pending=true] .battle-card__play{cursor:progress}.battle-card[data-pending=true] .battle-card__art{filter:saturate(.5) brightness(.7)}.battle-card[data-pending=true] .battle-card__order{display:flex}.battle-card[data-pending=true] .battle-card__copy{bottom:24px;opacity:.6}.battle-card[data-pending=true] .battle-card__surface:before{content:"";position:absolute;inset:0;z-index:4;border-radius:8px;background:linear-gradient(100deg,transparent 38%,color-mix(in srgb,var(--card-accent) 30%,transparent) 50%,transparent 62%);background-size:260% 100%;animation:card-order-scan .8s linear infinite;pointer-events:none}.card-deck[data-pending=true] .card-deck__pile{animation:card-deck-shuffle .35s ease-in-out infinite alternate}@keyframes card-order-scan{0%{background-position:130% 0}to{background-position:-30% 0}}@keyframes card-order-blink{to{opacity:.25}}@keyframes card-deck-shuffle{to{transform:translateY(-3px) rotate(-1deg)}}@media(prefers-reduced-motion:reduce){.battle-card[data-pending=true] .battle-card__surface:before,.battle-card__order i,.card-deck[data-pending=true] .card-deck__pile{animation:none}}
