@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-cyrillic-ext-400-normal-CkIweJqd.woff2) format("woff2"),url(/assets/exo-2-cyrillic-ext-400-normal-iCCHmvbS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-cyrillic-400-normal-DkhFZ3TL.woff2) format("woff2"),url(/assets/exo-2-cyrillic-400-normal-h9Yg8YHF.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-vietnamese-400-normal-BgZK7AGH.woff2) format("woff2"),url(/assets/exo-2-vietnamese-400-normal-C-HDQfeq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-latin-ext-400-normal-BiLgrt0k.woff2) format("woff2"),url(/assets/exo-2-latin-ext-400-normal-eOOluZza.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Exo 2";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/exo-2-latin-400-normal-D8MC3_dU.woff2) format("woff2"),url(/assets/exo-2-latin-400-normal-_vYD6UCb.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/exo-2-cyrillic-ext-400-italic-DRkR8Kw-.woff2) format("woff2"),url(/assets/exo-2-cyrillic-ext-400-italic-BtAn2_2Y.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/exo-2-cyrillic-400-italic-_0n-C6qU.woff2) format("woff2"),url(/assets/exo-2-cyrillic-400-italic-BuJdQ6ar.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Exo 2";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/exo-2-vietnamese-400-italic-IQ8N75ai.woff2) format("woff2"),url(/assets/exo-2-vietnamese-400-italic-DqtR7LR0.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/exo-2-latin-ext-400-italic-D8XIl_aL.woff2) format("woff2"),url(/assets/exo-2-latin-ext-400-italic-VIZrGC_d.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Exo 2";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/exo-2-latin-400-italic-QlLyAB7x.woff2) format("woff2"),url(/assets/exo-2-latin-400-italic-CSdubUQn.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-cyrillic-ext-600-normal-c2lTakb1.woff2) format("woff2"),url(/assets/exo-2-cyrillic-ext-600-normal-Bva7FavC.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-cyrillic-600-normal-CENMUrsM.woff2) format("woff2"),url(/assets/exo-2-cyrillic-600-normal-DUkGHFVI.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-vietnamese-600-normal-D_uNeL95.woff2) format("woff2"),url(/assets/exo-2-vietnamese-600-normal-H3VyuMj8.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-latin-ext-600-normal-70qtqWxx.woff2) format("woff2"),url(/assets/exo-2-latin-ext-600-normal-DMfc7h1y.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Exo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/exo-2-latin-600-normal-DOMk466V.woff2) format("woff2"),url(/assets/exo-2-latin-600-normal-DZPWd1Z-.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/exo-2-cyrillic-ext-700-normal-Csksz6kL.woff2) format("woff2"),url(/assets/exo-2-cyrillic-ext-700-normal-pInDkuOc.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/exo-2-cyrillic-700-normal-BWvdHNKb.woff2) format("woff2"),url(/assets/exo-2-cyrillic-700-normal-BV2eOPIx.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/exo-2-vietnamese-700-normal-DXLQ-H9k.woff2) format("woff2"),url(/assets/exo-2-vietnamese-700-normal-DffI6dGw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/exo-2-latin-ext-700-normal-DLQkDG7N.woff2) format("woff2"),url(/assets/exo-2-latin-ext-700-normal-BP27c6Zx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Exo 2";font-style:normal;font-display:swap;font-weight:700;src:url(/assets/exo-2-latin-700-normal-OoACPC18.woff2) format("woff2"),url(/assets/exo-2-latin-700-normal-CMe4g2cX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/orbitron-latin-500-normal-DQ2gt4P1.woff2) format("woff2"),url(/assets/orbitron-latin-500-normal-BCCupJ8c.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Orbitron;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/orbitron-latin-700-normal-4jsRXGGJ.woff2) format("woff2"),url(/assets/orbitron-latin-700-normal-DmYOh-W9.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #05080f;--bg2: #0a101d;--panel: #0c1322;--card: #101a2d;--line: #1b2842;--line2: #2a3c60;--text: #c9d6ee;--dim: #6c7c9c;--accent: #4fd1ff;--amber: #ffb547;--bad: #ff5a6a;--good: #5ef2a0;--alloys: #e0a46a;--plastics: #c58cff;--gas: #6ae0c8;--mono: "JetBrains Mono", "Fira Code", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--sans: "Exo 2", system-ui, "Segoe UI", sans-serif;--display: "Orbitron", "Exo 2", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(ellipse at 30% 20%,#0d1730 0%,var(--bg) 60%) fixed,var(--bg);color:var(--text);font:13.5px/1.5 var(--sans);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}a{color:var(--accent);cursor:pointer}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:.04em}h1,h2,h3{font-family:var(--display);font-weight:500}.icon{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.22em;flex-shrink:0}p{margin:.25em 0}.dim{color:var(--dim)}.bad,.short{color:var(--bad)!important}.good{color:var(--good)}.warn{color:var(--amber)}.accent{color:var(--accent)}.small{font-size:11px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0}.row.center{justify-content:center}.col{display:flex;flex-direction:column;gap:8px}.grow{flex:1;text-align:left}.btn{background:linear-gradient(180deg,#19284a,#121d36);border:1px solid var(--line2);border-radius:6px;padding:5px 12px;cursor:pointer;text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{border-color:var(--accent);color:var(--accent);background:linear-gradient(180deg,#4fd1ff2e,#4fd1ff0f)}.btn.primary:hover:not(:disabled){background:#4fd1ff38;box-shadow:0 0 14px #4fd1ff40}.btn.danger{border-color:var(--bad);color:var(--bad);background:#ff5a6a12}.btn.danger:hover:not(:disabled){background:#ff5a6a29}.btn.ghost{background:transparent;border-color:var(--line)}.btn.small{padding:2px 7px;font-size:10px}.btn.big{padding:10px 22px;font-size:13px}.btn.speed{min-width:38px}.btn.speed.on{border-color:var(--amber);color:var(--amber)}.game{height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:22px;padding:8px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0f1a33,#0a1224);flex-wrap:wrap;box-shadow:0 2px 16px #0006;position:relative;z-index:2}.brand{display:flex;flex-direction:column;min-width:190px}.brand-name{font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.18em}.brand-sub{color:var(--dim);font-size:11px}.resources{display:flex;gap:18px}.resource{display:flex;flex-direction:column;min-width:92px}.resource-name{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600}.resource-name .icon{width:14px;height:14px;vertical-align:-3px}.res-alloys .resource-name .icon{color:var(--alloys)}.res-plastics .resource-name .icon{color:var(--plastics)}.res-gas .resource-name .icon{color:var(--gas)}.dominion .resource-name .icon{color:var(--accent)}.resource-val{font-size:17px;font-weight:700}.resource-cap{font-size:11px;font-weight:400;color:var(--dim)}.resource-rate{font-size:10px;color:var(--dim)}.resource-fill{height:3px;border-radius:2px;background:var(--line2);margin:2px 0 1px;overflow:hidden}.resource-fill>div{height:100%;background:currentColor;opacity:.7}.res-alloys .resource-val,.res.res-alloys,.res-alloys .resource-fill{color:var(--alloys)}.res-plastics .resource-val,.res.res-plastics,.res-plastics .resource-fill{color:var(--plastics)}.res-gas .resource-val,.res.res-gas,.res-gas .resource-fill{color:var(--gas)}.resource .resource-val.full,.resource:has(.full) .resource-fill,.resource:has(.full) .resource-rate{color:var(--amber)}.dominion{display:flex;flex-direction:column;min-width:150px}.dominion-bar{position:relative;height:8px;border-radius:4px;background:var(--bg2);border:1px solid var(--line2);margin:4px 0 2px}.dominion-fill{border-radius:4px}.dominion-fill{height:100%;background:linear-gradient(90deg,#2a8fd0,var(--accent))}.dominion-goal{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--amber)}.controls{margin-left:auto;display:flex;gap:6px;align-items:center}.menu-wrap{position:relative}.menu{position:absolute;right:0;top:110%;z-index:20;background:var(--panel);border:1px solid var(--line2);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-width:210px;box-shadow:0 10px 30px #00000080}.menu button{background:none;border:0;padding:8px 12px;text-align:left;cursor:pointer;white-space:nowrap}.menu button:hover{background:var(--card);color:var(--accent)}.main{flex:1;display:grid;grid-template-columns:1fr 470px;min-height:0}.left{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line)}.map-wrap{flex:1;min-height:300px;position:relative;display:flex;flex-direction:column}.legend{display:flex;gap:14px;padding:5px 12px;font-size:11px;color:var(--dim);flex-wrap:wrap;background:#070b16;border-top:1px solid var(--line)}.log-wrap{display:flex;flex-direction:column;border-top:1px solid var(--line);background:#05080fb3}.log{height:170px;overflow-y:auto;padding:6px 12px}.log-line.chat{color:var(--text)}.log-line.chat .dot{margin-right:2px}.log-chat{display:flex;gap:6px;padding:6px 12px;border-top:1px solid var(--line)}.log-line{margin:1px 0;font-size:12.5px}.log-line.clickable{cursor:pointer}.log-line.clickable:hover{background:#4fd1ff0d}.log-line.good{color:var(--good)}.log-line.bad{color:var(--bad)}.log-line.combat{color:var(--amber)}.log-t{color:var(--dim);margin-right:6px;font-family:var(--mono);font-size:11px}.side{display:flex;flex-direction:column;min-height:0;background:linear-gradient(180deg,#0c1428,#090f1f)}.citybar{display:flex;gap:4px;padding:8px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.city-chip{background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:3px 11px;cursor:pointer;font-size:12px}.city-chip.on{border-color:var(--accent);color:var(--accent)}.tabs{display:flex;border-bottom:1px solid var(--line);overflow-x:auto}.tab{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:7px 2px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;text-transform:uppercase;font-size:9.5px;font-weight:600;letter-spacing:.05em;color:var(--dim);white-space:nowrap}.tab .icon{width:19px;height:19px}.tab .badge{position:absolute;top:3px;right:6px}.tab:hover{color:var(--text)}.tab.on{color:var(--accent);border-bottom-color:var(--accent)}.badge{background:var(--bad);color:#fff;border-radius:8px;padding:0 5px;margin-left:4px;font-size:10px}.panel{flex:1;overflow-y:auto;padding:10px}.section{margin-bottom:14px}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,rgba(79,209,255,.45),transparent) 1}.section-head h3{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}.section-aside{font-size:11px;color:var(--dim)}.list{display:flex;flex-direction:column;gap:8px}.card{background:linear-gradient(180deg,#15223f,#101a31);border:1px solid rgba(90,130,210,.18);border-radius:8px;padding:9px 11px;box-shadow:0 2px 10px #00000040}.card.locked{opacity:.55}.card.hostile{border-color:#ff5a6a8c;box-shadow:inset 3px 0 0 var(--bad),0 2px 10px #00000040}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-title{font-weight:700;color:#e6eeff;display:inline-flex;align-items:center;font-size:14px}.card-icon{width:24px;height:24px;margin-right:8px;color:#8fc9ff;padding:3px;border-radius:6px;background:#4fd1ff1a}.level{color:var(--amber);font-weight:600}.flavor{color:var(--dim);font-style:italic;font-size:11.5px}.effect{font-size:12px}.req{font-size:11.5px;color:var(--amber)}.hint{color:var(--dim);font-size:12px;border-left:2px solid var(--line2);padding-left:8px}.card-foot{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}.card-foot .btn{margin-left:auto}.card-foot .btn.ghost{margin-left:0}.cost{display:inline-flex;gap:10px;font-size:12.5px;font-weight:600}.cost .icon{width:14px;height:14px;vertical-align:-2px}.time{color:var(--dim);font-size:11.5px}.stats{display:flex;gap:10px;flex-wrap:wrap;font-size:11px;color:#9fb2d6;margin:2px 0}.link.highway{stroke:#ffd257;stroke-opacity:.55;stroke-width:2.5;stroke-dasharray:10 5}.scenario-status{color:var(--amber);font-size:11px;letter-spacing:.06em}.preset.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.preset-group{color:var(--dim);text-transform:uppercase;font-size:11px;letter-spacing:.1em;margin:4px 0 6px}.scenario-brief{border-left:2px solid var(--accent);padding:4px 10px;margin:0 0 14px;font-size:12.5px}.slots{margin-bottom:10px;display:grid;gap:3px;font-size:12px}.coalition{color:var(--bad, #ff5a6a);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.count{width:74px;background:var(--bg2);border:1px solid var(--line2);border-radius:4px;color:var(--text);padding:3px 6px;font:inherit;font-size:12px}select{background:var(--bg2);border:1px solid var(--line2);border-radius:4px;color:var(--text);padding:3px 6px;font:inherit;font-size:12px}.progress{position:relative;height:18px;background:var(--bg2);border:1px solid var(--line2);border-radius:5px;overflow:hidden;margin-top:4px}.progress-fill{height:100%;background:linear-gradient(90deg,#4fd1ff40,#4fd1ff8c);transition:width .3s linear}.progress-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:11px}.tile-block{margin-bottom:10px}.tile-block-title{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.12em;margin:0 0 5px}.tile-row{display:grid;gap:6px;margin-bottom:6px}.tile-row.c1{grid-template-columns:1fr}.tile-row.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.tile-row.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{display:flex;flex-direction:column;gap:5px;min-width:0;background:linear-gradient(180deg,#15223f,#101a31);border:1px solid rgba(90,130,210,.18);border-radius:8px;padding:6px 7px;box-shadow:0 2px 10px #00000040}.tile.locked{opacity:.55}.tile-head{display:flex;align-items:flex-start;gap:5px;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:help}.tile-icon{flex:none;width:22px;height:22px;color:#8fc9ff;padding:3px;border-radius:5px;background:#4fd1ff1a}.tile-name{flex:1;min-width:0;font-weight:700;font-size:12px;line-height:1.2;color:#e6eeff;overflow-wrap:anywhere}.tile-level{flex:none;color:var(--amber);font-weight:600;font-size:11.5px}.tile .cost{flex-wrap:wrap;gap:2px 8px;font-size:11.5px}.tile>.btn{margin-top:auto;width:100%;padding:4px 6px;font-size:11.5px}.btn.job{position:relative;overflow:hidden;border-color:var(--line2)}.job-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#4fd1ff38,#4fd1ff80);transition:width .3s linear}.job-label{position:relative}.bubble{position:fixed;z-index:70;background:var(--panel);border:1px solid var(--accent);border-radius:8px;padding:8px 10px;pointer-events:none;box-shadow:0 10px 30px #0000008c;display:flex;flex-direction:column;gap:4px}.bubble-title{color:var(--accent);font-size:12.5px}@media(max-width:420px){.tile-row.c3{grid-template-columns:repeat(2,minmax(0,1fr))}}.current{margin-bottom:8px}.queue{margin-bottom:10px}.queue-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:12px}.kv{list-style:none;margin:4px 0;padding:0}.kv li{display:flex;justify-content:space-between;padding:1px 0;border-bottom:1px dotted var(--line);font-size:12px}.intel h4,.send h4,.report-side h4{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin-top:10px}.owner{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}.tier{margin-left:auto;font-size:10.5px;padding:1px 8px;border:1px solid var(--line2);border-radius:10px}.tier0{color:var(--good);border-color:var(--good)}.tier1{color:var(--accent)}.tier2{color:var(--amber)}.tier3,.tier4{color:var(--dim)}.send{margin-top:12px;border-top:1px dashed var(--line2);padding-top:6px}.send>.btn{margin-top:8px;width:100%;padding:8px}.seg{display:flex;margin:6px 0}.seg button{flex:1;background:var(--bg2);border:1px solid var(--line2);padding:5px;cursor:pointer;font-size:11px;font-weight:600;text-transform:uppercase}.seg button:first-child{border-radius:6px 0 0 6px}.seg button:last-child{border-radius:0 6px 6px 0}.seg button.on{border-color:var(--amber);color:var(--amber)}.pick{list-style:none;padding:0;margin:4px 0}.pick li{display:grid;grid-template-columns:1fr 80px 64px auto;gap:6px;align-items:center;padding:2px 0;font-size:12px}.movement{font-size:12px}.eta{color:var(--amber);font-weight:600}.report-head{display:flex;gap:10px;width:100%;background:none;border:0;cursor:pointer;text-align:left;padding:0}.report-head span:nth-child(2){flex:1}.report{margin-top:6px;font-size:12px}.report-sides{display:grid;grid-template-columns:1fr 1fr;gap:10px}.report table{width:100%;border-collapse:collapse;font-size:11px}.report th{text-align:left;color:var(--dim);font-weight:400}.report td,.report th{padding:1px 3px;border-bottom:1px dotted var(--line)}.map-stage{flex:1;position:relative;min-height:0;display:flex;overflow:hidden;background:#03050b}.starfield{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.starfield.backdrop{position:fixed;z-index:-1;background:#03050b}.twinkle-layer{background:none!important;animation:twinkle 7s ease-in-out infinite;will-change:opacity}@keyframes twinkle{50%{opacity:.15}}.map{position:relative;flex:1;width:100%;min-height:0;touch-action:none}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.map-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ring-layer{position:absolute;overflow:visible;animation:spin 10s linear infinite;will-change:transform}.link{stroke:#3a5080;stroke-opacity:.45;stroke-width:1.2}.link.fogged{stroke-opacity:.3;stroke-dasharray:3 3}.node{cursor:pointer}.node:hover .planet{filter:brightness(1.25)}.node.empty .planet{opacity:.8}.orbit{fill:none;stroke-width:2;stroke-opacity:.9}.orbit.outer{stroke-width:1;stroke-opacity:.55}.orbit.territory{stroke-width:1.4;stroke-dasharray:3 3;stroke-opacity:.75}.orbit.claimed{stroke-width:.8;stroke-opacity:.4}.capital-crown{stroke:#0009;stroke-width:.6}.relic-frame{fill:none;stroke-width:1;stroke-opacity:.8}.relic-frame.crown{stroke-width:1.8;filter:drop-shadow(0 0 4px rgba(233,207,122,.8))}.node-label{fill:#a9b8d8;text-anchor:middle;pointer-events:none;font-family:var(--sans);font-weight:600;paint-order:stroke;stroke:#03050bd9;stroke-width:3px;text-rendering:geometricPrecision}.node-label.mine{fill:var(--accent)}.node-label.ally{fill:#9fe8b0;text-decoration:underline}.ring-selected{fill:none;stroke:var(--accent);stroke-width:1.6;stroke-dasharray:4 3}.ring-target{fill:none;stroke:var(--amber);stroke-width:1.6;stroke-dasharray:2 3}@keyframes spin{to{transform:rotate(360deg)}}.route{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:6 4;opacity:.85;animation:dash 1s linear infinite}@keyframes dash{to{stroke-dashoffset:-10}}.tooltip-box{fill:#0a1020eb;stroke:var(--amber);stroke-width:1}.tooltip-title{fill:#e6eeff;font-size:11px;font-weight:600;font-family:var(--sans)}.tooltip-line{fill:var(--amber);font-size:10.5px;font-family:var(--mono)}.tooltip-line.bad{fill:var(--bad)}.attack-pulse{fill:none;stroke:var(--bad);stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:attack-pulse 1.8s ease-out 1 forwards}.attack-pulse.late{animation-delay:.45s}@keyframes attack-pulse{0%{opacity:.95;transform:scale(.8)}to{opacity:0;transform:scale(3.2)}}.zoom{position:absolute;top:10px;right:10px;display:flex;flex-direction:column;gap:4px}.zoom .btn{width:32px;height:30px;padding:0;font-size:16px;line-height:1;text-align:center;background:#0a1020d9}.swatch{width:16px;height:16px;vertical-align:-4px;margin-right:3px}.swatch-planet{fill:#7d8db0}@media(prefers-reduced-motion:reduce){.twinkle-layer,.ring-layer,.route{animation:none}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#020409bf;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:linear-gradient(180deg,#13203d,#0c1428);border:1px solid var(--accent);border-radius:14px;max-width:560px;width:100%;padding:24px;box-shadow:0 0 60px #4fd1ff26}.modal.defeat{border-color:var(--bad);box-shadow:0 0 60px #ff5a6a26}.modal.victory{border-color:var(--amber);box-shadow:0 0 60px #ffb5472e}.modal h2{font-size:22px;margin:4px 0 10px;letter-spacing:.1em}.modal-kicker{color:var(--dim);text-transform:uppercase;letter-spacing:.2em;font-size:10.5px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 10px}.choice{background:var(--card);border:1px solid var(--line2);border-radius:10px;padding:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px}.choice:hover:not(:disabled){border-color:var(--accent)}.choice:disabled{opacity:.45;cursor:not-allowed}.choice strong{color:var(--accent);text-transform:uppercase;letter-spacing:.1em}.choice span{font-size:12px;color:var(--text)}.toast{position:fixed;bottom:18px;left:50%;transform:translate(-50%);background:var(--panel);border:1px solid var(--amber);border-radius:8px;color:var(--amber);padding:8px 16px;z-index:60;box-shadow:0 6px 24px #00000080}.title{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px}.title-card{max-width:560px;width:100%;text-align:center}.title-corner{display:flex;justify-content:flex-end;margin-bottom:6px}.lang-picker{display:inline-flex;align-items:center;gap:6px;font-size:13px}.menu .lang-picker{padding:6px 12px;border-bottom:1px solid var(--line2)}.title-card.wide{max-width:760px;text-align:left}.title-card h1{font-size:clamp(26px,6vw,42px);font-weight:700;letter-spacing:.18em;margin:10px 0 16px;text-shadow:0 0 30px rgba(79,209,255,.35)}.title-card h2{font-size:20px;letter-spacing:.16em;margin-bottom:14px;color:var(--accent)}.lore{color:var(--dim);margin-bottom:26px}.presets{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-bottom:16px}.preset{background:linear-gradient(180deg,#15223f,#101a31);border:1px solid var(--line2);border-radius:8px;padding:10px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:4px}.preset:hover{border-color:var(--accent)}.preset strong{color:var(--accent)}.preset span{font-size:11.5px;color:var(--dim)}.setup-grid{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.slider{display:grid;grid-template-columns:190px 1fr 110px;gap:10px;align-items:center}.slider-label{color:var(--dim);text-transform:uppercase;font-size:11px;letter-spacing:.1em}.slider-val{color:var(--amber);text-align:right}.slider input[type=range]{accent-color:var(--accent);width:100%}.text{background:var(--bg2);border:1px solid var(--line2);border-radius:5px;color:var(--text);padding:5px 8px;font:inherit}@media(max-width:1100px){.main{grid-template-columns:1fr;grid-template-rows:auto auto;overflow-y:auto}.map-wrap{min-height:55vh}.left{border-right:0}.side{min-height:70vh}}@media(max-width:640px){.topbar{gap:10px;padding:8px}.resources{gap:10px}.resource{min-width:84px}.controls{margin-left:0}.slider,.choices,.report-sides{grid-template-columns:1fr}}.advanced{margin:8px 0 12px}.fold{border:1px solid var(--line2);border-radius:8px;margin-bottom:6px;background:#15223f66}.fold>summary{cursor:pointer;padding:7px 12px;color:var(--accent);text-transform:uppercase;font-size:11.5px;letter-spacing:.1em;list-style:none;-webkit-user-select:none;user-select:none}.fold>summary::-webkit-details-marker{display:none}.fold>summary:before{content:"▸";display:inline-block;width:14px;color:var(--dim)}.fold[open]>summary:before{content:"▾"}.fold-body{padding:4px 12px 10px}.sc-picker{position:relative;margin-bottom:8px}.sc-face,.sc-option{width:100%;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;font:inherit;color:var(--text);background:linear-gradient(180deg,#15223f,#101a31);border:1px solid var(--line2);border-radius:8px;padding:8px 12px}.sc-face:hover:not(:disabled),.sc-option:hover{border-color:var(--accent)}.sc-face:disabled{cursor:default;opacity:1}.sc-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.sc-face strong,.sc-option strong{color:var(--accent)}.sc-face span span,.sc-option span{font-size:11.5px;color:var(--dim)}.sc-caret{color:var(--dim)}.sc-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:30;list-style:none;margin:0;padding:4px;max-height:min(60vh,460px);overflow-y:auto;background:var(--panel);border:1px solid var(--accent);border-radius:8px;box-shadow:0 10px 30px #0000008c;display:flex;flex-direction:column;gap:3px}.sc-option{flex-direction:column;align-items:stretch;gap:2px;padding:6px 10px;border-color:transparent;background:transparent}.sc-option.on{border-color:var(--accent);background:#4fd1ff14}.slider.off{opacity:.45}.toggles{display:flex;flex-wrap:wrap;gap:6px 18px}.toggle{display:flex;align-items:center;gap:6px;font-size:12.5px;cursor:pointer}.toggle input{accent-color:var(--accent)}.kit-group{margin-top:8px}.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 10px}.kit-field{display:flex;flex-direction:column;gap:2px;font-size:11.5px;color:var(--dim)}.kit-field input{width:100%;padding:3px 6px}.btn.on{border-color:var(--accent);color:var(--accent)}.menu-hint{margin:-4px 0 6px}.credits{margin-top:22px;font-size:11px;color:var(--dim)}.credits a{color:var(--dim);text-decoration:underline}fieldset.plain{border:0;margin:0;padding:0;min-width:0}.setup.read-only fieldset.plain:disabled{opacity:.85}.setup.read-only .preset{cursor:default}.text.big{width:100%;font-size:16px;padding:8px 10px;margin:10px 0}.lobby-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}.net-status{font-size:12px;color:var(--dim)}.net-status.online{color:var(--good)}.net-status.offline{color:var(--bad)}.notice{border-left:2px solid var(--amber);padding:4px 10px;color:var(--amber)}.lobby-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:12px}.preset:disabled{opacity:.5;cursor:default}.ongoing{display:flex;flex-direction:column;gap:4px}.ongoing-clock{color:var(--amber);font-variant-numeric:tabular-nums}.title-card.wide:has(.room){max-width:1180px}.room{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}.room-side{display:flex;flex-direction:column;gap:10px;position:sticky;top:12px}.room-players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.room-players li{display:flex;justify-content:space-between;gap:8px;background:var(--card);border:1px solid var(--line);padding:5px 8px}.tag{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.tag.good{color:var(--good)}.chat{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);background:var(--bg2);padding:6px}.chat-lines{height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.chat-line{margin:0;font-size:12.5px;overflow-wrap:anywhere}.chat-line.system{color:var(--dim);font-style:italic}.chat .text{min-width:0}@media(max-width:900px){.room{grid-template-columns:1fr}.room-side{position:static}}.choice-timer{margin-top:10px}@media(max-width:480px){.title-card h1{font-size:18px;letter-spacing:.08em}}.round-table{width:100%;border-collapse:collapse;margin-top:6px;font-size:12px}.round-table th{text-align:left;color:var(--dim);font-weight:500;padding:2px 6px}.round-table td{padding:2px 6px;vertical-align:top}.round-table tr.round-first td{border-top:1px solid var(--line2)}.upgrade{margin-top:8px;padding:8px 10px;border:1px dashed var(--line2);border-radius:6px;background:#e9cf7a0a}.upgrade.on{border-style:solid;border-color:#e9cf7a73}.upgrade-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.upgrade-icon{color:#e9cf7a}.upgrade .progress{margin:4px 0}
