:root{--bg:#0b0f1a;--panel:#131a2b;--panel-glass:#131a2beb;--panel-border:#24304d;--text:#dbe4ff;--muted:#7d8bb0;--accent:#6ea8ff;--accent-strong:#3d7cf0;--success:#6fdc8c;--danger:#ff6b6b;--warn:#f5c451;--side-panel-width:clamp(480px, 38vw, 680px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}h1,h2,h3,h4{margin:0;font-weight:600}ul{margin:0;padding:0;list-style:none}p{margin:0}button{font:inherit;color:var(--text);cursor:pointer;background:linear-gradient(#6ea8ff1f,#6ea8ff1f),#0e1424ad;border:1px solid #6ea8ff52;border-radius:6px;padding:.35rem .7rem}button:hover:not(:disabled){border-color:var(--accent);background:linear-gradient(#6ea8ff33,#6ea8ff33),#0e1424ad}button:disabled{color:#aab4d0;cursor:not-allowed;background:#1b2338;border-color:#2a3452}button.link{color:var(--muted);background:0 0;border-color:#0000}button.link:disabled{opacity:.6;background:0 0;border-color:#0000}button.link:hover:not(:disabled){color:var(--text);background:0 0;border-color:#0000}button.primary{background:#2f8f55;border-color:#2f8f55}button.primary:hover:not(:disabled){background:#3caa67;border-color:#3caa67}button.close{padding:.2rem .4rem}button.danger{background:#a33a3a;border-color:#a33a3a}button.danger:hover:not(:disabled){background:#c04848;border-color:#c04848}input{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--panel-border);border-radius:6px;padding:.5rem .7rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--danger)}.loading{text-align:center;color:var(--muted);padding:3rem}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;padding:1rem}.row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.login{background:radial-gradient(ellipse at top, #1a2340 0%, var(--bg) 60%);place-items:center;height:100%;padding:1rem;display:grid}.login form{gap:.8rem;width:min(320px,100%);display:grid}.login h1{text-align:center;letter-spacing:.2em;text-transform:uppercase}.game{position:fixed;inset:0;overflow:hidden}.map{background:radial-gradient(ellipse at center, #141c33 0%, var(--bg) 70%);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;position:absolute;inset:0;overflow:hidden}.map.dragging{cursor:grabbing}.map.targeting{cursor:crosshair}.map svg{display:block}.map>svg{position:absolute}.lane{stroke:var(--panel-border);stroke-width:2px;vector-effect:non-scaling-stroke;pointer-events:none}.fog-layer,.star-layer,.territory-layer{pointer-events:none}.territory-layer{opacity:.6}.star-layer circle{fill:#dfe8ff}.lane.owned{stroke:#cfe9dc;opacity:.45}.lane.home{stroke:#3ca05f;opacity:.85}.lane.fog{stroke-dasharray:4 5;opacity:.6}.lane.bridge{stroke:var(--accent);opacity:.8}.lane.bridge.blocked{stroke-dasharray:10 6;opacity:.45}.lane.nest{stroke:var(--danger);stroke-dasharray:3 5;opacity:.55}.lane-labels{pointer-events:none}.lane-label{fill:var(--accent);text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:11px;font-weight:600}.lane-label.blocked{fill:var(--muted)}.node{cursor:pointer}.node .hit{fill:#0000}.node .backdrop{pointer-events:none}.node .status-ring{fill:none;stroke:#dbe4ff14;stroke-width:1px}.node.owned .status-ring{stroke:#3ca05fe6;stroke-width:1.5px}.node.surveyed .status-ring{stroke:#6fdc8c38}.node.fog .status-ring{stroke:#7d8bb080;stroke-dasharray:3 3}.alert-badges circle{fill:#0b0f1ad9;stroke:var(--warn);stroke-width:1.5px}.alert-badges text,.governor-badge text,.hq-badge text{text-anchor:middle;pointer-events:none;font-size:13px}.popover .anomaly{color:var(--success)}.anomaly-badge text{fill:var(--success);text-anchor:middle;pointer-events:none;font-size:15px;font-weight:700}.anomaly-badge circle{fill:#0b0f1ad9;stroke:var(--success);stroke-width:1.5px}.nest-ring{fill:none;stroke:var(--danger);stroke-width:1.5px;stroke-dasharray:4 3;opacity:.7;pointer-events:none}.nest-badge circle{fill:#0b0f1ad9;stroke:var(--danger);stroke-width:1.5px}.nest-badge text{text-anchor:middle;pointer-events:none;font-size:13px}.popover .nest,.nest-info{color:var(--danger)}.find-pulse{pointer-events:none}.find-ring{fill:none;stroke:var(--success);stroke-width:2.5px;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out 2 both find-ring}.find-rise{fill:#fff;text-anchor:middle;font-size:26px;animation:3.2s ease-out both find-rise}@keyframes find-ring{0%{opacity:.95;transform:scale(.3)}to{opacity:0;transform:scale(2.6)}}@keyframes find-rise{0%{opacity:0;transform:translateY(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translateY(-46px)scale(1)}}@media (prefers-reduced-motion:reduce){.find-ring,.find-rise{animation-duration:10ms}}.find{text-align:center;justify-items:center}.find-icon{font-size:3rem;line-height:1}.find-reward{color:var(--success);font-weight:600}.find-reward.lost{color:var(--warn)}.find footer{justify-content:center;align-items:center;gap:.8rem;display:flex}.hq-badge circle{fill:#0b0f1ad9;stroke:var(--accent);stroke-width:1.5px}.governor-badge circle{fill:#0b0f1ad9;stroke:var(--text-dim,#8a93a6);stroke-width:1.5px}.admin-penalty{color:var(--warn)}.system-glyph .halo{opacity:.12}.system-glyph .corona{opacity:.35}.system-glyph.fog .halo,.system-glyph.fog .corona{opacity:.05}.system-glyph.fog .core{opacity:.35}.system-glyph .feature-mark{fill:#ffd166;pointer-events:none;font-size:9px}.system-glyph .orbit{fill:none;stroke:#dbe4ff1f;stroke-width:.8px}.system-glyph .belt{fill:none;stroke:#c8beaa73;stroke-width:2.2px;stroke-dasharray:1 3}.system-glyph .body{stroke:#00000080;stroke-width:.6px}.system-glyph .body.gas_giant{stroke:#f3d1a2;stroke-width:.8px}.system-glyph .colony-ring{fill:none;stroke:var(--accent);stroke-width:1.2px}.node .focus-glow{pointer-events:none}.node .focus-brackets{fill:none;stroke:#dfe8ff;stroke-width:2px;stroke-linecap:round;opacity:0;pointer-events:none;transition:opacity .2s}.node.selected .focus-brackets{opacity:.85;animation:3.2s ease-in-out infinite focus-breathe}.map.targeting .node:hover .focus-brackets{stroke:var(--warn);opacity:.95;animation:none}@keyframes focus-breathe{50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.node.selected .focus-brackets{animation:none}}.node .station rect{fill:var(--warn);stroke:var(--bg);stroke-width:1px}.node .label{fill:var(--text);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:12px}.node.fog .label{fill:var(--muted)}.ship .marker{fill:var(--success);stroke:var(--bg);stroke-width:1px}.ship.cargo .marker{fill:var(--warn)}.ship.war .marker{fill:var(--danger)}.ship-art .hull{fill:#5c6a8a}.ship-art .dark{fill:#232d46}.ship-art .accent{fill:#6aa585}.ship-art.cargo .accent{fill:#b99a5a}.ship-art.war .accent{fill:#b5656b}.ship-art .engine{fill:#6f95c9}.ship-art path{stroke:var(--bg);stroke-width:.5px;stroke-linejoin:round}.ship-icon{vertical-align:middle;flex:none;width:1.6em;height:1.6em}.routes{gap:.5rem;display:grid}.route{border:1px solid var(--panel-border);background:var(--bg);border-radius:8px;gap:.3rem;padding:.6rem .7rem;display:grid}.route a{color:var(--text);font-weight:600}.route .ok{color:var(--success)}.freighter-buttons button{width:1.8rem;padding:.1rem 0}.rule-choice{gap:1rem;display:flex}.rule-choice label{color:var(--text);align-items:center;gap:.3rem;display:flex}select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--panel-border);border-radius:6px;padding:.35rem .5rem}.popover{background:var(--panel-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;gap:.5rem;width:280px;padding:.8rem;display:grid;position:absolute;box-shadow:0 8px 30px #00000080}.popover .stats{font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr;gap:.3rem .8rem;display:grid}.popover .stats small{color:var(--accent)}.popover .stats .negative,.popover .stats .negative small{color:var(--danger)}.popover-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.body .colonize{margin-left:auto;padding:.2rem .6rem}.hud>*{z-index:10;position:absolute}.hud-menu,.hud-stats,.hud-zoom,.hud-hint{background:var(--panel-glass);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:10px;align-items:center;gap:.4rem;padding:.4rem;display:flex}.hud-menu{flex-wrap:wrap;top:.8rem;left:.8rem}.hud-menu button,.hud-zoom button,.hud-log{background:0 0;border:1px solid #0000}.hud-menu button:hover:not(:disabled),.hud-zoom button:hover,.hud-log:hover{background:#6ea8ff26}.hud-menu button.active,.hud-log.active{border-color:var(--accent)}.dev-skip{border-left:1px solid var(--panel-border);align-items:center;gap:.2rem;padding-left:.4rem;display:flex}.brand{letter-spacing:.2em;text-transform:uppercase;padding:0 .6rem;font-weight:700}.hud-stats{font-variant-numeric:tabular-nums;gap:1rem;padding:.5rem .9rem;top:.8rem;right:.8rem}.game.panel-open .hud-stats{right:calc(var(--side-panel-width) + .8rem)}.hud-hint{border-color:var(--warn);top:4.2rem;left:50%;transform:translate(-50%)}.hud-zoom{flex-direction:column;bottom:.8rem;left:.8rem}.hud-zoom button{width:2.2rem;height:2.2rem;padding:0;font-size:1.1rem}.hud-log{border:1px solid var(--panel-border);border-radius:10px;padding:.5rem .9rem;bottom:.8rem;right:.8rem;background:var(--panel-glass)!important}.game.panel-open .hud-log{right:calc(var(--side-panel-width) + .8rem)}.hud-log.empty{color:var(--muted);filter:grayscale()}.badge{background:var(--danger);border-radius:999px;margin-left:.3rem;padding:0 .45rem;font-size:.8rem}.badge.info{background:var(--accent-strong)}.side-panel{width:var(--side-panel-width);background:var(--panel-glass);border-left:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:30;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-10px 0 40px #0006}.side-panel-header{justify-content:space-between;align-items:flex-start;padding:1rem 1rem .6rem;display:flex}.tabs{border-bottom:1px solid var(--panel-border);scrollbar-width:none;gap:.2rem;padding:0 1rem;display:flex;overflow-x:auto}.tabs button{white-space:nowrap;color:var(--muted);background:0 0;border:1px solid #0000;border-bottom-width:2px;border-radius:6px 6px 0 0;flex:none}.tabs button:hover:not(:disabled){color:var(--text);background:#6ea8ff1a;border-color:#0000}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.side-panel-body{flex:1;align-content:start;gap:1rem;padding:1rem;display:grid;overflow-y:auto}.drawer-left{background:var(--panel-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:25;gap:.6rem;width:min(320px,100vw - 1.6rem);max-height:calc(100% - 8rem);display:grid;position:absolute;top:4.2rem;left:.8rem;overflow-y:auto}.system-list{gap:.4rem;display:grid}.system-list .option{text-align:left;background:var(--bg);border:1px solid var(--panel-border);gap:.2rem;width:100%;display:grid}.system-list .option.active{border-color:var(--accent)}.event-log{background:var(--panel-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:25;flex-direction:column;gap:.6rem;width:min(420px,100vw - 1.6rem);max-height:min(60vh,520px);display:flex;position:absolute;bottom:3.8rem;right:.8rem}.game.panel-open .event-log{right:calc(var(--side-panel-width) + .8rem)}.events{gap:.2rem;display:grid;overflow-y:auto}.events li{border-radius:6px;grid-template-columns:1.6rem 1fr auto auto;align-items:baseline;gap:.4rem;padding:.35rem .4rem;display:grid}.events li.clickable{cursor:pointer}.events li.clickable:hover{background:#6ea8ff1a}.events li .remove{opacity:.5;padding:0 .2rem}.events li:hover .remove{opacity:1}.events li.unread{background:#6ea8ff14}.events li.warning .text{color:var(--warn)}.toast{border:1px solid var(--danger);background:var(--panel);cursor:pointer;z-index:40;border-radius:8px;padding:.6rem 1rem;position:absolute;top:4.2rem;left:50%;transform:translate(-50%)}.resources{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem;display:grid}.resource{background:var(--bg);border:1px solid var(--panel-border);border-radius:10px;grid-template-columns:auto 1fr auto;grid-template-areas:"icon name rate""icon amount amount";align-items:center;column-gap:.6rem;padding:.6rem .8rem;display:grid;position:relative;overflow:hidden}.resource .icon{grid-area:icon;font-size:1.5rem}.resource .name{color:var(--muted);grid-area:name}.resource .rate{color:var(--accent);grid-area:rate;font-size:.85rem}.resource .amount{font-variant-numeric:tabular-nums;grid-area:amount;font-weight:600}.resource .fill{background:var(--accent);height:3px;transition:width .25s linear;position:absolute;bottom:0;left:0}.resource.full .fill{background:var(--warn)}.resource.full .amount{color:var(--warn)}.resource.negative .rate,.resource.negative .amount{color:var(--danger)}.resource.negative .fill{background:var(--danger)}.alert{border:1px solid var(--danger);background:#ff6b6b1a;border-radius:8px;padding:.6rem .8rem}.alert.warn{border-color:var(--warn);background:#f5c45114}.planets{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.planet header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.chip{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.chip.size{border-color:var(--muted);color:var(--muted)}.cost.prototype{color:var(--success)}.feature{color:#ffd166;margin:.2rem 0}.chip.climate{border-color:var(--accent)}.chip.locked,.chip.special{border-color:var(--warn);color:var(--warn)}.production{color:var(--accent);flex-wrap:wrap;gap:.8rem;margin:.4rem 0 .8rem;font-size:.85rem;display:flex}.cost{font-variant-numeric:tabular-nums;margin-left:.3rem;font-size:.85rem}.cost.missing{color:var(--danger)}.cost.gain{color:var(--success)}.hint{font-size:.8rem}.constructing .bar{background:var(--bg);border-radius:3px;height:6px;margin-top:.4rem;overflow:hidden}.constructing .bar div{background:var(--accent);height:100%;transition:width .25s linear}.build-menu{gap:.4rem;margin-top:.5rem;display:grid}.build-menu .option{text-align:left;background:var(--bg);border:1px solid var(--panel-border);flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;display:flex}.build-menu .option:disabled{background:var(--bg);color:#aab4d0}.cost-list{flex-wrap:wrap;align-items:baseline;column-gap:.1rem;display:inline-flex}.cost.wait{color:var(--accent)}.cost.wait.missing{color:var(--danger)}button:disabled .cost.wait:not(.missing){color:#8fb6ff}.building-icon{vertical-align:-.5em;width:1.8em;height:1.8em;margin-right:.25em}.planned{color:#8fb6ff;font-size:.85rem}.chip.idle{border-color:var(--warn);color:var(--warn)}.chip.free,.field-details b.free{border-color:var(--success);color:var(--success)}.planet-map-wrap{margin-top:.4rem;position:relative}.planet-map{background:#10172a;border-radius:12px;gap:6px;margin:0 auto;padding:8px;display:grid}.planet-map.ground-fertile{background:radial-gradient(circle at 30% 40%,#78be6e38 0 1px,#0000 1.6px) 0 0/11px 13px,radial-gradient(circle at 70% 20%,#5aa05a2e 0 1px,#0000 1.6px) 3px 5px/17px 9px,radial-gradient(at 20% 15%,#5a965047,#0000 55%),radial-gradient(at 85% 80%,#3c784642,#0000 50%),linear-gradient(165deg,#1c3322,#13241a)}.planet-map.ground-sun_near{background:radial-gradient(circle,#ffe6aa29 0 .8px,#0000 1.4px) 0 0/9px 10px,repeating-radial-gradient(140% 60% at 30% 115%,#0000 0 22px,#ffdc9612 22px 25px),radial-gradient(circle at 0 0,#f0c87852,#0000 60%),linear-gradient(160deg,#5a4a30,#3a2f1f)}.planet-map.ground-ocean{background:repeating-radial-gradient(60% 14% at 25% 20%,#0000 0 9px,#8cc8ff1a 9px 11px),repeating-radial-gradient(70% 16% at 80% 75%,#0000 0 9px,#8cc8ff14 9px 11px),radial-gradient(at 20% 15%,#468cd24d,#0000 60%),linear-gradient(165deg,#173552,#0f2238)}.planet-map.ground-jungle{background:radial-gradient(circle at 35% 35%,#46b45a4d 0 2px,#0000 3px) 0 0/14px 12px,radial-gradient(circle at 70% 65%,#2882464d 0 2.4px,#0000 3.4px) 5px 4px/19px 16px,radial-gradient(at 80% 20%,#3c964647,#0000 55%),linear-gradient(165deg,#153b1e,#0d2514)}.planet-map.ground-desert{background:repeating-radial-gradient(120% 40% at 70% 120%,#0000 0 14px,#ffe1a014 14px 17px),radial-gradient(circle,#ffe6aa1f 0 .8px,#0000 1.4px) 0 0/8px 9px,radial-gradient(circle at 10% 0,#f0c87840,#0000 60%),linear-gradient(160deg,#6b5a38,#463a24)}.planet-map.ground-ice{background:linear-gradient(115deg,#0000 46%,#dcf5ff1f 46.5% 47.5%,#0000 48%) 0 0/70px 60px,linear-gradient(65deg,#0000 52%,#dcf5ff1a 52.5% 53.5%,#0000 54%) 20px 10px/90px 70px,radial-gradient(at 25% 20%,#bee6f547,#0000 60%),linear-gradient(165deg,#35526a,#22384d)}.planet-map.ground-lava{background:linear-gradient(100deg,#0000 47%,#ff783238 47.5% 49%,#0000 49.5%) 0 0/80px 55px,linear-gradient(40deg,#0000 50%,#ff963c2e 50.5% 51.8%,#0000 52.3%) 15px 8px/65px 70px,radial-gradient(at 80% 85%,#f05a284d,#0000 55%),linear-gradient(160deg,#3a2420,#231513)}.planet-map.ground-ore_rich{background:radial-gradient(circle at 40% 40%,#c8875052 0 1.1px,#0000 1.8px) 0 0/23px 19px,radial-gradient(circle at 60% 60%,#bec8d729 0 1px,#0000 1.6px) 6px 4px/12px 14px,radial-gradient(at 75% 25%,#8c96a533,#0000 55%),radial-gradient(at 15% 85%,#00000040,#0000 50%),linear-gradient(160deg,#343a45,#23272f)}.station-map{background:#10172a;border-radius:12px;grid-template-columns:repeat(auto-fill,minmax(84px,96px));gap:6px;padding:8px;display:grid}.planet-map-wrap>h4{margin:.7rem 0 .3rem}.field-tile{aspect-ratio:1;background:#0c111d80;border:1px solid #8393b48c;border-radius:8px;place-items:center;min-width:0;padding:0;display:grid;position:relative;overflow:visible}.field-tile:hover:not(:disabled){border-color:var(--accent)}.field-tile .building-icon{vertical-align:0;width:64%;height:64%;margin:0;position:relative}.field-tile .field-empty{opacity:.3}.field-tile.sp-ore_vein{background:linear-gradient(160deg,#b8794a47,#b8794a0f),#0c111d80}.field-tile.sp-farmland{background:linear-gradient(160deg,#6aa58547,#6aa5850f),#0c111d80}.field-tile.sp-thermal_spring{background:linear-gradient(160deg,#d6b25e42,#d6b25e0d),#0c111d80}.field-tile.sp-beach{background:linear-gradient(160deg,#7aa2d847,#7aa2d80f),#0c111d80}.field-tile.is-locked{background:repeating-linear-gradient(135deg,#0a0e18c7 0 6px,#0d121eb3 6px 12px)}.field-lock{opacity:.55;font-size:1.1rem}.field-tile.is-planned{border:1.5px dashed #6ea8ff99}.field-tile.is-planned .building-icon{filter:grayscale()brightness(.8);opacity:.35}.field-tile.is-planned.is-upgrade .building-icon{filter:none;opacity:1}.field-tile.is-running .building-icon{filter:grayscale()brightness(.6)}.field-bar{pointer-events:none;background:#6ea8ff38;border-right:2px solid #6ea8ffb3;border-radius:7px 0 0 7px;transition:width .25s linear;position:absolute;inset:0 auto 0 0}.field-tile.is-waiting .field-bar{background:#f5c45129;border-right-color:#f5c451b3}.field-tile.is-selected{outline:2px solid var(--accent);outline-offset:1px}.field-gen{letter-spacing:.06em;text-shadow:0 1px 2px #000;font-family:Georgia,Times New Roman,serif;font-size:.85rem;font-weight:600;position:absolute;top:4px;right:7px}.field-gen .to{color:var(--accent)}.field-special{font-size:.8rem;position:absolute;top:3px;left:6px}.field-tile.is-replace{border:1.5px dashed #f5c451d9}.field-tile.is-planned.is-replace .building-icon{filter:none;opacity:1}.field-next{color:var(--accent);text-shadow:0 1px 2px #000;align-items:center;gap:1px;font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-weight:600;display:flex;position:absolute;bottom:3px;left:5px}.field-tile .field-next .building-icon{filter:none;opacity:1;width:1.15rem;height:1.15rem}.pin-row{border-top:1px solid var(--panel-border);flex-wrap:wrap;align-items:baseline;gap:.4rem;padding-top:.4rem;display:flex}.pin-row .link{padding-left:0}.field-up{color:var(--success);font-weight:700;position:absolute;bottom:3px;left:7px}.field-yield{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.72rem;position:absolute;bottom:3px;right:7px}.field-delta{border:1px solid var(--panel-border);white-space:nowrap;font-variant-numeric:tabular-nums;z-index:2;background:#0b0f1ae0;border-radius:999px;padding:0 .45rem;font-size:.72rem;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.field-delta.population.housing{border-color:var(--success);color:var(--success)}.field-delta.population.staff{border-color:var(--warn);color:var(--warn)}.field-delta.best{border-color:var(--success);color:var(--success)}.field-link{z-index:1;pointer-events:none;background:#6ea8ffcc;border-radius:2px;position:absolute}.field-link.right{width:10px;height:4px;top:calc(50% - 2px);right:-8px}.field-link.down{width:4px;height:10px;bottom:-8px;left:calc(50% - 2px)}.field-popover{z-index:5;border:1px solid var(--panel-border);background:#121a2c;border-radius:10px;width:min(340px,100%);padding:.7rem;position:absolute;box-shadow:0 10px 30px #0000008c}.field-details{gap:.5rem;display:grid}.field-details .title{align-items:center;gap:.4rem;display:flex}.field-details .title .where{white-space:nowrap;margin-left:auto;font-size:.8rem}.field-details .row{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.field-details .amount+.amount{margin-left:.5rem}.field-details .formula{margin-top:-.3rem}.field-details .actions{flex-wrap:wrap;gap:.35rem;display:flex}.field-details .actions .option{text-align:left;flex-direction:column;align-items:flex-start;gap:.15rem;display:flex}.field-details .warn{color:var(--warn)}.field-details .progress-bar{background:#0b1020;border-radius:3px;height:6px;overflow:hidden}.field-details .progress-bar span{background:var(--accent);height:100%;transition:width .25s linear;display:block}.gen-choice{align-items:center;gap:4px;margin:4px 0;display:flex}.gen-choice button{min-width:28px;padding:1px 8px}.gen-choice button.active{border-color:var(--accent,currentColor);font-weight:700}.picker{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.picker .pick{text-align:left;grid-template-columns:2rem 1fr auto;align-items:center;gap:.1rem .5rem;width:100%;display:grid}.picker .pick .building-icon{grid-row:span 2;width:2rem;height:2rem;margin:0}.picker .pick-gain{text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem}.picker .pick-gain .gain{color:var(--success)}.picker .pick-gain .missing{color:var(--danger)}.picker .pick-gain span+span{margin-left:.4rem}.picker .pick-cost{grid-column:2/4}.production .happiness{color:var(--muted)}.production .happiness.good{color:var(--success)}.production .happiness.bad{color:var(--danger)}.planet-balance{flex-wrap:wrap;gap:6px;margin:.4rem 0 .2rem;display:flex}.planet-balance .stat{border:1px solid var(--panel-border);font-variant-numeric:tabular-nums;background:#0b0f1a73;border-radius:8px;flex-direction:column;gap:1px;min-width:74px;padding:4px 8px;display:flex}.planet-balance .v{white-space:nowrap;font-size:.88rem;font-weight:600}.planet-balance .t{color:var(--muted);white-space:nowrap;font-size:.7rem;font-weight:400}.planet-balance .t b{color:var(--accent);font-weight:600}.planet-balance .t b.bad,.planet-balance .negative .v{color:var(--danger)}.planet-balance .stat.clickable{cursor:pointer}.planet-balance .stat.active{border-color:var(--accent)}.planet-balance .tight .v{color:var(--warn)}.planet-balance .good .v{color:var(--success)}.planet-tiles{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.planet-tile{text-align:left;border-color:var(--panel-border);background:0 0;border-radius:10px;flex-direction:column;flex:none;align-items:flex-start;gap:5px;width:104px;padding:7px;display:flex}.planet-tile[aria-current=true]{border-color:var(--accent);background:#6ea8ff29}.tile-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.8rem;font-weight:600;overflow:hidden}.tile-thumb{place-items:center;width:100%;height:84px;display:grid}.tile-status{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:5px;display:flex}.tile-bar{background:#0b1020;border-radius:2px;width:34px;height:4px;display:inline-block;overflow:hidden}.tile-bar i{background:var(--accent);height:100%;display:block}.planet-thumb{background:#10172a;border-radius:6px;gap:2px;padding:3px;display:grid}.planet-thumb.ground-fertile{background:linear-gradient(165deg,#1c3322,#13241a)}.planet-thumb.ground-sun_near{background:linear-gradient(160deg,#5a4a30,#3a2f1f)}.planet-thumb.ground-ocean{background:linear-gradient(165deg,#173552,#0f2238)}.planet-thumb.ground-jungle{background:linear-gradient(165deg,#153b1e,#0d2514)}.planet-thumb.ground-desert{background:linear-gradient(160deg,#6b5a38,#463a24)}.planet-thumb.ground-ice{background:linear-gradient(165deg,#35526a,#22384d)}.planet-thumb.ground-lava{background:linear-gradient(160deg,#3a2420,#231513)}.planet-thumb.ground-ore_rich{background:linear-gradient(160deg,#343a45,#23272f)}.thumb-cell{background:#0c111d8c;border-radius:3px;width:18px;height:18px;position:relative;overflow:hidden}.thumb-cell.locked{background:#0a0e18cc}.thumb-cell.planned{outline-offset:-1px;outline:1px dashed #6ea8ff99}.thumb-cell.planned .building-icon{opacity:.35;filter:grayscale()}.thumb-cell.running .building-icon{filter:grayscale()brightness(.6)}.thumb-cell .building-icon{width:16px;height:16px;margin:0;position:absolute;inset:1px}.thumb-cell.special{box-shadow:inset 0 0 0 1px #f5c45199}button.thumb-cell{cursor:pointer;border:0;padding:0}button.thumb-cell:hover,.thumb-cell.chosen{outline:1.5px solid var(--success);outline-offset:-1px}.body-thumb{justify-self:start;margin:.3rem 0}.thumb-cell b{background:#6ea8ff66;position:absolute;inset:0 auto 0 0}.wait-reason{color:var(--warn)}.trash-icon{width:1.1em;height:1.1em}.trash-icon.demolish-title{vertical-align:-.15em;color:#d98585}button.upgrade{text-align:right;justify-content:flex-end;align-items:baseline;gap:.3rem;padding:.35rem .55rem;display:flex}.resource-strip{border-bottom:1px solid var(--panel-border);font-variant-numeric:tabular-nums;text-align:left;background:#0b0f1a99;border-radius:0;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;width:100%;margin:0;padding:.5rem 1rem;display:flex}.resource-strip:hover:not(:disabled){background:#1a2340cc}.strip-item small{color:var(--accent)}.strip-item.negative,.strip-item.negative small{color:var(--danger)}.strip-item.full{color:var(--warn)}.strip-item.stock{background:linear-gradient(90deg, #6ea8ff3d var(--fill), #6ea8ff0a var(--fill));border:1px solid #6ea8ff38;border-radius:4px;padding:.1rem .45rem}.strip-item.stock.full{background:#f5c45133;border-color:#f5c45159}.panel-resizer{cursor:ew-resize;z-index:1;width:8px;position:absolute;top:0;bottom:0;left:-4px}.panel-resizer:hover{background:linear-gradient(90deg, transparent 3px, var(--accent) 3px, var(--accent) 5px, transparent 5px)}.build-menu .option:hover:not(:disabled),.academy button.option:hover:not(:disabled){background:#1a2340}.station-panel,.shipyard{gap:.6rem;display:grid}.build-loop{gap:.2rem;display:grid;position:relative}.build-loop .chips{flex-wrap:wrap;align-items:center;gap:.4rem;min-height:3.6rem;margin:0;padding:0 0 .3rem;list-style:none;display:flex}.build-loop .chip.icon{border:1px solid var(--panel-border);background:var(--bg);border-radius:8px;place-items:center;width:3.3rem;height:3.3rem;padding:0;display:inline-grid;position:relative}.build-loop .chip.icon .ship-icon,.build-loop .chip.icon .building-icon{width:2.4rem;height:2.4rem;margin:0}.build-loop .chip.icon .chip-gen{color:var(--muted);font-size:.75rem;position:absolute;top:.15rem;right:.3rem}.build-loop .chip.icon.follow{opacity:.55;cursor:default;border-style:dashed}.build-loop .field-details .title .chip-gen{display:none}.build-loop .chip.icon .chip-mark{font-size:1.6rem;line-height:1}.build-loop .chip.waiting{border-color:var(--warn)}.build-loop .chip.running{border-color:var(--accent);background:linear-gradient(90deg, #6ea8ff59 var(--progress), var(--bg) var(--progress))}.build-loop .chip.parked{border-style:dashed;border-color:var(--accent);background:linear-gradient(90deg, #6ea8ff33 var(--progress), var(--bg) var(--progress))}.build-loop .chip[draggable=true]{cursor:grab}.build-loop .chip.dragging{opacity:.6}.build-loop li.drop-target .chip{outline:2px dashed var(--accent);outline-offset:2px}.build-loop .chip.selected{outline:2px solid var(--accent);outline-offset:1px}.queue-status{white-space:nowrap;justify-content:space-between;gap:.6rem;height:1.4rem;line-height:1.4rem;display:flex}.queue-status-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.queue-status-end{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.queue-status-end .icon{place-items:center;padding:.15rem;display:grid}.queue-status-end .icon svg{width:.9rem;height:.9rem}.queue-status .cost-list{flex-wrap:nowrap}.shipyard h4{margin-top:.4rem}.bodies,.ships{gap:.5rem;margin-top:.5rem;display:grid}.body{border:1px solid var(--panel-border);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto auto;align-items:center;gap:.4rem .8rem;padding:.5rem .6rem;display:grid}.body-head{align-items:center;gap:.5rem;display:flex}.body.link{cursor:pointer;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto auto auto}.body-go{grid-area:1/5}.body.link:hover{border-color:var(--accent)}.body.link:hover strong{color:var(--accent)}.body-title{flex-direction:column;min-width:0;display:flex}.body-traits{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.body-status{flex-direction:column;grid-column:4;align-items:flex-end;gap:.3rem;display:flex}.body-status .tag-on{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;white-space:nowrap}.body .colonize{white-space:nowrap}.body-module{align-items:center;gap:.5rem;display:inline-flex}.body-module .building-icon{vertical-align:baseline;width:2.2em;height:2.2em;margin:0}.body-module-text{flex-direction:column;line-height:1.25;display:flex}.body-settle{grid-column:1/-1;justify-content:flex-end;display:flex}.ship-row{border:1px dashed var(--panel-border);border-radius:8px;gap:.4rem;padding:.5rem .6rem;display:grid}.ship-row.freighter-first{margin-top:.8rem}.actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}@media (width<=700px){.hud-menu .label-text{display:none}.brand{letter-spacing:.1em;padding:0 .3rem}.popover{border-radius:14px 14px 0 0;width:auto;bottom:0;right:0;top:auto!important;left:0!important}.panel-resizer{display:none}.side-panel{border-left:none;border-top:1px solid var(--panel-border);border-radius:14px 14px 0 0;width:100%;top:25vh}.tabs{gap:0;padding:0 .5rem}.tabs button{padding:.35rem .45rem}.game.panel-open .hud-stats,.game.panel-open .hud-log,.game.panel-open .event-log{right:.8rem}.hud-stats{top:auto;bottom:.8rem;right:50%;transform:translate(50%)}.hud-log{bottom:3.6rem}.event-log{bottom:6.6rem}}button:not(:disabled):not(.option):not(.link) .muted{color:#aab4d0}.cost-list .duration{white-space:nowrap;margin-left:.3rem}.logistics{width:min(520px,100vw - 1.6rem)}.network{gap:.4rem;display:grid}.logistics-table{border-collapse:separate;border-spacing:.25rem;width:100%}.logistics-table th{text-align:left;white-space:nowrap;font-weight:600}.logistics-table thead th{text-align:center}.logistics-table a{color:var(--text)}.logistics-table .totals td{text-align:center;font-variant-numeric:tabular-nums}.logistics-table .totals .plus{color:var(--good,#6c6)}.logistics-table .totals .minus{color:var(--bad,#e66)}.logistics-table .totals .sum th,.logistics-table .totals .sum td{border-top:1px solid var(--border,#444);font-weight:600}.logistics-table .cell{background:var(--bg);border:1px solid var(--panel-border);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;border-radius:4px;width:100%;padding:.25rem .4rem;font-size:.8rem;position:relative;overflow:hidden}.cell-mark{background:var(--muted);width:1px;height:7px;position:absolute;bottom:0}.cell-fill{background:var(--accent);height:3px;position:absolute;inset:auto auto 0 0}.cell-text{position:relative}.cell.needs{color:var(--warn)}.cell.needs .cell-fill{background:var(--warn)}.cell.surplus{color:var(--success)}.cell.surplus .cell-fill{background:var(--success)}input[type=range]{accent-color:var(--accent);padding:0}.personnel-tabs{margin-top:.4rem}.personnel-tabs button{white-space:nowrap}.nest-cores{gap:.8rem;min-height:0;display:grid;overflow-y:auto}.nest-cores>p{margin:0}.nest-cores-grid{grid-template-columns:auto repeat(3,minmax(0,200px));justify-content:start;align-items:center;gap:1rem 1.2rem;display:grid}.nest-cores-kind{white-space:nowrap;margin:0}.core-puzzle{--rarity:var(--muted);gap:.35rem;margin:0;display:grid}.core-tiles{aspect-ratio:1;border:1px solid var(--rarity);background:#00000059;border-radius:6px;gap:2px;padding:2px;display:grid;position:relative}.core-tiles.placeholder:after{content:attr(data-icon);opacity:.35;pointer-events:none;place-items:center;font-size:3rem;display:grid;position:absolute;inset:0}.core-tile{background:color-mix(in srgb, var(--rarity) 45%, transparent);background-repeat:no-repeat;border-radius:2px;position:relative}.core-tile.missing{outline-offset:-1px;background:#ffffff08;outline:1px dashed #ffffff24}.core-tile-count{background:#000000b3;border-radius:3px;padding:0 3px;font-size:.7rem;position:absolute;bottom:1px;right:2px}.core-puzzle figcaption{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.core-count{margin-left:auto}@media (width<=640px){.nest-cores-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.nest-cores-kind{grid-column:1/-1}}.personnel{background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.8rem;width:min(1200px,100%);min-width:0;min-height:0;max-height:100%;display:flex;box-shadow:0 20px 60px #0009}.personnel-body{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:1rem;min-height:0;display:grid;overflow-y:auto}.personnel-main{grid-template-columns:minmax(0,1fr);align-content:start;gap:1rem;min-width:0;display:grid}.personnel h3{margin:0 0 .4rem}.personnel-attention{border:1px solid var(--accent-strong);border-radius:8px;gap:.3rem;padding:.6rem .8rem;display:grid}.personnel-attention>.link{justify-self:start}.attention-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.attention-icon{text-align:center;opacity:.45;filter:grayscale();width:28px}.personnel-filters{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.personnel-filters input{flex:10rem;min-width:0}.personnel-rows{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.personnel-row{border:1px solid var(--panel-border);background:var(--bg);border-radius:8px}.personnel-row.open{border-color:var(--accent)}.personnel-row-head{width:100%;color:inherit;text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:auto minmax(8rem,1.4fr) minmax(5rem,.8fr) minmax(4rem,1fr) minmax(5rem,.8fr);align-items:center;gap:.6rem;padding:.3rem .6rem;display:grid}.personnel-name{flex-wrap:wrap;align-items:center;gap:.4rem;min-width:0;display:flex}.personnel-level{gap:.15rem;display:grid}.personnel-post{text-align:right}.personnel-details{gap:.5rem;padding:.2rem .8rem .7rem;display:grid}.academy-curriculum{align-items:center;gap:.5rem;display:flex}.personnel-retrain .option{text-align:left;justify-items:start;gap:.2rem;display:grid}.personnel-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.personnel-succession{border:1px solid var(--panel-border);border-radius:6px;gap:.5rem;padding:.6rem;display:grid}.personnel-succession .option{text-align:left;justify-items:start;gap:.2rem;display:grid}.succession-traits{border:0;gap:.3rem;margin:0;padding:0;display:grid}.succession-trait{border:1px solid var(--panel-border);cursor:pointer;border-radius:4px;align-items:baseline;gap:.4rem;padding:.3rem .5rem;font-size:.86rem;display:flex}.succession-trait.selected{border-color:var(--accent)}.succession-who{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.succession-who input{width:12rem;max-width:100%}.succession-portrait{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;padding:2px}.succession-portrait.selected{border-color:var(--accent)}.personnel-gallery ul{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.personnel-gallery li{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.pager{justify-content:flex-end;align-items:center;gap:.5rem;margin-top:.4rem;display:flex}.personnel-academy{align-content:start;gap:.6rem;min-width:0;display:grid}.academy-sources{border-collapse:collapse;width:100%}.academy-sources th,.academy-sources td{text-align:left;padding:.2rem .3rem}.academy-sources th{color:var(--muted);font-weight:400}.academy-sources .link{padding:0}.governor-hero-links{gap:.8rem;display:flex}@media (width<=700px){.personnel-body{grid-template-columns:minmax(0,1fr)}.personnel select{min-width:0;max-width:100%}.attention-row{flex-wrap:nowrap}.attention-row .muted{display:none}.attention-row .governor-name{min-width:0;overflow:hidden}.attention-action{flex:0 0 45%;width:45%}.personnel-row-head{grid-template-columns:auto 1fr auto}.personnel-row-head .personnel-level{grid-column:2}.personnel-row-head .governor-traits{grid-area:1/3}.personnel-row-head .personnel-post{grid-area:2/3}}.dialog.skills-dialog{gap:0;width:min(1180px,100%);padding:0}.skills-head{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;align-items:center;gap:.6rem 1rem;padding:.8rem 2.8rem .8rem 1rem;display:flex;position:relative}.skills-head .close{position:absolute;top:.6rem;right:.6rem}.skills-who{align-items:center;gap:.7rem;min-width:0;display:flex}.skills-who h3{margin:0 0 .15rem}.skills-points{justify-items:end;margin-left:auto;display:grid}.skills-ladder{border-bottom:1px solid var(--panel-border);gap:.35rem;padding:.9rem 1rem .7rem;display:grid}.skills-bar{gap:2px;display:grid}.skills-level{height:22px;color:var(--muted);font-variant-numeric:tabular-nums;background:#24304d8c;border-radius:3px;place-items:center;font-size:.62rem;display:grid;position:relative}.skills-level.reached{color:var(--text);background:#6ea8ff59}.skills-level.beyond{opacity:.55;background:0 0;border:1px dashed #24304de6}.skills-level.point:after{content:"◆";color:var(--muted);font-size:.62rem;position:absolute;top:-10px}.skills-level.point.reached:after{color:var(--warn)}.skills-level.current{outline:2px solid var(--accent);outline-offset:1px}.skills-tree{flex-wrap:wrap;align-items:flex-start;gap:1.2rem 1.8rem;padding:1rem;display:flex}.skills-branch{gap:.6rem;min-width:0;display:grid}.skills-branch h4{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.74rem}.skills-grid{gap:26px 12px;display:grid;position:relative}.skills-grid svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.skills-grid path{fill:none;stroke:#7d8bb073;stroke-width:1.5px}.skills-grid path.done{stroke:#6fdc8cb3}.skill-node{z-index:1;border:1px solid var(--panel-border);background:var(--bg);text-align:left;border-radius:9px;flex-direction:column;gap:3px;width:176px;padding:8px 9px;display:flex;position:relative}.skill-title{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;align-items:center;gap:6px;padding-right:14px;font-size:.86rem;font-weight:600;line-height:1.2;display:flex}.skill-icon{font-size:1.1rem}.skill-bonus{color:var(--success);font-size:.74rem}.skill-task{color:var(--muted);font-size:.72rem;line-height:1.3}.skill-mark{font-size:.72rem;position:absolute;top:6px;right:7px}.skill-node.learned{background:#6fdc8c14;border-color:#6fdc8c99}.skill-node.learned .skill-mark{color:var(--success)}.skill-node.available{border-color:var(--accent);box-shadow:0 0 0 1px #6ea8ff40}.skill-node.pulse{animation:1.8s ease-in-out infinite skill-pulse}@keyframes skill-pulse{50%{box-shadow:0 0 0 4px #6ea8ff38}}.skill-node.locked{opacity:.55}.skill-node.placeholder{opacity:.5;border-style:dashed}.skill-node.selected{outline:2px solid var(--warn);outline-offset:2px}.skills-foot{z-index:2;border-top:1px solid var(--panel-border);background:var(--panel);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.7rem 1rem;display:flex;position:sticky;bottom:0}.dialog .skills-foot{justify-content:space-between}.skills-detail{flex-direction:column;flex:360px;gap:2px;min-width:0;font-size:.86rem;display:flex}.personnel-skills{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}@media (width<=700px){.dialog.skills-dialog{max-height:92%}.skills-points{justify-items:start;margin-left:0}.skills-level{height:16px;font-size:0}.skills-level.current,.skills-level.point{font-size:.55rem}.skills-tree{padding:.8rem}.skill-node{width:152px}.skill-title{font-size:.8rem}}.research-overlay{z-index:35;background:#0508108c;grid-template-rows:minmax(0,1fr);place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.research{background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.8rem;width:min(1800px,100%);min-width:0;min-height:0;max-height:100%;display:flex;box-shadow:0 20px 60px #0009}.research-header{justify-content:space-between;align-items:flex-start;display:flex}.research-queue ol{gap:.4rem;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.queue-item{border:1px solid var(--panel-border);background:var(--bg);border-radius:8px;gap:.15rem;min-width:170px;padding:.4rem 1.6rem .4rem .6rem;display:grid;position:relative}.queue-item.head{border-color:var(--accent)}.queue-item .bar{background:var(--panel);border-radius:2px;height:4px;overflow:hidden}.queue-item .bar div{background:var(--accent);height:100%}.queue-item .bar.parked div{opacity:.5}.queue-item .remove{padding:.1rem .3rem;position:absolute;top:.2rem;right:.1rem}.queue-move{gap:.1rem;display:flex}.queue-move button{padding:.05rem .35rem;font-size:.8rem}.queue-move button:disabled{opacity:.3}.branches{grid-template-columns:repeat(var(--branches), minmax(150px, 1fr));gap:.5rem .8rem;min-height:0;padding-bottom:.3rem;display:grid;overflow:auto}.branches h3{z-index:1;background:var(--panel);margin:0;padding-bottom:.2rem;position:sticky;top:0}.tier{align-content:start;gap:.35rem;min-width:0;display:grid}button.tier-label,button.tier-label:hover:not(:disabled){border:none;border-bottom:1px solid var(--panel-border);text-align:left;cursor:pointer;background:0 0;border-radius:0;grid-column:1/-1;margin-top:.3rem;padding:0 0 .1rem}button.tier-label:hover{color:var(--text)}.tier-toggle{width:.9em;display:inline-block}.tech{text-align:left;background:var(--bg);border:1px solid var(--panel-border);gap:.25rem;min-width:0;display:grid}.tech .row{flex-wrap:wrap;justify-content:flex-start}.tech .row:first-child{gap:0 .35rem}.tech .tech-name{align-items:center;gap:.35rem;min-width:0;display:flex}.tech .row:first-child strong{overflow-wrap:break-word;min-width:0}.tech .building-icon,.tech .ship-icon{vertical-align:middle;flex:none;width:1.3em;height:1.3em;margin-right:0}.tech strong{overflow-wrap:anywhere}.tech:hover:not(:disabled){border-color:var(--accent);background:#1a2340}.tech.locked:disabled{background:var(--bg);opacity:.55}.tech.done:disabled,.tech.queued:disabled{background:var(--bg);color:var(--text)}.tech.done{border-color:#6fdc8c80}.tech.queued{border-color:var(--accent);border-style:dashed}.badge-infinite{white-space:nowrap;border:1px solid var(--accent);color:var(--accent);border-radius:999px;flex-shrink:0;padding:0 .4rem;font-size:.75rem}.done-mark{color:var(--success)}.tech .stage-mark{white-space:nowrap}.tech .queued{color:var(--accent)}.tech .affordable,.research-header .free{color:var(--success)}.tech .material{color:var(--text)}.research-starving{color:var(--warn);margin:0 0 .4rem}.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.grip{color:var(--muted);margin-right:.35rem}.drag-ghost{border:1px solid var(--warn);background:var(--panel-glass);pointer-events:none;white-space:nowrap;z-index:60;border-radius:8px;padding:.3rem .6rem;position:fixed;transform:translate(12px,12px)}.drop-backdrop{z-index:55;position:fixed;inset:0}.drop-menu{background:var(--panel-glass);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:56;gap:.3rem;width:250px;padding:.6rem;display:grid;position:fixed;box-shadow:0 8px 30px #00000080}.drop-menu .option{text-align:left;background:var(--bg);border:1px solid var(--panel-border);gap:.1rem;display:grid}.drop-menu .option:hover:not(:disabled){border-color:var(--accent);background:#1a2340}.drop-menu .drop-thumb{justify-self:center}.drop-menu .option:disabled{opacity:.6}@media (width<=700px){.drop-menu{width:auto;max-height:80vh;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px));border-radius:12px 12px 0 0;bottom:0;right:0;overflow-y:auto;top:auto!important;left:0!important}.drop-menu .option,.drop-menu .link{min-height:44px}}.governor-card{gap:.6rem;display:grid}.governor-summary{text-align:left;width:100%;color:var(--text);background:0 0;border:none;align-items:center;gap:.6rem;padding:0;display:flex}.governor-summary:hover:not(:disabled){background:0 0}.governor-summary:hover .governor-summary-text strong{color:var(--accent)}.governor-summary-text{flex:1;gap:.15rem;display:grid}.governor-summary .warn,.governor-tab .warn{color:var(--warn)}.governor-tab{gap:1rem;display:grid}.governor-hero{gap:.8rem;display:grid}.governor-hero-top{align-items:center;gap:1rem;display:flex}.governor-traits{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.governor-traits li{background:var(--bg);border-left:2px solid var(--accent);border-radius:4px;align-items:baseline;gap:.5rem;padding:.35rem .6rem;display:flex}.governor-traits li.legendary{border-left-color:var(--warn)}.governor-traits li.quirk{border-left-color:var(--danger)}.governor-traits li.imprint{border-left-color:#b98cff}.governor-traits .trait-icon{text-align:center;width:1.3rem}.governor-traits.compact{cursor:help;gap:.2rem;font-size:.85rem;display:inline-flex}.governor-hero-text{justify-items:start;gap:.3rem;display:grid}.governor-hero-text h3{margin:0}.governor-level{gap:.2rem;width:100%;min-width:14rem;display:grid}.xp-bar{background:var(--bg);border:1px solid var(--panel-border);border-radius:999px;height:6px;overflow:hidden}.xp-fill{background:var(--accent);height:100%;transition:width .5s linear;display:block}.governor-hero-text .link{padding-left:0}.governor-name{align-items:center;gap:.5rem;margin:0;display:flex}.governor-portrait,.chip.rarity{--rarity:var(--muted)}.governor-portrait.uncommon,.chip.rarity.uncommon{--rarity:var(--success)}.governor-portrait.rare,.core-puzzle.rare,.chip.rarity.rare{--rarity:var(--accent)}.governor-portrait.epic,.core-puzzle.epic,.chip.rarity.epic{--rarity:#b98cff}.governor-portrait.legendary,.core-puzzle.legendary,.chip.rarity.legendary{--rarity:var(--warn)}.governor-portrait{border:2px solid var(--rarity);background:var(--bg);object-fit:cover;border-radius:50%;flex:none}.governor-portrait:not(.common){box-shadow:0 0 9px color-mix(in srgb, var(--rarity) 50%, transparent)}.chip.rarity{border-color:var(--rarity);color:var(--rarity)}.directive{gap:.25rem;display:grid}.directive-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.authority-scale{justify-content:space-between;display:flex}.academy .option{text-align:left;background:var(--bg);flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;display:flex}.academy .option.training{border:1px solid var(--panel-border);border-radius:8px;padding:0;position:relative;overflow:hidden}.training-fill{background:#6ea8ff2e;transition:width .5s linear;position:absolute;inset:0 auto 0 0}.training-body{align-self:stretch;gap:.2rem;padding:.5rem .6rem;display:grid;position:relative}.training-actions{gap:.8rem;display:flex}.training-body{justify-content:space-between;align-self:stretch;align-items:center;gap:.5rem;padding:.5rem .6rem;display:flex;position:relative}.training-info{gap:.2rem;display:grid}.training-actions{flex-shrink:0;gap:.2rem;display:flex}.training-actions .icon{place-items:center;padding:.35rem;display:grid}.training-actions .icon svg{width:1.1rem;height:1.1rem}.governor-report{border-left:2px solid var(--warn);background:var(--bg);border-radius:4px;gap:.15rem;margin:0;padding:.4rem .6rem;list-style:none;display:grid}.training-actions .link{padding-left:0}.help-backdrop{z-index:60;background:#05080f8c;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.dialog-backdrop{z-index:55;background:#05080f8c;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.dialog{background:var(--panel);gap:.8rem;width:min(480px,100%);max-height:100%;display:grid;overflow-y:auto}.dialog h3,.dialog h4,.dialog p{margin:0}.dialog h4{margin-bottom:.25rem}.dialog ul{margin:0;padding-left:1.1rem}.dialog footer{justify-content:flex-end}.governor-warning{border:1px solid var(--warn);background:#f5c45114;border-radius:8px;gap:.4rem;padding:.5rem .7rem;display:grid}.governor-warning h4{color:var(--warn);margin:0}.help{background:var(--panel);grid-template-columns:230px 1fr;gap:0;width:min(980px,100%);height:min(680px,100%);padding:0;display:grid;overflow:hidden}.help-nav{border-right:1px solid var(--panel-border);background:var(--bg);flex-direction:column;gap:.3rem;padding:.8rem;display:flex;overflow-y:auto}.help-nav .option{text-align:left;background:0 0;border:1px solid #0000}.help-nav .option.active{border-color:var(--accent)}.help-body{padding:1rem 1.4rem 1.4rem;line-height:1.5;position:relative;overflow-y:auto}.help-body h2{margin:0 2rem .6rem 0}.help-body ul{margin:.6rem 0;padding-left:1.3rem;list-style:outside}.help-body li{margin:.3rem 0}.help-body ul.help-index{padding-left:0;list-style:none}.help-close{position:absolute;top:.6rem;right:.8rem}.help-table{margin:.8rem 0;overflow-x:auto}.help-table table{border-collapse:collapse;font-variant-numeric:tabular-nums}.help-table th,.help-table td{text-align:right;white-space:nowrap;border-bottom:1px solid var(--panel-border);padding:.3rem .8rem}.help-table th:first-child,.help-table td:first-child{text-align:left}.help-table th{color:var(--muted);font-weight:600}.help-table p{margin:.4rem 0 0;font-size:.9em}button.help-ref{color:var(--accent);padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}button.help-ref:hover:not(:disabled){color:var(--text)}.help-link{color:var(--muted);background:0 0;border:none;margin-left:.2rem;padding:0 .2rem;font-size:.9em;line-height:1;display:inline}.help-link:hover:not(:disabled){color:var(--accent);background:0 0}@media (width<=700px){.help-backdrop,.dialog-backdrop{align-items:end;padding:0}.dialog{border-radius:14px 14px 0 0}.help{border-radius:14px 14px 0 0;grid-template-rows:auto 1fr;grid-template-columns:1fr;height:90%}.help-nav{border-right:none;border-bottom:1px solid var(--panel-border);flex-flow:wrap;max-height:9rem}.help-nav input{flex:100%}}.logistics-table .totals-head th{color:var(--muted,#999);padding-top:.4rem;font-weight:400}.planet-summary{font-size:.8rem}.planet-summary .part+.part{margin-left:.8rem}.body-traits .planet-summary{flex-basis:100%}.planet-summary .good{color:var(--success)}.planet-summary .bad{color:var(--danger)}.planet-summary.subtle{color:var(--muted);font-size:.75rem;font-weight:300}.planet-summary.subtle .part+.part{margin-left:.7rem}.planet-summary.subtle .good,.planet-summary.subtle .bad{opacity:.9}.mastermind{gap:.8rem;width:min(380px,100%);display:grid}.mm-head{justify-content:space-between;align-items:center;display:flex}.mm-board{gap:.3rem;display:grid}.mm-row{border-radius:6px;align-items:center;gap:.4rem;padding:.2rem .3rem;display:flex}.mm-row.active{background:#6ea8ff1f}.mm-nr{width:1rem;color:var(--muted);text-align:right;font-size:.8rem}.mm-slot{border:1px solid var(--panel-border);background:var(--bg);border-radius:50%;place-items:center;width:2.2rem;height:2.2rem;padding:0;font-size:1.2rem;line-height:1;display:grid}.mm-slot.input{cursor:pointer}.mm-pegs{flex-wrap:wrap;gap:.2rem;width:3.6rem;margin-left:auto;display:flex}.mm-peg{vertical-align:middle;border-radius:50%;width:.7rem;height:.7rem;display:inline-block}.mm-peg.exact{background:var(--success)}.mm-peg.misplaced{border:2px solid var(--warn)}.mm-submit{margin-left:auto}.mm-palette{justify-content:center;gap:.4rem;display:flex}.mm-palette button{border-radius:50%;width:2.6rem;height:2.6rem;padding:0;font-size:1.4rem;line-height:1}.mm-result{justify-items:center;gap:.5rem;display:grid}.mm-win{color:var(--success)}.mm-lose{color:var(--danger)}.minigame{width:min(400px,100%)}.mg-tabs{flex-wrap:wrap;gap:.3rem;display:flex}.mg-tabs button.active{border-color:var(--accent)}.mg-slots{margin:0}.mm-note,.mm-footer{text-align:center;margin:0}.research-side{align-items:flex-start;gap:.6rem;display:flex}.minigame-call{border-color:var(--accent);white-space:nowrap;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}@media (width<=700px){.research-header{gap:.5rem}.research-header h2{white-space:nowrap}.research-side{min-width:0}.minigame-call{white-space:normal;text-align:left;border-radius:.8rem}}.minigame-call.idle{border-color:var(--panel-border);color:var(--muted);cursor:default}.minigame.game-budget{width:min(560px,100%)}.budget{gap:.8rem;display:grid}.bp-note{margin:0}.bp-chart{grid-template-columns:repeat(6,1fr);gap:.3rem;display:grid}.bp-col{border:1px solid var(--panel-border);border-radius:6px;gap:.2rem;padding:.2rem;display:grid}.bp-col.target{cursor:pointer;border-color:var(--accent)}.bp-col.over{border-color:var(--danger);background:#ff6b6b1a}.bp-stack{background:var(--bg);border-radius:4px;flex-direction:column-reverse;display:flex;position:relative;overflow:hidden}.bp-line{background:var(--panel-border);height:1px;position:absolute;left:0;right:0}.bp-seg{cursor:grab;touch-action:none;border:1px solid #0006;border-radius:3px;width:100%;padding:0;line-height:1}.bp-seg.selected{outline:2px solid var(--text);outline-offset:-2px}.bp-seg.bad{outline:2px solid var(--danger);outline-offset:-2px}.bp-label{text-align:center;font-size:.85rem}.bp-status{justify-content:space-between;align-items:center;margin:0;display:flex}.bp-status.ok{color:var(--success)}.bad{color:var(--danger)}.bp-items{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.bp-items li{border:1px solid var(--panel-border);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:6px;grid-template-columns:5.6rem 1fr auto 5.2rem;align-items:center;gap:.5rem;padding:.25rem .4rem;display:grid}.bp-items li.hl,.bp-seg.hl{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.bp-items li.hl{background:#6ea8ff1f}.bp-items li.hlparent,.bp-seg.hlparent{box-shadow:0 0 0 2px var(--warn)}.bp-items li.lifted,.bp-seg.lifted{opacity:.4}.bp-items li.drop-remove{border-style:dashed;border-color:var(--danger)}.bp-shape{grid-auto-rows:.9rem;gap:1px;display:grid}.bp-shape span{border-radius:2px}.bp-ghost{border:1px dashed var(--text);opacity:.6;pointer-events:none;border-radius:3px;place-items:center;display:grid;position:absolute;left:0;right:0}.bp-ghost.bad{border-color:var(--danger);background-image:linear-gradient(#ff6b6b80,#ff6b6b80)}.bp-chip{z-index:50;opacity:.85;pointer-events:none;border-radius:6px;place-items:center;width:2rem;height:2rem;display:grid;position:fixed;transform:translate(-50%,-120%)}.bp-items li.selected{border-color:var(--accent);background:#6ea8ff1f}.bp-items li.placed{opacity:.8}.bp-items li.bad{border-color:var(--danger)}.bp-swatch{border-radius:4px;place-items:center;width:1.8rem;height:1.8rem;display:grid}.bp-name{display:grid}.bp-tag{color:var(--success);background:#6fdc8c2e;border-radius:999px;padding:0 .4rem;font-size:.8rem}.bp-tag.must{color:var(--warn);background:#f5c4512e}.bp-range{text-align:right;font-size:.85rem}.minigame.game-hashi{width:min(560px,100%)}.hashi{gap:.8rem;display:grid}.hs-note{margin:0}.hs-board{-webkit-user-select:none;user-select:none;width:100%;max-height:65vh}.hs-slot{stroke:var(--panel-border);stroke-width:.05px;stroke-dasharray:.12 .12}.hs-edge:hover .hs-slot{stroke:var(--muted);stroke-dasharray:none}.hs-line{stroke:var(--accent);stroke-width:.08px;stroke-linecap:round}.hs-edge.bad .hs-line{stroke:var(--danger)}.hs-hit{stroke:#0000;stroke-width:.7px;cursor:pointer}.hs-edge.blocked .hs-hit,.hs-board.idle .hs-hit{cursor:default;pointer-events:none}.hs-island circle{fill:var(--panel);stroke:var(--muted);stroke-width:.05px}.hs-island text{fill:var(--text);text-anchor:middle;dominant-baseline:central;pointer-events:none;font-size:.38px;font-weight:600}.hs-island.done circle{stroke:var(--success);fill:#6fdc8c26}.hs-island.over circle{stroke:var(--danger);fill:#ff6b6b26}.hs-board.ok .hs-line{stroke:var(--success)}.hs-actions{gap:.8rem;display:flex}.minigame.game-logic{width:min(980px,100%)}.logic{gap:.8rem;min-width:0;display:grid}.lg-note{margin:0}.lg-body{flex-wrap:wrap;align-items:flex-start;gap:1rem;min-width:0;display:flex}.lg-grid-wrap{max-width:100%;overflow-x:auto}.lg-grid{border-collapse:collapse;-webkit-user-select:none;user-select:none;font-size:.85rem}.lg-grid th{font-weight:500}.lg-cat{color:var(--muted);border-left:2px solid var(--panel-border);padding-bottom:.15rem;font-size:.75rem}.lg-mark{vertical-align:bottom;width:1.7rem;height:1.7rem;padding:.2rem 0 .15rem;font-size:1rem}.lg-vert{writing-mode:vertical-rl;white-space:nowrap;margin:0 auto .2rem;font-size:.75rem;display:block;transform:rotate(180deg)}.lg-icon{display:block}.lg-mark.first,.lg-grid td.first{border-left:2px solid var(--panel-border)}.lg-row{text-align:left;white-space:nowrap;padding-right:.4rem}.lg-row.first,.lg-grid td.top{border-top:2px solid var(--panel-border)}.lg-row-mark{text-align:center;width:1.3rem;display:inline-block}.lg-cell{text-align:center;border:1px solid var(--panel-border);cursor:pointer;width:1.7rem;height:1.7rem}.lg-grid .hl{background:#6ea8ff0f}.lg-grid th.hl{color:var(--accent)}.lg-cell:hover{background:#6ea8ff29}.lg-cell.no{color:var(--text)}.lg-cell.auto{color:var(--muted);opacity:.6}.lg-cell.yes{color:var(--success);background:#6fdc8c1f;font-weight:700}.lg-grid td.lg-none{border-top-color:#0000;border-left-color:#0000}.lg-grid.ok .lg-cell,.lg-grid.idle .lg-cell{cursor:default}.lg-grid.idle:not(.ok){opacity:.6}.hs-actions button.active{color:var(--accent);text-decoration:underline}.lg-clues{flex:260px;gap:.35rem;margin:0;padding-left:1.4rem;font-size:.9rem;display:grid}.lg-clues li{cursor:pointer}.lg-clues li.done{color:var(--muted);text-decoration:line-through}.lg-clues li.bad{color:var(--danger)}@media (width<=700px){.lg-mark,.lg-cell{width:1.35rem;height:1.35rem;font-size:.75rem}.lg-mark{font-size:.85rem}.lg-vert{font-size:.7rem}}.stance-chips{flex-wrap:wrap;gap:.3rem;display:flex}.chip.stance{font-size:.8rem}.chip.stance.export{color:var(--success);border-color:#6fdc8c8c}.chip.stance.import{color:var(--accent);border-color:#6ea8ff73}.governor-next{gap:.1rem;display:grid}.governor-report li.warn{color:var(--warn)}.govern-backdrop{align-items:start;overflow-y:auto}.govern{background:var(--panel);flex-direction:column;width:min(1180px,100%);padding:0;display:flex}.govern h3,.govern h4,.govern p{margin:0}.govern h4{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:600}.govern h4 .govern-limit{text-transform:none;letter-spacing:0;margin-left:.4rem;font-weight:400}.govern h4 .govern-limit.warn{color:var(--warn)}.govern-head{border-bottom:1px solid var(--panel-border);align-items:center;gap:.7rem;padding:.7rem 1rem;display:flex}.govern-head>div{display:grid}.govern-head .close{margin-left:auto}.govern-body{grid-template-columns:minmax(290px,360px) minmax(0,1fr);display:grid}.govern-left,.govern-right{flex-direction:column;gap:1rem;min-width:0;padding:.9rem 1rem;display:flex}.govern-left{border-right:1px solid var(--panel-border)}.govern-block{align-content:start;gap:.45rem;display:grid}.govern-block input[type=range]{width:100%}.govern-block .authority-scale .on{color:var(--text);font-weight:600}.govern-row{border-top:1px solid #24304d99;grid-template-columns:1fr auto;align-items:center;gap:.2rem .6rem;padding:.35rem 0;display:grid}.govern-row:first-of-type{border-top:0}.govern-name{align-items:center;gap:.35rem;font-size:.92rem;font-weight:600;display:flex}.govern-name .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.govern-meta{font-variant-numeric:tabular-nums;grid-column:1/3}.govern-meta .warn{color:var(--warn)}.segmented{border:1px solid var(--panel-border);border-radius:7px;display:inline-flex;overflow:hidden}.segmented button{border:0;border-left:1px solid var(--panel-border);background:0 0;border-radius:0;padding:.2rem .55rem;font-size:.8rem}.segmented button:first-child{border-left:0}.segmented button.on{color:#fff;background:#6ea8ff47}.segmented button.on.export{background:#6fdc8c40}.segmented button:disabled{color:var(--muted);opacity:.4;cursor:not-allowed;background:0 0;text-decoration:line-through}.govern-must{border:1px dashed var(--panel-border);border-radius:8px;padding:.45rem .6rem}.govern-more summary{cursor:pointer}.govern-slider{grid-template-columns:1fr 120px 2.6rem;align-items:center;gap:.5rem;margin-top:.4rem;display:grid}.govern-balance{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;max-width:560px;font-size:.88rem}.govern-balance th{color:var(--muted);text-align:right;padding:0 .5rem .25rem;font-size:.7rem;font-weight:600}.govern-balance th:first-child,.govern-balance td:first-child{text-align:left;padding-left:0}.govern-balance th.plan{color:var(--accent)}.govern-balance td{text-align:right;white-space:nowrap;border-top:1px solid #24304d99;padding:.25rem .5rem}.govern-balance td:first-child{color:var(--muted)}.govern-balance td.plan{background:#6ea8ff14;font-size:.95rem;font-weight:650}.govern-balance td.bad{color:var(--danger)}.govern-balance .unit{color:var(--muted);font-size:.75rem;font-weight:400}.govern-balance td.delta{color:var(--muted);opacity:.8;font-size:.76rem}.govern-balance td.delta i{font-size:.62rem;font-style:normal}.govern-balance td.delta.up i{color:#6fdc8c99}.govern-balance td.delta.down i{color:#ff6b6b99}.govern-planets{flex-wrap:wrap;gap:.7rem;display:flex}.govern-planet{border:1px solid var(--panel-border);background:#0b0f1a59;border-radius:10px;align-content:start;gap:.4rem;padding:.55rem;display:grid}.govern-planet-head{justify-content:space-between;gap:.6rem;display:flex}.plan-map{--plan-tile:50px;border-radius:10px;justify-content:start;gap:4px;padding:6px;display:grid}.plan-tile{width:var(--plan-tile);height:var(--plan-tile);border:1px solid var(--panel-border);background:#0c111d80;border-radius:7px;place-items:center;padding:0;display:grid;position:relative}.plan-tile .building-icon{width:66%;height:66%}.plan-tile.is-locked{background:repeating-linear-gradient(135deg,#0a0e18c7 0 5px,#0d121eb3 5px 10px)}.plan-tile.is-new,.plan-tile.is-develop{border:1.5px dashed #6fdc8ccc}.plan-tile.is-develop{background:repeating-linear-gradient(135deg,#0a0e1880 0 5px,#0d121e59 5px 10px)}.plan-tile.is-new .building-icon,.plan-tile.is-develop .building-icon,.plan-tile.is-replace .building-icon{opacity:.45;filter:saturate(.6)}.plan-tile.is-replace{border:1.5px dashed #f5c451d9}.plan-tile.is-upgrade{border-color:#6ea8ffb3}.plan-tile.is-surplus{box-shadow:inset 0 0 0 2px #f5c45173}.plan-tile.is-pinned{border-color:#c9b3ff}.plan-tile.is-selected{outline:2px solid var(--accent);outline-offset:1px}.plan-tile.sp-ore_vein{background-image:linear-gradient(160deg,#b8794a47,#b8794a0f)}.plan-tile.sp-farmland{background-image:linear-gradient(160deg,#6aa58547,#6aa5850f)}.plan-tile.sp-thermal_spring{background-image:linear-gradient(160deg,#d6b25e42,#d6b25e0d)}.plan-tile.sp-beach{background-image:linear-gradient(160deg,#7aa2d847,#7aa2d80f)}.plan-lock{opacity:.5;font-size:.85rem}.plan-gen{text-shadow:0 1px 2px #000;font-family:Georgia,Times New Roman,serif;font-size:.66rem;font-weight:600;position:absolute;top:2px;right:4px}.plan-gen .to{color:var(--accent)}.plan-special{font-size:.64rem;position:absolute;bottom:1px;left:3px}.plan-pin{font-size:.68rem;position:absolute;bottom:0;right:2px}.plan-old{width:16px;height:16px;position:absolute;top:2px;left:2px}.plan-old .building-icon{opacity:.8;width:100%;height:100%}.plan-old:after{content:"";background:var(--danger);height:2px;position:absolute;top:50%;left:-1px;right:-1px;transform:rotate(-35deg)}.govern-cols{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.govern-order{gap:.15rem;margin:0;padding-left:1.4rem;display:grid}.govern-order .kind{text-align:center;width:1.1em;color:var(--success);display:inline-block}.govern-order .kind.upgrade{color:var(--accent)}.govern-order .kind.replace{color:var(--warn)}.govern-notes{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.govern-notes li{border:1px solid var(--panel-border);color:var(--muted);border-radius:7px;padding:.35rem .55rem}.govern-notes li.warn{color:var(--warn);border-color:#f5c45180}.govern-foot{border-top:1px solid var(--panel-border);background:var(--panel);border-radius:0 0 12px 12px;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:sticky;bottom:0}.govern-foot>span{margin-right:auto}.govern-foot .accent{color:var(--accent)}@media (width<=760px){.govern-backdrop{padding:0}.govern{border-radius:0;min-height:100%}.govern-body{grid-template-columns:minmax(0,1fr)}.govern-left{border-right:0;border-bottom:1px solid var(--panel-border)}.govern-row{grid-template-columns:minmax(0,1fr)}.govern-meta{grid-column:1}.segmented{display:flex}.segmented button{flex:1}.govern-planets{scroll-snap-type:x mandatory;flex-wrap:nowrap;overflow-x:auto}.govern-planet{scroll-snap-align:start}.plan-map{--plan-tile:44px}.govern-cols{grid-template-columns:minmax(0,1fr)}.govern-foot{border-radius:0}}.ledger{background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.75rem;width:min(1440px,100%);min-width:0;min-height:0;max-height:100%;display:flex;box-shadow:0 20px 60px #0009}.ledger-controls{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.ledger-seg{border:1px solid #6ea8ff52;border-radius:7px;display:inline-flex;overflow:hidden}.ledger-seg button{border:none;border-radius:0;padding:.3rem .7rem}.ledger-seg button+button{border-left:1px solid #6ea8ff38}.ledger-seg button.on{background:#6ea8ff4d;font-weight:600}.ledger-switch{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.ledger-note{flex-basis:100%;margin:0}.ledger-summary{border:1px solid var(--panel-border);background:#0b0f1a73;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem .6rem;padding:.6rem .75rem;display:grid}.ledger-summary .label{color:var(--muted);font-size:.85rem}.ledger-summary .total{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-bar{background:#24304d59;border-radius:4px;height:14px;display:flex;overflow:hidden}.ledger-bar span{height:100%}.ledger-legend{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;gap:.2rem .9rem;font-size:.8rem;display:flex}.ledger-legend i{vertical-align:-1px;border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}.ledger-trend{grid-column:1/-1;margin:0;font-size:.9rem}.seg-buildings{background:#6ea8ff}.seg-station{background:#58c4c9}.seg-base{background:#4c5878}.seg-build{background:#f5c451}.seg-processing{background:#e0915a}.seg-labs{background:#b48cf2}.seg-people{background:#6fdc8c}.ledger-bar .gap-neg{background:repeating-linear-gradient(135deg,#ff6b6ba6 0 4px,#0000 4px 8px)}.ledger-bar .gap-pos{background:repeating-linear-gradient(135deg,#6fdc8c8c 0 4px,#0000 4px 8px)}.ledger-summary .plus{color:var(--success)}.ledger-summary .minus{color:var(--danger)}.ledger-summary .warn{color:var(--warn)}.ledger-history{flex-direction:column;gap:.75rem;min-height:0;display:flex;overflow:auto}.history-charts{flex-direction:column;gap:.5rem;display:flex;position:relative}.history-chart{margin:0}.history-chart figcaption{flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;font-size:.9rem;display:flex}.history-chart svg{touch-action:pan-y;display:block}.history-legend{color:var(--muted);flex-wrap:wrap;gap:.2rem .8rem;margin-left:auto;font-size:.8rem;display:inline-flex}.history-legend i,.history-tip i{vertical-align:3px;border-radius:2px;width:12px;height:3px;margin-right:4px;display:inline-block}.key-stock{background:var(--accent)}.key-capacity{background:repeating-linear-gradient(90deg, var(--muted) 0 3px, transparent 3px 5px)}.key-produced{background:var(--success)}.key-consumed{background:var(--danger)}.key-lost{background:var(--warn)}.history-chart .grid{stroke:#7d8bb02e;stroke-width:1px}.history-chart .axis{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.history-chart .crosshair{stroke:#dbe4ff73;stroke-width:1px}.history-chart path{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.history-chart .stock-area{fill:#6ea8ff24;stroke:none}.history-chart .stock-line{stroke:var(--accent)}.history-chart .capacity-line{stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:4 3}.history-chart .produced-line{stroke:var(--success)}.history-chart .consumed-line{stroke:var(--danger)}.history-chart .lost-area{fill:#f5c45147;stroke:none}.history-chart .delivered-line{stroke:var(--accent);stroke-dasharray:5 3}.history-chart .trip-bar{fill:#6ea8ff8c}.history-chart .trip-bar.on{fill:var(--accent)}.key-delivered{background:repeating-linear-gradient(90deg, var(--accent) 0 5px, transparent 5px 7px)}.history-tip{border:1px solid var(--panel-border);background:var(--panel);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:6px;width:190px;padding:.4rem .55rem;font-size:.82rem;position:absolute;top:1.6rem;box-shadow:0 6px 20px #00000080}.ledger-scroll{min-height:0;overflow:auto}.ledger-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:980px}.ledger-table th,.ledger-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #24304db3;padding:5px 6px}.ledger-table thead th{z-index:1;background:var(--panel);color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.82rem;font-weight:500;position:sticky;top:0}.ledger-table thead th:hover,.ledger-table thead th.sorted{color:var(--text)}.ledger-table thead th .unit{opacity:.75;font-size:.72rem;display:block}.ledger-table .name{text-align:left;background:var(--panel);position:sticky;left:0}.ledger-table thead th.name{z-index:2}.ledger-table td.name{min-width:10rem}.ledger-table td.name a{color:var(--text);text-decoration:none}.ledger-table td.name a:hover{color:var(--accent)}.ledger-table .left{text-align:left}.ledger-table .chev{width:1rem;color:var(--muted);display:inline-block}.ledger-table .badge-text{color:var(--muted);margin-left:4px;font-size:.78rem}.ledger-table .plus{color:var(--success)}.ledger-table .minus{color:var(--danger)}.ledger-table .warn{color:var(--warn)}.ledger-table .zero{color:var(--muted);opacity:.6}.ledger-table .was{color:var(--muted);font-size:.72rem;display:block}.ledger-system,.ledger-group{cursor:pointer}.ledger-system:hover td{background:#6ea8ff0d}.ledger-system:hover td.name{background:#16203a}.ledger-group td{border-top:1px solid var(--panel-border);background:#6ea8ff12;font-weight:600}.ledger-group td.name{background:#172038}.ledger-group .meta{color:var(--muted);margin-left:8px;font-size:.85rem;font-weight:400}.ledger-total td{border-top:2px solid var(--panel-border);font-weight:600}.ledger-stock{justify-content:flex-end;align-items:center;gap:8px;display:flex}.ledger-stock .mini{background:#24304db3;border-radius:3px;width:64px;height:6px;position:relative;overflow:hidden}.ledger-stock .mini>span{background:#b8794ae6;height:100%;display:block}.ledger-stock .mini>span.full{background:var(--warn)}.ledger-stock .mini>span.empty{background:var(--danger)}.ledger-stock .mark{background:var(--text);opacity:.75;width:2px;height:8px;position:absolute;top:-1px}.lchip{border:1px solid var(--panel-border);text-align:center;white-space:nowrap;background:#0b0f1a73;border-radius:999px;min-width:1.6rem;margin-right:4px;padding:0 6px;font-size:.8rem;display:inline-block}.lchip.needs{color:var(--accent);border-color:#6ea8ff8c}.lchip.surplus{color:var(--success);border-color:#6fdc8c8c}.lchip.balanced{color:var(--muted)}.ledger-table .moving{margin-top:1px;font-size:.74rem;display:block}.ledger-detail td{text-align:left;white-space:normal;background:#0b0f1a73;padding:8px 12px 12px 2.2rem}.ledger-detail-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:10px;display:grid}.ledger-detail h4{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:.78rem;font-weight:600}.ledger-sites{border-collapse:collapse;width:100%;font-size:.88rem}.ledger-sites th,.ledger-sites td{text-align:right;border-bottom:1px solid #24304d80;padding:3px 6px}.ledger-sites th{color:var(--muted);font-size:.76rem;font-weight:500}.ledger-sites th:first-child,.ledger-sites td:first-child{text-align:left}.ledger-sites .progress{vertical-align:middle;background:#24304dcc;border-radius:3px;width:46px;height:5px;margin-right:6px;display:inline-block;overflow:hidden}.ledger-sites .progress span{background:var(--accent);height:100%;display:block}.ledger-facts{flex-direction:column;gap:4px;font-size:.88rem;display:flex}@media (width<=640px){.ledger-detail-grid{grid-template-columns:1fr}.ledger-seg .label-text{display:none}}.ships-window{background:var(--panel-glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.6rem;width:min(1000px,100%);min-width:0;min-height:0;max-height:100%;display:flex;box-shadow:0 20px 60px #0009}.ships-window h2{margin:0}.ships-tabs{border-bottom:1px solid var(--panel-border);gap:2px;display:flex}.ships-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:6px 6px 0 0;padding:.4rem .8rem}.ships-tabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.ships-tabs .count{margin-left:4px;font-size:.75rem}.ships-body{min-height:0;overflow-y:auto}.ships-body>div>p{margin:.5rem 0 0}.stepper{font-variant-numeric:tabular-nums;vertical-align:middle;background:#0b0f1a99;border:1px solid #6ea8ff52;border-radius:999px;align-items:stretch;display:inline-flex;overflow:hidden}.stepper button{color:var(--muted);background:0 0;border:none;border-radius:0;padding:0 .55rem;line-height:1.6}.stepper button:hover:not(:disabled){color:var(--text);background:#6ea8ff26}.stepper .value{text-align:center;align-self:center;min-width:2.2rem;padding:0 2px;font-size:.9rem}.stepper .value.off{color:var(--muted)}.stepper.disabled{opacity:.45}.yard-row{border-bottom:1px solid #24304db3;grid-template-columns:7rem 4.2rem 9rem 2.4rem minmax(0,1fr) auto auto;align-items:center;gap:4px 10px;padding:6px 4px;display:grid;position:relative}button.yard-name{color:var(--text);text-align:left;justify-self:start;padding:0;font-weight:600}.yard-tempo{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.yard-governor{white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;overflow:hidden}.yard-skills{gap:3px;display:flex}.yard-skills .off{filter:grayscale();opacity:.45}.yard-loop{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.yard-chip{border:1px solid var(--panel-border);background:var(--bg);border-radius:6px;place-items:center;width:2rem;height:2rem;display:inline-grid}.yard-chip .ship-icon{width:1.5rem;height:1.5rem}.yard-chip.running{border-color:var(--accent);grid-auto-flow:column;gap:6px;width:auto;padding:0 7px}.yard-chip.running.stalled{border-color:var(--warn)}.yard-chip .bar{background:#24304de6;border-radius:2px;width:40px;height:4px;overflow:hidden}.yard-chip .bar span{background:var(--accent);height:100%;display:block}.yard-chip.stalled .bar span{background:var(--warn)}.yard-pause{place-items:center;width:2rem;height:2rem;padding:0;display:grid}.yard-pause svg{width:.9rem;height:.9rem}.yard-pause.on{border-color:var(--warn);color:var(--warn)}.yard-add{position:relative}.yard-add>.yard-menu-toggle{width:2rem;height:2rem;padding:0;font-size:1.1rem}.yard-menu-toggle.on{border-color:var(--accent)}.yard-menu{z-index:60;border:1px solid var(--accent);background:#172038;border-radius:8px;flex-direction:column;gap:2px;min-width:20rem;max-height:min(70vh,32rem);padding:6px;display:flex;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000080}.yard-menu h4{color:var(--muted);margin:0;padding:2px 6px 4px;font-size:.78rem;font-weight:500}.yard-menu button{text-align:left;background:0 0;border-color:#0000;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 8px;padding:.3rem .4rem;display:grid}.yard-menu button:hover:not(:disabled){background:#6ea8ff1f}.yard-menu .when{text-align:right;white-space:nowrap;color:var(--muted)}.yard-menu .cost-line{grid-column:2/-1;font-size:.8rem}.yard-fastest{padding-top:8px}.locked-note{background:#f5c45112;border:1px solid #f5c45173;border-radius:8px;align-items:flex-start;gap:10px;margin:0 0 8px;padding:8px 12px;font-size:.88rem;display:flex}.locked-note strong{color:var(--warn)}.stock-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.stock-table th,.stock-table td{text-align:right;white-space:nowrap;border-bottom:1px solid #24304db3;padding:5px 6px}.stock-table th{color:var(--muted);font-size:.8rem;font-weight:500}.stock-table th:first-child,.stock-table td:first-child{text-align:left}.stock-table tr.section td{text-align:left;white-space:normal;border-bottom:none;padding-top:14px}.stock-table tr.sub td:first-child{padding-left:1.6rem}.stock-generations{display:block}.stock-levels{opacity:.5;width:fit-content;margin-top:6px;display:flex}.stock-levels button{padding:.2rem .6rem;font-size:.85rem}.fleets-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding-bottom:6px;display:flex}.fleets-bar button:disabled{opacity:.5}.fleets-banner{border:1px solid var(--accent);background:#6ea8ff14;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px;padding:6px 10px;display:flex}.fleet-row{border-bottom:1px solid #24304db3;grid-template-columns:1.2rem minmax(9rem,1.3fr) minmax(0,1fr) 4.5rem 8.5rem 15rem;align-items:center;gap:4px 10px;padding:6px 4px;display:grid}.fleet-row .grip{color:var(--muted);cursor:grab;-webkit-user-select:none;user-select:none}.fleet-row.source{background:#6ea8ff1a}.fleet-row.drop{outline:1px dashed var(--success);background:#6fdc8c1a}.fleet-name{flex-direction:column;min-width:0;display:flex}.fleet-name>button.link{color:var(--text);text-align:left;justify-self:start;padding:0;font-weight:600}.fleet-name .joining{color:var(--accent)}.fleet-power{font-variant-numeric:tabular-nums}.fleet-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.fleet-actions button{padding:.2rem .55rem;font-size:.85rem}.fleet-split{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:8px 14px;padding:4px 0 2px;display:flex}@media (width<=720px){.yard-row{grid-template-columns:1fr auto auto auto auto}.yard-governor{display:none}.yard-loop{grid-area:2/1/auto/-1}.yard-menu{min-width:min(20rem,100vw - 3rem)}.fleet-row{grid-template-columns:1.2rem 1fr auto}.fleet-mix,.fleet-goal,.fleet-actions{grid-column:2/-1}.fleet-actions{justify-content:flex-start}.stock-table .hide-narrow{display:none}}
