@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter-latin-ext-400-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter-latin-ext-600-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter-latin-700-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter-latin-ext-700-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0d1218;--color-surface-1:#141b23;--color-surface-2:#1b242e;--color-border:#2d3a47;--color-text:#e7ebef;--color-text-muted:#9ba7b4;--color-accent:#e8a33d;--color-on-accent:#161006;--color-success:#5cbf82;--color-warning:#f08a4b;--color-danger:#f2706a;--color-scrim:#05080bcc;--color-flag-mark:#ffffffb3;--color-flag-edge:#0000004d;--player-1:#ec5462;--player-2:#1fc2a8;--player-3:#4c9ff2;--player-4:#f4c534;--player-5:#c860dc;--player-6:#b8a71e;--player-7:#ff8c4a;--player-8:#40e0e6;--player-9:#e8619f;--player-10:#82d23c;--player-11:#9483f4;--player-12:#ffa3c2;--map-sea:#112a40;--map-grid:#22303c;--map-neutral:#48515b;--map-muted:#262e37;--map-border:#0d1218;--map-label:#eef1f4;--map-label-halo:#0d1218;--map-river:#5b86ad;--map-route:#6f8599;--map-terrain:#0d1218;--map-coast:#7fb3d6;--map-wave:#cfe8ff;--map-truck:#f4f1e6;--map-smoke:#b9c2cc;--map-city-glow:#ffd98a;--map-major-port:#9fd8ff;--map-loot:#ffd24a;--map-front-glow:#ffe08a;--map-rail:#c8b27a;--map-rail-tie:#0d1218;--map-place-valid:#5cbf82;--map-place-invalid:#f2706a;--map-gain:#ffe08a;--map-sam:#9fb4c7;--map-blast:#ffb35c;--map-fallout:#2b362d;--map-fallout-mark:#121912;--map-seq-0:#1c2c3b;--map-seq-1:#2f5f86;--map-seq-2:#4a8cbd;--map-seq-3:#86bbe3;--map-seq-4:#d2e8f8;--map-rel-you:#56b4e9;--map-rel-ally:#0072b2;--map-rel-other:#d55e00;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--radius-sm:4px;--radius-md:8px;--shadow-1:0 1px 2px #00000059;--shadow-2:0 8px 24px #00000080;--font-sans:"Inter", system-ui, "Segoe UI", sans-serif;--font-mono:ui-monospace, Consolas, monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-md:16px;--font-size-lg:20px;--font-size-xl:24px;--line-height:1.45;--svg-font-xs:7px;--svg-font-sm:8px;--svg-font-md:9px;--svg-font-lg:10px;--map-label-size:12px;--icon-size:16px;--topbar-height:48px;--duration:.16s;--easing:ease-out;--duration-float:3s}@media (prefers-reduced-motion:reduce){:root{--duration:0s}}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--font-size-sm);line-height:var(--line-height);font-variant-numeric:tabular-nums;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{margin:0 0 var(--space-2);font-weight:600;line-height:1.25}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3{font-size:var(--font-size-md)}h4{font-size:var(--font-size-sm)}p{margin:var(--space-1) 0}strong{font-weight:600}[hidden]{display:none!important}main{padding:var(--space-5) var(--space-4)}body[data-screen=game] main{height:100vh;padding:0;overflow:hidden}.hint,.divider{color:var(--color-text-muted);font-size:var(--font-size-xs)}.row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.icon{width:var(--icon-size);height:var(--icon-size);vertical-align:-3px;flex:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button{justify-content:center;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-3);font:inherit;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration) var(--easing), border-color var(--duration) var(--easing), color var(--duration) var(--easing);font-weight:600;display:inline-flex}button:hover:not(:disabled){border-color:var(--color-text-muted)}button.primary,button[type=submit]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}button.primary:hover:not(:disabled),button[type=submit]:hover:not(:disabled){background:color-mix(in srgb, var(--color-accent) 85%, var(--color-text))}button.danger{color:var(--color-danger);border-color:var(--color-danger);background:0 0}button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 12%, transparent)}button:disabled,button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.icon-button{width:32px;padding:0}label{font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-muted)}.field{gap:var(--space-1);flex-direction:column;display:flex}input,select{min-width:0;min-height:32px;padding:var(--space-1) var(--space-2);font:inherit;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--duration) var(--easing)}input:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--color-text-muted)}input:focus-visible,select:focus-visible{border-color:var(--color-accent);outline-offset:0}input:disabled,select:disabled{opacity:.45;cursor:not-allowed}input[type=checkbox]{min-height:0;accent-color:var(--color-accent)}label.checkbox{align-items:center;gap:var(--space-2);margin:var(--space-1) 0;font-weight:400;font-size:var(--font-size-sm);color:var(--color-text);display:flex}.code-input,.room-code{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase}.code-input::placeholder{font-family:var(--font-sans);letter-spacing:normal;text-transform:none}.card{padding:var(--space-3);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1)}.card h3{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}details>summary{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);font-weight:600}details[open]>summary{margin-bottom:var(--space-2)}.tabs{gap:var(--space-1);padding:var(--space-1);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;display:inline-flex}.tab{min-height:28px;padding:0 var(--space-3);color:var(--color-text-muted);background:0 0;border-color:#0000;font-weight:600}.tab:hover:not(:disabled){color:var(--color-text);border-color:#0000}.tab.active,.tab[aria-pressed=true]{color:var(--color-on-accent);background:var(--color-accent)}.badge{padding:0 var(--space-2);font-size:var(--font-size-xs);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;font-weight:600;line-height:20px;display:inline-flex}.badge.ready{color:var(--color-success);border-color:currentColor}.badge.bot{color:var(--color-text)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);top:calc(100% + var(--space-2));z-index:20;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:opacity var(--duration) var(--easing);font-weight:600;position:absolute;right:0}[data-tooltip]:hover:after,[data-tooltip]:focus-visible:after{opacity:1}.dominance-bar{background:var(--color-bg);border-radius:var(--radius-sm);grid-column:1/-1;height:6px;position:relative}.dominance-fill{border-radius:var(--radius-sm);transition:width var(--duration) var(--easing);position:absolute;inset:0 auto 0 0}.dominance-mark{background:var(--color-text);width:2px;position:absolute;top:-3px;bottom:-3px}.toasts{top:var(--space-3);z-index:100;align-items:center;gap:var(--space-2);width:max-content;max-width:calc(100vw - var(--space-6));pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{padding:var(--space-2) var(--space-4);background:var(--color-surface-2);border:1px solid var(--color-border);border-left:3px solid var(--color-danger);border-radius:var(--radius-md);box-shadow:var(--shadow-2);margin:0;font-weight:600}.connection-status{border-left-color:var(--color-warning)}.brand{align-items:center;gap:var(--space-2);display:flex}.brand-name{font-size:var(--font-size-md);letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:700}.brand-large{gap:var(--space-3);flex-direction:column}.brand-large .brand-name{font-size:var(--font-size-xl);letter-spacing:.22em}.emblem{place-items:center;display:inline-grid}.emblem-small{width:28px;height:28px}.emblem-large{width:88px;height:88px}.emblem-drawing,.emblem-art{width:100%;height:100%}.emblem-globe{fill:none;stroke:var(--color-accent);stroke-width:2px;stroke-linecap:round;opacity:.55}.emblem-star{fill:var(--color-accent);stroke:var(--color-bg);stroke-width:1.5px;stroke-linejoin:round}.backdrop{z-index:-1;background:var(--color-bg);position:fixed;inset:0;overflow:hidden}.backdrop:after{content:"";background:radial-gradient(ellipse at center, transparent 30%, var(--color-bg) 85%);position:absolute;inset:0}.backdrop-grid{background-image:linear-gradient(var(--map-grid) 1px, transparent 1px), linear-gradient(90deg, var(--map-grid) 1px, transparent 1px);opacity:.6;background-size:48px 48px;position:absolute;inset:0}.backdrop-map{width:100%;height:100%;position:absolute;inset:0}.backdrop-land{fill:var(--map-neutral);opacity:.22}.backdrop[data-art=true]{background:var(--backdrop-art) center / cover no-repeat}.backdrop[data-art=true] .backdrop-grid,.backdrop[data-art=true] .backdrop-map{display:none}.backdrop[data-art=true]:after{background:radial-gradient(ellipse at center, var(--color-scrim) 20%, var(--color-bg) 95%)}.menu{align-items:center;gap:var(--space-4);flex-direction:column;margin:0 auto;display:flex}.home{max-width:400px;padding-top:6vh}.tagline{margin:calc(-1 * var(--space-2)) 0 var(--space-2);color:var(--color-text-muted)}.menu-card{gap:var(--space-3);width:100%;padding:var(--space-5);box-shadow:var(--shadow-2);flex-direction:column;display:flex}.form-actions button,.home .row input{flex:1}.divider{align-items:center;gap:var(--space-3);margin:0;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--color-border);flex:1}.resume-list{gap:var(--space-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.resume-list h2{font-size:var(--font-size-sm);margin:0}.resume-list .player button{margin-left:auto}.about{width:100%;font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}.about ul{margin:var(--space-2) 0 0;padding:0;list-style:none}.lobby{align-items:stretch;max-width:960px}.lobby>.brand{align-self:center}.lobby-columns{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;display:grid}.room-line{font-size:var(--font-size-md)}.room-line .room-code{color:var(--color-accent)}.lobby-options,.identity{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.lobby-identity .identity{border:0;margin:0;padding:0}.lobby-options p{align-items:center;gap:var(--space-2);display:flex}.lobby-options select{flex:1}.players{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.player{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.player .badge:last-child{margin-left:auto}.player-state{font-weight:600}.player-leader,.tags{font-size:var(--font-size-xs);color:var(--color-text-muted)}.flag{vertical-align:middle;border-radius:var(--radius-sm);flex:none;width:24px;height:16px}.flag-preview{align-items:center;display:inline-flex}.leader-list{gap:var(--space-1);max-height:320px;margin:var(--space-2) 0 0;flex-direction:column;padding:0;list-style:none;display:flex;overflow-y:auto}.leader{align-items:flex-start;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);border:1px solid #0000;display:flex}.leader.chosen{background:var(--color-surface-2);border-color:var(--color-accent)}.monogram{width:36px;height:36px;font-size:var(--font-size-xs);color:var(--color-accent);border:1px solid var(--color-accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:inline-grid}.leader-bonuses{gap:var(--space-1) var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.bonus{padding:0 var(--space-1);font-size:var(--font-size-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.game{flex-direction:column;height:100vh;display:flex}.statusbar{gap:var(--space-1);padding:var(--space-2) var(--space-4);background:var(--color-surface-1);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.status-row,.economybar{align-items:center;gap:var(--space-1) var(--space-4);flex-wrap:wrap;display:flex}.status-row{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.status-row .brand{margin-right:var(--space-2)}.status-item,.stat{align-items:center;gap:var(--space-1);white-space:nowrap;display:inline-flex}.status-item .icon,.stat .icon,.stat-label{color:var(--color-text-muted)}.peace{color:var(--color-success)}.economybar{min-width:0;font-size:var(--font-size-xs);flex-wrap:nowrap;flex:auto}.economybar>*{flex:none}.economybar>.deficit{flex:0 auto}.rate{color:var(--color-text-muted)}.rate.up{color:var(--color-success)}.rate.down{color:var(--color-danger)}.banner{margin:var(--space-2) var(--space-4) 0;padding:var(--space-2) var(--space-3);color:var(--color-danger);background:color-mix(in srgb, var(--color-danger) 12%, var(--color-surface-1));border:1px solid var(--color-danger);border-radius:var(--radius-md)}.game-layout{gap:var(--space-2);min-height:0;padding:var(--space-2);flex:1;grid-template:"tabs map side"minmax(0,1fr)"tabs buildings side""controls controls controls"/184px minmax(0,1fr) 320px;display:grid}.side-rail{gap:var(--space-2);flex-direction:column;grid-area:tabs;min-height:0;display:flex;overflow:hidden}.side-tabs{flex:none}.side-tabs [role=tablist]{gap:var(--space-1);flex-direction:column;display:flex}.side-tab{justify-content:flex-start;gap:var(--space-1);width:100%;padding:var(--space-2);font-size:var(--font-size-xs);text-align:left;white-space:normal}.side-tab[aria-selected=true]{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.side-tab.locked{color:var(--color-text-muted)}.tab-lock{margin-left:auto;display:inline-flex}.side-panel{top:var(--space-2);left:var(--space-2);z-index:8;gap:var(--space-2);width:min(460px, calc(100% - 2 * var(--space-2)));max-height:calc(100% - 2 * var(--space-2));padding:var(--space-2);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);flex-direction:column;display:flex;position:absolute;overflow-y:auto}.side-panel-header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.side-panel-title{font-size:var(--font-size-md);margin:0}.panel-close{min-width:32px;padding:var(--space-1) var(--space-2)}.side-panel-body{gap:var(--space-2);flex-direction:column;display:flex}.side-panel[data-tab=diplomacy]{width:min(900px, calc(100% - 2 * var(--space-2)))}.side-panel[data-tab=diplomacy] .side-panel-body{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.side-panel-body>.card{padding:var(--space-2);box-shadow:none}.lock-note{color:var(--color-warning);margin:0}.side-column{gap:var(--space-2);flex-direction:column;grid-area:side;min-height:0;display:flex;overflow-y:auto}.side-column>*{flex:none}.control-bar{align-items:center;gap:var(--space-2) var(--space-5);padding:var(--space-1) var(--space-3);background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;grid-area:controls;display:flex}.control{align-items:center;gap:var(--space-2);white-space:nowrap;display:inline-flex}.control input[type=range]{width:140px;accent-color:var(--color-accent)}.map-frame{background:var(--map-sea);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-area:map;min-height:0;position:relative;overflow:hidden}.map-view{flex-direction:column;height:100%;display:flex;position:relative}.map-toolbar{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-2);flex-wrap:wrap;display:flex}.map-view-hint{margin:0}.map-stage{flex:1;min-height:0;position:relative}.map{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.map-controls{gap:var(--space-1);margin-left:auto;display:flex}.map-button{background:var(--color-surface-1);box-shadow:var(--shadow-1)}.map-legend{max-height:40%;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);border-top:1px solid var(--color-border);flex:none;overflow-y:auto}.map-legend[open]>summary{margin-bottom:var(--space-1)}.map-legend ul{gap:var(--space-1) var(--space-3);margin:var(--space-1) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.legend-swatch{vertical-align:middle;border:1px solid var(--color-flag-edge);width:16px;height:12px;display:inline-block}.legend-river,.legend-rail{vertical-align:middle;width:24px;display:inline-block}.legend-sam,.legend-fallout{vertical-align:middle;border-radius:50%;width:14px;height:14px;display:inline-block}.legend-sam{border:2px solid var(--map-sam)}.legend-fallout{border-radius:var(--radius-sm);background:repeating-linear-gradient(45deg, var(--map-fallout) 0 3px, var(--map-fallout-mark) 3px 5px);border:1px solid var(--color-flag-edge)}.legend-rail{border-top:2px solid var(--map-rail);box-shadow:0 0 0 1px var(--map-rail-tie)}.legend-river{border-top:2px solid var(--map-river)}.map-view:not([data-mode=economy]):not([data-mode=military]) .legend-scale,.map-view:not([data-mode=diplomacy]) .legend-relations{display:none}.result{inset:var(--space-2);z-index:10;border-color:var(--color-accent);box-shadow:var(--shadow-2);position:absolute;overflow-y:auto}.winner{font-size:var(--font-size-lg);color:var(--color-accent);font-weight:700}table.standings{margin:var(--space-2) 0 var(--space-4);border-collapse:collapse}table.standings caption{padding-bottom:var(--space-1);text-align:left;font-weight:600}table.standings th,table.standings td{padding:var(--space-1) var(--space-3);text-align:right;border-bottom:1px solid var(--color-border)}table.standings th[scope=row],table.standings thead th:first-child{text-align:left}table.standings thead th{color:var(--color-text-muted);font-size:var(--font-size-xs)}.timeline-legend{gap:var(--space-1) var(--space-4);margin:var(--space-1) 0 var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.line-key{width:14px;height:3px;margin-right:var(--space-1);vertical-align:middle;border-radius:var(--radius-sm);display:inline-block}.timeline-charts{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.timeline-chart{margin:0;position:relative}.timeline-chart figcaption{font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-muted)}.timeline-plot{touch-action:none;width:100%;height:auto;display:block}.timeline-grid{stroke:var(--color-border);stroke-width:1px}.timeline-axis,.timeline-marker text{fill:var(--color-text-muted);font-size:var(--svg-font-md)}.timeline-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.timeline-marker line{stroke:var(--color-text-muted);stroke-width:1px}.timeline-crosshair{stroke:var(--color-text);stroke-width:1px}.timeline-readout{top:var(--space-5);right:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);pointer-events:none;position:absolute}.timeline-events{margin:var(--space-1) 0 var(--space-4);font-size:var(--font-size-xs);padding:0;list-style:none}.event-feed{padding:var(--space-2)}.side-rail .event-feed{flex:1;min-height:0;overflow:hidden}.side-rail .event-feed>.hint,.side-rail .feed-item:nth-child(n+6){display:none}.feed-list{margin:var(--space-1) 0;padding:0;list-style:none}.feed-item{margin:0 0 var(--space-1)}.feed-button{width:100%;min-height:28px;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);text-align:left;border-color:#0000;border-left:3px solid var(--color-border);background:0 0;justify-content:flex-start;font-weight:400}.feed-button:hover:not(:disabled){background:var(--color-surface-2);border-color:#0000;border-left-color:var(--color-text-muted)}.feed-button:disabled{opacity:1;cursor:default}.feed-item.new .feed-button{border-left-color:var(--color-accent);font-weight:600}.feed-item[data-kind=underAttack] .feed-button,.feed-item[data-kind=regionLost] .feed-button{border-left-color:var(--color-danger)}.feed-item[data-kind=underAttack] .feed-button:before,.feed-item[data-kind=regionLost] .feed-button:before{content:"⚠︎";color:var(--color-danger)}.feed-item[data-kind=nuclearLaunched] .feed-button,.feed-item[data-kind=nuclearDetonated] .feed-button{border-left-color:var(--map-blast);font-weight:600}.feed-item[data-kind=nuclearLaunched] .feed-button:before,.feed-item[data-kind=nuclearDetonated] .feed-button:before{content:"☢︎";color:var(--map-blast)}.dominance-list{gap:var(--space-2);margin:var(--space-1) 0;flex-direction:column;padding:0;list-style:none;display:flex}.dominance-list li{gap:var(--space-1) var(--space-2);grid-template-columns:1fr auto;display:grid}.side label:not(.checkbox){margin-top:var(--space-2);display:block}.side .row{margin-top:var(--space-1)}.preview{margin-top:var(--space-2);padding:var(--space-2);font-size:var(--font-size-xs);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-sm)}.preview-blocker{color:var(--color-danger);font-weight:600}.strait{margin:var(--space-2) 0}.diplomacy h4{margin:var(--space-3) 0 var(--space-1)}.diplomacy-players{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.diplomacy-player{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.diplomacy-player .row button{min-height:28px;padding:0 var(--space-2);font-size:var(--font-size-xs)}.unit-symbol{width:auto;height:20px}.tutorial{border-left:3px solid var(--color-accent)}.tutorial ol{margin:var(--space-2) 0;padding-left:var(--space-5)}.tutorial-step{margin:var(--space-1) 0}.tutorial-step.current{font-weight:600}.tutorial-step.done{color:var(--color-text-muted);text-decoration:line-through}.tutorial-step.done:after{content:" ✓";color:var(--color-success)}.stat-wrap,.score-wrap{display:inline-flex;position:relative}.stat-button{gap:var(--space-1);min-height:28px;padding:0 var(--space-2);font-size:inherit;background:0 0;border-color:#0000;font-weight:400}.stat-button:hover:not(:disabled),.stat-button[aria-expanded=true]{background:var(--color-surface-2);border-color:var(--color-border)}.breakdown,.score-box{z-index:30;min-width:280px;box-shadow:var(--shadow-2);position:fixed;top:0;left:0}.score-box{width:320px}.breakdown h4{margin:0 0 var(--space-1);font-size:var(--font-size-sm)}.breakdown-lines{margin:0;padding:0;list-style:none}.breakdown-lines li{justify-content:space-between;gap:var(--space-3);padding:2px 0;display:flex}.breakdown-total{margin-top:var(--space-1);border-top:1px solid var(--color-border);font-weight:600}.deficit{min-width:0;color:var(--color-danger);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0;overflow:hidden}.ring-menu{z-index:40;width:1px;height:1px;position:fixed}.ring-label{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);position:absolute;transform:translate(-50%,-50%)}.ring-item{transform:translate(calc(-50% + var(--ring-x)), calc(-50% + var(--ring-y)));padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;box-shadow:var(--shadow-2);position:absolute}.map.dragging{cursor:grabbing}.map.placing,.map.aiming{cursor:crosshair}.map.blocked{cursor:not-allowed}.aim-bar{align-items:stretch}.aim-title{align-items:center;gap:var(--space-1);padding:0 var(--space-2);font-size:var(--font-size-xs);white-space:nowrap;font-weight:600;display:flex}.aim-bar .aim-kind{text-align:center;display:block}.aim-bar .aim-kind[aria-disabled=true]{opacity:.5;cursor:not-allowed}.aim-cancel{font-size:var(--font-size-xs)}.aim-tip{gap:var(--space-1);flex-direction:column;max-width:360px;display:flex}.aim-tip[data-valid=false]{color:var(--color-danger);border-color:var(--color-danger)}.aim-warning{color:var(--color-danger)}.strike-backdrop{z-index:50;padding:var(--space-4);background:var(--color-scrim);place-items:center;display:grid;position:fixed;inset:0}.strike-backdrop[hidden]{display:none}.strike-confirm{border-color:var(--color-danger);width:min(440px,100%);max-height:100%;box-shadow:var(--shadow-1);overflow:auto}.strike-confirm h3{color:var(--color-danger);margin-top:0}.strike-results{margin:var(--space-1) 0;padding-left:var(--space-4);font-size:var(--font-size-xs);color:var(--color-text-muted)}.strike-final{font-weight:600}.player-card [data-testid=player-card-strike]{width:100%}.building-bar{gap:var(--space-1);flex-wrap:nowrap;grid-area:buildings;min-width:0;display:flex}.building-button{align-items:center;column-gap:var(--space-1);min-width:0;padding:var(--space-1);font-size:var(--font-size-xs);text-align:left;white-space:nowrap;flex:1 1 0;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon name key""icon cost key";display:grid}.building-name,.building-cost{text-overflow:ellipsis;overflow:hidden}.building-button .icon{grid-area:icon}.building-name{grid-area:name;font-weight:600}.building-cost{color:var(--color-text-muted);grid-area:cost}.building-key{padding:0 var(--space-1);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);grid-area:key;font-family:inherit}.building-button.active{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.building-button.active .building-cost,.building-button.active .building-key{color:inherit}.placement-tip[data-valid=true]{border-color:var(--map-place-valid)}.placement-tip[data-valid=false]{color:var(--color-danger);border-color:var(--map-place-invalid)}.legend-buildings{gap:0 var(--space-2);flex-wrap:wrap;display:flex}.legend-terrain{gap:var(--space-1) var(--space-3);margin:var(--space-1) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.link-button{min-height:0;font-size:inherit;color:var(--color-text);text-align:left;background:0 0;border:none;padding:0;font-weight:600}.link-button:hover:not(:disabled){color:var(--color-accent);background:0 0;text-decoration:underline}.leaderboard{padding:var(--space-2)}.leaderboard table{border-collapse:collapse;width:100%;font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.leaderboard th,.leaderboard td{padding:2px var(--space-1);text-align:right}.leaderboard th:nth-child(2),.leaderboard td:nth-child(2){text-align:left}.leaderboard-mark{margin-left:var(--space-1);vertical-align:middle;display:inline-flex}.leaderboard-mark .icon{width:14px;height:14px}.leaderboard-traitor{color:var(--color-danger)}.leaderboard-ally{color:var(--color-success)}.alliance-cards{top:var(--space-2);left:var(--space-2);z-index:6;gap:var(--space-2);flex-direction:column;max-width:260px;display:flex;position:absolute}.alliance-card{padding:var(--space-2);border-color:var(--color-accent);box-shadow:var(--shadow-2);font-size:var(--font-size-sm)}.alliance-card p{margin:0 0 var(--space-1)}.alliance-card .card-head{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.alliance-card button{min-height:28px;padding:0 var(--space-3);font-size:var(--font-size-xs)}.card-clock{font-variant-numeric:tabular-nums}.spawn-banner{top:var(--space-2);z-index:6;width:min(520px, calc(100% - var(--space-4)));padding:var(--space-2) var(--space-3);border-color:var(--color-accent);box-shadow:var(--shadow-2);text-align:center;pointer-events:none;position:absolute;left:50%;transform:translate(-50%)}.spawn-banner h3,.spawn-banner p{margin:0 0 var(--space-1)}.map.spawning{cursor:crosshair}.player-card-actions{flex-wrap:wrap}.leaderboard tr.own td{color:var(--color-accent);font-weight:600}.leaderboard tr.eliminated td{color:var(--color-text-muted)}.leaderboard-state{align-items:center;gap:var(--space-1);display:flex}.leaderboard-state .flag{flex:none;width:18px;height:12px}.player-card h3,.zone-card h3,.building-card h3{font-size:var(--font-size-md);margin:0}.player-card p,.zone-card p,.building-card p{margin:var(--space-1) 0}.zone-card h4{margin:var(--space-2) 0 var(--space-1);font-size:var(--font-size-sm)}.card-kicker{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;margin:0}.building-card .row{margin-top:var(--space-2)}.building-card .row button{flex:1 1 0}.building-card [data-testid=building-card-next]{font-size:var(--font-size-xs)}.zone-holdings{padding-left:var(--space-3);font-size:var(--font-size-xs);margin:0}.control.fronts{flex:1;min-width:0}.front-list{gap:var(--space-1);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.front-chip{align-items:center;gap:var(--space-1);padding:0 0 0 var(--space-2);font-size:var(--font-size-xs);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);display:inline-flex}.front-chip strong{font-variant-numeric:tabular-nums;text-align:right;min-width:3ch}.front-chip .flag{width:18px;height:12px}.front-chip .chip-button{min-height:24px;padding:0 var(--space-2);font-size:var(--font-size-xs);white-space:nowrap}.estimate-tip{z-index:40;padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);color:var(--color-text);pointer-events:none;background:var(--color-surface-1);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);position:fixed}.side-stack{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.side-stack>.card{padding:var(--space-2);box-shadow:none}.sea-panel select{max-width:100%}.strait-controls .unit-input{gap:var(--space-1);align-items:center;font-weight:400;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.breakdown-extra{color:var(--color-text-muted)}.map-button[data-level=high]{color:var(--color-accent)}.map-port-tip{z-index:2;gap:var(--space-1);max-width:280px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);pointer-events:none;flex-direction:column;display:flex;position:absolute}.map-port-tip[hidden]{display:none}.legend-truck:before{content:"";background:var(--map-truck);outline:1px solid var(--map-label-halo);width:6px;height:6px;display:inline-block}.legend-major-port{color:var(--map-major-port)}
