:root{--bg:#0a0e17;--surface:#121a28;--surface-hi:#1a2536;--border:#243349;--text:#e6edf7;--muted:#8b9bb4;--accent:#4da3ff;--good:#4ade80;--warn:#fbbf24;--bad:#f87171;--trace:#c084fc;--deposit:#f0a868;--call:#fbbf24;--contract:#a78bfa;--radius:10px}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--surface-hi)}html{background:var(--bg)}html,body{color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}main{max-width:960px;margin:0 auto;padding:1.5rem 1rem 4rem}h1{margin:0;font-size:1.5rem}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:2rem 0 .75rem;font-size:.8rem}a{color:var(--accent)}code{background:var(--surface-hi);border-radius:4px;padding:.1em .35em;font-size:.9em}.topbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:1rem;display:flex}.subtle{color:var(--muted);font-size:.85rem}.vestige-tag{color:var(--trace);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem}.deposit-tag{color:var(--deposit);letter-spacing:.04em;text-transform:uppercase;font-size:.66rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.grid{gap:.75rem;display:grid}.grid-resources{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.grid-buildings{grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.resource-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.resource-name{align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.resource-icon{flex-shrink:0;width:16px;height:16px}.gain-resource{align-items:center;gap:.35rem;min-width:0;display:inline-flex}.resource-rate{font-variant-numeric:tabular-nums;color:var(--good);font-size:.85rem}.resource-rate.negative{color:var(--bad)}.resource-amount{font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.5rem}.meter{background:var(--surface-hi);border-radius:2px;height:4px;margin-top:.5rem;overflow:hidden}.meter>div{background:var(--accent);height:100%;transition:width .9s linear}.meter.full>div{background:var(--warn)}
.building-groups{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));align-items:start;gap:1.25rem .75rem;display:grid}.building-panel-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.building-panel-heading h2{margin-bottom:.55rem}.construction-site-reserve{margin:-.15rem 0 .9rem}.building-group-cards{grid-template-columns:minmax(0,1fr)}.building-group-head{font-size:inherit;font-weight:inherit;border-bottom:1px solid var(--border);align-items:center;gap:.6rem;margin:0 0 .6rem;padding-bottom:.3rem;display:flex}.building-group-head .domain-badge{margin-bottom:0}.building-card{flex-direction:column;padding-top:0;display:flex;overflow:hidden}@media (min-width:1001px){.building-card{min-height:var(--building-card-height,auto)}}.building-action{margin-top:auto;padding-top:.35rem}@media (min-width:1001px){.building-action-tail{min-height:var(--building-tail-height,auto)}}.action-wrap{display:block}.rate-sources{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:.35rem;font-size:.75rem}.illustration{border-bottom:1px solid var(--border);background:var(--surface-hi);height:118px;margin:0 -1rem .85rem;overflow:hidden}.illustration img{object-fit:contain;object-position:center bottom;width:100%;height:100%;display:block}.building-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.building-desc{color:var(--muted);margin:.35rem 0 .75rem;font-size:.85rem}.cost-line{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.85rem;display:flex}.gain-block{border-top:1px solid var(--border);margin-bottom:.6rem;padding-top:.55rem}.gain-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.3rem;font-size:.7rem;display:block}.gain-line{font-variant-numeric:tabular-nums;justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.gain{color:var(--good)}.cost-item.missing{color:var(--bad)}
button{font:inherit;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);width:100%;color:var(--text);cursor:pointer;border-radius:8px;padding:.5rem .75rem}@media (hover:hover){button:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 28%, transparent)}}button:disabled{opacity:.45;cursor:not-allowed;border-color:var(--border);background:0 0}button.ghost{border-color:var(--border);background:0 0;width:auto;padding:.25rem .6rem;font-size:.8rem}button.danger{border-color:var(--bad);color:var(--bad);background:color-mix(in srgb, var(--bad) 12%, transparent)}button.ghost.danger{border-color:color-mix(in srgb, var(--bad) 55%, var(--border))}@media (hover:hover){button.danger:hover:not(:disabled){background:color-mix(in srgb, var(--bad) 22%, transparent)}}.sound-toggle{white-space:nowrap;justify-content:center;align-items:center;gap:.4rem;min-height:32px;display:inline-flex}.sound-toggle-icon{color:var(--accent);font-size:.7rem}.sound-toggle[aria-pressed=false] .sound-toggle-icon{color:var(--muted)}.segmented{flex:none;gap:.35rem;display:flex}.segmented .ghost{white-space:nowrap;flex:none;width:auto;min-height:44px}.segmented .ghost.active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 15%, transparent)}.requirement-link{width:auto;color:var(--accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:none;border-radius:4px;margin:-.05rem -.2rem;padding:.05rem .2rem;text-decoration:underline;display:inline}@media (hover:hover){.requirement-link:hover{background:color-mix(in srgb, var(--accent) 15%, transparent)}}.power-figures{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:1.5rem;display:flex}.power.throttled{border-color:var(--warn)}.queue-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.queue-row:last-child{border-bottom:none}.queue-timing{font-variant-numeric:tabular-nums;flex:none;min-width:12.5rem}.queue-name{flex:12rem;min-width:0}.queue-timing .hint.warning{text-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.queue-actions{align-items:center;gap:.35rem;display:inline-flex}.queue-move{min-width:2.4rem;min-height:2.4rem;padding:.25rem .4rem;line-height:1}@keyframes guide-beacon{0%,to{opacity:1}50%{opacity:.2}}.build-designated button.plans:not(:disabled),.queue-designated .queue-move:not(:disabled),.colony-globe.openable.designated,.stage-crumb.designated:not(:disabled),.stage-close.designated,.galaxy-system-list button.designated,.tree-node.designated{position:relative}.build-designated button.plans:not(:disabled):after,.queue-designated .queue-move:not(:disabled):after,.colony-globe.openable.designated:after,.stage-crumb.designated:not(:disabled):after,.stage-close.designated:after,.galaxy-system-list button.designated:after,.tree-node.designated:after{content:"";border:2px solid var(--accent);pointer-events:none;border-radius:10px;animation:1.8s ease-in-out infinite guide-beacon;position:absolute;inset:-3px}.colony-globe.openable.designated:after{border-radius:50%}.queue-designated .queue-move:not(:disabled):after{border-radius:9px;inset:-2px}.queue-designated .queue-move:not(:disabled){border-color:var(--accent);color:var(--accent)}@media (prefers-reduced-motion:reduce){.build-designated button.plans:not(:disabled):after,.queue-designated .queue-move:not(:disabled):after,.colony-globe.openable.designated:after,.stage-crumb.designated:not(:disabled):after,.stage-close.designated:after,.galaxy-system-list button.designated:after,.tree-node.designated:after,.sky-star-designated,.system-planet-designated{animation:none}}.dev-launcher{border:1px dashed var(--border);width:auto;color:var(--muted);letter-spacing:.08em;opacity:.6;background:0 0;border-radius:999px;flex:none;padding:.15rem .5rem;font-family:ui-monospace,monospace;font-size:.65rem}.dev-launcher:hover,.dev-launcher:focus-visible{opacity:1}.dev-backdrop{z-index:55}.modal.dev-sheet{border-color:var(--border);width:min(46rem,100%)}.dev-sheet-section{color:var(--muted);margin:1rem 0 .4rem;font-size:.75rem}.dev-tools{flex-wrap:wrap;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.dev-atlas{border:1px dashed var(--border);border-radius:6px;margin:0;padding:.8rem 1rem;font-family:ui-monospace,monospace;font-size:.72rem;line-height:1.6;overflow-x:auto}.dev-atlas h4{margin:1rem 0 .3rem;font-size:.75rem;font-weight:600}.dev-atlas section:first-of-type h4{margin-top:0}.dev-atlas-head{opacity:.6;margin:0}.dev-atlas-empty{opacity:.6;margin:0;font-family:ui-monospace,monospace;font-size:.72rem}.dev-atlas-ladder,.dev-atlas-flat{margin:0;padding:0;list-style:none}.dev-atlas-ladder li,.dev-atlas-flat li{opacity:.55;white-space:nowrap;align-items:baseline;gap:.8rem;display:flex}.dev-atlas-ladder li.reached,.dev-atlas-flat li{opacity:1}.dev-atlas-mark{opacity:.7;flex:none;min-width:8ch}.dev-atlas-opens{opacity:.75;margin-left:auto;padding-left:1.5rem}.dev-atlas-situation{flex:none;min-width:22ch}.dev-atlas-gates{opacity:.75;padding-left:.5rem}.dev-atlas em{opacity:.7;font-style:normal}.queue-total{border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;color:var(--muted);margin:0 0 .5rem;padding-bottom:.55rem;font-size:.85rem}.badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .45rem;font-size:.7rem;display:inline-block}.badge.running{border-color:var(--accent);color:var(--accent)}.badge.funding{border-color:var(--warn);color:var(--warn)}.funding-line{margin:.2rem 0 0;font-size:.8rem}.warning{color:var(--warn);margin-top:.4rem;font-size:.8rem}.error{border-color:var(--bad);color:var(--bad)}label{color:var(--muted);margin-bottom:.25rem;font-size:.8rem;display:block}input{font:inherit;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:8px;margin-bottom:.9rem;padding:.5rem .7rem;font-family:ui-monospace,monospace;font-size:.85rem}.lang{align-items:center;gap:.4rem;display:flex}.lang a{border:1px solid #0000;border-radius:6px;padding:.15rem .5rem;font-size:.8rem;text-decoration:none}.lang a.active{border-color:var(--border);background:var(--surface);color:var(--text)}.disclosure-chevron{opacity:.7;border-top:5px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;transition:transform .15s}[aria-expanded=true]>.disclosure-chevron{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.disclosure-chevron{transition:none}}.settings-menu{display:inline-flex;position:relative}.settings-trigger,.rail-toggle{width:auto;min-width:32px;min-height:32px;color:var(--muted);opacity:.7;background:0 0;border:1px solid #0000;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0}.settings-trigger{display:inline-flex}.settings-trigger:hover,.settings-trigger:focus-visible,.settings-trigger[aria-expanded=true],.rail-toggle:hover,.rail-toggle:focus-visible,.rail-toggle[aria-expanded=true]{opacity:1;border-color:var(--border);color:var(--text)}.settings-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:.7rem;width:min(20rem,100vw - 2rem);max-height:calc(100dvh - 5rem);display:flex;position:absolute;top:calc(100% + .5rem);left:0;overflow-y:auto;box-shadow:0 12px 32px #00000073}.settings-panel>.sound-toggle,.settings-panel>.lang,.settings-panel>.dev-launcher{align-self:flex-start}.settings-panel>.lang{border-top:1px solid var(--border);padding-top:.7rem}
.hint{cursor:help;position:relative}.hint>.badge{text-underline-offset:1px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.hint button:disabled{pointer-events:none}.hint-bubble{z-index:40;border:1px solid var(--border);background:var(--surface-hi);width:max-content;min-width:100%;max-width:min(20rem,100vw - 2rem);color:var(--text);text-align:left;text-transform:none;letter-spacing:normal;white-space:normal;border-radius:8px;padding:.5rem .65rem;font-size:.8rem;font-weight:400;line-height:1.45;position:absolute;bottom:calc(100% + .35rem);left:0;box-shadow:0 6px 16px #00000073}.hint-open{outline:1px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px;border-radius:6px}@media (hover:none){.hint-bubble{font-size:.85rem}}
.push-settings{flex-direction:column;gap:.6rem;display:flex}.push-settings h2{text-transform:none;letter-spacing:normal;color:var(--text);align-items:center;gap:.4rem;margin:0;font-size:.95rem;display:flex}.push-toggle-icon{color:var(--accent);font-size:.7rem}.push-settings p{margin:0;font-size:.85rem;line-height:1.4}.push-settings>button{width:100%;min-height:44px}.push-topics{border:0;border-top:1px solid var(--border);flex-direction:column;gap:.1rem;margin:0;padding:.6rem 0 0;display:flex}.push-topics legend{color:var(--muted);padding:0;font-size:.8rem}.push-topics label{cursor:pointer;align-items:center;gap:.6rem;min-height:44px;font-size:.9rem;display:flex}.push-topics input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);flex:none}@media (hover:hover){.push-topics label:hover{color:var(--accent)}}@media (max-width:1000px){.settings-panel{inset:auto calc(.75rem + var(--tabbar-width)) calc(.75rem + var(--tabbar-height)) .75rem;z-index:11;width:auto;max-height:calc(100dvh - var(--tabbar-height) - 1.5rem);position:fixed;overflow-y:auto}}
.research-lab{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.research-current{margin-top:.75rem;margin-bottom:.75rem}.domain-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border:1px solid var(--border);border-radius:999px;align-self:flex-start;margin-bottom:.4rem;padding:.1rem .5rem;font-size:.7rem}.building-card.locked>*{opacity:.62}
.planet-card{grid-template-columns:minmax(0,280px) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}@media (max-width:700px){.planet-card{grid-template-columns:1fr}}.planet-illustration{aspect-ratio:12/7;border-radius:var(--radius);background:var(--surface-hi);border:1px solid var(--border);position:relative;overflow:hidden}.planet-illustration img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.planet-illustration .planet-layer{transform-origin:50%;--layer-tone-saturation:1;--layer-tone-brightness:1;--layer-tone-contrast:1;--layer-depth-saturation:1;--layer-depth-brightness:1;--layer-depth-contrast:1;--layer-depth-blur:0px;filter:saturate(var(--layer-tone-saturation)) brightness(var(--layer-tone-brightness)) contrast(var(--layer-tone-contrast)) saturate(var(--layer-depth-saturation)) brightness(var(--layer-depth-brightness)) contrast(var(--layer-depth-contrast)) blur(var(--layer-depth-blur))}.planet-layer[data-layer-tone=support]{--layer-tone-saturation:.82;--layer-tone-contrast:.93}.planet-layer[data-layer-tone=echo]{--layer-tone-saturation:.5;--layer-tone-brightness:.94;--layer-tone-contrast:.88}.planet-layer[data-layer-plane=middle]{--layer-depth-saturation:.86;--layer-depth-brightness:1.05;--layer-depth-contrast:.86;--layer-depth-blur:.14px}.planet-layer[data-layer-plane=far]{--layer-depth-saturation:.58;--layer-depth-brightness:1.14;--layer-depth-contrast:.66;--layer-depth-blur:.45px}.planet-views{gap:.6rem;min-width:0;display:grid}@media (max-width:700px){.planet-views{grid-template-columns:1fr 1fr;gap:.5rem}}.planet-view{border-radius:var(--radius);cursor:zoom-in;background:0 0;border:none;width:100%;padding:0;display:block;position:relative}@media (hover:hover){.planet-view:hover .planet-illustration{border-color:var(--accent)}}.planet-view:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.planet-view-hint{border:1px solid color-mix(in srgb, var(--text) 20%, transparent);background:color-mix(in srgb, var(--bg) 55%, transparent);color:var(--text);pointer-events:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;display:flex;position:absolute;top:.35rem;right:.35rem}.planet-viewer{gap:.6rem;width:min(100%,1100px,171.429dvh - 13.7143rem);display:grid}.planet-viewer .planet-illustration img{object-fit:contain}.planet-viewer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.planet-viewer-registers{gap:.4rem;display:flex}.planet-viewer-registers button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--text)}.planet-viewer-bar button{min-height:44px;padding-inline:.9rem}.planet-body{min-width:0}.trait-list{border-top:1px solid var(--border);gap:.5rem;padding-top:.55rem;display:grid}.trait{gap:.1rem;font-size:.85rem;display:grid}.trait-name{color:var(--accent);flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.trait.vestige{border-left:2px solid var(--trace);padding-left:.5rem}.trait.vestige .trait-name{color:var(--text)}.trait-effect{flex-wrap:wrap;gap:.15rem .75rem;margin-top:.1rem;font-size:.8rem;display:flex}.trait-unlock{color:var(--good)}.cost-item.missing{cursor:help;text-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cost-line[title]{cursor:help}.closed-note{color:var(--muted);border-left:2px solid var(--border);margin:.5rem 0 0;padding-left:.6rem;font-size:.8rem;font-style:italic}.outcome-note{color:var(--warn);margin-top:.35rem;font-size:.75rem;display:block}.pending-level{color:var(--accent)}.factor-up{color:var(--good)}.factor-down{color:var(--warn)}.tree-intro{margin:0 0 .9rem;font-size:.8rem}.tree-filters{flex-wrap:wrap;align-items:center;gap:0 1.1rem;display:flex}.tree-filter{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.8rem;display:flex}.tree-filter input{width:18px;height:18px;accent-color:var(--accent);flex:none}.tree-branch{margin-bottom:1.1rem}.tree-branch-head{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.92rem;display:flex}.tree-cell{min-width:0;margin-top:.5rem}.tree-branch.lost{opacity:.55}.tree-children{border-left:2px solid var(--border);margin:0;padding-left:.7rem;list-style:none}.tree-branch.vestige .tree-children{border-left-color:var(--trace)}.tree-node{margin-top:.15rem}.tree-fork.paired>.tree-node,.tree-fork.paired>.tree-cell>.tree-node{border:1px solid var(--border);border-radius:8px;min-width:0;padding-bottom:.3rem}@media (min-width:1001px){.tree-fork.paired{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));align-items:start;gap:.5rem;display:grid}.tree-fork.paired>.tree-node,.tree-fork.paired>.tree-cell{margin-top:0}.tree-fork.paired>.fork-note{grid-column:1/-1}}.tree-label{text-align:left;width:100%;min-height:44px;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.3rem .5rem;display:flex}.tree-label:hover{border-color:var(--border);background:var(--surface-hi)}.tree-name{min-width:0}.tree-state{margin-left:auto;font-size:.72rem}.tree-state.ready{color:var(--good)}.tree-state.running{color:var(--accent)}.tree-state.locked,.tree-state.held,.tree-state.reachable{color:var(--muted)}.tree-state.vestige{color:var(--trace)}.tree-state.closed,.tree-state.lost{color:var(--warn)}.tree-directive.closed .tree-label .tree-name{color:var(--muted);text-decoration:line-through}.tree-outcomes{margin:0 0 .3rem;padding-left:1rem;list-style:none}.tree-outcome{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:.78rem;display:flex}.tree-chance{font-variant-numeric:tabular-nums;min-width:2.8rem}.tree-opens{color:var(--accent)}.tree-forecloses,.outcome-forecloses{color:var(--warn);margin:.1rem 0 .25rem;padding-left:.5rem;font-size:.73rem;display:block}.tree-fork.paired>.fork-note{margin:.3rem 0 0;padding-left:0}.directive-card{padding-top:.9rem}.building-card.focused{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.revelation-track{border-left:2px solid var(--trace)}.revelation-rungs{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;margin:.5rem 0 .6rem;padding:0;font-size:.78rem;list-style:none;display:flex}.revelation-rungs .rung{color:var(--muted);align-items:center;gap:.4rem;display:flex}.revelation-rungs .rung:before{content:"";border:1px solid var(--border);border-radius:50%;width:.45rem;height:.45rem}.revelation-rungs .rung:not(:last-child):after{content:"";background:var(--border);width:.9rem;height:1px}.revelation-rungs .rung-label{width:auto;min-height:32px;color:inherit;font:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;margin:0 -.3rem;padding:0 .3rem;display:inline-flex}.revelation-rungs button.rung-label{cursor:pointer}@media (hover:hover){.revelation-rungs button.rung-label:hover{background:color-mix(in srgb, var(--trace) 16%, transparent)}}.revelation-rungs .rung.reached{color:var(--trace)}.revelation-rungs .rung.reached:before{background:var(--trace);border-color:var(--trace)}.revelation-rungs .rung.current{font-weight:600}.revelation-rungs .rung.open{color:var(--text)}.revelation-rungs .rung.open .rung-label{background:color-mix(in srgb, var(--trace) 22%, transparent)}.revelation-next{border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-top:.6rem;padding-top:.55rem;font-size:.82rem;display:flex}.revelation-steps{flex-wrap:wrap;align-items:center;gap:.35rem .55rem;margin:0;padding:0;list-style:none;display:flex}.revelation-steps>li{flex-wrap:wrap;align-items:center;gap:.4rem .55rem;display:flex}.revelation-knowledge{color:var(--trace)}.revelation-links{flex-wrap:wrap;gap:.35rem;display:flex}.revelation-links button.ghost{min-height:32px}
.section-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.section-head h2{margin-bottom:.75rem}.tab-panel-journal>*{max-width:62rem}.journal{gap:.75rem;margin-top:1rem;display:grid}.journal-entry header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem .75rem;display:flex}.journal-entry header .journal-title{flex:8rem}.journal-source{border:1px solid var(--border);color:var(--muted);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;flex:none;padding:.05rem .4rem;font-size:.65rem}.journal-source.alert{border-color:var(--warn);color:var(--warn)}.journal-filters{scrollbar-width:none;gap:.35rem;margin-top:.75rem;display:flex;overflow-x:auto}.journal-filters::-webkit-scrollbar{display:none}.journal-filters .ghost{white-space:nowrap;flex:none;align-items:center;gap:.3rem;min-height:44px;display:inline-flex}.journal-filters .ghost.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.journal-filter-count{opacity:.6;font-variant-numeric:tabular-nums}.journal-more{justify-content:space-between;align-items:center;gap:.75rem;margin:.75rem 0 0;font-size:.8rem;display:flex}.journal-more .ghost{min-height:44px}.journal-title{color:var(--muted);font-weight:400}.journal-entry.unread .journal-title{color:var(--text);font-weight:700}.journal-entry.unread{border-left:2px solid var(--accent);margin-left:-.6rem;padding-left:.6rem}.journal-body{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.journal-granted{flex-wrap:wrap;align-items:baseline;gap:.35rem;margin:.35rem 0 0;font-size:.8rem;display:flex}.journal-action{margin:.35rem 0 0;font-size:.8rem}.trait-chip{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:.05rem .45rem;font-size:.75rem;display:inline-block}.trait-chip.opens{background:color-mix(in srgb, var(--accent) 16%, transparent);width:auto;color:var(--accent);font:inherit;font-size:.75rem;line-height:inherit;cursor:pointer;border-radius:999px;min-height:0;padding:.05rem .45rem;text-decoration:none;position:relative}.trait-chip.opens:after{content:"";position:absolute;inset:-.75rem -.35rem}.trait-chip.opens:hover,.trait-chip.opens:focus-visible{background:color-mix(in srgb, var(--accent) 30%, transparent)}.journal-since{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.6rem;margin:0;font-size:.68rem;display:flex}.journal-since:before,.journal-since:after{content:"";background:color-mix(in srgb, var(--accent) 45%, transparent);flex:.5rem;height:1px}
main.colony-screen{grid-template-rows:minmax(0,1fr);grid-template-columns:260px minmax(0,1fr);align-items:stretch;gap:0 1.5rem;max-width:2400px;height:100dvh;padding:1rem 1rem 0;display:grid;overflow:hidden}@media (min-width:1600px){main.colony-screen{grid-template-columns:300px minmax(0,1fr)}}.colony-side{flex-direction:column;grid-column:1;min-width:0;min-height:0;display:flex}.colony-side>.topbar{flex:none;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.5rem .6rem;margin-bottom:.75rem;display:grid}.colony-side>.topbar>.colony-globe{grid-area:1/1}.colony-side>.topbar>.topbar-title{grid-area:1/2}.colony-side>.topbar>.settings-menu{grid-area:1/3}.colony-side>.topbar>.rail-toggle{grid-area:1/4}.colony-identity{align-items:baseline;gap:.35rem;min-width:0;display:flex}.colony-side>.topbar h1{overflow-wrap:anywhere;min-width:0;font-size:1.15rem;line-height:1.2}.colony-main{flex-direction:column;grid-column:2;min-width:0;min-height:0;display:flex}.rail{flex:auto;align-content:start;gap:.75rem;min-height:0;padding-bottom:1rem;display:grid;overflow-y:auto}.rail-toggle{display:none}.rail-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .8rem}.rail-block h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 .6rem;font-size:.7rem;font-weight:600}.rail-pending{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 8%, var(--surface))}.rail-pending h3{color:var(--warn)}.rail-pending-line{min-height:44px;color:var(--text);flex-direction:column;justify-content:center;gap:.1rem;padding:.25rem 0;text-decoration:none;display:flex}.rail-pending-line+.rail-pending-line{border-top:1px solid var(--border)}.rail-pending-name{font-size:.85rem;font-weight:600}.rail-pending-what{color:var(--muted);font-size:.75rem}.rail-horizon{color:var(--muted);flex-direction:column;gap:.1rem;margin:0;padding:0 .2rem;font-size:.78rem;display:flex}.rail-horizon.loss{color:var(--warn)}.rail-horizon-cause{opacity:.85;font-size:.72rem}.absence{border:1px solid var(--accent);border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 8%, var(--surface));flex:none;margin-bottom:.75rem;padding:.6rem .7rem}.absence-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.absence-head h3{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0;font-size:.7rem;font-weight:600}.absence-head h3 .subtle{white-space:nowrap;letter-spacing:0;text-transform:none;color:var(--muted);margin-left:.35rem;font-weight:400}.absence-dismiss{width:44px;min-height:44px;color:var(--muted);background:0 0;border:none;flex:none;margin:-.6rem -.7rem -.4rem 0;padding:0;font-size:1.1rem;line-height:1}.absence-families{flex-wrap:wrap;gap:.35rem;margin-top:.5rem;display:flex}.absence-families .ghost{white-space:nowrap;flex:none;align-items:center;gap:.3rem;min-height:44px;display:inline-flex}.absence-partial{margin:.5rem 0 0;font-size:.72rem}.next-step{flex:none;margin-bottom:.75rem;position:relative}.next-step-action{text-align:left;min-height:44px;padding:.5rem 2.6rem .55rem .6rem;display:block}.next-step-title{font-size:.82rem;font-weight:600;display:block}.next-step-body{color:var(--muted);margin-top:.15rem;font-size:.75rem;line-height:1.35;display:block}.next-step-go{color:var(--accent);margin-top:.2rem;font-size:.72rem;font-weight:600;display:block}.next-step-go:after{content:" ›"}div.next-step-action{border:1px solid var(--border);background:var(--surface);border-radius:8px}.next-step-go.here:after{content:none}.next-step-dismiss{width:44px;min-height:44px;color:var(--muted);background:0 0;border:none;padding:0;font-size:1.1rem;line-height:1;position:absolute;top:0;right:0}.rail-queue-open{display:none}.pending-work{margin:0;padding:0;list-style:none}.pending-work-row{min-height:44px;color:var(--text);text-align:left;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;gap:.1rem;padding:.25rem 0;display:flex}@media (hover:hover){.pending-work-row:hover{background:var(--surface-hi)}}.modal.pending-work-sheet{border-color:var(--border);width:min(28rem,100%)}.pending-work-sheet .pending-work-name{font-size:.95rem}.pending-work>li+li .pending-work-row{border-top:1px solid var(--border)}.pending-work-name{font-size:.85rem;font-weight:600}.pending-work-detail,.pending-work-time{color:var(--muted);font-size:.75rem}.pending-work-time strong{color:var(--text);font-weight:600}.rail-resource+.rail-resource,.rail-group+.rail-group{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.6rem}.rail-highlight{background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 12%, transparent), 0 0 0 6px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:6px}.rail-line{font-variant-numeric:tabular-nums;justify-content:space-between;align-items:baseline;gap:.5rem;min-width:0;display:flex}.rail-line>:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rail-line>:last-child{flex:none}.rail-amount{font-variant-numeric:tabular-nums;font-size:1.15rem}.rail-cap{color:var(--muted);font-size:.75rem}.rail-figure{font-variant-numeric:tabular-nums;font-size:.85rem}.rail-note{margin:.3rem 0 0;font-size:.75rem;line-height:1.35}.rail-stock{flex:none;align-items:baseline;gap:.3rem;display:inline-flex}.rail-gauge-line{align-items:center}.rail-gauge-line .meter{flex:auto;min-width:0;margin-top:0}.tabbar{z-index:2;background:var(--bg);border-bottom:1px solid var(--border);scrollbar-width:none;flex:none;gap:.35rem;padding:0 0 .75rem;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tab{border-color:var(--border);width:auto;color:var(--muted);background:0 0;flex:none;align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.tab.active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 15%, transparent)}.tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden}.tab-pill{background:var(--accent);min-width:1.25rem;color:var(--bg);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:0 .3rem;font-size:.7rem;font-weight:700}.tab-countdown{border:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;flex:none;padding:0 .35rem;font-size:.7rem}.tab.active .tab-countdown{border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--text)}.tab-panel{flex:auto;min-height:0;padding-bottom:2rem;overflow-y:auto}.tab-panel>h2:first-child,.tab-panel>.section-head:first-child h2{margin-top:1.25rem}.cost-item{align-items:center;gap:.3rem;display:inline-flex}.colony-screen .grid-buildings{grid-template-columns:repeat(auto-fill,minmax(258px,1fr))}.toasts{z-index:10;gap:.5rem;width:min(360px,100vw - 2rem);display:grid;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--surface-hi);border:1px solid var(--accent);border-radius:var(--radius);padding:.7rem .85rem;animation:.18s ease-out toast-in;box-shadow:0 8px 24px #00000073}.toast.journal-toast{cursor:pointer}.toast.error{border-color:var(--bad)}.toast-title{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.9rem;font-weight:600;display:flex}.toast-body{color:var(--muted);margin:.25rem 0 0;font-size:.8rem}.toast-action{color:var(--accent);margin:.35rem 0 0;font-size:.75rem}.toast-close{width:auto;color:var(--muted);background:0 0;border:none;flex:none;padding:0 .25rem;font-size:1rem;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}
.impact-badge{color:var(--muted);border-top:1px solid var(--border);margin:0 0 .6rem;padding:.3rem 0;font-size:.76rem;line-height:1.35}.impact-badge.blocking{border:1px solid color-mix(in srgb, var(--warn) 45%, transparent);background:color-mix(in srgb, var(--warn) 10%, transparent);color:var(--warn);border-radius:8px;padding:.35rem .5rem}.modal-backdrop{z-index:60;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{border-color:var(--warn);width:min(30rem,100%);max-height:min(85vh,44rem);overflow-y:auto}.modal h3{margin:0 0 .6rem;font-size:1rem}.impact-warnings{color:var(--warn);margin:0 0 .8rem;padding-left:1.1rem;font-size:.85rem}.impact-row{font-variant-numeric:tabular-nums;justify-content:space-between;gap:.75rem;font-size:.85rem;display:flex}.impact-worse{color:var(--bad)}.impact-better{color:var(--good)}.impact-note{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.modal-actions{gap:.6rem;margin-top:1rem;display:flex}.modal-actions button.secondary{border-color:var(--border);background:0 0}@media (hover:hover){.modal-actions button.secondary:hover:not(:disabled){background:var(--surface-hi)}}
.arrival-backdrop{background:color-mix(in srgb, var(--bg) 94%, transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.arrival{border-color:var(--border);width:min(42rem,100%);padding:1.2rem 1.3rem 1rem}.arrival-scenario{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 .5rem;font-size:.7rem}.modal.arrival h3{margin:0 0 .7rem;font-size:1.15rem;line-height:1.3}.modal.arrival h3:focus-visible{box-shadow:-.6rem 0 0 -.45rem var(--accent);outline:none}.arrival-visual{aspect-ratio:16/9;border:1px solid var(--border);background:var(--surface-hi);border-radius:10px;margin:0 0 .9rem;overflow:hidden}.arrival-visual img{object-fit:cover;width:100%;height:100%;display:block}.arrival-prose p{color:var(--text);margin:0 0 .8rem;font-size:.92rem;line-height:1.6}.arrival-prose p:last-child{margin-bottom:0}.arrival-naming{border-top:1px solid var(--border);margin:1rem 0 .9rem;padding-top:.9rem}.arrival-naming label{color:var(--text);margin-bottom:.4rem;font-size:.85rem}.arrival-naming input{min-height:44px;margin-bottom:0;font-family:inherit;font-size:1rem}.arrival-choices{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.arrival-choice{text-align:left;border-color:var(--border);background:var(--surface-hi);width:100%;min-height:44px;padding:.7rem .85rem;display:block}.arrival-choice-name{font-size:.95rem;font-weight:600;display:block}.arrival-choice-desc{color:var(--muted);margin-top:.2rem;font-size:.82rem;line-height:1.45;display:block}.arrival-choice-effect{margin-top:.4rem;display:block}@media (hover:hover){.arrival-choice:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}}.arrival-final{color:var(--warn);margin:.9rem 0 0;font-size:.8rem}.arrival-confirm{flex-direction:column;gap:.55rem;margin-top:1.1rem}.arrival-confirm button{width:100%;min-height:44px;font-size:.95rem}.arrival-footer{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.1rem;display:flex}.arrival-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.arrival-actions{gap:.5rem;display:flex}.arrival-actions button.ghost{min-height:44px;padding:.5rem 1.1rem;font-size:.9rem}@media (min-width:1001px){.modal.arrival{flex-direction:column;width:min(46rem,100%);max-height:92vh;display:flex}.modal.arrival>:not(.arrival-visual){flex:none}.arrival-visual{flex:0 auto;min-height:5rem}.arrival-prose{max-width:42rem}.arrival-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1001px) and (max-height:865px){.modal.arrival:has(.arrival-choices) .arrival-visual{display:none}.arrival-naming{margin:.7rem 0 .6rem;padding-top:.7rem}.arrival-final{margin-top:.6rem}.arrival-footer{margin-top:.8rem}}@media (max-width:1000px){.arrival-backdrop{align-items:stretch;padding:0}.modal.arrival{border:none;border-radius:0;flex-direction:column;width:100%;max-height:100%;padding:1.1rem 1rem 0;display:flex}.arrival-visual{border-left:none;border-right:none;border-radius:0;margin-left:-1rem;margin-right:-1rem}.modal.arrival>:not(.arrival-footer){flex:none}.arrival-footer{padding:.7rem 0 calc(.7rem + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);margin-top:auto;position:sticky;bottom:0}}
.building-sheet-backdrop{z-index:58;align-items:flex-start;padding-block:clamp(.75rem,4vh,2.5rem);overflow-y:auto}.building-sheet{background:0 0;border:none;max-height:none;margin-block:auto;padding:0;overflow:visible}.building-sheet:focus{outline:none}.building-sheet .building-card{min-height:auto}.building-sheet-actions{gap:.5rem;margin-top:.6rem;display:flex}.building-sheet-actions .ghost{flex:1 1 0;min-height:44px}.dismantle-dialog{width:min(92vw,32rem)}.dismantle-dialog .modal-actions{gap:.6rem;margin-top:1rem;display:flex}
.site-sheet{border-color:var(--border);background:var(--surface);padding:1rem}.site-sheet:focus{outline:none}.site-sheet-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.site-sheet-head h2{margin:0;font-size:1rem}.site-sheet-head p{margin:.2rem 0 0;font-size:.82rem}.site-choices{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.site-choice{border:1px solid var(--border);background:var(--surface-hi);width:100%;min-height:44px;color:inherit;text-align:left;cursor:pointer;border-radius:10px;align-items:center;gap:.7rem;padding:.4rem .5rem;display:flex}.site-choice:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (hover:hover){.site-choice:hover{border-color:var(--accent)}}.site-choice .illustration{background:var(--surface);border:none;border-radius:6px;flex:none;width:52px;height:40px;margin:0;overflow:hidden}.site-choice-body{flex-direction:column;gap:.15rem;min-width:0;display:flex}.site-choice-name{font-size:.9rem;font-weight:600}.site-choice .cost-line{font-size:.78rem}
.ladder-modal{border-color:var(--border);width:min(46rem,100%)}.ladder-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.ladder-close{min-width:44px;min-height:44px;color:var(--muted);border-color:#0000;flex:none;margin:-.65rem -.5rem 0 0;padding:0;font-size:1rem;line-height:1}@media (hover:hover){.ladder-close:hover{color:var(--text);border-color:var(--border)}}.ladder-intro{margin:0 0 .8rem;font-size:.8rem}.ladder-scroll{overflow-x:auto}.ladder-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.82rem}.ladder-table th,.ladder-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.3rem .5rem}.ladder-table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.72rem;font-weight:600}.ladder-table tbody th{white-space:nowrap;font-weight:600}.ladder-row.here{background:var(--surface-hi)}.ladder-row.here>th{box-shadow:inset 3px 0 0 var(--accent)}.ladder-row.queued>th{box-shadow:inset 3px 0 0 color-mix(in srgb, var(--accent) 40%, transparent)}.ladder-mark{white-space:normal;color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:500;display:block}.ladder-cost,.ladder-effects{flex-wrap:wrap;gap:.15rem .6rem;display:flex}.ladder-price,.ladder-effect{white-space:nowrap;align-items:center;gap:.2rem;display:inline-flex}.ladder-time{white-space:nowrap}.ladder-note{color:var(--muted);margin:.7rem 0 0;font-size:.8rem}.ladder-open{width:auto;color:inherit;font:inherit;text-underline-offset:.2em;cursor:pointer;background:0 0;border:none;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.ladder-open:after{content:"";position:absolute;inset:-.85rem -.4rem}@media (hover:hover){.ladder-open:hover{color:var(--text);text-decoration-style:solid}}@media (max-width:640px){.ladder-table{font-size:.76rem}.ladder-table thead{display:none}.ladder-table,.ladder-table tbody{display:block}.ladder-row{border-bottom:1px solid var(--border);grid-template-columns:4.2rem 1fr;align-items:baseline;column-gap:.3rem;padding:.3rem 0;display:grid}.ladder-table th,.ladder-table td{border:none;padding:0}.ladder-row>th{grid-row:1/span 2;padding-left:.4rem}}
.settings-panel>.settings-feedback{border-top:1px solid var(--border);color:var(--muted);text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;border-radius:0;align-self:flex-start;padding-top:.7rem;font-size:.85rem}@media (hover:hover){.settings-panel>.settings-feedback:hover{color:var(--fg)}}.modal.feedback-sheet{border-color:var(--border);width:min(34rem,100%)}.feedback-sheet .subtle{margin:0 0 .8rem;font-size:.85rem}.feedback-choices-label{color:var(--muted);margin:0 0 .35rem;font-size:.8rem}.feedback-choices{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.feedback-choice-hint{color:var(--muted);margin:-.4rem 0 .8rem;font-size:.8rem}.feedback-choice{border:1px solid var(--border);border-radius:var(--radius);min-height:44px;color:var(--muted);background:0 0;flex:7rem;font-size:.9rem}.feedback-choice.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--fg)}@media (hover:hover){.feedback-choice:hover:not(.selected){background:var(--surface-hi)}}.feedback-body{resize:vertical;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-hi);width:100%;min-height:8rem;color:var(--fg);font:inherit;padding:.6rem;font-size:max(16px,1rem);line-height:1.5}.feedback-body:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.feedback-attach{align-items:center;gap:.6rem;margin-top:.7rem;display:flex}.feedback-file{border:1px dashed var(--border);border-radius:var(--radius);min-height:44px;color:var(--muted);cursor:pointer;align-items:center;padding:0 .8rem;font-size:.85rem;display:inline-flex}.feedback-file input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.feedback-file:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.feedback-file:hover{color:var(--fg);border-style:solid}}.feedback-warning{color:var(--warn);margin:.7rem 0 0;font-size:.85rem}.feedback-sent{color:var(--good);margin:0 0 .4rem;font-size:.9rem}
@media (max-width:1000px){:root{--tabbar-height:calc(48px + .8rem + env(safe-area-inset-bottom));--tabbar-width:0px}.toasts{bottom:calc(.75rem + var(--tabbar-height))}.rail{background:var(--bg);gap:.4rem}.rail-block{padding:.5rem .6rem}.rail .resource-name,.rail .resource-rate,.rail .rail-figure{font-size:.78rem}.rail .rail-amount{font-size:1rem}.rail-block h3,.rail-note.subtle{display:none}.rail-queue-open{align-items:baseline;gap:.4rem;min-height:44px;font-size:.78rem;display:flex}.rail-queue-title{font-weight:600}.rail-queue-count{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);overflow:hidden}.rail-queue-countdown{font-variant-numeric:tabular-nums;margin-left:auto}.rail-queue .pending-work{display:none}.rail-resources{gap:.6rem;display:grid}.rail-resources .rail-line:first-child{flex-direction:column;align-items:flex-start;gap:0}.rail-resources .rail-cap{display:none}.rail-note{margin-top:.25rem;font-size:.7rem;line-height:1.25}.rail-group{flex-wrap:wrap;gap:0 .75rem;display:flex}.rail-group>.rail-line{flex:1 1 0;min-width:0}.rail-group>.rail-note{flex:1 0 100%}.rail-group+.rail-group{margin-top:.4rem;padding-top:.4rem}.absence{margin-bottom:.5rem;padding:.5rem .55rem}.absence-dismiss{margin:-.5rem -.55rem -.3rem 0}.absence-families{gap:.25rem;margin-top:.4rem}.absence-families .ghost{padding:.2rem .4rem;font-size:.72rem}.next-step{margin-bottom:.5rem}.next-step-action{padding:.45rem 2.4rem .5rem .5rem}.next-step-title{font-size:.78rem}.next-step-body{font-size:.72rem}.tabbar{z-index:4;padding:.4rem .6rem calc(.4rem + env(safe-area-inset-bottom));background:var(--surface);border-bottom:none;gap:.3rem;margin:0;position:fixed;overflow-x:visible}.tabbar .tab{text-overflow:ellipsis;white-space:nowrap;flex-direction:column;flex:1 1 0;justify-content:center;gap:0;min-width:0;min-height:48px;padding:0 .25rem;font-size:.8rem;overflow:hidden}.tabbar .tab:nth-child(7)~.tab{padding:0 .15rem;font-size:.72rem}.tabbar:has(.tab:nth-child(7)) .tab{padding:0 .15rem;font-size:.72rem}.tabbar .tab-pill,.tabbar .tab-countdown{padding:0 .25rem;font-size:.62rem;line-height:1.2}.tabbar .tab-countdown{border:none}.colony-side>.topbar{gap:.5rem;margin-bottom:.6rem;padding-bottom:.6rem}.colony-side>.topbar h1{font-size:1.2rem}.colony-side>.topbar .subtle{font-size:.75rem}button:not(.ghost){min-height:44px}.lang a{align-items:center;min-height:44px;display:inline-flex}.sound-toggle,.settings-trigger,.rail-toggle,.colony-picker-trigger{min-height:44px}.settings-trigger,.rail-toggle{min-width:44px}.rail-toggle{display:inline-flex}.colony-side>.topbar{grid-template-columns:auto minmax(0,1fr) auto auto}.colony-screen:not(.rail-open) .colony-side>.topbar{gap:.4rem;margin-bottom:.4rem;padding-bottom:.5rem}.colony-screen:not(.rail-open) .colony-side>.topbar .subtle,.colony-screen:not(.rail-open) .settings-menu{display:none}.colony-screen:not(.rail-open) .colony-side>.topbar h1{font-size:1rem}.colony-screen:not(.rail-open) .topbar .colony-globe{width:34px;height:34px}.colony-screen:not(.rail-open) .topbar .colony-globe.designated{width:44px;height:44px}.colony-screen:not(.rail-open) .rail-block{background:0 0;border:none;padding:0}.colony-screen:not(.rail-open) .rail{gap:.5rem}.colony-screen:not(.rail-open) .rail-note.warning{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.rail-open .colony-side{z-index:20;background:var(--bg);padding:.6rem .75rem;position:fixed;overflow-y:auto;box-shadow:0 0 32px #0000008c}.rail-open .rail{flex:none;overflow:visible}}@media (max-width:1000px) and (orientation:portrait){main.colony-screen{padding:.6rem .75rem var(--tabbar-height);grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);gap:0}.colony-main{grid-area:2/1}.colony-side{border-bottom:1px solid var(--border);grid-area:1/1;margin-bottom:.4rem;padding-bottom:.4rem}.colony-side>.rail{flex:none;padding-bottom:0;overflow:visible}.colony-side>.topbar{align-items:center;gap:.5rem}.rail-resources{grid-template-columns:repeat(3,minmax(0,1fr))}.rail-resources .rail-resource+.rail-resource{border-top:none;border-left:1px solid var(--border);margin-top:0;padding-top:0;padding-left:.6rem}.tabbar{border-top:1px solid var(--border);inset:auto 0 0}.rail-open .colony-side{border-bottom:1px solid var(--border);max-height:88dvh;margin:0;inset:0 0 auto}}@media (max-width:1000px) and (orientation:landscape){:root{--tabbar-height:0px;--tabbar-width:calc(clamp(3.5rem, 8vw, 5rem) + env(safe-area-inset-right));--rail-width:clamp(9rem, 24vw, 13rem)}main.colony-screen{grid-template-columns:var(--rail-width) minmax(0, 1fr);padding:0 var(--tabbar-width) 0 0;gap:0;max-width:none}.colony-side{border-right:1px solid var(--border);padding:.45rem .5rem 0}.colony-side>.rail{padding-bottom:calc(.6rem + var(--tabbar-height))}.colony-side>.topbar{align-items:center;gap:.4rem .5rem;padding-bottom:.45rem}.colony-side .topbar-title h1{font-size:.85rem;line-height:1.15}.colony-screen:not(.rail-open) .topbar .colony-globe{width:28px;height:28px}.colony-system{letter-spacing:.08em;font-size:.62rem}.rail-resources{grid-template-columns:minmax(0,1fr);gap:.3rem}.rail-resources .rail-resource+.rail-resource{border-top:1px solid var(--border);margin-top:.35rem;padding-top:.35rem}.tabbar{width:var(--tabbar-width);padding:.35rem .3rem;padding-right:calc(.3rem + env(safe-area-inset-right));border-top:none;border-left:1px solid var(--border);grid-template-columns:minmax(0,1fr);align-content:safe center;gap:.25rem;display:grid;inset:0 0 0 auto;overflow-y:auto}.tabbar .tab{min-height:44px;padding:0 .15rem;font-size:.72rem}.toasts{right:calc(.75rem + var(--tabbar-width));bottom:.75rem}.world-stage{border:none;border-radius:0}.world-stage-shell{gap:.25rem;margin-top:0;padding-bottom:.25rem}.tab-panel{padding:0 .75rem 1.5rem}.rail-open .colony-side{width:min(20rem,60vw);inset:0 auto 0 0}}
.colony-picker{flex:none;display:inline-flex;position:relative}.colony-picker-trigger{width:auto;min-height:24px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;flex:none;align-items:center;gap:.25rem;padding:0 .3rem;display:inline-flex}.colony-picker-trigger:hover,.colony-picker-trigger:focus-visible,.colony-picker-trigger[aria-expanded=true]{border-color:var(--border);color:var(--text)}.colony-picker-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:max-content;min-width:12rem;max-width:min(18rem,100vw - 2rem);margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 12px 32px #00000073}.colony-picker-panel a{min-height:44px;color:var(--muted);border-radius:8px;align-items:center;gap:.4rem;padding:0 .6rem;font-size:.9rem;text-decoration:none;display:flex}.colony-picker-panel a.active{color:var(--text);background:color-mix(in srgb, var(--accent) 15%, transparent)}@media (hover:hover){.colony-picker-panel a:hover{background:var(--surface-hi);color:var(--text)}}.colony-picker-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.colony-switch-pending{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px;margin-left:.4rem}.current-location-pill{border:1px solid color-mix(in srgb, var(--good) 55%, var(--border));min-height:1.45rem;color:var(--good);background:color-mix(in srgb, var(--good) 10%, transparent);letter-spacing:.02em;border-radius:999px;align-items:center;margin-top:.3rem;padding:.12rem .45rem;font-size:.68rem;font-weight:700;line-height:1.15;display:inline-flex}.current-location-pill:before{content:"";background:var(--good);width:.38rem;height:.38rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 18%, transparent);border-radius:50%;margin-right:.3rem}.current-location-pill.compact{min-height:1.25rem;margin-top:.25rem;padding-block:.08rem;font-size:.62rem}.galaxy-system-list{align-content:start;gap:.4rem;height:clamp(460px,62vh,640px);margin:0;padding:.75rem;list-style:none;display:grid;overflow-y:auto}.galaxy-system-list button{text-align:left;background:0 0;border-color:#0000;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:52px;display:grid}.galaxy-system-list button.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.galaxy-system-list button>span:nth-child(2){min-width:0}.system-glyph{width:2.35rem;height:2.35rem;color:var(--muted);flex:none;overflow:visible}.system-glyph-orbit{fill:none;stroke:currentColor;stroke-width:.8px;opacity:.3}.system-glyph-orbit.outer{opacity:.18}.system-glyph-star,.system-glyph-planet{fill:currentColor}.system-glyph.explored{color:var(--accent)}.system-glyph.owned,.system-glyph.current{color:var(--good)}.system-glyph-current{fill:color-mix(in srgb, var(--good) 8%, transparent);stroke:var(--good);stroke-width:1.2px;animation:1.8s ease-in-out infinite current-location-pulse}.system-glyph-marked{fill:none;stroke:var(--trace);stroke-width:1px;stroke-dasharray:2 2}.galaxy-system-list strong,.galaxy-system-list small{display:block}.galaxy-system-list small,.system-distance{color:var(--muted);font-size:.75rem}.system-distance{font-variant-numeric:tabular-nums}.inspector-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.68rem;display:block}.unknown-world{aspect-ratio:1;border:1px solid var(--border);width:5.5rem;color:var(--muted);background:radial-gradient(circle at 35% 30%, #8b9bb433, transparent 18%), radial-gradient(circle, var(--surface-hi), var(--bg));border-radius:50%;place-items:center;font-size:1.7rem;display:grid}@keyframes current-location-pulse{0%,to{opacity:1}50%{opacity:.42}}@media (prefers-reduced-motion:reduce){.system-glyph-current{animation:none}}.planet-description{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.25rem;font-size:.74rem;line-height:1.35;display:-webkit-box;overflow:hidden}.planet-vestige{border-left:2px solid var(--trace);flex-direction:column;align-items:flex-start;margin-top:.4rem;padding-left:.5rem;display:flex}.planet-vestige strong{color:var(--text);font-size:.82rem}.planet-vestige .planet-description{-webkit-line-clamp:none;display:block;overflow:visible}.planet-deposit{border-left:2px solid var(--deposit);flex-direction:column;align-items:flex-start;margin-top:.4rem;padding-left:.5rem;display:flex}.planet-deposit strong{color:var(--text);font-size:.82rem}.planet-deposit .planet-description{-webkit-line-clamp:none;display:block;overflow:visible}.planet-expected{border-left:2px solid var(--warn);color:var(--muted);margin-top:.4rem;padding-left:.5rem;font-size:.8rem}.planet-goto{border:1px solid color-mix(in srgb, var(--good) 45%, var(--border));background:color-mix(in srgb, var(--good) 8%, transparent);min-height:44px;color:var(--good);border-radius:8px;justify-content:center;align-items:center;padding:0 .6rem;font-size:.78rem;text-decoration:none;display:flex}.planet-goto:hover{border-color:var(--good);background:color-mix(in srgb, var(--good) 16%, transparent)}
.port{gap:1rem;margin-top:1.25rem;display:grid}.port-columns{align-items:start;gap:1rem;display:grid}@media (min-width:1001px){.port-columns{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.port-side{grid-area:1/2}.port-shipyard{grid-area:1/1}}.port-side{gap:1rem;display:grid}.port-section{margin:0}.port-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.6rem;display:flex}.port-head h2{align-items:center;gap:.5rem;margin:0;display:inline-flex}.port-count{border:1px solid var(--accent);background:var(--accent);min-width:1.6rem;color:var(--bg);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:.1rem .45rem;font-size:.75rem;font-weight:700;line-height:1.3}.port-count.empty{border-color:var(--border);color:var(--muted);background:0 0}.dock-tiles{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.dock-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:4rem minmax(0,1fr);align-items:center;gap:.6rem;padding:.6rem .7rem;display:grid}.dock-tile-sprite{filter:drop-shadow(0 6px 8px #00000073);width:4rem;height:auto}.dock-tile-body{gap:.1rem;min-width:0;display:grid}.dock-tile-count{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:700;line-height:1}.dock-tile-name{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;font-weight:600}.dock-tile-missions,.dock-tile-incoming{font-size:.78rem}.dock-tile-missions{color:var(--muted)}.dock-tile-incoming{color:var(--accent);font-variant-numeric:tabular-nums}.port-go{min-height:44px;margin-top:.75rem}.dock-pill{background:var(--accent);min-height:1.45rem;color:var(--bg);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;padding:.1rem .5rem;font-size:.75rem;font-weight:700;display:inline-flex}.port-shipyard{scroll-margin-top:1rem}.port-shipyard>summary{cursor:pointer;min-height:44px;margin-bottom:0;list-style:none}.port-shipyard>summary::-webkit-details-marker{display:none}.port-shipyard>summary:after{content:"⌄";color:var(--muted);align-self:center;line-height:1;transition:transform .16s}.port-shipyard[open]>summary:after{transform:rotate(180deg)}.port-shipyard>summary>small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;font-size:.75rem;overflow:hidden}.port-shipyard-body>.muted:first-child{margin-top:0}.ship-cards{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.ship-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.ship-card-visual{aspect-ratio:20/13;border-bottom:1px solid var(--border);background:var(--surface-hi);flex:none;position:relative}.ship-card-sprite{object-fit:contain;filter:drop-shadow(0 8px 10px #0000007a);width:calc(100% - 1.8rem);height:calc(100% - 1.3rem);position:absolute;inset:.65rem .9rem}.ship-card-body{flex-direction:column;flex:auto;gap:.3rem;min-width:0;padding:.7rem .85rem .85rem;display:flex}.ship-card-head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.ship-card-head h3{margin:0;font-size:.98rem}.ship-card-name.hint h3{text-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ship-card-stats{color:var(--muted);font-variant-numeric:tabular-nums;margin:0;font-size:.8rem}.ship-card-actions{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:auto;padding-top:.35rem;display:grid}.ship-card-actions button{width:100%;min-height:44px}.ship-card.locked .ship-card-visual,.ship-card.locked .ship-card-head,.ship-card.locked .ship-card-stats{opacity:.72}.locked-reason{color:var(--warn);margin:.5rem 0 0;font-size:.85rem}@media (max-width:520px){.ship-card-visual{max-height:10.5rem}}.compose{gap:.35rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.compose li{grid-template-columns:1fr auto auto;align-items:center;gap:.6rem;display:grid}.compose .share{all:unset;cursor:pointer;text-align:left;text-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.compose .share:focus-visible{outline-offset:2px;outline:2px solid}.compose .share[aria-pressed=true]{color:var(--accent);text-decoration-style:solid}.compose .share .check{margin-right:.35rem}.quantity-stepper{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-hi);align-items:stretch;height:44px;display:inline-flex;overflow:hidden}.quantity-stepper button{width:2.15rem;min-height:44px;color:var(--text);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.1rem;line-height:1;display:flex}.quantity-stepper button:first-child{border-right:1px solid var(--border)}.quantity-stepper button:last-child{border-left:1px solid var(--border)}.quantity-stepper button:disabled{opacity:.35;border-color:var(--border);background:0 0}.quantity-stepper input{width:2.5rem;min-height:44px;color:var(--text);text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield;background:0 0;border:none;border-radius:0;margin:0;padding:0}.quantity-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.quantity-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.row.missions{margin-bottom:.75rem}.row.missions .ghost.active{border-color:var(--accent);color:var(--text);background:color-mix(in srgb, var(--accent) 15%, transparent)}.sheet-backdrop{z-index:70;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overscroll-behavior:contain;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{overscroll-behavior:contain;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius) var(--radius) 0 0;width:min(34rem,100%);max-height:calc(100dvh - .75rem);box-shadow:0 -18px 48px color-mix(in srgb, var(--bg) 72%, transparent);border-bottom:0;grid-template-rows:auto minmax(0,1fr);margin:0;padding:0;display:grid;overflow:hidden}.sheet-head{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.sheet-head h2{margin:0}.sheet-head p{margin:.2rem 0 0}.sheet-close{flex-shrink:0;min-width:44px;min-height:44px;font-size:1.25rem;line-height:1}.sheet-body{overscroll-behavior:contain;min-height:0;padding:0 1rem;overflow-y:auto}.sheet-body>.muted:first-child{margin-top:1rem}.launch-intent{border:1px solid color-mix(in srgb, var(--accent) 48%, var(--border));border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 9%, var(--surface-hi));gap:.25rem;margin:1rem 0 .75rem;padding:.7rem .8rem;display:grid}.launch-intent strong{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.launch-intent p{color:var(--muted);margin:0;font-size:.85rem}.launch-intent .ghost{justify-self:start;margin-top:.35rem}.launch-intent.missing{border-color:color-mix(in srgb, var(--warn) 58%, var(--border));background:color-mix(in srgb, var(--warn) 8%, var(--surface-hi))}.launch-intent.missing strong{color:var(--warn)}.launch-intent.neutral{border-color:var(--border);background:var(--surface-hi)}.launch-intent.neutral strong{color:var(--muted)}.sheet .row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.sheet .row>button{width:auto}.sheet-actions{z-index:2;padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -10px 24px color-mix(in srgb, var(--bg) 38%, transparent);margin:1rem -1rem 0;position:sticky;bottom:0}.sheet-actions>button:first-child{flex:12rem}.field-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:.9rem 0 .35rem;font-size:.8rem;font-weight:600}.field-label.over{color:var(--bad)}.travel-note{font-variant-numeric:tabular-nums;margin:.9rem 0 0}.one-way-note{color:var(--warn);margin:.4rem 0 0;font-size:.85rem}.deposit-mark{min-height:44px;color:var(--deposit);align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.map-legend{margin:0 0 .5rem}.fleet-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.fleet-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.3rem .75rem;padding:.6rem .75rem;display:grid}.fleet-row-ships{align-items:center;display:flex}.fleet-row-ships img{filter:drop-shadow(0 3px 4px #00000080);width:2.6rem;height:auto;margin-right:-.9rem}.fleet-row-ships img:last-child{margin-right:0}.fleet-row-main{gap:.2rem;min-width:0;display:grid}.fleet-row-head{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.fleet-row-eta{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.9rem;display:flex}.fleet-row-detail{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:.25rem .75rem;font-size:.8rem;display:flex}.fleet-row-cargo,.fleet-row-cargo .cargo-item{align-items:center;gap:.3rem;display:inline-flex}.fleet-row-actions{gap:.35rem;display:grid}.fleet-row-actions>button{min-height:44px}@media (max-width:520px){.fleet-row{grid-template-columns:auto minmax(0,1fr)}.fleet-row-actions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}}.settle-toggle{cursor:pointer;align-items:center;gap:.5rem;min-height:44px;display:flex}.settle-toggle input{width:1.2rem;height:1.2rem;margin:0}.row.missions .settle-toggle,.fleet-row-settle{font-size:.9rem}.ship-card-batches{border-top:1px solid var(--border);gap:.5rem;margin:.6rem 0 0;padding:.6rem 0 0;list-style:none;display:grid}.ship-card-batch-line{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.ship-card-batch-count{font-variant-numeric:tabular-nums;font-weight:700}.ship-card-batch-time{font-variant-numeric:tabular-nums;justify-items:end;margin-left:auto;font-size:.8rem;display:grid}.ship-card-batch-line>button{flex:none}.ship-card-batch-bar{background:color-mix(in srgb, var(--border) 70%, transparent);border-radius:3px;height:6px;margin-top:.35rem;overflow:hidden}.ship-card-batch-bar>div{background:var(--accent);border-radius:3px;height:100%;transition:width .24s ease-out}
.aid-progress{background:var(--surface-sunken,#ffffff14);border-radius:3px;height:6px;overflow:hidden}.aid-progress-fill{background:var(--accent,#7fd1ae);border-radius:3px;height:100%;transition:width .24s ease-out}.aid-situation+.aid-situation{border-top:1px solid var(--border,#ffffff1f);margin-top:12px;padding-top:12px}.aid-outcomes{margin:0 0 8px;padding:0;list-style:none}.aid-outcomes li{margin-bottom:4px;line-height:1.4}.aid-tier{color:var(--muted,#ffffffa6)}.aid-grant{display:inline-block}@media (min-width:1001px){.aid-columns{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}}.aid-column>:first-child{margin-top:0}.aid-confirm{border-color:var(--accent);width:min(30rem,100%);box-shadow:0 18px 48px color-mix(in srgb, var(--bg) 72%, transparent);align-self:center;margin:0 .75rem}.aid-confirm .sheet-actions{box-shadow:none;background:0 0;border:0;gap:.5rem;margin:1rem 0 0;padding:0;display:flex;position:static}.aid-confirm .sheet-actions>button{flex:1 1 0;min-height:44px}
.contracts{gap:20px;display:grid}.contract-card{border:1px solid var(--border,#ffffff1f);background:var(--surface-raised,#ffffff0a);border-radius:10px;padding:12px 14px}.contract-card header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;display:flex}.contract-card h4{margin:0;font-size:1rem}.contract-countdown{color:var(--text-muted,#fff9);font-variant-numeric:tabular-nums;font-size:.85rem}.contract-ask{margin:8px 0 0}.contract-target,.contract-observed{color:var(--text-muted,#fff9);margin:6px 0 0;font-size:.9rem}.contract-card button{min-height:44px;margin-top:12px}.contracts-history{gap:8px;margin:0;padding:0;list-style:none;display:grid}.contracts-history li{border-bottom:1px solid var(--border,#ffffff14);flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-bottom:8px;display:flex}.contract-orbit,.contract-resolution{color:var(--text-muted,#fff9);font-size:.88rem}.contract-orbit{font-variant-numeric:tabular-nums}
@media (max-width:1000px){.sheet{width:100%}}@media (min-width:1001px){.sheet-backdrop{align-items:center;padding:1rem}.sheet{border-bottom:1px solid var(--accent);border-radius:var(--radius);max-height:min(88dvh,52rem)}}@media (max-width:1000px){.compose li{grid-template-columns:1fr auto auto}.quantity-stepper button{width:1.9rem}.quantity-stepper input{width:2.1rem}.colony-screen:has(.port) .rail>:not(.rail-resources){display:none}.galaxy-system-list{height:auto;max-height:min(60vh,460px)}}@media (max-width:520px){.stage-planet-card{grid-template-columns:minmax(0,1fr)}.stage-planet-card-visual .planet-illustration,.stage-planet-card-visual .unknown-world{min-height:84px;max-height:110px}}
main.colony-screen:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--biome-sky,#101a33) 70%, transparent) 0%, transparent 70%);position:fixed;inset:0}.stage-field{width:100%;height:100%;display:block}.sky-star-point{fill:#cfe0f5;opacity:.5;animation:7s ease-in-out infinite sky-twinkle}.sky-star-glow{color:#cfe0f5;fill:url(#sky-glow);opacity:.75;animation:none}.sky-star.known .sky-star-point{fill:var(--accent);opacity:.78}.sky-star.mine .sky-star-point{fill:var(--good);opacity:1}.sky-star.known .sky-star-glow{color:var(--accent)}.sky-star.mine .sky-star-glow{color:var(--good)}.sky-star-ring{fill:none;stroke:var(--good);opacity:.8}.sky-star-reserved{fill:none;stroke:var(--muted);opacity:.9;stroke-dasharray:2 2.5}.sky-star-current-ring{fill:none;stroke:var(--good);opacity:.85;animation:1.8s ease-in-out infinite current-location-pulse}.sky-star-designated{fill:none;stroke:var(--accent);pointer-events:none;animation:1.8s ease-in-out infinite guide-beacon}@keyframes sky-twinkle{0%,to{opacity:inherit}50%{opacity:.16}}.sky-fleet-path{stroke:var(--accent);opacity:.28}.sky-fleet-path-halo{stroke:color-mix(in srgb, var(--accent) 68%, white 32%);stroke-linecap:round;opacity:.16}.sky-fleet-path.selected{stroke:color-mix(in srgb, var(--accent) 68%, white 32%);stroke-linecap:round;opacity:.95;animation:1.1s linear infinite fleet-hyperspace-flow}.sky-fleet-path-hit{stroke:#0000;pointer-events:stroke;cursor:pointer}@keyframes fleet-hyperspace-flow{to{stroke-dashoffset:calc(-1 * var(--fleet-dash-step))}}.sky-fleet-glow{fill:var(--warn);opacity:.85}.sky-fleet-mark.foreign .sky-fleet-glow{fill:var(--bad);opacity:.7}.sky-fleet-shape{fill:var(--bg);stroke:none}.sky-fleet-shape.ring{fill:none;stroke:currentColor}.sky-fleet-mark.mission-explore .sky-fleet-glow{fill:var(--accent)}.sky-fleet-mark.mission-colonize .sky-fleet-glow{fill:var(--good)}.sky-fleet-mark.mission-transport .sky-fleet-glow{fill:var(--warn)}.sky-fleet-mark.mission-extract .sky-fleet-glow{fill:var(--deposit)}.sky-fleet-mark.mission-colonize .sky-fleet-shape.ring{stroke:var(--good);opacity:.55}.sky-fleet-mark.returning{opacity:.45}.sky-fleet.muted .sky-fleet-path{opacity:.07}.sky-fleet.muted .sky-fleet-mark .sky-fleet-glow{opacity:.14}.sky-fleet.muted .sky-fleet-mark .sky-fleet-shape{opacity:.18}.sky-fleet-mark.selected,.sky-fleet-mark.returning.selected{opacity:1}.sky-fleet-mark.selected .sky-fleet-glow,.sky-fleet-mark:focus-visible .sky-fleet-glow{stroke:#fff}.sky-fleet-mark:focus-visible{outline:none}.sky-fleet-hit{fill:#0000;pointer-events:all;cursor:pointer}.sky-fleet-card rect{fill:color-mix(in srgb, var(--bg) 91%, transparent);stroke:color-mix(in srgb, var(--accent) 65%, var(--border))}.sky-fleet-card text{fill:var(--muted);pointer-events:none}.sky-fleet-card .sky-fleet-card-title{fill:var(--text);font-weight:700}.sky-fleet-card-recall{cursor:pointer}.sky-fleet-card-recall rect{fill:color-mix(in srgb, var(--accent) 22%, transparent);stroke:var(--accent)}.sky-fleet-card-recall text{fill:var(--text);font-weight:600}.sky-fleet-card-recall:focus-visible rect{stroke:#fff}.sky-fleet-card-recall.disabled{cursor:default;opacity:.5}.sky-fleet-card-settle{cursor:pointer}.sky-fleet-card-settle .hit{fill:#0000;stroke:none;pointer-events:all}.sky-fleet-card-settle .box{stroke:var(--accent)}.sky-fleet-card-settle[aria-checked=true] .box{fill:color-mix(in srgb, var(--accent) 22%, transparent)}.sky-fleet-card-settle .tick{fill:none;stroke:var(--text);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.sky-fleet-card-settle text{fill:var(--text)}.sky-fleet-card-settle:focus-visible .box{stroke:#fff}.sky-fleet-card-settle.disabled{cursor:default;opacity:.5}.system-planet-expected{fill:none;stroke:var(--warn);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.9;vector-effect:non-scaling-stroke}.system-planet-expected.mission-explore{stroke:var(--accent)}.system-planet-expected.mission-colonize{stroke:var(--good)}.system-planet-expected.mission-extract{stroke:var(--deposit)}.colony-globe{flex:none;width:84px;height:84px;position:relative}.colony-globe-disc{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--biome-halo,var(--accent)) 35%, transparent);border-radius:50%;position:absolute;inset:0;overflow:hidden}.colony-globe-art{position:absolute}.colony-globe-art .planet-illustration,.colony-globe-art .planet-illustration img{width:100%;height:100%;display:block}.colony-globe-lights{position:absolute;inset:0;-webkit-mask-image:radial-gradient(86% 86% at 32% 24%,#0000 45%,#0000008c 78%,#000 100%);mask-image:radial-gradient(86% 86% at 32% 24%,#0000 45%,#0000008c 78%,#000 100%)}.colony-globe-lights circle{fill:#ffd9a0;animation:4.5s ease-in-out infinite globe-city}.colony-globe-lights-spin{transform-origin:50%;width:100%;height:100%;animation:96s linear infinite globe-spin;position:absolute;inset:0}@keyframes globe-spin{to{transform:rotate(360deg)}}@keyframes globe-city{0%,to{opacity:.95}50%{opacity:.55}}.colony-globe-terminator{background:radial-gradient(circle at 32% 24%,#0000 40%,#02040a59 72%,#02040ac7 100%);border-radius:50%;position:absolute;inset:0}.colony-globe-halo{pointer-events:none;background:radial-gradient(circle, transparent 66%, color-mix(in srgb, var(--biome-halo,var(--accent)) 42%, transparent) 71%, color-mix(in srgb, var(--biome-halo,var(--accent)) 12%, transparent) 82%, transparent 100%);border-radius:50%;animation:9s ease-in-out infinite globe-halo;position:absolute;inset:-22%}@keyframes globe-halo{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.topbar-title{min-width:0}.colony-system{letter-spacing:.14em;text-transform:uppercase;color:var(--biome-halo,var(--accent));margin:.1rem 0 0;font-size:.78rem}.tab-panel[hidden]{display:none}.tab-chevron{opacity:.65;border-top:4px solid;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;transition:transform .15s}.tab.collapsed .tab-chevron{transform:rotate(-90deg)}.rolling{display:inline-block;position:relative}.rolling-value{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rolling-digits{font-variant-numeric:tabular-nums;display:inline-flex}.rolling-digit{animation:.32s cubic-bezier(.2,.9,.3,1) digit-roll;display:inline-block}@keyframes digit-roll{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:translateY(0)}}.rail-figure,.rail-cap,.resource-rate{font-variant-numeric:tabular-nums}.meter.filling>div{position:relative;overflow:hidden}.meter.filling>div:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff4d 50%,#0000 100%);animation:3.4s ease-in-out infinite meter-breathe;position:absolute;inset:0}@keyframes meter-breathe{0%{transform:translate(-100%)}to{transform:translate(100%)}}.rail-wave{pointer-events:none;z-index:1;background:linear-gradient(to bottom, transparent 0%, color-mix(in srgb, var(--accent) 22%, transparent) 50%, transparent 100%);background-repeat:no-repeat;background-size:100% 60%;animation:1.1s ease-out forwards rail-wave;position:absolute;inset:0}@keyframes rail-wave{0%{opacity:0;background-position:0 -60%}35%{opacity:1}to{opacity:0;background-position:0 160%}}.illustration{position:relative}.scaffold{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scaffold-frame path{fill:none;stroke:var(--warn);stroke-width:3px;stroke-linecap:round;opacity:.42}.scaffold-crane{transform-origin:200px 100px;animation:7s ease-in-out infinite crane-sweep}.scaffold-crane path{fill:none;stroke:var(--warn);stroke-width:3px;stroke-linecap:round;opacity:.62}.scaffold-crane circle{fill:var(--warn);opacity:.62}@keyframes crane-sweep{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@media (max-width:1000px){.colony-globe{width:52px;height:52px}.tabbar .tab{position:relative}.tab-chevron{position:absolute;top:5px;left:50%;transform:translate(-50%)}.tab.collapsed .tab-chevron{transform:translate(-50%)rotate(-90deg)}}@media (prefers-reduced-motion:reduce){.sky-star-point,.sky-star-current-ring,.colony-globe-lights circle,.colony-globe-lights-spin,.colony-globe-halo,.meter.filling>div:after,.rail-wave,.rolling-digit,.scaffold-crane,.sky-fleet-path.selected{animation:none}.meter.filling>div:after{opacity:.25}.tab-chevron{transition:none}}.planet-unread{color:var(--trace);font-size:.72rem;font-style:italic}
.world-stage-shell{flex-direction:column;flex:0 auto;align-items:center;gap:.6rem;min-height:0;margin-block:auto;padding-bottom:.5rem;display:flex}.world-stage{width:100%;aspect-ratio:var(--stage-min-aspect,12 / 7);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);flex:0 auto;min-height:0;position:relative;overflow:hidden}.world-stage>.stage-field{background:var(--bg)}.sky-star-hit,.system-planet-hit{fill:#0000;cursor:pointer}.sky-star,.system-planet{cursor:pointer}.sky-star:focus-visible,.system-planet:focus-visible{outline:none}.sky-star:focus-visible .sky-star-point,.sky-star.focused .sky-star-point{fill:var(--warn);opacity:1}.sky-star-name{fill:var(--muted);opacity:.72;text-anchor:middle;pointer-events:none;font-variant-numeric:tabular-nums}.sky-cloud{pointer-events:none}.sky-cloud.nebula{color:var(--accent)}.sky-cloud.dust_lane{color:var(--muted)}.sky-cloud.ember_field{color:var(--warn)}.sky-cloud-name{fill:var(--muted);opacity:.42;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.sky-star.focused .sky-star-name{fill:var(--text);opacity:.9}.sky-star.mine .sky-star-name{fill:var(--good);opacity:1;font-weight:700}.sky-star-trace{fill:none;stroke:var(--trace);opacity:.5;stroke-dasharray:3 4;stroke-dashoffset:0}.sky-star-deposit{fill:none;stroke:var(--deposit);opacity:.62;stroke-dasharray:2 2.5}.sky-star-contract{fill:none;stroke:var(--contract);transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite contract-ring-pulse}.system-star{color:var(--warn);pointer-events:none}.system-star-halo{fill:currentColor;opacity:.08}.system-star-glow{fill:currentColor;opacity:.24}.system-star-core{fill:currentColor;opacity:.92}.system-orbit{fill:none;stroke:var(--border);opacity:.55}.system-orbit.belt{stroke-dasharray:6 9;opacity:.4}.system-planet.belt .system-planet-dot{fill:none;stroke:var(--border);stroke-width:1.2px}.system-planet.belt.known .system-planet-dot{stroke:var(--muted,var(--border))}.system-planet-dot{fill:var(--surface-hi);stroke:none}.system-planet.known .system-planet-dot{fill:var(--surface)}.system-planet.mine .system-planet-dot{fill:var(--good)}.system-planet-mine-ring{fill:none;stroke:var(--good);opacity:.8}.system-planet-mine-label{fill:var(--good);opacity:.9;text-anchor:middle;pointer-events:none;font-weight:600}.system-planet-art{pointer-events:none}.system-planet-trace{fill:none;stroke:var(--trace);opacity:.62}.system-planet-deposit{fill:none;stroke:var(--deposit);stroke-dasharray:4 3;opacity:.72}.system-planet-call{fill:none;stroke:var(--call);opacity:.8;animation:2.6s ease-in-out infinite aid-call-pulse}@keyframes aid-call-pulse{0%,to{opacity:.34}50%{opacity:.86}}.system-planet-contract{fill:none;stroke:var(--contract);opacity:.85;transform-box:fill-box;transform-origin:50%;animation:3.4s ease-in-out infinite contract-ring-pulse}@keyframes contract-ring-pulse{0%,to{opacity:.55;transform:scale(.86)}50%{opacity:1;transform:scale(1.06)}}.system-planet-current-ring{fill:none;stroke:var(--good);opacity:.85;animation:1.8s ease-in-out infinite current-location-pulse}.system-planet-designated{fill:none;stroke:var(--accent);pointer-events:none;animation:1.8s ease-in-out infinite guide-beacon}.system-planet-current-label{fill:var(--good);letter-spacing:.1em;pointer-events:none}.system-planet-orbit-label{fill:var(--muted);opacity:.8;pointer-events:none;font-variant-numeric:tabular-nums}.system-planet:focus-visible .system-planet-dot,.system-planet.selected .system-planet-dot{fill:var(--warn)}.stage-planet{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:0;padding:1rem;display:flex;position:absolute;inset:0}.stage-planet-scene{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.world-stage .colony-globe{aspect-ratio:1;width:auto;max-width:100%;height:100%}.stage-ground{aspect-ratio:12/7;width:auto;max-width:100%;height:100%;position:relative}.stage-ground .planet-illustration{aspect-ratio:auto;background:0 0;border:none;border-radius:0;position:absolute;inset:0}.stage-planet-bar{flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:.5rem .9rem;display:flex}.stage-planet-name{font-size:1.05rem;font-weight:600}.settlement-markers{width:100%;height:100%;position:absolute;inset:0}.settlement-marker{cursor:pointer}.settlement-silhouette{fill:color-mix(in srgb, var(--surface-hi) 88%, var(--biome-halo,var(--accent)));stroke:color-mix(in srgb, var(--biome-halo,var(--accent)) 55%, transparent);stroke-width:1.5px;paint-order:stroke fill}.settlement-hit:focus-visible,.settlement-badge-hit:focus-visible{outline:none}.settlement-marker:has(.settlement-hit:focus-visible) .settlement-silhouette{stroke:var(--warn);stroke-width:2.5px}.settlement-marker.focused .settlement-silhouette{stroke:var(--warn);stroke-width:2.5px}@media (hover:hover){.settlement-marker:hover .settlement-silhouette{fill:color-mix(in srgb, var(--surface-hi) 62%, var(--biome-halo,var(--accent)))}}.settlement-level{fill:var(--text);font-variant-numeric:tabular-nums;pointer-events:none;paint-order:stroke fill;stroke:var(--bg);stroke-width:2.2px;stroke-linejoin:round;font-size:11px;font-weight:600}.settlement-marker.pending .settlement-level{fill:var(--warn)}.settlement-scaffold{pointer-events:none}.settlement-scaffold .scaffold-frame path,.settlement-scaffold .scaffold-crane path,.settlement-scaffold .scaffold-crane circle{stroke-width:1.4px;vector-effect:non-scaling-stroke}.settlement-hit,.settlement-badge-hit{fill:#0000;cursor:pointer}.stage-list{flex-direction:column;justify-content:center;padding:1rem;display:flex;position:absolute;inset:0}.stage-list .galaxy-system-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(100%,520px);height:auto;max-height:100%;margin:0 auto}.stage-legend{color:var(--muted);margin:0;padding:0 .75rem .6rem;font-size:.72rem;list-style:none;display:none}@media (min-width:1001px){.stage-legend{flex-wrap:wrap;justify-content:center;gap:.4rem 1rem;display:flex}}.stage-legend li{align-items:center;gap:.35rem;display:flex}.legend-swatch{pointer-events:none;flex:none;width:1rem;height:1rem;overflow:visible}.stage-legend .sky-star-point{animation:none}.stage-planet-card{z-index:1;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);grid-template-columns:96px minmax(0,1fr);gap:.75rem;width:min(100% - 2rem,420px);max-height:calc(100% - 5.5rem);padding:.7rem;display:grid;position:absolute;bottom:1rem;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 12px 32px #00000080}.stage-planet-card-visual{min-width:0}.stage-planet-card-visual .planet-illustration{aspect-ratio:auto;border:none;width:100%;height:100%;min-height:96px}.stage-planet-card-visual .unknown-world{border-radius:8px;width:100%;height:100%;min-height:96px}.stage-planet-card-body{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.stage-planet-card-body>strong{margin-top:.1rem}.stage-planet-card-actions{flex-wrap:wrap;gap:.4rem;width:100%;margin-top:.6rem;display:flex}.stage-planet-card-actions>*{flex:auto;width:auto}.stage-trail-bar{scrollbar-width:none;align-items:center;gap:.4rem;max-width:100%;padding:.15rem;display:flex;overflow-x:auto}.stage-trail-bar::-webkit-scrollbar{display:none}.stage-trail{align-items:center;gap:.15rem;display:flex}.stage-modes{border-left:1px solid var(--border);gap:.2rem;padding-left:.4rem}.stage-trail .stage-crumb+.stage-crumb:before{content:"›";color:var(--muted);margin-right:.45rem}.stage-crumb{white-space:nowrap;border-color:#0000;flex:none;width:auto;font-size:.85rem}.stage-crumb.current,.stage-crumb:disabled{color:var(--text);opacity:1;cursor:default}.stage-close{white-space:nowrap;border-color:var(--border);flex:none;width:auto;font-size:.85rem}.stage-crumb.designated:not(:disabled),.stage-close.designated{min-height:44px}.colony-globe.openable{cursor:pointer;background:0 0;border:none;border-radius:50%;min-height:0;padding:0}.colony-globe-hint{background:var(--surface);border:1px solid var(--border);width:22px;height:22px;color:var(--muted);opacity:.85;border-radius:50%;place-items:center;transition:opacity .15s;display:grid;position:absolute;bottom:-2px;right:-2px}@media (hover:hover){.colony-globe.openable:hover .colony-globe-hint{opacity:1;color:var(--text)}}.colony-globe.openable:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (max-width:1000px){.world-stage-shell{gap:.4rem;margin-top:.5rem}.stage-planet{gap:.5rem;padding:.5rem}.stage-list{padding:.5rem}.colony-globe-hint{width:18px;height:18px}.stage-planet-bar{font-size:.9rem}}@media (prefers-reduced-motion:reduce){.system-planet-current-ring,.system-planet-call{animation:none}.system-planet-contract,.sky-star-contract{opacity:.95;animation:none;transform:scale(1)}.colony-globe-hint{transition:none}}.settlement-progress{pointer-events:none}.settlement-progress-track{fill:#06121ab8;stroke:color-mix(in srgb, var(--bg) 70%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}.settlement-progress.tone-build .settlement-progress-fill{fill:var(--warn)}.settlement-progress.tone-output .settlement-progress-fill{fill:#8ceaff}
.stage-ground .colony-ground-map{z-index:1;object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage-ground .planet-illustration{z-index:0}.stage-ground .settlement-platforms{z-index:2;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.stage-ground .settlement-markers{z-index:4}.stage-ground .settlement-activity{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:hidden}.stage-ground .settlement-activity-background{z-index:3}.stage-ground .settlement-activity-foreground{z-index:5}.settlement-signal{color:var(--accent)}.settlement-signal.limited{opacity:.42}.settlement-signal.tone-mineral,.settlement-cargo.tone-mineral{color:#9db4d0}.settlement-signal.tone-energy,.settlement-cargo.tone-energy{color:#fbbf24}.settlement-signal.tone-biomass,.settlement-cargo.tone-biomass{color:#4ade80}.settlement-signal.tone-storage,.settlement-cargo.tone-storage{color:#8ceaff}.settlement-signal.tone-research,.settlement-cargo.tone-research{color:#c4b5fd}.settlement-signal-ring{fill:none;stroke:currentColor;stroke-width:.9px;opacity:0;transform-box:fill-box;transform-origin:50%;animation-name:settlement-signal-pulse;animation-timing-function:ease-out;animation-iteration-count:infinite}.settlement-signal-core{fill:currentColor;opacity:.9}@keyframes settlement-signal-pulse{0%{opacity:.78;transform:scale(.55)}65%,to{opacity:0;transform:scale(2.35)}}.settlement-worker{color:color-mix(in srgb, var(--text) 76%, var(--biome-halo,var(--accent)) 24%)}.settlement-worker-head{fill:currentColor}.settlement-worker-body{fill:none;stroke:currentColor;stroke-width:.85px;stroke-linecap:round;vector-effect:non-scaling-stroke}.settlement-worker-shadow{fill:#00000061}.settlement-worker-vehicle{pointer-events:none}.settlement-cargo{color:var(--accent)}.settlement-cargo path{fill:color-mix(in srgb, #263c48 76%, currentColor 24%);stroke:currentColor;stroke-width:.72px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.settlement-cargo circle{fill:color-mix(in srgb, currentColor 76%, white 24%)}.settlement-cargo-shadow{fill:#0000006b}.settlement-ship-image{pointer-events:none}.settlement-limit-badge{color:var(--warn);filter:drop-shadow(0 1px 1px #000000c7)}.settlement-limit-badge.kind-workforce{color:#ffd27d}.settlement-limit-badge.kind-upkeep{color:#7ee7a3}.settlement-limit-badge.kind-storage{color:#8ceaff}.settlement-limit-background{fill:color-mix(in srgb, var(--bg) 90%, #101820 10%);stroke:currentColor;stroke-width:.9px}.settlement-limit-icon{fill:none;stroke:currentColor;stroke-width:1.05px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.settlement-limit-icon.filled{fill:currentColor;stroke:none}.settlement-activity.paused .settlement-signal-ring{animation-play-state:paused}@media (min-width:1001px){.world-stage.planet-stage{aspect-ratio:12/7;height:auto}}.world-stage.planet-stage .stage-planet{gap:0;padding:0}.world-stage.planet-stage .stage-planet-scene{width:100%;height:100%}.world-stage.planet-stage .stage-ground{aspect-ratio:12/7;width:100%;max-width:100%;height:auto;max-height:100%}.world-stage.planet-stage .stage-planet-bar{z-index:6;border:1px solid color-mix(in srgb, var(--border) 82%, transparent);border-radius:var(--radius);background:var(--bg);gap:.4rem .65rem;max-width:calc(100% - 1.4rem);padding:.35rem .45rem;position:absolute;top:.7rem;left:.7rem;box-shadow:0 6px 18px #00000047}.world-stage.planet-stage .stage-planet-name{font-size:.9rem}.world-stage.planet-stage .stage-registers button{min-height:0;padding:.32rem .55rem;font-size:.8rem}.settlement-art{pointer-events:none;filter:drop-shadow(0 1.4px 1.2px #00000085);transition:filter .15s}.settlement-site-platform{pointer-events:none}.settlement-site-platform image{filter:drop-shadow(0 1.4px 1.2px #00000094)}.settlement-docked-ship{pointer-events:none;filter:drop-shadow(0 1px 1px #000000c2)}.settlement-fleet-badge{pointer-events:none;filter:drop-shadow(0 1.2px 1px #0000009e)}.settlement-fleet-badge rect{fill:color-mix(in srgb, var(--bg) 88%, #172b35 12%);stroke:color-mix(in srgb, #8ceaff 78%, var(--border) 22%);stroke-width:.8px}.settlement-fleet-badge path{fill:#8ceaff;stroke:#d8fbff;stroke-width:.4px;stroke-linejoin:round}.settlement-fleet-badge text{fill:var(--text);font-variant-numeric:tabular-nums;paint-order:stroke;stroke:color-mix(in srgb, var(--bg) 84%, transparent);stroke-width:.7px;font-size:7.5px;font-weight:800}.settlement-marker.focused .settlement-art{filter:drop-shadow(0 1.4px 1.2px #00000085) drop-shadow(0 0 2.2px var(--warn))}.settlement-marker:has(.settlement-hit:focus-visible) .settlement-art{filter:drop-shadow(0 1.4px 1.2px #00000085) drop-shadow(0 0 2.2px var(--warn))}.settlement-marker.focused .settlement-fleet-badge.dock rect,:is(.settlement-marker:has(.settlement-badge-hit.dock:focus-visible) .settlement-fleet-badge.dock rect,.settlement-marker:has(.settlement-badge-hit.away:focus-visible) .settlement-fleet-badge.away rect){stroke:var(--warn);stroke-width:1.2px}.settlement-empty-pad{fill:color-mix(in srgb, var(--bg) 38%, transparent);stroke:color-mix(in srgb, var(--biome-halo,var(--accent)) 58%, transparent);stroke-width:1.2px;stroke-dasharray:3 3;pointer-events:none}.settlement-build-plus{fill:none;stroke:var(--text);stroke-width:1.8px;stroke-linecap:round;opacity:.82;pointer-events:none}.settlement-empty-pad.closed{fill:#05070c75;stroke:#05070c57;stroke-width:1px;stroke-dasharray:none;pointer-events:none}.settlement-marker.unbuilt:focus-visible .settlement-empty-pad,.settlement-marker.unbuilt.focused .settlement-empty-pad{fill:color-mix(in srgb, var(--warn) 20%, transparent);stroke:var(--warn);stroke-width:2px}.stage-ground{--world-hour:var(--local-hour,12);--ambience-dusk:min(clamp(0, (var(--world-hour) - 17) / 1.5, 1), clamp(0, (21 - var(--world-hour)) / 1.5, 1));--ambience-night:max(clamp(0, (var(--world-hour) - 20) / 2.5, 1), clamp(0, (6 - var(--world-hour)) / 2, 1));isolation:isolate;overflow:hidden}.stage-ground:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(rgb(255 176 96/calc(var(--ambience-dusk) * .3)), rgb(255 176 96/calc(var(--ambience-dusk) * .3))), linear-gradient(rgb(78 110 196/calc(var(--ambience-night) * .5)), rgb(78 110 196/calc(var(--ambience-night) * .5)));mix-blend-mode:multiply;position:absolute;inset:0}.stage-ground[data-ambience]:before{content:"";z-index:2;pointer-events:none;color:var(--biome-halo,var(--accent));will-change:transform;background-repeat:repeat;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;inset:-260px}.stage-ground[data-ambience=spores]:before{opacity:.55;background-image:radial-gradient(circle at 30% 40%,currentColor 0 1.6px,#0000 3.8px),radial-gradient(circle at 75% 70%,currentColor 0 1.1px,#0000 2.6px),radial-gradient(circle at 55% 15%,currentColor 0 .8px,#0000 1.9px);background-size:120px 120px,80px 80px,60px 60px;animation-name:ambience-spores;animation-duration:48s}.stage-ground[data-ambience=dust]:before{opacity:.42;background-image:radial-gradient(18px 1.4px at 30% 35%,currentColor 0 40%,#0000 100%),radial-gradient(11px 1px at 70% 75%,currentColor 0 40%,#0000 100%),radial-gradient(circle at 15% 85%,currentColor 0 .6px,#0000 1.4px);background-size:120px 60px,80px 40px,60px 30px;animation-name:ambience-dust;animation-duration:7s}.stage-ground[data-ambience=snow]:before{opacity:.75;background-image:radial-gradient(circle at 20% 30%,currentColor 0 1.3px,#0000 2.2px),radial-gradient(circle at 70% 80%,currentColor 0 1px,#0000 1.8px),radial-gradient(circle at 45% 55%,currentColor 0 .7px,#0000 1.3px);background-size:120px 80px,80px 120px,48px 60px;animation-name:ambience-snow;animation-duration:26s}@keyframes ambience-spores{0%{transform:translate(0)}50%{transform:translate(96px,-132px)}to{transform:translate(240px,-240px)}}@keyframes ambience-dust{0%{transform:translate(0)}50%{transform:translate(-122px,9px)}to{transform:translate(-240px)}}@keyframes ambience-snow{0%{transform:translate(0)}50%{transform:translate(26px,118px)}to{transform:translateY(240px)}}@media (hover:hover){.settlement-marker:hover .settlement-art{filter:brightness(1.08)drop-shadow(0 1.4px 1.2px #00000085)}.settlement-marker:has(.settlement-badge-hit:hover) .settlement-fleet-badge rect{fill:color-mix(in srgb, var(--bg) 78%, #2c7e91 22%);stroke:#b9f5ff}.settlement-marker.unbuilt:hover .settlement-empty-pad{fill:color-mix(in srgb, var(--biome-halo,var(--accent)) 20%, transparent);stroke:var(--biome-halo,var(--accent))}}@media (prefers-reduced-motion:reduce){.settlement-art{transition:none}.settlement-signal-ring{opacity:.28;animation:none;transform:scale(1.35)}.settlement-worker{display:none}.stage-ground[data-ambience]:before{content:none}}@media (max-width:1000px){.stage-ground[data-ambience]:before{content:none}.settlement-cargo:nth-child(n+4),.settlement-worker:nth-child(n+6){display:none}.world-stage.planet-stage .stage-ground{width:auto;height:100%}.world-stage.planet-stage .stage-planet-bar{max-width:calc(100% - .8rem);top:.4rem;left:.4rem}}
.admin-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;margin-bottom:1.5rem;padding-bottom:.75rem}.admin-tabs .ghost{font-size:.9rem}.admin-tab-count{background:var(--accent);min-width:1.25rem;color:var(--bg);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;margin-left:.15rem;padding:0 .3rem;font-size:.7rem;font-weight:700}.admin-gate{max-width:520px}.admin-gate h3{margin:0 0 .5rem;font-size:1rem}.admin-command{background:var(--surface-hi);border-radius:4px;margin:.75rem 0 0;padding:.5rem .7rem;font-size:.85rem;overflow-x:auto}.admin-lock{margin-top:2.5rem}.admin-table-scroll{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.6rem .75rem}.admin-table th{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.72rem;font-weight:600}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-delete{min-width:15rem}.admin-delete input{margin:.4rem 0}.admin-delete-actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-form{max-width:720px}.admin-form-row{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;display:grid}.admin-checkbox{color:var(--text);text-transform:none;letter-spacing:normal;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:flex}.admin-checkbox input{width:auto;margin:0}.admin-form select{background:var(--surface-hi);width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:6px;padding:.45rem .6rem}.admin-ids{grid-template-columns:auto 1fr;align-items:center;gap:.35rem 1rem;margin:.75rem 0 0;display:grid}.admin-ids dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem}.admin-ids dd{min-width:0;margin:0}.copyable-id{text-align:left;align-items:center;gap:.5rem;max-width:100%;min-height:44px;padding:.2rem .5rem;display:inline-flex}.copyable-id code{white-space:nowrap;font-size:.78rem;overflow-x:auto}.copyable-id-state{color:var(--good);min-width:3.5rem;font-size:.75rem}.admin-summary .admin-ids{margin-top:0}.admin-players{grid-template-columns:repeat(auto-fill,minmax(26rem,1fr))}.admin-players .admin-ids{grid-template-columns:1fr;gap:.15rem}.admin-players h3{margin:0;font-size:1rem}.admin-players p{margin:.25rem 0}.admin-colonies{margin:.75rem 0 0;padding:0;list-style:none}.admin-colonies li+li{border-top:1px solid var(--border);margin-top:.6rem;padding-top:.6rem}.admin-dev{border-style:dashed;font-size:.85rem}.admin-dev h3{color:var(--muted);margin:0 0 .3rem;font-size:.9rem}.admin-dev-actions{flex-wrap:wrap;gap:.6rem;margin-top:.7rem;display:flex}.admin-dev-actions button{min-width:11rem}.admin-created{border-color:var(--accent);margin-top:1rem}.admin-created h3{margin:0;font-size:1rem}@media (max-width:700px){.admin-ids{grid-template-columns:1fr;gap:.15rem}.admin-ids dd+dt{margin-top:.5rem}.admin-table{font-size:.82rem}.admin-table a,.admin-table button{align-items:center;min-height:44px;display:inline-flex}.admin-delete-actions button,.admin-delete input,.admin-dev-actions button,.admin-form button,.admin-lock,.admin-form input,.admin-form select,.admin-checkbox{min-height:44px}.admin-checkbox input{width:20px;height:20px}.admin-back,.admin-colonies a{align-items:center;min-height:44px;display:inline-flex}}.feedback-filters{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.feedback-filters label{color:var(--muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.feedback-entries{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.feedback-entry{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:.9rem}.feedback-entry.closed{opacity:.55}.feedback-entry-head{align-items:center;gap:.6rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.feedback-tag{background:var(--surface-hi);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.feedback-tag-bug{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.feedback-importance,.feedback-status{background:var(--surface-hi);color:var(--muted);font:inherit;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.1rem .3rem .1rem .5rem;font-size:.75rem}.feedback-importance option,.feedback-status option{background:var(--surface);color:var(--fg);text-transform:none}.feedback-importance-blocking{background:color-mix(in srgb, var(--bad) 22%, transparent);color:var(--bad)}.feedback-importance-important{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.feedback-status-to_handle{background:color-mix(in srgb, var(--good) 20%, transparent);color:var(--good)}.feedback-status-to_test{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.feedback-text{white-space:pre-wrap;margin:0 0 .7rem;line-height:1.55}.feedback-facts{flex-wrap:wrap;gap:.15rem 1.2rem;margin:0 0 .7rem;font-size:.8rem;display:flex}.feedback-facts>div{gap:.35rem;display:flex}.feedback-facts dt{color:var(--muted)}.feedback-facts dd{font-variant-numeric:tabular-nums;margin:0}.feedback-entry-actions{flex-wrap:wrap;gap:.5rem;display:flex}.feedback-shot{border:1px solid var(--border);border-radius:var(--radius);max-width:100%;margin-top:.6rem;display:block}.feedback-raw{border-radius:var(--radius);background:var(--surface-hi);max-height:24rem;margin:.7rem 0 0;padding:.7rem;font-size:.75rem;line-height:1.4;overflow:auto}

