:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font-body);background:var(--surface-page);color:var(--text-primary)}
:root,[data-theme=sunderthrone]{--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Arial Narrow", "Roboto Condensed", Impact, ui-sans-serif, sans-serif;--image-map-background:url(/themes/sunderthrone/map-background.webp);--page-background-overlay:linear-gradient(#0b1719eb, #0b1719fa);--map-background-overlay:radial-gradient(ellipse at center, #1f3d3b80, #0a181bdb);--scrollbar-thumb:var(--border-control-hover);--scrollbar-thumb-hover:var(--accent-primary-border);--scrollbar-track:var(--surface-panel);--surface-page:#101b1e;--surface-panel:#182629;--surface-panel-strong:#1e3032;--surface-action-sheet:#142d32;--surface-action-card:#193237;--surface-action-emblem:#40351e;--radius-action-sheet:20px;--surface-action-sheet-header:#192c30;--border-action-sheet:#829d94;--shadow-action-sheet:0 -12px 40px #000000a6, 0 0 0 1px #0006;--surface-raised:#223438;--surface-control:#243639;--surface-control-hover:#304441;--surface-control-strong:#151f2a;--surface-control-strong-hover:#1c2937;--surface-badge:#111923e0;--surface-input:#1b2e31;--surface-input-hover:#15212d;--surface-primary-action:#3a2f1d;--surface-primary-action-hover:#4b3b21;--surface-recruit-action:#332a1b;--surface-recruit-action-hover:#40341f;--surface-hostile-warning:#3b181cb8;--surface-info-soft:#22384a40;--surface-info-hint:#203a4c59;--surface-scout-report:#1c2f3e57;--surface-scout-unknown:#101821b8;--surface-scout-preview:#192b396b;--surface-scout-mission:#352b1b5c;--surface-scout-stat:#0c131bb8;--surface-army-marker:#090f16f5;--surface-army-marker-hover:#151f2afa;--surface-army-tooltip:#070c12fa;--text-primary:#e5ece7;--text-heading:#f3eee0;--text-strong:#e2e9df;--text-secondary:#bacac2;--text-muted:#a3b7af;--text-subtle:#718095;--text-soft:#afc2b9;--text-note:#78879a;--text-badge:#b8c4d4;--text-queue:#8c9aab;--text-hostile:#d7dee8;--text-info:#89a8bd;--text-info-strong:#9cc6e5;--text-encounter:#8398a9;--text-danger:#e9a7a7;--text-danger-strong:#f0b0b0;--text-primary-action:#f0d69b;--text-primary-highlight:#f1d18f;--text-recruit-action:#ecd297;--text-secondary-action:#9eacbd;--text-secondary-action-hover:#dbe5ef;--text-scout-heading:#e7c987;--text-scout-route:#edf3f9;--border-panel:#3a504e;--border-panel-strong:#7484976b;--border-section:#344a48;--border-divider:#304341;--border-card:#405653;--border-control:#2c3948;--border-chip:#2a3746;--border-badge:#263140;--border-control-hover:#68798e;--border-secondary-hover:#63758a;--border-stepper-hover:#6b8097;--border-input-hover:#53677d;--border-target-hint:#34546b;--border-scout-unknown:#334252;--border-scout-stat:#22303d;--border-army-divider:#97a7b859;--accent-primary:#ddbd78;--accent-primary-border:#ddbd78a8;--accent-primary-border-soft:#ddbd7880;--accent-primary-fill-soft:#dcb56a14;--accent-secondary:#6aa4cc;--accent-secondary-strong:#9ed3f3;--accent-secondary-border:#6aa4cc4d;--accent-secondary-border-soft:#6aa4cc3d;--accent-secondary-divider:#6aa4cc24;--accent-secondary-fill:#6aa4cc1f;--accent-secondary-fill-soft:#6aa4cc14;--scout-preview-border:#6aa4cc57;--scout-mission-border:#d6ae6757;--focus-ring-info:#6aa4cc1f;--danger-border:#c75c5c66;--player-neutral:#849d98;--player-p1:#d6ae67;--player-p1-fill:#49391e;--player-p1-text:#e5c88e;--player-p1-border:#d6ae6773;--player-p2:#9b7bd1;--player-p2-fill:#32294a;--player-p2-text:#cbb9eb;--player-p2-border:#9b7bd17a;--player-p3:#5f92d1;--player-p3-fill:#243b55;--player-p3-text:#9ec1ec;--player-p3-border:#5f92d17a;--player-p4:#5ba99a;--player-p4-fill:#23433e;--player-p4-text:#99d0c5;--player-p4-border:#5ba99a7a;--player-p5:#c46f6f;--player-p5-fill:#4c2a2d;--player-p5-text:#e1aaaa;--player-p5-border:#c46f6f7a;--player-p6:#bd70aa;--player-p6-fill:#45263d;--player-p6-text:#dda8cf;--player-p6-border:#bd70aa85;--map-grid:linear-gradient(to right, #5d85791c 1px, transparent 1px), linear-gradient(to bottom, #5d85791c 1px, transparent 1px);--map-halo-shadow:#ddbd7880;--map-node-shadow:#030e0fbf;--map-edge:#7a9d9199;--map-node-fill:#1b3032;--map-node-border:#8aa49b;--map-node-hover-border:#f0dcaa;--map-village-fill:#465331;--map-mine-fill:#483e2b;--map-barracks-fill:#3d3431;--map-fortress-fill:#2a3d43;--map-ruin-fill:#373444;--map-monument-fill:#2a4850;--map-marker-text:#11161d;--unit-soldier:#d4dce6;--unit-rider:#e0aa5f;--unit-guardian:#75b9d9;--radius-xs:7px;--radius-sm:8px;--radius-card:6px;--radius-section:6px;--radius-hud:6px;--radius-panel:8px;--radius-pill:999px;--shadow-panel:0 18px 42px #020a0b40;--shadow-map-inset:inset 0 0 110px #051011bf;--shadow-army-marker:0 7px 7px #0000008c;--transition-fast:.12s ease;--disabled-opacity:.45}
*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}html,body{min-height:100%;margin:0}body{background-color:var(--surface-page);background-image:var(--page-background-overlay), var(--image-map-background);min-height:100vh;color:var(--text-primary);background-position:top;background-size:cover;background-attachment:fixed}button,input,select,textarea{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent-secondary);outline-offset:3px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
.appShell{width:min(1800px,100%);margin:0 auto;padding:18px clamp(16px,2vw,30px) 32px}.appHeader{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.appHeader h1{font-family:var(--font-display);letter-spacing:-.045em;margin:0;font-size:clamp(2.35rem,4vw,4rem);line-height:.95}.eyebrow{color:var(--text-soft);letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;font-size:.7rem;font-weight:800}.prototypeBadge{border:1px solid var(--border-badge);border-radius:var(--radius-pill);background:var(--surface-badge);color:var(--text-badge);letter-spacing:.04em;padding:8px 12px;font-size:.76rem;font-weight:700}.gameEntryActions{align-items:center;gap:10px;display:flex}.sandboxLayout{grid-template-columns:minmax(0,1fr) minmax(310px,350px);align-items:start;gap:12px;display:grid}.sandboxBoard,.sandboxSidebar{gap:10px;min-width:0;display:grid}.sandboxSidebar{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}.gameEntryShell:has(.sandboxLayout)>.gameHeader{display:none}.matchShell,.gameEntryShell{width:min(1900px,100%);padding-top:0}.matchHeader{border-bottom:1px solid var(--border-panel);align-items:center;min-height:78px;margin:0 0 12px;padding:12px 6px}.matchHeader h1{letter-spacing:.055em;text-transform:uppercase;font-size:clamp(1.7rem,2.3vw,2.5rem);line-height:1}.matchHeader .eyebrow{color:var(--accent-primary);margin-bottom:4px}.matchHeader__description{color:var(--text-secondary);margin:5px 0 0;font-size:.76rem}.matchHeader .prototypeBadge{border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.09em}.matchShell .sandboxBoard{align-content:start}@media (max-width:980px){.sandboxLayout{grid-template-columns:1fr}.sandboxSidebar{max-height:none;position:static;overflow:visible}}@media (max-width:620px){.appShell{padding:18px 12px 28px}.appHeader{flex-direction:column;align-items:flex-start}.matchHeader{gap:12px;padding:16px 4px}.matchHeader h1{font-size:1.9rem}.matchHeader__description{display:none}.gameEntryActions{flex-wrap:wrap;width:100%}}
.sandboxHud{flex-wrap:wrap;align-items:stretch;gap:8px;margin-bottom:12px;display:flex}.hudStat,.hudError,.prestigeRanking{border:1px solid var(--border-panel);border-radius:var(--radius-hud);background:var(--surface-panel);box-shadow:var(--shadow-panel);padding:9px 13px}.hudStat{flex-direction:column;gap:2px;min-width:100px;display:flex}.hudStat span,.prestigeRanking__title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;font-size:.68rem}.hudStat strong{color:var(--text-primary-highlight);font-size:1.1rem;font-family:var(--font-display);letter-spacing:.035em}.prestigeRanking{gap:5px;width:fit-content;min-width:min(278px,100%);max-width:100%;display:grid}.prestigeRanking ol{grid-template-columns:repeat(auto-fit,minmax(124px,max-content));gap:3px 12px;width:fit-content;max-width:100%;margin:0;padding:0;list-style:none;display:grid}.prestigeRanking li{min-width:0;color:var(--text-secondary);align-items:center;gap:5px;font-size:.7rem;display:flex}.prestigeRanking li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:14ch;overflow:hidden}.prestigeRanking li strong{color:var(--text-strong);font-size:.73rem}.playerColor{border-radius:var(--radius-pill);background:var(--player-neutral);flex:none;width:8px;height:8px;display:inline-block}.playerColor--P1{background:var(--player-p1)}.playerColor--P2{background:var(--player-p2)}.playerColor--P3{background:var(--player-p3)}.playerColor--P4{background:var(--player-p4)}.playerColor--P5{background:var(--player-p5)}.playerColor--P6{background:var(--player-p6)}.hudError{color:var(--text-danger);flex:100%;font-size:.8rem}.matchShell .sandboxHud{border:1px solid var(--border-panel);border-radius:var(--radius-panel);background:var(--surface-panel-strong);align-items:stretch;padding:8px}.matchShell .hudStat,.matchShell .prestigeRanking{border-color:var(--border-card);background:var(--surface-raised);box-shadow:none}.matchShell .prestigeRanking{flex:0 480px}@media (max-width:620px){.hudStat{flex:92px}.prestigeRanking{width:100%}.prestigeRanking ol{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));width:100%}}
.gameHeader{border-bottom:1px solid var(--border-panel);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;min-height:84px;margin-bottom:16px;padding:16px 4px;display:grid}.gameHeader h1{min-width:0;font-family:var(--font-display);letter-spacing:.055em;text-transform:uppercase;color:var(--accent-primary);overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,2.1vw,2.15rem);line-height:1.2}.gameHeader a{text-align:center;justify-content:center;align-items:center;min-width:44px;min-height:44px;font-size:.875rem;font-weight:700;line-height:1.35;text-decoration:none;display:inline-flex}.gameHeader a:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.gameHeader__modes{border:1px solid var(--border-card);border-radius:var(--radius-panel);background:var(--surface-panel);grid-template-columns:repeat(3,minmax(0,1fr));width:320px;padding:3px;display:grid}.gameHeader__modes a{border-radius:var(--radius-sm);color:var(--text-secondary);border:1px solid #0000;padding:9px 16px}.gameHeader__modes a[aria-current=page]{background:var(--surface-primary-action);border-color:var(--accent-primary);color:var(--text-primary-action)}.gameHeader__modes a:not([aria-current]):hover{background:var(--surface-control-hover);color:var(--text-heading)}.gameHeader__help{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.gameHeader__tutorial{border:1px solid var(--accent-primary);border-radius:var(--radius-panel);color:var(--text-primary-action);background:var(--surface-primary-action);padding:10px 14px}.gameHeader__tutorial:hover{background:var(--surface-primary-action-hover)}.gameHeader__guide{color:var(--text-secondary);padding:10px 4px}.gameHeader__guide:hover{color:var(--text-heading)}@media (max-width:980px){.gameHeader{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.gameHeader__modes{grid-area:2/1/auto/-1;justify-self:center}.gameHeader__help{flex-wrap:wrap;grid-area:1/2}}@media (max-width:620px){.gameHeader{grid-template-columns:minmax(0,1fr);padding:12px 0}.gameHeader h1{text-align:center}.gameHeader__modes{width:100%}.gameHeader__help{grid-area:3/1;justify-content:center;gap:12px}}
.mapCard,.territoryPanel,.upgradePanel{border:1px solid var(--border-panel);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:var(--shadow-panel)}.mapCard{isolation:isolate;min-width:0;overflow:hidden}.mapLegend{border-bottom:1px solid var(--border-panel);background:var(--surface-panel-strong);color:var(--text-secondary);flex-wrap:wrap;gap:16px;padding:12px 20px;font-size:.75rem;font-weight:600;display:flex}.mapLegend span{align-items:center;gap:7px;display:inline-flex}.legendDot{border-radius:var(--radius-pill);width:8px;height:8px;display:inline-block}.legendDot--player{background:var(--player-p1)}.legendDot--bots{background:var(--player-p2)}.legendDot--neutral{background:var(--player-neutral)}.legendShape{width:10px;height:10px;display:inline-block}.legendShape--monument{background:var(--accent-secondary);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.mapStage{min-width:0;position:relative}.mapViewport{background-color:var(--surface-page);background-image:var(--map-background-overlay), var(--map-grid), var(--image-map-background);min-height:clamp(580px,72vh,820px);box-shadow:var(--shadow-map-inset);background-position:50%;background-size:cover,56px 56px,56px 56px,cover;place-items:center;padding:14px;display:grid;overflow:auto}.territoryMap{width:min(100%,1120px);min-width:700px;height:auto;display:block}.mapEdge{stroke:var(--map-edge);stroke-width:2px;stroke-dasharray:5 7;vector-effect:non-scaling-stroke}.territoryNode{cursor:pointer;outline:none}.territoryNode__halo{fill:#0000;stroke:#0000;stroke-width:2px;filter:drop-shadow(0 0 8px var(--map-halo-shadow));transition:stroke var(--transition-fast), fill var(--transition-fast)}.territoryNode__body{fill:var(--map-node-fill);stroke:var(--map-node-border);stroke-width:2px;transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 7px 7px var(--map-node-shadow));transition:transform var(--transition-fast), stroke var(--transition-fast), fill var(--transition-fast)}.territoryNode:focus-visible .territoryNode__halo{stroke:var(--accent-secondary);stroke-width:3px}.territoryNode:hover .territoryNode__body,.territoryNode:focus .territoryNode__body{stroke:var(--map-node-hover-border);transform:scale(1.08)}.territoryNode--selected .territoryNode__halo{fill:var(--accent-primary-fill-soft);stroke:var(--accent-primary)}.territoryNode--village .territoryNode__body{fill:var(--map-village-fill)}.territoryNode--mine .territoryNode__body{fill:var(--map-mine-fill)}.territoryNode--barracks .territoryNode__body{fill:var(--map-barracks-fill)}.territoryNode--fortress .territoryNode__body{fill:var(--map-fortress-fill)}.territoryNode--ruin .territoryNode__body{fill:var(--map-ruin-fill)}.territoryNode--monument .territoryNode__body{fill:var(--map-monument-fill);stroke:var(--accent-secondary);stroke-width:3px}.territoryNode.territoryNode--P1 .territoryNode__body{fill:var(--player-p1-fill);stroke:var(--player-p1)}.territoryNode.territoryNode--P2 .territoryNode__body{fill:var(--player-p2-fill);stroke:var(--player-p2)}.territoryNode.territoryNode--P3 .territoryNode__body{fill:var(--player-p3-fill);stroke:var(--player-p3)}.territoryNode.territoryNode--P4 .territoryNode__body{fill:var(--player-p4-fill);stroke:var(--player-p4)}.territoryNode.territoryNode--P5 .territoryNode__body{fill:var(--player-p5-fill);stroke:var(--player-p5)}.territoryNode.territoryNode--P6 .territoryNode__body{fill:var(--player-p6-fill);stroke:var(--player-p6)}.territoryNode--monument.territoryNode--selected .territoryNode__halo{fill:var(--accent-secondary-fill-soft);stroke:var(--accent-secondary)}.territoryNode__icon{fill:none;stroke:var(--text-heading);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;overflow:visible}.territoryNode__type{fill:var(--text-soft);letter-spacing:.07em;pointer-events:none;font-size:10px;font-weight:700}.territoryNode__troops{pointer-events:none}.territoryNode__troops rect{fill:var(--surface-panel-strong);stroke:var(--map-node-border);stroke-width:1px}.territoryNode__troopCount{fill:var(--text-primary-highlight);font-size:13px;font-weight:800}@media (max-width:620px){.mapLegend{gap:10px 14px}.mapViewport{overscroll-behavior-inline:contain;scrollbar-color:var(--border-control-hover) var(--surface-panel);justify-content:start;min-height:530px}.territoryMap{min-width:650px}}.mapActivity{z-index:4;pointer-events:auto;scrollbar-width:thin;justify-items:end;gap:6px;width:max-content;max-width:min(480px,100% - 24px);max-height:min(48%,320px);display:grid;position:absolute;top:12px;right:12px;overflow-y:auto}.mapActivity__group{justify-items:end;gap:6px;max-width:100%;display:grid}.mapActivity__item{border:1px solid var(--border-card);border-left:3px solid var(--accent-primary);border-radius:var(--radius-hud);background:var(--surface-panel-strong);max-width:100%;box-shadow:var(--shadow-panel);color:var(--text-secondary);align-items:center;gap:8px;padding:7px 10px;font-size:.73rem;line-height:1.25;animation:.18s ease-out both mapActivityIn;display:flex}.mapActivity__item strong{color:var(--text-primary-highlight);white-space:nowrap}.mapActivity__item span{white-space:nowrap}.mapActivity__item--hostile{border-color:var(--danger-border);border-left-color:var(--text-danger-strong);background:var(--surface-hostile-warning)}.mapActivity__item--hostile strong{min-width:0;max-width:16ch;color:var(--text-danger-strong);text-overflow:ellipsis;overflow:hidden}.mapActivity__item--scout{border-color:var(--accent-secondary-border);border-left-color:var(--text-info-strong);background:var(--surface-info-soft)}.mapActivity__item--scout strong{color:var(--text-info-strong)}@keyframes mapActivityIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (max-width:620px){.mapActivity{max-width:min(340px,100% - 16px);top:8px;right:8px}.mapActivity__item{flex-wrap:wrap;gap:3px 7px}}@media (prefers-reduced-motion:reduce){.mapActivity__item{animation:none}}
.armyMarker{--army-owner-color:var(--player-neutral);cursor:help;color:var(--army-owner-color);outline:none}.armyMarker--P1{--army-owner-color:var(--player-p1)}.armyMarker--P2{--army-owner-color:var(--player-p2)}.armyMarker--P3{--army-owner-color:var(--player-p3)}.armyMarker--P4{--army-owner-color:var(--player-p4)}.armyMarker--P5{--army-owner-color:var(--player-p5)}.armyMarker--P6{--army-owner-color:var(--player-p6)}.armyMarker__badge{fill:var(--surface-army-marker);stroke:var(--army-owner-color);stroke-width:3px;vector-effect:non-scaling-stroke;filter:drop-shadow(var(--shadow-army-marker));transition:fill var(--transition-fast), stroke-width var(--transition-fast)}.armyMarker:hover .armyMarker__badge,.armyMarker:focus .armyMarker__badge{fill:var(--surface-army-marker-hover);stroke-width:4px}.armyMarker__total{fill:var(--text-heading);pointer-events:none;font-size:11px;font-weight:900}.armyMarker__divider{stroke:var(--border-army-divider);stroke-width:1px;pointer-events:none}.armyMarker__composition,.armyMarker__unit,.armyMarker__unitGlyph{pointer-events:none}.armyMarker__unitGlyph{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.armyMarker__unit--soldier .armyMarker__unitGlyph{stroke:var(--unit-soldier)}.armyMarker__unit--rider .armyMarker__unitGlyph{stroke:var(--unit-rider)}.armyMarker__unit--guardian .armyMarker__unitGlyph{stroke:var(--unit-guardian)}.armyMarker__tooltip{opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.armyMarker:hover .armyMarker__tooltip,.armyMarker:focus .armyMarker__tooltip{opacity:1}.armyMarker__tooltip rect{fill:var(--surface-army-tooltip);stroke:var(--army-owner-color);stroke-width:1.5px;vector-effect:non-scaling-stroke}.armyMarker__tooltip text{fill:var(--text-secondary);font-size:9px}.armyMarker__tooltip .armyMarker__tooltipTitle{fill:var(--text-heading);font-size:10px;font-weight:800}.armyMarker__tooltip .armyMarker__tooltipRoute{fill:var(--text-info-strong);font-size:8px;font-weight:700}
.territoryPanel{--territory-accent:var(--player-neutral);border-top:2px solid var(--territory-accent);padding:22px}.territoryPanel--P1{--territory-accent:var(--player-p1)}.territoryPanel--P2{--territory-accent:var(--player-p2)}.territoryPanel--P3{--territory-accent:var(--player-p3)}.territoryPanel--P4{--territory-accent:var(--player-p4)}.territoryPanel--P5{--territory-accent:var(--player-p5)}.territoryPanel--P6{--territory-accent:var(--player-p6)}.territoryPanel--inactive{border-top-style:dashed}.panelHeading{border-bottom:1px solid var(--border-section);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;display:flex}.panelHeading h2{font-family:var(--font-display);letter-spacing:.025em;text-transform:uppercase;margin:0;font-size:1.9rem}.ownerPill{border:1px solid var(--border-badge);border-radius:var(--radius-sm);background:var(--surface-badge);color:var(--text-badge);letter-spacing:.04em;white-space:nowrap;padding:7px 10px;font-size:.72rem;font-weight:700}.territoryPanel .ownerPill{border-left:2px solid var(--territory-accent)}.ownerPill--P1{border-color:var(--player-p1-border);color:var(--player-p1-text)}.ownerPill--P2{border-color:var(--player-p2-border);color:var(--player-p2-text)}.ownerPill--P3{border-color:var(--player-p3-border);color:var(--player-p3-text)}.ownerPill--P4{border-color:var(--player-p4-border);color:var(--player-p4-text)}.ownerPill--P5{border-color:var(--player-p5-border);color:var(--player-p5-text)}.ownerPill--P6{border-color:var(--player-p6-border);color:var(--player-p6-text)}.territoryStats{margin:16px 0 0}.territoryStats>div{border-bottom:1px solid var(--border-divider);justify-content:space-between;gap:18px;padding:10px 0;display:flex}.territoryStats>div:last-child{border-bottom:0}.territoryStats dt{color:var(--text-muted);font-size:.78rem}.territoryStats dd{color:var(--text-strong);text-align:right;overflow-wrap:anywhere;margin:0;font-size:.82rem;font-weight:700}.panelSection,.connectionsBlock{margin-top:18px}.territoryPanel>.panelSection,.territoryPanel>.connectionsBlock{border-top:1px solid var(--border-section);padding-top:18px}.territoryPanel .panelSection--movement{border-top-color:var(--accent-primary-border-soft)}.territoryPanel .panelSection--scouting{border-top-color:var(--accent-secondary-border)}.panelSection h3,.connectionsBlock h3{font-family:var(--font-display);color:var(--text-heading);letter-spacing:.075em;text-transform:uppercase;margin:0 0 10px;font-size:1.15rem}.competitiveResultCard h3{align-items:center;gap:7px;display:flex}.garrisonGrid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.garrisonGrid>div{border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--surface-raised);flex-direction:column;gap:3px;padding:12px 9px;display:flex}.garrisonGrid span,.recruitRow span{color:var(--text-muted);font-size:.7rem}.garrisonGrid strong{font-size:1rem}.recruitList{gap:8px;display:grid}.recruitRow{border-bottom:1px solid var(--border-divider);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.recruitList>.recruitRow:last-child{border-bottom:0}.recruitRow>div{flex-direction:column;gap:2px;display:flex}.recruitRow button{border:1px solid var(--accent-primary-border-soft);border-radius:var(--radius-sm);background:var(--surface-recruit-action);color:var(--text-recruit-action);cursor:pointer;padding:7px 10px}.recruitRow button:not(:disabled):hover,.recruitRow button:not(:disabled):focus-visible{background:var(--surface-recruit-action-hover);border-color:var(--accent-primary)}.recruitmentQueue{margin:0;padding-left:22px;list-style:decimal}.recruitmentQueue li{border-bottom:1px solid var(--border-divider);color:var(--text-queue);padding:7px 0 7px 4px}.recruitmentQueue li span,.recruitmentQueue li strong{display:inline-block}.recruitmentQueue li span{min-width:100px;color:var(--text-strong)}.recruitmentQueue li strong{color:var(--accent-primary);font-size:.8rem}.emptyState{color:var(--text-subtle);margin:0;font-size:.78rem}.panelNote{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-raised);color:var(--text-note);margin:24px 0 0;padding:13px;font-size:.74rem;line-height:1.55}@media (max-width:1180px){.territoryPanel{min-height:auto}}@media (max-width:620px){.territoryPanel{padding:16px}.territoryStats>div{flex-wrap:wrap;gap:4px 12px}.territoryStats dd{margin-left:auto}}
.primaryAction,.secondaryAction{border-radius:var(--radius-sm);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);padding:8px 11px;font-weight:700}.primaryAction{border:1px solid var(--accent-primary-border);background:var(--surface-primary-action);color:var(--text-primary-action)}.primaryAction:not(:disabled):hover,.primaryAction:not(:disabled):focus-visible{border-color:var(--accent-primary);background:var(--surface-primary-action-hover)}.secondaryAction{border:1px solid var(--border-control);background:var(--surface-control);color:var(--text-secondary-action)}.secondaryAction:not(:disabled):hover,.secondaryAction:not(:disabled):focus-visible{border-color:var(--border-secondary-hover);color:var(--text-secondary-action-hover)}.connectionList{flex-wrap:wrap;gap:8px;display:flex}.connectionChip{border:1px solid var(--border-chip);border-radius:var(--radius-sm);background:var(--surface-control);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);padding:7px 10px}.connectionChip:hover,.connectionChip:focus-visible{border-color:var(--border-control-hover);background:var(--surface-control-hover)}
.recruitList{gap:6px}.recruitRow,.recruitList>.recruitRow:last-child{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-action-card);grid-template-columns:28px minmax(0,1fr) 160px;gap:8px;padding:8px;display:grid}.recruitUnitInfo{min-width:0}.recruitUnitInfo strong{font-size:.85rem}.recruitUnitInfo span{white-space:nowrap;font-size:.7rem}.recruitUnitIcon,.recruitQueueIcon{fill:none;width:28px;height:28px;stroke:var(--text-secondary);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;align-self:center;display:block}.recruitActions{grid-template-columns:1fr 1fr 1.4fr;gap:4px;display:grid}.recruitActions button{white-space:nowrap;min-width:44px;min-height:44px;color:var(--text-primary-action);border-color:var(--accent-primary-border);background:var(--surface-primary-action);padding:4px;font-size:.75rem;font-weight:700}.recruitActions button span{font:inherit;color:inherit}.recruitActions button:disabled{opacity:1;color:var(--text-muted);background:var(--surface-control);border-color:var(--border-card);cursor:not-allowed}.recruitShortfall{color:var(--text-secondary);margin:8px 0 0;font-size:.75rem;line-height:1.4}.recruitShortfall strong{color:var(--text-primary-highlight)}.panelSection--recruitQueue{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-action-card);padding:10px}.panelSection--recruitQueue>h3{font-family:var(--font-body);letter-spacing:0;text-transform:none;margin:0 0 6px;font-size:.85rem}.recruitmentQueue{padding:0;list-style:none}.recruitmentQueue li{grid-template-columns:24px minmax(0,1fr) auto;gap:3px 8px;padding:6px 0;font-size:.8rem;display:grid}.recruitmentQueue li span{min-width:0}.recruitmentQueue .recruitQueueTotal{grid-template-columns:minmax(0,1fr) auto}.recruitQueueIcon{grid-row:1/3;width:24px;height:24px}.recruitQueueProgress{width:100%;height:5px;accent-color:var(--accent-primary);grid-column:2/-1;display:block}.recruitQueueSummary{color:var(--text-secondary);margin:8px 0;font-size:.75rem}.recruitQueueDetails summary{cursor:pointer;min-height:44px;color:var(--text-primary-highlight);align-content:center;font-size:.8rem;display:list-item}.recruitQueueDetails ol{max-height:180px;color:var(--text-secondary);margin:4px 0 0;padding-left:28px;font-size:.8rem;overflow-y:auto}@media (max-width:980px){.territoryActionSheet .panelSection--recruit>h3{display:none}}@media (max-width:379px){.recruitRow,.recruitList>.recruitRow:last-child{grid-template-columns:28px minmax(0,1fr)}.recruitActions{grid-column:1/-1}}
.legendInstruction{color:var(--text-info-strong);margin-left:auto;font-weight:700}.movementInstructionMobile,.movementUnitIcon,.movementEmptyToggle{display:none}.movementComposerFooter{gap:9px;display:grid}@media (max-width:980px){.territoryActionSheet .panelSection--movement>h3,.territoryActionSheet .movementInstructionDesktop,.territoryActionSheet .movementNextStep>span{display:none}.territoryActionSheet .movementInstructionMobile{margin:0;display:block}.territoryActionSheet .unitStepper,.territoryActionSheet .armyComposer--showEmpty .unitStepper--empty{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-action-card);grid-template-columns:minmax(0,1fr) 132px;align-items:center;gap:8px;padding:10px;display:grid}.territoryActionSheet .unitStepper--empty{display:none}.territoryActionSheet .unitStepper>div:first-child{min-width:0;padding-left:44px;position:relative}.territoryActionSheet .unitStepper>div:first-child strong{font-size:.85rem}.territoryActionSheet .movementUnitIcon{box-sizing:border-box;border:1px solid var(--text-muted);border-radius:var(--radius-pill);fill:none;width:36px;height:36px;stroke:var(--text-secondary);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;padding:7px;display:block;position:absolute;left:0}.territoryActionSheet .unitSelectionControls{display:contents}.territoryActionSheet .stepperControls{grid-template-columns:44px minmax(0,1fr) 44px}.territoryActionSheet .stepperControls button{width:44px;height:44px}.territoryActionSheet .unitQuickActions{grid-column:1/-1;grid-template-columns:1fr 1.2fr 1fr;gap:4px;display:grid}.territoryActionSheet .unitQuickActions button{min-height:44px;font-size:.72rem}.territoryActionSheet .movementEmptyToggle{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-action-card);min-height:44px;color:var(--text-secondary);font:inherit;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px;font-size:.75rem;display:flex}.territoryActionSheet .movementComposerFooter{z-index:2;background:var(--surface-action-sheet);border-top:1px solid var(--border-panel);grid-template-columns:1fr auto;margin:0 -14px -14px;padding:12px 14px 14px;display:grid;position:sticky;bottom:-14px}.territoryActionSheet .movementComposerFooter .primaryAction{grid-column:1/-1;width:100%;min-height:44px;margin:0}.territoryActionSheet .movementComposerFooter .secondaryAction{grid-area:1/2;min-height:44px;margin:0}}.mapEdge--target{stroke:var(--accent-secondary);stroke-width:3px;stroke-dasharray:7 5}.territoryNode--target .territoryNode__halo{fill:var(--accent-secondary-fill);stroke:var(--accent-secondary);stroke-width:3px}.territoryNode--target .territoryNode__body{stroke:var(--accent-secondary-strong)}.sectionHint{color:var(--text-muted);margin:0 0 10px;font-size:.76rem;line-height:1.45}.armyComposer{gap:9px;display:grid}.movementNextStep{color:var(--text-muted);gap:4px;font-size:.76rem;line-height:1.45;display:grid}.movementNextStep strong{color:var(--text-heading)}.unitStepper{border-bottom:1px solid var(--border-divider);justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.unitStepper>div:first-child{flex-direction:column;gap:2px;display:flex}.unitStepper>div:first-child span{color:var(--text-subtle);font-size:.7rem}.unitSelectionControls{justify-items:end;gap:6px;display:grid}.stepperControls{text-align:center;grid-template-columns:38px 36px 38px;align-items:center;display:grid}.stepperControls button{border:1px solid var(--border-control);border-radius:var(--radius-xs);background:var(--surface-control-strong);cursor:pointer;width:38px;height:38px}.stepperControls button:not(:disabled):hover,.stepperControls button:not(:disabled):focus-visible{border-color:var(--border-stepper-hover);background:var(--surface-control-strong-hover)}.unitQuickActions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.unitQuickActions button{border:1px solid var(--border-control);border-radius:var(--radius-xs);background:var(--surface-control);color:var(--text-secondary-action);cursor:pointer;padding:4px 6px;font-size:.66rem;font-weight:700}.unitQuickActions button:not(:disabled):hover,.unitQuickActions button:not(:disabled):focus-visible{border-color:var(--border-secondary-hover);background:var(--surface-control-hover)}.movementTargetHint{border:1px dashed var(--border-target-hint);border-radius:var(--radius-card);background:var(--surface-info-hint);color:var(--text-info);margin:4px 0;padding:10px;font-size:.76rem}.movementPreview{gap:10px;display:grid}.routeTitle{color:var(--text-primary-action);font-size:1rem;font-weight:800}.movementPreview>p{color:var(--text-secondary);margin:0;font-size:.78rem}.movementPreview dl{gap:4px;margin:0;display:grid}.movementPreview dl>div{border-bottom:1px solid var(--border-divider);justify-content:space-between;gap:12px;padding:6px 0;display:flex}.movementPreview dt{color:var(--text-subtle);font-size:.75rem}.movementPreview dd{margin:0;font-size:.78rem;font-weight:700}.actionRow{flex-wrap:wrap;gap:7px;display:flex}.armyOrderList{gap:7px;display:grid}.armyOrderRow{border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;display:flex}.armyOrderRow>div{flex-direction:column;gap:3px;min-width:0;display:flex}.armyOrderRow span{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.armyOrderRow>strong{color:var(--accent-primary);font-size:.8rem}.armyListItem__summary{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.encounterSection{border:1px solid var(--accent-secondary-border);border-radius:var(--radius-section);background:var(--surface-info-soft);padding:12px}.encounterRow{border-bottom:1px solid var(--accent-secondary-divider);flex-direction:column;gap:4px;padding:8px 0;display:flex}.encounterRow:last-child{border-bottom:0}.encounterRow span,.encounterRow small{color:var(--text-encounter);font-size:.72rem}@media (max-width:620px){.legendInstruction{width:100%;margin-left:0}.actionRow>button{min-height:40px}.unitStepper{flex-direction:column;align-items:stretch}.unitSelectionControls{justify-items:start}.unitQuickActions{justify-content:flex-start}}
.armyReportList{gap:10px;display:grid}.armyOrderCard,.battleReport{border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--surface-action-card);min-width:0;overflow:hidden}.armyOrderCard{padding:12px}.armyOrderCard__heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.armyOrderCard__route{overflow-wrap:anywhere;min-width:0;font-size:.85rem;line-height:1.5}.armyOrderCard__eta{text-align:right;flex-shrink:0;gap:3px;display:grid}.armyOrderCard__eta small,.battleReport__side>small,.battleReport dt{color:var(--text-muted);font-size:.7rem}.armyOrderCard__eta strong{color:var(--accent-primary);font-variant-numeric:tabular-nums}.reportUnits{flex-wrap:wrap;gap:5px 10px;min-width:0;display:flex}.reportUnit{color:var(--text-secondary);align-items:center;gap:5px;font-size:.72rem;display:inline-flex}.reportUnit svg{width:20px;height:20px;color:var(--accent-primary);fill:none;stroke:currentColor;stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.reportUnit strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.reportUnits__empty{color:var(--text-muted);font-size:.72rem}.armyOrderCard__progress{background:var(--border-divider);border-radius:var(--radius-pill);height:3px;margin-top:12px;overflow:hidden}.armyOrderCard__progress>span{background:var(--accent-primary);height:100%;display:block}.battleReport__heading{border-bottom:1px solid var(--accent-primary-border-soft);background:var(--accent-primary-fill-soft);flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px;display:flex}.battleReport__heading strong{font-family:var(--font-display);color:var(--accent-primary);font-size:1.2rem}.battleReport__heading span{overflow-wrap:anywhere;font-size:.82rem}.battleReport--defeat .battleReport__heading{background:var(--surface-hostile-warning);border-color:var(--danger-border)}.battleReport--defeat .battleReport__heading strong{color:var(--text-danger)}.battleReport__sides{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.battleReport__side{min-width:0;padding:12px}.battleReport__side+.battleReport__side{border-left:1px solid var(--border-divider)}.battleReport__side h4{color:var(--text-heading);margin:0 0 3px;font-size:.8rem}.battleReport__side dl{margin:12px 0 0}.battleReport__stat+.battleReport__stat{margin-top:12px}.battleReport dd{margin:4px 0 0}.battleReport__stat--losses .reportUnit strong{color:var(--text-danger)}.battleReport__stat--survivors .reportUnit strong{color:var(--accent-primary)}.battleReport__ownership{border-block:1px solid var(--border-divider);background:var(--surface-panel-strong);overflow-wrap:anywhere;padding:10px 12px;font-size:.74rem;line-height:1.5}.battleReport__details{padding:0 12px}.battleReport__details summary{cursor:pointer;min-height:44px;color:var(--text-secondary);align-content:center;font-size:.74rem}.battleReport__details summary:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.battleReport__details dl{margin:0 0 12px}.battleReport__details dl>div{justify-content:space-between;gap:12px;padding:4px 0;display:flex}.battleReport__details dd{margin:0;font-size:.74rem}@media (max-width:620px){.battleReport__sides{grid-template-columns:minmax(0,1fr)}.battleReport__side+.battleReport__side{border-left:0;border-top:1px solid var(--border-divider)}}
.enemyIntel{gap:12px;display:grid}.scoutIntelBlock{gap:10px;display:grid}.scoutReportMeta{border:1px solid var(--accent-secondary-border-soft);border-radius:var(--radius-card);background:var(--surface-scout-report);color:var(--text-info);margin:0;padding:10px 12px;font-size:.72rem;line-height:1.5}.scoutUnknownState{border:1px dashed var(--border-scout-unknown);border-radius:var(--radius-section);background:var(--surface-scout-unknown);flex-direction:column;gap:4px;padding:12px;display:flex}.scoutUnknownState strong{color:var(--text-strong);font-size:.95rem}.scoutUnknownState span{color:var(--text-note);font-size:.74rem;line-height:1.45}.scoutingControls{border-top:1px solid var(--border-section);gap:10px;margin-top:6px;padding-top:18px;display:grid}.scoutingControls h3{margin-bottom:0}.scoutOriginField{gap:6px;display:grid}.scoutOriginField>span{color:var(--text-muted);letter-spacing:.04em;font-size:.72rem;font-weight:700}.scoutOriginField select{border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-input);width:100%;min-height:38px;color:var(--text-strong);cursor:pointer;outline:none;padding:8px 34px 8px 10px;transition:border-color .12s,background .12s,box-shadow .12s}.scoutOriginField select:not(:disabled):hover{border-color:var(--border-input-hover);background:var(--surface-input-hover)}.scoutOriginField select:focus-visible{border-color:var(--accent-secondary);box-shadow:0 0 0 3px var(--focus-ring-info)}.scoutOriginField select:disabled{cursor:not-allowed;opacity:.5}.scoutStateCard{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-raised);gap:10px;padding:12px;display:grid}.scoutPreviewCard{border-color:var(--scout-preview-border);background:var(--surface-scout-preview)}.scoutMissionCard{border-color:var(--scout-mission-border);background:var(--surface-scout-mission)}.scoutStateCard__heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.scoutStateCard__heading span{color:var(--text-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:700}.scoutStateCard__heading strong{color:var(--text-scout-heading);font-size:.82rem}.scoutRoute{color:var(--text-scout-route);letter-spacing:-.01em;font-size:.95rem;font-weight:800}.scoutStateCard small{color:var(--text-muted);font-size:.72rem;line-height:1.45}.scoutPreviewStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.scoutPreviewStats>div{border:1px solid var(--border-scout-stat);border-radius:var(--radius-sm);background:var(--surface-scout-stat);flex-direction:column;gap:3px;padding:9px 10px;display:flex}.scoutPreviewStats dt{color:var(--text-subtle);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem}.scoutPreviewStats dd{color:var(--text-strong);margin:0;font-size:.82rem;font-weight:800}.scoutAction{width:100%;min-height:38px}
.upgradePanel{border:1px solid var(--border-panel);border-radius:var(--radius-panel);background:var(--surface-panel);box-shadow:var(--shadow-panel);padding:18px}.upgradePanel--pending{z-index:20;width:min(900px,100vw - 36px);max-height:calc(100vh - 36px);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.upgradePanel__heading,.upgradeOffer__heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.upgradePanel__heading h2{color:var(--text-heading);letter-spacing:-.02em;margin:2px 0 0;font-size:1rem}.upgradePanel__heading>strong{color:var(--text-primary-highlight);font-size:.82rem}.upgradeEyebrow,.upgradeOffer__heading span,.upgradeChoice>span{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:800}.upgradeSlots{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.upgradeSlot{border:1px dashed var(--border-card);border-radius:var(--radius-sm);background:var(--surface-raised);flex-direction:column;gap:4px;min-width:0;padding:8px;display:flex}.upgradeSlot>span{color:var(--text-subtle);font-size:.65rem}.upgradeSlot>strong{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.upgradeSlot--owned{border-style:solid;border-color:var(--accent-primary-border-soft);background:var(--surface-primary-action)}.upgradeSlot--owned>strong{color:var(--text-primary-action)}.upgradeSlot--owned>small{color:var(--text-primary-action);opacity:.82;font-size:.64rem;line-height:1.35}.upgradeOffer{border-top:1px solid var(--border-section);gap:10px;margin-top:16px;padding-top:15px;display:grid}.upgradeOffer__heading>div{align-items:center;gap:7px;display:flex}.upgradeOffer__heading strong{color:var(--accent-primary);font-size:.82rem}.upgradeOffer__heading small{color:var(--text-info);font-size:.68rem}.upgradeOffer>p,.upgradeChoice p,.upgradeEmpty{color:var(--text-muted);margin:0;font-size:.72rem;line-height:1.45}.upgradeChoices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.upgradeChoice{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-raised);grid-template-columns:minmax(0,1fr);align-items:center;gap:4px 10px;padding:10px;display:grid}.upgradeChoice>span,.upgradeChoice>strong,.upgradeChoice>p{grid-column:1}.upgradeChoice>strong{color:var(--text-strong);font-size:.84rem}.upgradeChoice .primaryAction{grid-column:1;margin-top:6px}.upgradeEmpty{border:1px dashed var(--border-card);border-radius:var(--radius-section);background:var(--surface-raised);margin-top:14px;padding:10px}@media (max-width:620px){.upgradePanel--pending{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}.upgradeSlots{grid-template-columns:1fr}.upgradeSlot>strong{white-space:normal}.upgradeChoice .primaryAction{min-height:40px}}@media (max-width:900px){.upgradeChoices{grid-template-columns:1fr}}
.matchEvent{border:1px solid var(--border-panel);border-left:3px solid var(--accent-primary);border-radius:var(--radius-section);background:var(--surface-panel-strong);color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:5px 16px;padding:12px 18px;font-size:.78rem;display:flex}.matchEvent strong{color:var(--accent-primary);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.finalRushBanner{border:1px solid var(--accent-primary-border);border-radius:var(--radius-hud);background:var(--surface-primary-action);flex:1 0 100%;align-items:center;gap:10px;padding:10px 14px;display:flex}.finalRushBanner strong{color:var(--text-primary-highlight);letter-spacing:.12em;font-size:.78rem}.finalRushBanner span{color:var(--text-secondary);font-size:.78rem}.capitalBrokenState,.brokenRecruitmentNotice{border:1px solid var(--danger-border);border-radius:var(--radius-section);background:var(--surface-hostile-warning)}.capitalBrokenState{gap:3px;margin-top:18px;padding:12px 14px;display:grid}.capitalBrokenState strong,.brokenRecruitmentNotice strong{color:var(--text-danger-strong)}.capitalBrokenState span,.brokenRecruitmentNotice span{color:var(--text-strong);font-size:.82rem}.capitalBrokenState small{color:var(--text-secondary);line-height:1.45}.brokenRecruitmentNotice{flex-direction:column;gap:2px;margin-bottom:10px;padding:9px 10px;display:flex}.lateArrivalWarning{border:1px solid var(--danger-border);border-radius:var(--radius-card);background:var(--surface-hostile-warning);color:var(--text-danger-strong);padding:9px 10px;font-size:.78rem;line-height:1.45}.territoryNode--broken .territoryNode__body{stroke:var(--text-danger-strong);stroke-dasharray:5 3;stroke-width:3px}.territoryNode__broken{fill:var(--text-danger-strong);letter-spacing:.12em;pointer-events:none;font-size:8px;font-weight:800}.matchResult{max-width:920px;margin:0 auto}.soloMatchStart{gap:18px;display:grid}.soloMatchStart__heading{gap:4px;display:grid}.soloMatchStart__heading .eyebrow,.soloMatchStart__heading h2,.soloMatchStart__note{margin:0}.soloMatchStart__field{gap:9px;max-width:520px;display:grid}.soloMatchStart__fieldLabel{color:var(--text-strong);align-items:baseline;gap:9px;font-size:.88rem;font-weight:700;display:flex}.soloMatchStart__fieldLabel small{color:var(--text-muted);font-size:.72rem;font-weight:500}.soloMatchStart__field input{border:1px solid var(--border-control);border-radius:var(--radius-section);background:var(--surface-input);min-height:44px;color:var(--text-primary);padding:10px 12px}.soloMatchStart__field input:focus{border-color:var(--accent-secondary);outline:none}.soloMatchStart__field select{border:1px solid var(--border-control);border-radius:var(--radius-section);background:var(--surface-input);min-height:44px;color:var(--text-primary);padding:10px 12px}.soloMatchStart__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:520px;display:grid}.inactiveCapitalState{border:1px solid var(--border-control);border-radius:var(--radius-section);background:var(--surface-raised);color:var(--text-secondary);margin-top:18px;padding:12px 14px;font-size:.82rem;line-height:1.45}.soloMatchStart__actions{align-items:center;padding-top:2px;display:flex}.competitiveResultCard--winner{border:1px solid var(--accent-primary-border);border-radius:var(--radius-section);background:var(--accent-primary-fill-soft);padding:12px}.resultPlace{color:var(--text-muted);min-width:24px}.winnerBadge{border:1px solid var(--accent-primary-border);border-radius:var(--radius-pill);color:var(--text-primary-highlight);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;padding:3px 7px;font-size:.64rem}.matchResultRule{color:var(--text-note);margin:22px 0 0;font-size:.78rem;line-height:1.5}.matchResultActions{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:20px;display:flex}.matchLifecycleAction{margin:0}.matchFeedbackOpen,.matchFeedbackClose{color:var(--text-secondary);cursor:pointer;font:inherit;background:0 0;border:0}.matchFeedbackOpen{text-underline-offset:3px;margin:0;padding:0;font-size:.82rem;text-decoration:underline}.matchFeedbackOpen span{color:var(--text-muted);margin-left:5px}.matchFeedback{border-top:1px solid var(--border-divider);flex:1 0 100%;gap:13px;margin-top:8px;padding-top:24px;display:grid}.matchFeedbackHeading{justify-content:space-between;align-items:start;gap:14px;display:flex}.matchFeedbackHeading h3{color:var(--text-heading);margin:5px 0 0;font-size:1.05rem}.matchFeedbackClose{text-underline-offset:3px;padding:4px 0;font-size:.78rem;text-decoration:underline}.matchFeedbackRatings{gap:8px;display:flex}.matchFeedbackRatings button{border:1px solid var(--border-card);border-radius:var(--radius-pill);background:var(--surface-raised);width:34px;height:34px;color:var(--text-strong);cursor:pointer;font-weight:800}.matchFeedbackRatings button.is-selected{border-color:var(--accent-primary-border);background:var(--accent-primary-fill-soft);color:var(--text-primary-highlight)}.matchFeedbackChoices{color:var(--text-secondary);flex-wrap:wrap;gap:14px;font-size:.82rem;display:flex}.matchFeedbackChoices label{align-items:center;gap:6px;display:flex}.matchFeedback>label{color:var(--text-secondary);gap:6px;font-size:.82rem;display:grid}.matchFeedback textarea{resize:vertical;border:1px solid var(--border-card);border-radius:var(--radius-card);background:var(--surface-raised);min-height:58px;color:var(--text-strong);font:inherit;padding:9px;line-height:1.45}.matchFeedback .lobbyPrimaryAction{justify-self:start}.matchFeedbackMessage{color:var(--text-secondary);margin:0;font-size:.82rem}.matchFeedbackMessage--complete{color:var(--text-strong)}@media (max-width:620px){.soloMatchStart{gap:16px}.soloMatchStart__fieldLabel{flex-direction:column;align-items:flex-start;gap:3px}.soloMatchStart__options{grid-template-columns:1fr}.finalRushBanner{flex-direction:column;align-items:flex-start;gap:4px}.matchResult{width:100%}.competitiveResultCard h3,.matchFeedbackHeading{flex-wrap:wrap}.matchFeedbackRatings button{width:40px;height:40px}.matchFeedback textarea{width:100%}.matchLifecycleAction{min-height:40px}}
.territorySignal{pointer-events:none;color:var(--text-info-strong)}.territorySignal--incoming{color:var(--text-danger-strong)}.territoryNode__name{fill:var(--text-primary-highlight);paint-order:stroke;stroke:var(--surface-page);stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:11px;font-weight:800}.mapPreviewInstruction{margin-top:4px;display:block}.territorySignal--capture{color:var(--accent-secondary)}.territorySignal__ring{fill:none;stroke:currentColor;stroke-width:2px}.territorySignal__ring--located{stroke-dasharray:4 4}.territorySignal__marker{fill:currentColor;stroke:var(--surface-page);stroke-width:2px}.territorySignal--incoming .territorySignal__ring{animation:1.2s ease-in-out infinite alternate territoryThreatPulse}.territorySignal__label{fill:currentColor;paint-order:stroke;stroke:var(--surface-page);stroke-width:3px;stroke-linejoin:round;font-size:9px;font-weight:800}.mapActivity__locate{border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;min-height:32px;font:inherit;border:0;padding:4px 8px}.mapActivity__summary{display:none}.mapActivity__details{justify-items:end;gap:6px;max-width:100%;display:grid}.matchMobileNav{display:none}@keyframes territoryThreatPulse{0%{opacity:1}to{opacity:.55}}@media (max-width:980px){.mapStage{flex-direction:column;display:flex}.mapActivity{background:var(--surface-panel-strong);border-bottom:1px solid var(--border-panel);order:-1;justify-items:stretch;gap:0;width:100%;max-width:none;max-height:none;position:static;overflow:visible}.mapActivity__summary{background:var(--surface-panel-strong);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;border:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:.8rem;display:flex}.mapActivity__summary strong{color:var(--accent-secondary-strong)}.mapActivity__details{display:none}.mapActivity--expanded .mapActivity__details{overscroll-behavior:contain;justify-items:stretch;gap:6px;max-height:28dvh;padding:0 8px 8px;display:grid;overflow-y:auto}.mapActivity__group{justify-items:stretch}.mapActivity__item{flex-wrap:wrap}.mapActivity__locate{min-height:44px}.matchMobileNav{z-index:10;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border-panel);background:var(--surface-panel-strong);box-shadow:var(--shadow-panel);justify-content:center;align-items:center;gap:10px;font-size:.75rem;display:flex;position:fixed;inset:auto 0 0}.matchMobileNav span{color:var(--text-secondary);gap:3px;display:grid}.matchMobileNav strong{color:var(--text-primary)}.matchMobileNav button{border:1px solid var(--border-control);border-radius:var(--radius-section);background:var(--surface-raised);min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;padding:8px 12px}.matchMobileNav button:disabled{opacity:.5;cursor:default}.sandboxLayout{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.mapCard,.panelSection--recruit{scroll-margin-block:75px}}@media (prefers-reduced-motion:reduce){.territorySignal--incoming .territorySignal__ring{animation:none}}
.territoryActionSummary,.territoryActionSheet__toolbar,.mobileDestinationAction,.territoryHeadingShort,.territoryActionBalance,.territoryActionEmblem{display:none}.connectionChip .territoryNode__icon{flex:0 0 22px;width:22px;height:22px}.connectionChip{align-items:center;gap:6px;display:inline-flex}.mapEdge--adjacent{stroke:var(--accent-secondary);stroke-dasharray:none}.guideTerritoryIcon .territoryNode__icon{width:32px;height:32px}@media (max-width:980px){.territoryActionSheet{display:none}.territoryActionSheet--open{z-index:9;inset:auto 8px calc(76px + env(safe-area-inset-bottom));overscroll-behavior:contain;border:1px solid var(--border-action-sheet);border-radius:var(--radius-action-sheet);background:var(--surface-action-sheet);max-height:min(62dvh,580px);box-shadow:var(--shadow-action-sheet);display:block;position:fixed;overflow-y:auto}.territoryActionSheet--expanded{max-height:78dvh}.territoryActionSheet__toolbar{z-index:1;border-bottom:1px solid var(--border-panel);background:var(--surface-action-sheet-header);border-radius:var(--radius-action-sheet) var(--radius-action-sheet) 0 0;justify-content:flex-start;align-items:center;gap:8px;padding:6px 10px;font-size:1rem;display:flex;position:sticky;top:0}.territoryActionSheet__toolbar button{border:1px solid var(--border-control);border-radius:var(--radius-sm);background:var(--surface-action-card);min-width:44px;min-height:44px;color:var(--text-primary);font:inherit;cursor:pointer;padding:4px;font-size:1.8rem}.territoryActionSheet__spacer{width:44px}.territoryActionSheet__toolbar strong{flex:1;font-size:1.2rem}.territoryActionSheet .territoryPanel{box-shadow:none;background:0 0;border:0;padding:14px}.territoryActionSheet .panelHeading{grid-template-columns:38px minmax(0,1fr) auto;gap:2px 8px;padding-bottom:10px;display:grid}.territoryActionSheet .territoryActionEmblem{border:1px solid var(--accent-primary);border-radius:var(--radius-pill);background:var(--surface-action-emblem);grid-row:1/3;place-items:center;width:38px;height:38px;display:grid}.territoryActionEmblem .territoryNode__icon{fill:none;width:26px;height:26px;stroke:var(--text-primary-highlight);stroke-width:1.5px}.territoryActionSheet .panelHeading h2{font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:1rem}.territoryActionSheet .territoryHeadingFull{display:none}.territoryActionSheet .territoryHeadingShort{display:inline}.territoryActionSheet .ownerPill{color:var(--text-secondary);background:0 0;border:0;grid-area:2/2;padding:0;font-size:.75rem;font-weight:500}.territoryActionSheet .territoryActionBalance{border:1px solid var(--accent-primary-border-soft);border-radius:var(--radius-sm);color:var(--text-primary-highlight);grid-area:1/3/3;align-self:center;padding:6px 8px;font-size:.8rem;display:block}.territoryActionSheet .panelHeading .eyebrow{display:none}.territoryActionSheet .territoryActionSummary{display:block}.territoryActionSummary p{color:var(--text-secondary);margin:12px 0;font-size:.85rem}.territoryActionMenu{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.territoryActionMenu button{min-height:44px;margin:0}.territoryActionSheet .territoryExtraDetails,.territoryActionSheet .territoryActionContent{display:none}.territoryActionSheet[data-mobile-action=details] .territoryExtraDetails,.territoryActionSheet[data-mobile-action=recruit] .territoryActionContent--recruit,.territoryActionSheet[data-mobile-action=move] .territoryActionContent--move,.territoryActionSheet[data-mobile-action=scout] .territoryActionContent--scout{display:block}.territoryActionSheet:not([data-mobile-action=summary]) .territoryActionSummary{display:none}.territoryActionSheet[data-mobile-action=recruit] .territoryActionSummary{margin-top:12px;display:block}.territoryActionSheet[data-mobile-action=recruit] .territoryActionSummary p,.territoryActionSheet[data-mobile-action=recruit] .territoryActionMenu__recruit{display:none}.territoryActionSheet .garrisonGrid>div{padding:6px 8px}.territoryActionSheet .panelSection{margin-top:10px;padding-top:10px}.hudError{z-index:11;background:var(--surface-panel-strong);max-height:18dvh;position:fixed;inset:8px 8px auto;overflow:auto}.mobileDestinationAction{min-height:44px;margin-bottom:8px;display:block}.matchMobileNav{gap:6px;font-size:.7rem}.matchMobileNav button{padding:8px}.mapActivity__item span{white-space:normal;overflow-wrap:anywhere}}
.lobbyCard{border:1px solid var(--border-panel);border-radius:var(--radius-panel);background:var(--surface-panel);width:min(760px,100%);box-shadow:var(--shadow-panel);margin:0 auto;padding:24px}.lobbyIntro{gap:8px;margin-bottom:24px;display:grid}.lobbyIntro h2{color:var(--text-heading);margin:0;font-size:clamp(1.5rem,3vw,2rem)}.lobbyIntro p:last-child,.lobbyWaiting{color:var(--text-secondary);margin:0;line-height:1.5}.lobbyActions{gap:18px;display:grid}.lobbyPrimaryAction,.lobbySecondaryAction{border:1px solid var(--border-control);border-radius:var(--radius-section);cursor:pointer;min-height:44px;font-weight:700;transition:background .12s,border-color .12s}.lobbyPrimaryAction{background:var(--surface-primary-action);color:var(--text-primary-action);border-color:var(--accent-primary-border);padding:10px 16px}.lobbyPrimaryAction:hover:not(:disabled){background:var(--surface-primary-action-hover)}.lobbySecondaryAction{background:var(--surface-control-strong);color:var(--text-secondary-action);padding:10px 14px}.lobbySecondaryAction:hover:not(:disabled){background:var(--surface-control-strong-hover);border-color:var(--border-secondary-hover);color:var(--text-secondary-action-hover)}.lobbyField,.lobbyJoinForm{gap:8px;display:grid}.lobbyField label,.lobbyJoinForm label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:700}.lobbyJoinRow{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.lobbyField input,.lobbyJoinRow input{border:1px solid var(--border-control);border-radius:var(--radius-section);background:var(--surface-input);min-width:0;color:var(--text-primary);padding:10px 12px}.lobbyJoinRow input{text-transform:uppercase;letter-spacing:.12em}.lobbyField input:focus,.lobbyJoinRow input:focus{border-color:var(--accent-secondary);outline:none}.lobbyError{border:1px solid var(--danger-border);border-radius:var(--radius-section);color:var(--text-danger);margin:18px 0 0;padding:10px 12px}.lobbyRoomHeader{border-bottom:1px solid var(--border-divider);justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.lobbyRoomCode{color:var(--text-primary-highlight);letter-spacing:.14em;font-size:clamp(1.8rem,5vw,2.8rem);display:block}.lobbyIdentity{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-raised);align-items:center;gap:10px;padding:10px 12px;display:flex}.lobbyIdentity div{gap:2px;display:grid}.lobbyIdentity span:not(.playerColor){color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem}.lobbyIdentity strong{color:var(--text-strong)}.lobbyIdentity small{color:var(--text-muted);font-size:.72rem}.lobbySlotGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0;display:grid}.lobbySlot{border:1px dashed var(--border-card);border-radius:var(--radius-section);background:var(--surface-scout-unknown);align-items:center;gap:10px;min-height:64px;padding:12px;display:flex}.lobbySlot--occupied{background:var(--surface-raised);border-style:solid}.lobbySlot div{gap:3px;display:grid}.lobbySlot strong{color:var(--text-strong)}.lobbySlot div span{color:var(--text-muted);font-size:.78rem}.lobbyConfiguration{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:14px;display:flex}.lobbyConfiguration>div{gap:4px;display:grid}.lobbyConfiguration>div strong{color:var(--text-strong)}.lobbyConfiguration>div span,.lobbyHostControlled{color:var(--text-muted);font-size:.78rem;line-height:1.4}.lobbyBotToggle{color:var(--text-secondary);cursor:pointer;flex:none;align-items:center;gap:8px;font-size:.8rem;font-weight:700;display:inline-flex}.lobbyBotToggle input{width:18px;height:18px;accent-color:var(--accent-primary)}.lobbyBotDifficulty select{border:1px solid var(--border-card);border-radius:var(--radius-sm);background:var(--surface-input);min-width:140px;color:var(--text-strong);font:inherit;padding:8px 10px;font-size:.82rem;font-weight:700}.lobbyStartSection{border-top:1px solid var(--border-divider);justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding-top:18px;display:flex}.lobbyStartSection>span{color:var(--text-muted);font-size:.8rem;line-height:1.4}.lobbyStartSection .lobbyPrimaryAction{flex:none}.lobbyWaiting{padding-top:4px;font-size:.82rem}@media (max-width:620px){.lobbyCard{padding:18px}.lobbyRoomHeader,.lobbyJoinRow{grid-template-columns:1fr}.lobbyRoomHeader,.lobbyConfiguration,.lobbyStartSection{flex-direction:column;align-items:flex-start}.lobbySlotGrid{grid-template-columns:1fr}.lobbyJoinRow{display:grid}}
.gameGuideShell{width:min(1320px,100%);padding-bottom:72px}.gameGuideHeader{margin-bottom:28px}.gameGuideHeader h1{font-size:clamp(2.2rem,3.6vw,3.4rem)}.gameGuideHeaderActions{flex-wrap:wrap;gap:10px;display:flex}.guideNavigationLink{border:1px solid var(--border-badge);border-radius:var(--radius-pill);background:var(--surface-badge);color:var(--text-badge);letter-spacing:.04em;transition:border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);padding:9px 14px;font-size:.76rem;font-weight:700;text-decoration:none}.guideNavigationLink:hover{border-color:var(--accent-secondary);color:var(--text-heading);transform:translateY(-1px)}.gameGuideHero{border:1px solid var(--border-panel-strong);border-radius:var(--radius-panel);background:var(--surface-panel-strong);min-height:470px;box-shadow:var(--shadow-panel);grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);display:grid;position:relative;overflow:hidden}.gameGuideHero:before{background:linear-gradient(110deg, var(--surface-panel-strong) 36%, transparent 72%), var(--image-map-background) center/cover;content:"";opacity:.42;position:absolute;inset:0}.gameGuideHeroCopy{z-index:1;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,64px);display:flex;position:relative}.gameGuideHero h2,.gameGuideSection h2,.gameGuideCta h2{color:var(--text-heading);font-family:var(--font-display);letter-spacing:-.035em;margin:0}.gameGuideHero h2{font-size:clamp(2.6rem,5vw,4.8rem);line-height:.93}.gameGuideHero h2 em{color:var(--text-primary-highlight);font-style:normal}.gameGuideHeroCopy>p:not(.eyebrow){max-width:470px;color:var(--text-secondary);margin:24px 0;font-size:1.05rem;line-height:1.6}.gameGuideStartLink{color:var(--text-primary-highlight);letter-spacing:.04em;text-transform:uppercase;font-size:.82rem;font-weight:800;text-decoration:none}.gameGuideStartLink span{margin-left:8px}.gameGuideLoop{border:1px solid var(--border-card);border-radius:var(--radius-section);background:var(--surface-panel);grid-template-columns:repeat(5,1fr);margin:18px 0 28px;display:grid;overflow:hidden}.gameGuideLoop a{color:var(--text-strong);gap:5px;padding:17px 20px;text-decoration:none;display:grid;position:relative}.gameGuideLoop a+a{border-left:1px solid var(--border-divider)}.gameGuideLoop a:not(:last-child):after{z-index:1;color:var(--accent-primary);content:"›";position:absolute;top:50%;right:-4px;transform:translateY(-50%)}.gameGuideLoop span{color:var(--accent-primary);letter-spacing:.12em;font-size:.66rem;font-weight:800}.gameGuideLoop strong{font-family:var(--font-display);font-size:1.02rem}.gameGuideLayout{grid-template-columns:180px minmax(0,1fr);align-items:start;gap:clamp(24px,3.2vw,42px);display:grid}.gameGuideContents{padding:14px 0;position:sticky;top:18px}.gameGuideContents ol,.gameGuideSteps{margin:0;padding:0;list-style:none}.gameGuideContents li{border-bottom:1px solid var(--border-divider)}.gameGuideContents a{color:var(--text-muted);grid-template-columns:28px 1fr;gap:7px;padding:11px 4px;font-size:.79rem;line-height:1.35;text-decoration:none;display:grid}.gameGuideContents a:hover{color:var(--text-heading)}.gameGuideContents a span,.gameGuideSectionHeading>span{color:var(--accent-primary);letter-spacing:.1em;font-size:.68rem;font-weight:800}.gameGuideSections{min-width:0}.gameGuideSection{border-top:1px solid var(--border-panel-strong);padding:44px 0 52px;scroll-margin-top:18px}.gameGuideSection:first-child{border-top:0;padding-top:22px}.gameGuideSectionHeading{grid-template-columns:38px minmax(0,1fr);gap:12px;display:grid}.gameGuideSection h2{max-width:900px;font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.06}.gameGuideSummary{max-width:850px;color:var(--text-strong);margin:22px 0 0 50px;font-size:1.08rem;line-height:1.72}.gameGuideDetail{max-width:850px;color:var(--text-secondary);margin:17px 0 0 50px;font-size:.96rem;line-height:1.72}.gameGuideFacts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:26px 0 0 50px;display:grid}.gameGuideFacts div{border-top:2px solid var(--accent-primary-border);background:var(--surface-raised);padding:16px}.gameGuideFacts dt{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.68rem;font-weight:800}.gameGuideFacts dd{color:var(--text-strong);margin:7px 0 0;font-size:.86rem;line-height:1.45}.gameGuideSteps{counter-reset:steps;gap:1px;margin:27px 0 0 50px;display:grid}.gameGuideSteps li{border-bottom:1px solid var(--border-divider);min-height:62px;color:var(--text-secondary);grid-template-columns:38px minmax(0,1fr);align-items:center;font-size:.96rem;line-height:1.6;display:grid}.gameGuideSteps li:before{counter-increment:steps;content:counter(steps);border:1px solid var(--accent-primary-border);border-radius:var(--radius-pill);width:26px;height:26px;color:var(--text-primary-highlight);place-items:center;font-size:.72rem;font-weight:800;display:grid}.gameGuideCta{border:1px solid var(--accent-primary-border);border-radius:var(--radius-panel);background:var(--accent-primary-fill-soft);justify-content:space-between;align-items:center;gap:30px;margin-top:34px;padding:clamp(24px,4vw,40px);display:flex}.gameGuideCta h2{font-size:clamp(1.9rem,3.5vw,3rem)}.gameGuideCta p:not(.eyebrow){color:var(--text-secondary);margin:10px 0 0}.gameGuideCta>div:last-child{flex:none;align-items:center;gap:10px;display:flex}.gameGuidePrimaryCta{border:1px solid var(--accent-primary-border);border-radius:var(--radius-pill);background:var(--surface-primary-action);color:var(--text-primary-action);padding:10px 17px;font-size:.8rem;font-weight:800;text-decoration:none}@media (max-width:840px){.gameGuideHero{grid-template-columns:1fr}.gameGuideHeroCopy{min-height:390px}.guideMapPreview{min-height:330px}.gameGuideLoop{grid-template-columns:repeat(5,minmax(105px,1fr));overflow-x:auto}.gameGuideLayout{grid-template-columns:1fr}.gameGuideContents{position:static}.gameGuideContents ol{grid-template-columns:repeat(2,1fr);display:grid}}@media (max-width:560px){.gameGuideHeroCopy{min-height:350px;padding:28px 22px}.gameGuideHero h2{font-size:clamp(2.5rem,14vw,3.4rem)}.gameGuideContents ol,.gameGuideFacts{grid-template-columns:1fr}.gameGuideSection{padding:34px 0 40px}.gameGuideSummary,.gameGuideDetail,.gameGuideFacts,.gameGuideSteps{margin-left:0}.gameGuideCta{flex-direction:column;align-items:flex-start}.gameGuideCta>div:last-child{width:100%}}
.guideMapPreview{z-index:1;border-left:1px solid var(--border-divider);background:radial-gradient(circle at 54% 50%, var(--accent-secondary-fill), transparent 58%);min-width:0;position:relative;overflow:hidden}.guideMapGlow{box-shadow:0 0 100px var(--accent-primary-fill-soft);border-radius:50%;position:absolute;inset:25% 15%}.guideMapPreview svg{width:100%;height:calc(100% - 72px);min-height:380px;display:block}.guideMapEdge{fill:none;stroke:var(--map-edge);stroke-width:2px}.guideMapRoute{fill:none;stroke:var(--accent-primary);stroke-dasharray:7 7;stroke-width:3px}.guideMapNode circle,.guideMapNode polygon{fill:var(--map-node-fill);stroke:var(--map-node-border);stroke-width:2px}.guideMapNode text{fill:var(--text-heading);text-anchor:middle;font-size:15px;font-weight:800}.guideMapNode--capital circle{fill:var(--player-p1-fill);stroke:var(--accent-primary);stroke-width:3px}.guideMapNode--rival circle{fill:var(--player-p2-fill);stroke:var(--player-p2)}.guideMapNode--fortress circle{fill:var(--map-fortress-fill)}.guideMapNode--ruin circle{fill:var(--map-ruin-fill);stroke:var(--player-p2)}.guideMapNode--monument polygon{fill:var(--map-monument-fill);stroke:var(--accent-secondary);stroke-width:3px}.guideArmy path{fill:var(--surface-army-marker);stroke:var(--accent-primary);stroke-width:2px}.guideArmy text{fill:var(--text-primary-highlight);text-anchor:middle;font-size:12px;font-weight:800}.guideMapCaption{border-top:1px solid var(--border-divider);justify-content:space-between;align-items:center;gap:16px;padding-top:13px;display:flex;position:absolute;bottom:22px;left:24px;right:24px}.guideMapCaption span{color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;font-size:.67rem;font-weight:800}.guideMapCaption strong{color:var(--text-secondary);font-size:.76rem}.guideTerritoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:28px 0 0 50px;display:grid}.guideTerritory{border:1px solid var(--border-card);background:var(--surface-raised);align-items:center;gap:13px;min-height:70px;padding:10px 13px;display:flex}.guideTerritory>div{gap:4px;display:grid}.guideTerritory strong{color:var(--text-strong);font-family:var(--font-display);font-size:1rem}.guideTerritory div span{color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:.72rem}.guideTerritoryIcon{border:2px solid var(--map-node-border);background:var(--map-node-fill);width:42px;height:42px;color:var(--text-heading);border-radius:50%;flex:none;place-items:center;font-size:.74rem;font-weight:900;display:grid}.guideTerritoryIcon b{font:inherit}.guideTerritoryIcon--capital{border-color:var(--accent-primary);background:var(--player-p1-fill)}.guideTerritoryIcon--village{background:var(--map-village-fill)}.guideTerritoryIcon--mine{background:var(--map-mine-fill);border-color:var(--accent-primary-border)}.guideTerritoryIcon--barracks{background:var(--map-barracks-fill)}.guideTerritoryIcon--fortress{background:var(--map-fortress-fill)}.guideTerritoryIcon--ruin{background:var(--map-ruin-fill);border-color:var(--player-p2)}.guideTerritoryIcon--monument{border-radius:var(--radius-xs);background:var(--map-monument-fill);border-color:var(--accent-secondary);transform:rotate(45deg)}.guideTerritoryIcon--monument b{transform:rotate(-45deg)}.guideUnitGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0 0 50px;display:grid}.guideUnit{border:1px solid var(--border-card);background:var(--surface-raised);min-height:190px;padding:20px;position:relative;overflow:hidden}.guideUnit:after{content:"";opacity:.12;border:1px solid;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-60px;right:-45px}.guideUnitIcon{border:1px solid;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.guideUnitIcon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;width:30px}.guideUnit>div>span{color:currentColor;letter-spacing:.1em;text-transform:uppercase;margin-top:20px;font-size:.66rem;font-weight:800;display:block}.guideUnit h3{color:var(--text-heading);font-family:var(--font-display);margin:5px 0 0;font-size:1.35rem}.guideUnit p{color:var(--text-muted);margin:7px 0 0;font-size:.77rem;line-height:1.4}.guideUnit--soldier{color:var(--unit-soldier)}.guideUnit--rider{color:var(--unit-rider)}.guideUnit--guardian{color:var(--unit-guardian)}.gameGuideSection--combat-intelligence:after{border-left:3px solid var(--accent-secondary);background:var(--accent-secondary-fill-soft);color:var(--text-info-strong);content:"SCOUT REPORTS ARE SNAPSHOTS — CHECK THEIR TIMESTAMP BEFORE COMMITTING AN ARMY.";letter-spacing:.07em;margin:28px 0 0 50px;padding:16px 18px;font-size:.72rem;font-weight:800;line-height:1.5;display:block}@media (max-width:680px){.guideMapPreview{border-top:1px solid var(--border-divider);border-left:0}.guideMapPreview svg{min-height:320px}.guideTerritoryGrid,.guideUnitGrid{grid-template-columns:1fr;margin-left:0}.guideUnit{min-height:160px}.gameGuideSection--combat-intelligence:after{margin-left:0}}
.tutorialNavigationLink{border:1px solid var(--accent-primary-border);border-radius:var(--radius-pill);background:var(--accent-primary-fill-soft);min-height:44px;color:var(--text-primary-highlight);align-items:center;padding:8px 14px;font-size:.76rem;font-weight:800;text-decoration:none;display:inline-flex}.tutorialNavigationLink:hover{border-color:var(--accent-primary);background:var(--surface-primary-action)}.tutorialCoach--balloon{z-index:100;border:2px solid var(--accent-primary);border-radius:var(--radius-panel);background:var(--surface-panel-strong);width:min(340px,100vw - 24px);box-shadow:var(--shadow-panel);position:fixed}.tutorialCoach[data-positioned=false]{visibility:hidden}.tutorialCoach:before{border:2px solid var(--accent-primary);background:var(--surface-panel-strong);content:"";width:12px;height:12px;position:absolute;transform:rotate(45deg)}.tutorialCoach--bottom:before{top:-8px;left:calc(var(--tutorial-pointer) - 6px);border-bottom:0;border-right:0}.tutorialCoach--top:before{bottom:-8px;left:calc(var(--tutorial-pointer) - 6px);border-top:0;border-left:0}.tutorialCoach--right:before{left:-8px;top:calc(var(--tutorial-pointer) - 6px);border-top:0;border-right:0}.tutorialCoach--left:before{right:-8px;top:calc(var(--tutorial-pointer) - 6px);border-bottom:0;border-left:0}.tutorialCoach__body{max-height:min(var(--tutorial-height,calc(100dvh - 24px)), calc(100dvh - 24px));overscroll-behavior:contain;gap:10px;padding:16px;display:grid;overflow:auto}.tutorialCoach__progress,.tutorialCoach__footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.tutorialCoach__progress{color:var(--text-muted);letter-spacing:.07em;text-transform:uppercase;font-size:.65rem;font-weight:800}.tutorialCoach__progress strong,.tutorialCoach strong{color:var(--text-primary-highlight)}.tutorialCoach h2,.tutorialCoach p{margin:0}.tutorialCoach h2{color:var(--text-heading);font-family:var(--font-display);font-size:1.3rem;line-height:1.15}.tutorialCoach p{color:var(--text-secondary);font-size:.87rem;line-height:1.5}.tutorialCoach p.tutorialCoach__location{color:var(--accent-primary);font-size:.72rem;font-weight:800}.tutorialCoach__footer{border-top:1px solid var(--border-card);padding-top:4px}.tutorialCoach__footer button,.tutorialCoach__footer a{min-height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:.76rem;text-decoration:underline;display:inline-flex}.tutorialCoach__actions{gap:8px;display:grid}.tutorialCoach .primaryAction,.tutorialCoach .secondaryAction{justify-content:center;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.tutorialAnchor:not(.territoryNode){outline:3px solid var(--accent-secondary-strong);outline-offset:5px;box-shadow:var(--shadow-panel)}.tutorialSandbox .sandboxSidebar{max-height:none;position:static;overflow:visible}.tutorialSandbox :is(button,a,[tabindex]){scroll-margin-top:80px}.tutorialSandbox .stepperControls button,.tutorialSandbox .recruitActions button{min-width:44px;min-height:44px}.tutorialActionBlocked{opacity:var(--disabled-opacity)}.territoryNode--tutorial-disabled{cursor:not-allowed;opacity:var(--disabled-opacity)}.territoryNode--tutorial-target.territoryNode--tutorial-disabled{cursor:default;opacity:1}.territoryNode--tutorial-disabled:hover .territoryNode__body,.territoryNode--tutorial-disabled:focus .territoryNode__body{stroke:var(--map-node-border);transform:none}.territoryNode--tutorial-target .territoryNode__halo{fill:var(--accent-secondary-fill);stroke:var(--accent-secondary-strong);stroke-width:4px}.territoryNode--tutorial-target .territoryNode__body{stroke:var(--accent-secondary-strong);stroke-width:3px}@media (prefers-reduced-motion:reduce){.tutorialSandbox .territoryNode__body,.tutorialSandbox .territoryNode__halo{transition:none}}
.campaignIntro{max-width:760px;margin-bottom:24px}.campaignMissions{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:20px;display:grid}.campaignCard{background:var(--surface-panel);border:1px solid var(--border-card);border-radius:var(--radius-panel);box-shadow:var(--shadow-panel);padding:24px}.campaignCard--locked{color:var(--text-secondary)}.campaignCard p,.campaignIntro p,.campaignCard li{line-height:1.6}.campaignActions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.campaignObjective{background:var(--surface-panel);border:1px solid var(--border-card);border-radius:var(--radius-panel);grid-template-columns:minmax(0,max-content) minmax(0,1fr) auto;align-items:center;gap:12px 28px;min-width:0;padding:10px 16px;display:grid}.campaignObjective__identity{min-width:0}.campaignObjective h2{color:var(--text-heading);white-space:nowrap;margin:0;font-size:1.12rem;line-height:1.2}.campaignObjective .eyebrow{color:var(--accent-primary);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:.65rem;display:block}.campaignObjective__statuses{border-left:1px solid var(--border-section);justify-self:start;align-items:center;gap:18px;min-width:0;margin:0;padding:0 0 0 24px;list-style:none;display:flex}.campaignObjectiveStatus{grid-template-columns:7px auto auto;align-items:center;gap:4px 7px;padding:0;line-height:1.25;display:grid}.campaignObjectiveStatus+.campaignObjectiveStatus{border-left:1px solid var(--border-section);padding-left:18px}.campaignObjectiveStatus__mark{background:var(--accent-secondary);border-radius:50%;grid-area:1/1/span 2;width:6px;height:6px}.campaignObjectiveStatus__label{color:var(--text-secondary);white-space:nowrap;font-size:.78rem}.campaignObjectiveStatus strong{color:var(--text-strong);white-space:nowrap;font-size:.82rem;font-weight:600}.campaignObjectiveStatus__detail{color:var(--text-danger);grid-column:2/-1;font-size:.68rem;line-height:1.1}.campaignObjectiveStatus--complete .campaignObjectiveStatus__mark{background:var(--accent-primary)}.campaignObjectiveStatus--complete strong{color:var(--accent-primary)}.campaignObjectiveStatus--attention .campaignObjectiveStatus__mark{background:var(--text-danger-strong)}.campaignObjectiveStatus--attention strong{color:var(--text-danger-strong)}.campaignObjectiveStatus--progress .campaignObjectiveStatus__mark{background:var(--accent-secondary-strong)}.campaignObjective button,.campaignCard button{min-height:44px}.campaignObjective button{background:var(--surface-control);border-color:var(--border-section);color:var(--text-secondary);justify-self:end;margin:0;padding:6px 12px;font-size:.75rem}@media (max-width:1100px) and (min-width:621px){.campaignObjective{gap:12px 20px;padding:8px 12px}.campaignObjective h2{font-size:1rem}.campaignObjective__statuses{gap:14px;padding-left:18px}.campaignObjectiveStatus{grid-template:auto auto/7px auto;gap:1px 6px}.campaignObjectiveStatus strong{grid-column:2}.campaignObjectiveStatus+.campaignObjectiveStatus{padding-left:14px}.campaignObjectiveStatus__label{font-size:.7rem}.campaignObjectiveStatus strong{font-size:.8rem}.campaignObjectiveStatus__detail{font-size:.6rem}}.appShell:has(.campaignMatch){padding-top:8px;padding-bottom:12px}.campaignMatch{flex-direction:column;gap:8px;height:calc(100dvh - 20px);min-height:500px;display:flex}.campaignScreen>.sandboxHud{flex-shrink:0;gap:5px;margin:0;padding:5px}.campaignScreen .hudStat{min-width:70px;padding:5px 9px}.campaignScreen .hudStat strong{font-size:1rem}.campaignScreen .prestigeRanking{padding:5px 9px}.campaignMatch .sandboxLayout{flex:1;align-items:stretch;min-height:0}.campaignMatch .sandboxBoard{flex-direction:column;min-height:0;display:flex}.campaignMatch .sandboxSidebar{min-height:0;max-height:100%;top:0}.campaignMatch .territoryPanel{padding:14px}.campaignMatch .panelHeading h2{font-size:1.2rem}.campaignMatch .panelSection{margin-top:12px;padding-top:12px}.campaignMatch .mapCard{flex-direction:column;flex:1;min-height:0;display:flex}.campaignMatch .mapLegend{gap:5px 12px;padding:7px 10px;font-size:.7rem}.campaignMatch .mapStage{flex-direction:column;flex:1;min-height:0;display:flex}.campaignMatch .mapViewport{flex:1;min-height:0;padding:8px;overflow:hidden}.campaignMatch .territoryMap{width:100%;min-width:0;height:100%}.campaignMatch .matchEvent{flex-shrink:0;margin:0;padding:6px 10px}@media (max-width:980px){.appShell:has(.campaignMatch){padding-bottom:calc(88px + env(safe-area-inset-bottom))}.campaignMatch{height:calc(100dvh - 96px - env(safe-area-inset-bottom));min-height:500px}.campaignMatch .sandboxLayout{padding-bottom:0}.campaignMatch .territoryActionSheet--open{max-height:min(62dvh,580px);top:auto}.campaignMatch .territoryActionSheet--expanded{max-height:78dvh}.campaignMatch .mapActivity{flex-shrink:0}}@media (max-width:620px){.campaignObjective{grid-template-rows:36px 34px;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:4px 8px;padding:6px 10px}.campaignObjective__identity{grid-area:1/1}.campaignObjective h2{font-size:.95rem}.campaignObjective .eyebrow{margin-bottom:2px;font-size:.58rem}.campaignObjective__statuses{border-left:0;grid-area:2/1/auto/-1;justify-self:start;gap:12px;padding-left:0}.campaignObjectiveStatus{grid-template:auto auto/5px auto;gap:1px 5px}.campaignObjectiveStatus+.campaignObjectiveStatus{padding-left:12px}.campaignObjectiveStatus__mark{width:5px;height:5px}.campaignObjectiveStatus__label{font-size:.65rem}.campaignObjectiveStatus strong{grid-column:2;font-size:.75rem}.campaignObjectiveStatus__detail{font-size:.58rem}.campaignObjective button{grid-area:1/2;padding:5px 8px;font-size:.68rem}.campaignScreen>.sandboxHud{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.campaignScreen .hudStat{min-width:0;padding:4px}.campaignScreen .hudStat span{letter-spacing:.03em;font-size:.55rem}.campaignScreen .hudStat strong{font-size:.85rem}.campaignScreen .prestigeRanking{grid-column:1/-1;width:100%;min-width:0;padding:4px}.campaignScreen .prestigeRanking__title{display:none}.campaignScreen .prestigeRanking ol{flex-wrap:wrap;gap:4px 12px;display:flex}.campaignScreen .hudError{grid-column:1/-1}.campaignMatch .mapLegend{gap:4px 8px;font-size:.6rem}.campaignMatch .mapViewport{justify-content:center;padding:4px}}.campaignMenu .gameHeader{margin-bottom:16px}.campaignMenu .campaignIntro{align-items:center;gap:14px;max-width:1160px;margin:0 auto 18px;display:flex}.campaignChapterMark{border:1px solid var(--accent-primary-border-soft);border-radius:var(--radius-panel);background:var(--surface-primary-action);width:52px;height:52px;color:var(--accent-primary);font-family:var(--font-display);flex-shrink:0;place-items:center;font-size:1.4rem;display:grid}.campaignChapterHeading{min-width:0}.campaignMenu .campaignIntro .eyebrow{color:var(--accent-primary);letter-spacing:.12em;font-size:.6rem}.campaignMenu .campaignIntro h2{margin:4px 0;font-size:1.5rem}.campaignMenu .campaignIntro p{color:var(--text-secondary);margin:0;font-size:.85rem}.campaignMenu .campaignMissions{grid-template-columns:1fr;gap:12px;max-width:1160px;margin:auto}.campaignMenu .campaignCard:not(.campaignCard--locked){border-color:var(--accent-primary-border-soft);grid-template-columns:1.15fr 1fr;padding:0;display:grid;overflow:hidden}.campaignRoutePreview{background:var(--map-background-overlay), var(--image-map-background) center / cover, var(--surface-page);box-shadow:var(--shadow-map-inset);flex-direction:column;justify-content:center;padding:28px;display:flex}.campaignRouteCaption{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:.75rem;display:flex}.campaignRoutePreview>svg{width:100%;height:auto;max-height:260px;overflow:visible}.campaignRoutePreview line{stroke:var(--map-edge);stroke-width:4px;stroke-dasharray:9 8}.campaignRouteNode circle{fill:var(--map-node-fill);stroke:var(--map-node-border);stroke-width:3px}.campaignRouteNode .territoryNode__icon{fill:none;stroke:var(--text-primary);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.campaignRouteNode--C1 circle{fill:var(--player-p1-fill);stroke:var(--accent-primary)}.campaignRouteNode--F1 circle,.campaignRouteNode--objective circle{fill:var(--surface-primary-action);stroke:var(--accent-primary);stroke-width:5px}.campaignRoutePreview text{fill:var(--text-primary);font-size:26px;font-weight:600}.campaignRoutePreview .campaignRouteTarget{fill:var(--accent-primary);letter-spacing:3px;font-size:18px}.campaignBriefing{min-width:0;padding:28px}.campaignBriefing>.eyebrow{color:var(--accent-primary);margin:0 0 8px}.campaignMenu .campaignBriefing h3{font-family:var(--font-display);margin:0;font-size:clamp(1.8rem,3vw,2.6rem)}.campaignMenu .campaignMissionLead{color:var(--text-secondary);margin:8px 0 20px;font-size:.9rem}.campaignGoal{border-left:3px solid var(--accent-primary);padding:4px 0 4px 14px}.campaignGoal>span{color:var(--accent-primary);letter-spacing:.12em;font-size:.6rem;display:block}.campaignGoal strong{margin-top:5px;font-size:1.2rem;display:block}.campaignMenu .campaignGoal p{color:var(--text-secondary);margin:4px 0 0;font-size:.78rem}.campaignMissionStats{grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0;display:grid}.campaignMissionStats>span{background:var(--surface-raised);border-radius:var(--radius-card);padding:10px 8px}.campaignMissionStats small{letter-spacing:.06em;color:var(--text-secondary);font-size:.55rem;display:block}.campaignMissionStats strong{margin-top:5px;font-size:.8rem;display:block}.campaignBriefing>button{justify-content:space-between;align-items:center;width:100%;min-height:48px;display:flex}.campaignDetailsTrigger{background:var(--surface-control);border:1px solid var(--border-card);border-radius:var(--radius-card);width:100%;min-height:44px;color:var(--text-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);justify-content:space-between;align-items:center;margin-top:8px;padding:8px 12px;font-size:.8rem;display:flex}.campaignDetailsTrigger:hover{background:var(--surface-control-hover);border-color:var(--accent-primary-border)}.campaignDetailsTrigger:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.campaignDetailsDialog{border:1px solid var(--accent-primary-border);border-radius:var(--radius-panel);background:var(--surface-panel);width:min(620px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text-primary);box-shadow:var(--shadow-action-sheet);padding:0;overflow:hidden}.campaignDetailsDialog[open]{flex-direction:column;display:flex}.campaignDetailsDialog::backdrop{background:var(--surface-army-tooltip);opacity:.8}.campaignDetailsDialog>header{border-bottom:1px solid var(--border-section);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;display:flex}.campaignDetailsDialog h2{margin:0;font-size:1.4rem}.campaignDetailsDialog .eyebrow{margin-bottom:4px;font-size:.6rem}.campaignDetailsDialog button{min-height:44px}.campaignDetailsBody{gap:14px;min-height:0;padding:16px 20px;display:grid;overflow-y:auto}.campaignDetailsBody section{border:1px solid var(--border-section);border-radius:var(--radius-card);background:var(--surface-raised);padding:14px}.campaignDetailsBody h3{margin:0 0 10px;font-size:.9rem}.campaignDetailsBody p{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.5}.campaignPreparation>div{gap:12px;margin-bottom:10px;display:flex}.campaignPreparation>div>span{border-radius:var(--radius-card);background:var(--surface-primary-action);color:var(--text-primary-action);padding:8px 12px;font-size:.85rem}.campaignPreparation strong{font-size:1.2rem}.campaignStrategy{gap:14px;margin:0;padding:0;list-style:none;display:grid}.campaignStrategy li{gap:12px;display:flex}.campaignStrategy li>span{color:var(--accent-primary);padding-top:2px;font-size:.8rem;font-weight:700}.campaignStrategy strong{margin-bottom:3px;font-size:.85rem;display:block}.campaignMenu .campaignCard--locked{background:var(--surface-page);box-shadow:none;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:12px 18px;display:flex}.campaignMenu .campaignCard--locked .eyebrow{margin:0;font-size:.6rem}.campaignMenu .campaignCard--locked h3{margin:0;font-size:.9rem}.campaignMenu .campaignCard--locked>span{margin-left:auto;font-size:.7rem}@media (max-width:780px){.appShell:has(.campaignMenu){padding-top:8px;padding-bottom:12px}.campaignMenu .gameHeader{gap:8px;min-height:0;margin-bottom:8px;padding:8px 0}.campaignMenu .gameHeader h1{font-size:1.35rem}.campaignMenu .campaignIntro{margin-bottom:8px}.campaignMenu .campaignIntro h2{font-size:1.1rem}.campaignMenu .campaignIntro p:not(.eyebrow):not([role]){display:none}.campaignMenu .campaignCard:not(.campaignCard--locked){grid-template-columns:1fr}.campaignRoutePreview{padding:8px 14px 0}.campaignRouteCaption{font-size:.65rem}.campaignRouteCaption .eyebrow{margin:0;font-size:.55rem}.campaignRoutePreview>svg{height:90px}.campaignBriefing{padding:12px}.campaignMenu .campaignBriefing h3{font-size:1.7rem}.campaignMenu .campaignMissionLead{margin:4px 0 10px;font-size:.78rem}.campaignGoal strong{font-size:1rem}.campaignMissionStats{margin:12px 0}.campaignMissionStats>span{padding:7px}.campaignMissionStats strong{font-size:.72rem}.campaignMenu .campaignCard--locked{gap:4px 10px;padding:10px 14px}}@media (min-width:621px) and (max-height:800px){.appShell:has(.campaignMenu){padding-bottom:12px}.campaignMenu .gameHeader{margin-bottom:8px}.campaignMenu .campaignIntro{margin-bottom:10px}.campaignMenu .campaignIntro h2{font-size:1.2rem}.campaignRoutePreview{padding:18px}.campaignRoutePreview>svg{max-height:190px}.campaignBriefing{padding:16px}.campaignMenu .campaignBriefing h3{font-size:2rem}.campaignMenu .campaignMissionLead{margin:5px 0 12px}.campaignMissionStats{margin:12px 0}.campaignMenu .campaignCard--locked{padding:10px 16px}}@media (min-width:621px) and (max-height:650px){.campaignMenu .gameHeader{min-height:68px;padding:8px 4px}.campaignMenu .campaignIntro p:not(.eyebrow):not([role]){display:none}.campaignMenu .campaignMissions{gap:8px}.campaignMenu .campaignMissionLead{margin-bottom:8px}.campaignMissionStats{margin:10px 0}.campaignBriefing{padding:12px 16px}}@media (min-width:800px) and (max-width:980px) and (max-height:650px){.campaignMenu .gameHeader{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px}.campaignMenu .gameHeader h1{font-size:1.15rem}.campaignMenu .gameHeader__modes{grid-area:auto;width:260px}.campaignMenu .gameHeader__help{grid-area:auto;gap:6px}.campaignMenu .gameHeader__help a{font-size:.75rem}}.campaignMatch .mapLegend,.campaignMatch .matchEvent{flex-shrink:0;align-content:center;height:48px;overflow-y:auto}.campaignMapCommands{border-top:1px solid var(--border-panel);background:var(--surface-panel-strong);flex-shrink:0;grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);height:48px;display:grid}.campaignMapInstruction{min-width:0;padding:8px 12px;font-size:.72rem;line-height:1.4;overflow-y:auto}.campaignActivity{min-width:0}.campaignActivityTrigger{border:0;border-left:1px solid var(--border-section);background:var(--surface-control);width:100%;height:100%;color:var(--text-primary);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:6px 10px;font-size:.7rem;display:flex}.campaignActivityTrigger:hover:not(:disabled){background:var(--surface-control-hover)}.campaignActivityTrigger:disabled{cursor:default;opacity:1;color:var(--text-secondary)}.campaignActivityTrigger strong{color:var(--accent-primary)}.campaignActivityDialog .mapActivity__details{justify-items:stretch;gap:10px;display:grid}.campaignActivityDialog .mapActivity__group{justify-items:stretch}.campaignActivityDialog .mapActivity__item{flex-wrap:wrap;width:100%}.campaignActivityDialog .mapActivity__locate{min-height:44px}.campaignResult{width:min(720px,100%);margin:24px auto;padding:28px}.campaignResultHeading{align-items:center;gap:18px;display:flex}.campaignResultEmblem{flex-shrink:0;width:80px}.campaignResultEmblem>svg{width:100%}.campaignResultEmblem circle{fill:var(--surface-primary-action);stroke:var(--accent-primary)}.campaignResultEmblem .territoryNode__icon{fill:none;stroke:var(--accent-primary);stroke-width:1.6px}.campaignResult--defeat .campaignResultEmblem circle{fill:var(--surface-hostile-warning);stroke:var(--text-danger)}.campaignResultHeading h2{margin:0;font-size:2rem}.campaignResultHeading p:not(.eyebrow){color:var(--text-secondary);margin:8px 0 0;font-size:.85rem}.campaignResultObjectives{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0 16px;display:grid}.campaignResultObjectives>div{border:1px solid var(--border-section);border-radius:var(--radius-card);background:var(--surface-raised);padding:16px}.campaignResultObjectives span,.campaignResultObjectives small{color:var(--text-secondary);font-size:.65rem;display:block}.campaignResultObjectives strong{margin:8px 0;font-size:1.15rem;display:block}.campaignResultGuidance{border-left:3px solid var(--accent-primary);background:var(--accent-primary-fill-soft);padding:16px}.campaignResultGuidance h3{margin:0 0 6px;font-size:.9rem}.campaignResultGuidance p{color:var(--text-secondary);margin:0;font-size:.82rem}.campaignResult .campaignActions{grid-template-columns:1fr 1fr;display:grid}.campaignResult .campaignActions button{margin:0}@media (max-width:620px){.campaignMatch .mapLegend{height:44px}.campaignMapCommands{grid-template-rows:44px 44px;grid-template-columns:1fr;height:88px}.campaignActivityTrigger{border-left:0;border-top:1px solid var(--border-section)}.campaignResult{margin:16px auto;padding:18px}.campaignResultHeading{gap:12px}.campaignResultEmblem{width:56px}.campaignResultHeading h2{font-size:1.5rem}.campaignResultObjectives{gap:8px;margin:18px 0 12px}.campaignResultObjectives>div{padding:12px}.campaignResultObjectives strong{font-size:1rem}.campaignResult .campaignActions{grid-template-columns:1fr;gap:8px}}.campaignMatch>.campaignObjective{flex-shrink:0;height:72px;min-height:72px}.campaignMatch .campaignObjective ul{max-height:100%;overflow-y:auto}@media (max-width:620px){.campaignMatch>.campaignObjective{height:88px;min-height:88px}}@media (max-height:700px) and (min-width:621px){.campaignResult{margin:12px auto;padding:16px}.campaignResultEmblem{width:64px}.campaignResultHeading h2{font-size:1.6rem}.campaignResultObjectives{margin:16px 0 12px}.campaignResultObjectives>div,.campaignResultGuidance{padding:12px}}@media (max-width:620px){.campaignResult{margin:8px auto;padding:14px}.campaignResultObjectives{margin:14px 0 10px}.campaignResultObjectives>div{padding:10px}.campaignResultGuidance{padding:12px}.campaignResult>p[role=status]{margin:10px 0}.campaignResult .campaignActions{gap:6px;margin-top:14px}}.campaignMissionTabs{gap:8px;max-width:1160px;margin:0 auto 12px;display:flex}.campaignMissionTabs button{flex:1;min-height:44px;font-size:.8rem}.campaignMissionTabs [aria-pressed=true]{border-color:var(--accent-primary);background:var(--surface-primary-action)}@media (max-height:650px) and (min-width:621px){.campaignMenu .campaignIntro{margin-bottom:8px}}@media (max-width:620px){.campaignMenu .campaignRoutePreview{padding-top:4px}.campaignMenu .campaignRoutePreview>svg{height:72px}.campaignMissionTabs{margin-bottom:8px}}@media (min-width:621px) and (max-height:650px){.campaignChapterMark{width:44px;height:44px}.campaignMenu .campaignIntro{margin-bottom:4px}.campaignMissionTabs{margin-bottom:6px}}.campaignResultObjectives:has(>div:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:620px){.campaignResultObjectives:has(>div:nth-child(3)){grid-template-columns:repeat(2,minmax(0,1fr))}.campaignResultObjectives>div:nth-child(3){grid-column:1/-1;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;display:grid}.campaignResultObjectives>div:nth-child(3) strong{margin:0}.campaignResultObjectives>div:nth-child(3) small{grid-column:1/-1}.campaignMissionTabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.campaignMissionTabs button{min-width:0;padding:6px;font-size:.7rem;line-height:1.25}.campaignObjective__statuses--conquest{gap:10px}.campaignObjective__statuses--conquest .campaignObjectiveStatus+.campaignObjectiveStatus{padding-left:10px}}@media (min-width:621px) and (max-width:780px){.campaignObjective{gap:8px 12px;padding:8px 10px}.campaignObjective__statuses{gap:10px;padding-left:12px}.campaignObjectiveStatus+.campaignObjectiveStatus{padding-left:10px}.campaignObjectiveStatus__label{font-size:.65rem}.campaignObjectiveStatus strong{font-size:.75rem}}.campaignResult [role=alert]{align-items:center;gap:12px;margin-top:12px;display:flex}.campaignResult [role=alert] p{margin:0;font-size:.75rem;line-height:1.35}.campaignResult [role=alert] button{flex-shrink:0;min-height:44px;margin:0;padding:6px 10px;font-size:.75rem}
