:root{--void:#0a0d14;--deep:#0f1420;--hull:#1a2035;--panel:#1e2a3a;--grid:#2a3a4a;--cyan:#4dd9b8;--amber:#e6a817;--blue:#4da6e8;--alert:#e85a6a;--cargo:#6bbf5a;--text-display:#4dd9b8;--text-heading:#c8d6e8;--text-body:#89a;--text-label:#6b7c93;--text-value-plus:#4dd9b8;--text-value-minus:#e85a6a;--mining-color:#c07af0;--agriculture-color:#6bbf5a;--technology-color:#4da6e8;--font-mono:"Courier New", monospace;--radius:8px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-mono);color:var(--text-body);background:#000;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;overflow:hidden}#root{border:.5px solid var(--panel);border-radius:var(--radius);background:var(--void);flex-direction:column;width:min(1680px,100vw,160vh);height:min(1050px,100vh,62.5vw);display:flex;position:relative;overflow:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--hull)}::-webkit-scrollbar-thumb{background:var(--panel);border-radius:3px}button{font-family:var(--font-mono);background:var(--hull);color:var(--text-heading);border:.5px solid var(--panel);cursor:pointer;border-radius:4px;padding:6px 14px;font-size:13px}button:hover{border-color:var(--cyan);background:var(--panel);color:var(--cyan)}button:active{background:var(--hull)}button:disabled{opacity:.35;cursor:not-allowed}input,select{font-family:var(--font-mono);background:var(--hull);color:var(--text-heading);border:.5px solid var(--panel);border-radius:4px;padding:4px 8px;font-size:13px}input:focus,select:focus{border-color:var(--cyan);outline:none}.scanlines{pointer-events:none;z-index:9999;border-radius:var(--radius);position:absolute;inset:0;overflow:hidden}.scanlines:after{content:"";pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#00000026 3px 4px);position:absolute;inset:0}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.blink{animation:1s step-end infinite blink}@keyframes pulse-step{0%,to{opacity:.6}25%{opacity:.3}50%{opacity:.6}75%{opacity:.3}}.panel{background:var(--deep);border:.5px solid var(--panel);border-radius:var(--radius);padding:16px}.panel-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-heading);border-bottom:.5px solid var(--panel);margin-bottom:12px;padding-bottom:8px;font-size:15px;font-weight:700}.title-screen{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:flex-end;width:100%;height:100%;display:flex;position:relative}.title-buttons{gap:16px;margin-bottom:60px;display:flex}.title-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:12px 32px;font-size:13px}.title-btn.new-game{border-color:var(--cyan);color:var(--cyan)}.title-btn.new-game:hover{background:#4dd9b81a}.title-btn.continue-game{border-color:var(--text-label);color:var(--text-body)}.title-btn.continue-game:hover{border-color:var(--text-heading);color:var(--text-heading)}.title-footer{pointer-events:none;justify-content:space-between;padding:0 20px;display:flex;position:absolute;bottom:16px;left:0;right:0}.title-lore-hint{font-family:var(--font-mono);color:var(--text-label);letter-spacing:.08em;text-transform:uppercase;opacity:.5;font-size:10px}.title-version{font-family:var(--font-mono);color:var(--text-label);letter-spacing:.06em;opacity:.4;font-size:10px}.star-map-container{background:var(--void);background-image:radial-gradient(circle, var(--grid) .5px, transparent .5px);cursor:grab;-webkit-user-select:none;user-select:none;background-size:40px 40px;flex:1;display:flex;position:relative;overflow:hidden}.star-map-container.map-panning{cursor:grabbing}.star-map-svg{width:100%;height:100%}.map-bg-star{fill:var(--text-label);animation:4s steps(8,end) infinite bg-star-twinkle}@keyframes bg-star-twinkle{0%,50%,to{opacity:inherit}25%{opacity:.6}75%{opacity:1.2}}.map-region-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;opacity:.06;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:14px;font-weight:700}.map-line{stroke:var(--panel);stroke-width:1px;stroke-dasharray:4 4;opacity:.55}.map-line-context{stroke:var(--grid);stroke-width:.5px;stroke-dasharray:2 6;opacity:.15;pointer-events:none}.map-line-route-green{stroke:var(--cargo);stroke-width:2.5px;stroke-dasharray:none;animation:1.5s steps(8,end) infinite route-flow}.map-line-route-orange{stroke:var(--amber);stroke-width:2.5px;stroke-dasharray:8 4;animation:1.5s steps(8,end) infinite route-flow}.map-line-route-red{stroke:var(--alert);stroke-width:2.5px;stroke-dasharray:4 4;animation:1.5s steps(8,end) infinite route-flow}.map-line-route-preview{stroke:var(--cyan);stroke-width:1.5px;stroke-dasharray:3 6;opacity:.3}@keyframes route-flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-16px}}.map-node-group{cursor:default}.map-node-group.clickable{cursor:pointer}.map-node{fill:var(--hull);stroke:var(--panel);stroke-width:2px}.map-node-hitarea{fill:#0000;stroke:none;cursor:pointer}.map-node-available{stroke:var(--cyan);stroke-width:2.5px}.map-node-available:hover{fill:var(--panel);stroke-width:3.5px}.map-node-current{fill:var(--hull);stroke:var(--cyan);stroke-width:3.5px}.map-node-dest{fill:var(--hull);stroke:var(--amber);stroke-width:3px}.map-node-inactive{stroke:var(--grid);stroke-width:.5px;stroke-dasharray:2 2}.map-node-discovered{fill:var(--void);stroke:var(--text-label);stroke-width:1px;opacity:.7}.map-node-hover-preview{fill:var(--deep);stroke:var(--cyan);stroke-width:2.5px;stroke-dasharray:3 3;opacity:.5}.map-node-multi-hop{fill:var(--deep);stroke:var(--amber);stroke-width:1.5px;stroke-dasharray:3 3}.map-node-hostile{fill:var(--deep);stroke:var(--alert);stroke-width:1px}.map-node-multi-ring{fill:none;stroke:var(--amber);stroke-width:.5px;stroke-dasharray:2 4;opacity:.3}.map-node-hostile-ring{fill:none;stroke:var(--alert);stroke-width:.5px;stroke-dasharray:3 2;opacity:.35}.map-tooltip-hostile{fill:var(--alert)!important}.map-node-mining{fill:var(--deep);stroke:var(--mining-color);stroke-width:2px}.map-node-agriculture{fill:var(--deep);stroke:var(--agriculture-color);stroke-width:2px}.map-node-technology{fill:var(--deep);stroke:var(--technology-color);stroke-width:2px}.map-node-type-marker{font-family:var(--font-mono);fill:var(--text-heading);pointer-events:none;opacity:.85;font-size:9px}.map-node-type-marker.discovered-marker{opacity:.4;fill:var(--text-label)}.map-node-outer-ring{fill:none;stroke-width:2px;opacity:.5}.ring-cyan{stroke:var(--cyan)}.ring-amber{stroke:var(--amber)}.map-node-pulse{fill:none;stroke:var(--cyan);stroke-width:2px;opacity:.5;animation:2s steps(8,end) infinite map-pulse-step}@keyframes map-pulse-step{0%{r:14;opacity:.6}12.5%{r:16;opacity:.5}25%{r:19;opacity:.4}37.5%{r:22;opacity:.3}50%{r:26;opacity:.2}62.5%{r:28;opacity:.15}75%{r:32;opacity:.1}87.5%{r:34;opacity:.05}to{r:36;opacity:0}}.map-ship-indicator{fill:var(--amber);stroke:var(--amber);stroke-width:1px;animation:1s step-end infinite ship-blink}@keyframes ship-blink{0%,to{opacity:.7}50%{opacity:1}}.map-station-label{font-family:var(--font-mono);fill:var(--text-body);opacity:.9;font-size:12px}.map-label-current{fill:var(--cyan);font-size:13px;font-weight:700}.label-mining{fill:var(--mining-color)}.label-agriculture{fill:var(--agriculture-color)}.label-technology{fill:var(--technology-color)}.label-unknown{fill:var(--text-label);opacity:.6}.map-faction-dot{opacity:.8}.map-tooltip-bg{fill:var(--deep);stroke:var(--cyan);stroke-width:.5px}.map-tooltip-name{fill:var(--text-heading);font-family:var(--font-mono);font-size:11px;font-weight:700}.map-tooltip-detail{fill:var(--text-label);font-family:var(--font-mono);font-size:10px}.map-preview-badge-bg{fill:var(--deep);stroke:var(--cyan);stroke-width:.5px;opacity:.9}.map-preview-badge-text{fill:var(--cyan);font-family:var(--font-mono);font-size:9px}.map-preview-badge-name{fill:var(--text-heading);font-family:var(--font-mono);font-size:10px;font-weight:700}.map-preview-badge-route{fill:var(--amber);font-family:var(--font-mono);letter-spacing:.05em;font-size:8px}.map-preview-badge-explain{fill:var(--text-label);font-family:var(--font-mono);font-size:8px;font-style:italic}.map-preview-badge-warn{fill:var(--alert);font-family:var(--font-mono);font-size:8px;font-weight:700}.map-preview-badge-hops{fill:var(--text-label);font-family:var(--font-mono);font-size:8px}.map-title-overlay{pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:12px;left:16px}.map-title-dots{gap:5px;display:flex}.map-title-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.dot-red{background:var(--alert)}.dot-amber{background:var(--amber)}.dot-green{background:var(--cargo)}.map-title-text{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-heading);opacity:.7;font-size:13px;font-weight:700}.map-dock-btn{padding:6px 14px;font-size:12px;position:absolute;top:12px;right:16px}.map-zoom-controls{background:var(--deep);border:.5px solid var(--panel);border-radius:4px;align-items:center;gap:6px;padding:5px 10px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.map-zoom-btn{border-radius:3px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;font-size:14px;font-weight:700;line-height:1;display:flex}.map-zoom-label{font-family:var(--font-mono);color:var(--text-label);text-align:center;-webkit-user-select:none;user-select:none;width:36px;font-size:10px}.map-zoom-reset{letter-spacing:.06em;width:36px;font-size:10px}.map-info-panel,.map-panel{background:var(--deep);border:.5px solid var(--panel);border-radius:var(--radius);opacity:.92;min-width:300px;font-size:12px;position:absolute;bottom:16px}.map-route-panel{width:300px;right:16px}.map-nav-panel{left:16px}.map-panel.dragging{opacity:.85}.map-panel-titlebar{cursor:grab;-webkit-user-select:none;user-select:none;border-bottom:.5px solid var(--panel);align-items:center;gap:8px;padding:10px 14px 8px;display:flex}.map-panel-titlebar:active{cursor:grabbing}.map-nav-dots{gap:5px;display:flex}.map-nav-title{color:var(--amber);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:700}.map-info-body{padding:10px 14px 14px}.map-info-row{color:var(--text-body);justify-content:space-between;margin:5px 0;display:flex}.map-info-value{color:var(--text-heading)}.text-warning{color:var(--amber)}.map-jump-btn{width:100%;margin-top:12px;padding:10px;font-size:14px}.map-jump-btn.jump-safe{border-color:var(--cargo)}.map-jump-btn.jump-warn{border-color:var(--amber);color:var(--amber)}.map-info-empty{color:var(--text-body);font-size:12px;line-height:1.6}.map-shortcuts{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;margin-top:8px;font-size:11px}.map-info-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-label);border-bottom:.5px solid var(--panel);margin-top:4px;margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:700}.map-connected-list{margin-bottom:10px}.map-connected-row{cursor:pointer;color:var(--text-body);border-radius:3px;justify-content:space-between;align-items:center;margin:1px 0;padding:4px 6px;font-size:11px;display:flex}.map-connected-row:hover{color:var(--text-heading);background:#4dd9b80f}.map-connected-name{align-items:center;gap:5px;display:flex}.map-connected-icon{opacity:.7;font-size:10px}.map-connected-dist{color:var(--text-label);margin-left:8px;font-size:10px}.map-connected-fuel{color:var(--blue);text-align:right;min-width:35px;font-size:11px}.map-connected-none{color:var(--text-label);padding:4px 0;font-size:11px;font-style:italic}.map-info-legend{border-top:.5px solid var(--panel);margin-top:10px;padding-top:8px}.map-info-legend-title{letter-spacing:.1em;text-transform:uppercase;color:var(--text-label);margin-bottom:6px;font-size:10px;font-weight:700}.map-info-legend-row{color:var(--text-body);align-items:center;gap:6px;margin:2px 0;font-size:10px;display:flex}.map-info-legend-swatch{border-radius:50%;flex-shrink:0;width:6px;height:6px}.legend-cyan{background:var(--cyan)}.legend-amber{background:var(--amber)}.legend-blue{background:var(--blue)}.legend-purple{background:var(--mining-color)}.legend-green{background:var(--agriculture-color)}.legend-gray{background:var(--text-label)}.map-minimap{background:var(--deep);border:.5px solid var(--panel);border-radius:4px;padding:2px;position:absolute;top:80px;right:16px}.map-minimap-svg{display:block}.map-minimap-dot{fill:var(--text-label);opacity:.5}.map-minimap-dot.current{fill:var(--cyan);opacity:.9}.map-minimap-dot.dest{fill:var(--amber);opacity:.9}.map-minimap-viewport{fill:#4dd9b80f;stroke:var(--cyan);stroke-width:1px;cursor:pointer}.map-message{background:var(--deep);border:.5px solid var(--blue);color:var(--blue);font-size:13px;font-family:var(--font-mono);border-radius:4px;padding:10px 24px;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.goodinfo-overlay{z-index:200;background:#0a0d14e0;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.goodinfo-modal{background:var(--deep);border:.5px solid var(--panel);border-radius:var(--radius);width:90%;max-width:520px;max-height:80vh;padding:24px 28px;overflow-y:auto}.goodinfo-header{border-bottom:.5px solid var(--panel);flex-direction:column;gap:4px;margin-bottom:16px;padding-bottom:12px;display:flex}.goodinfo-name{color:var(--cyan);text-transform:uppercase;letter-spacing:.06em;font-size:16px;font-weight:700}.goodinfo-meta{color:var(--text-label);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.goodinfo-holdings{background:var(--hull);border-radius:4px;flex-wrap:wrap;gap:4px 16px;margin-bottom:14px;padding:8px 12px;display:flex}.goodinfo-holding-row{align-items:baseline;gap:4px;font-size:11px;display:flex}.gh-label{color:var(--text-label);text-transform:uppercase;letter-spacing:.08em;font-size:9px}.gh-value{color:var(--text-heading)}.gh-profit{color:var(--cargo)}.gh-loss{color:var(--alert)}.goodinfo-desc{color:var(--text-body);background:var(--hull);border-left:2px solid var(--amber);margin-bottom:18px;padding:10px 12px;font-size:13px;line-height:1.7}.goodinfo-lists{flex-direction:column;gap:14px;margin-bottom:16px;display:flex}.goodinfo-block{flex-direction:column;gap:4px;display:flex}.goodinfo-block-label{letter-spacing:.12em;text-transform:uppercase;margin-bottom:2px;font-size:10px}.goodinfo-block-label.export-label{color:var(--cargo)}.goodinfo-block-label.import-label{color:var(--amber)}.goodinfo-block-label.none-label{color:var(--text-label)}.goodinfo-stations{flex-wrap:wrap;gap:3px 10px;display:flex}.goodinfo-station{letter-spacing:.04em;font-size:11px}.goodinfo-station.export-st{color:var(--cargo)}.goodinfo-station.import-st{color:var(--amber)}.goodinfo-station.none-st{color:var(--text-label);opacity:.7}.goodinfo-close-btn{text-transform:uppercase;letter-spacing:.1em;border-color:var(--panel);width:100%;color:var(--text-label);margin-top:4px;padding:8px;font-size:11px}.goodinfo-close-btn:hover{color:var(--text-body);border-color:var(--text-label)}.station-panel{flex-direction:column;flex:1;min-width:0;padding:16px 20px;display:flex;position:relative;overflow-y:auto}.chrome-undock-btn{text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;font-size:11px}.station-info-block{margin-bottom:14px}.station-info-row{align-items:center;gap:8px;display:flex}.station-info-icon{font-size:14px}.station-name{color:var(--cyan);text-transform:uppercase;letter-spacing:.04em;font-size:22px;font-weight:700}.station-type-label{letter-spacing:.1em;text-transform:uppercase;margin-left:22px;font-size:11px}.station-desc{color:var(--text-body);margin-top:6px;margin-left:22px;font-size:13px;line-height:1.5}.station-tabs{border-bottom:.5px solid var(--panel);gap:1px;margin-bottom:14px;display:flex}.station-tab{color:var(--text-label);letter-spacing:.1em;cursor:pointer;text-transform:uppercase;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:6px 16px;font-size:12px}.station-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.station-tab:hover{color:var(--text-heading)}.station-info-tab{flex:1;overflow-y:auto}.info-section{flex-direction:column;gap:10px;margin-bottom:4px;display:flex}.info-field{align-items:baseline;gap:12px;display:flex}.standing-field{align-items:flex-start}.rep-block{flex-direction:column;gap:4px;display:flex}.rep-rank-line{align-items:center;gap:6px;display:flex}.rep-rank{color:var(--cyan);font-size:13px;font-weight:700}.rep-val{color:var(--text-heading);font-size:12px}.rep-mods{color:var(--text-label);letter-spacing:.06em;font-size:10px}.rep-bar-wrap{align-items:center;gap:8px;display:flex}.rep-bar{background:var(--hull);border:.5px solid var(--panel);flex:1;height:6px}.rep-bar-fill{background:var(--cyan);height:100%}.rep-bar-pct{color:var(--text-label);letter-spacing:.1em;font-size:10px}.rep-next{color:var(--text-label);letter-spacing:.06em;font-size:10px}.info-label{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;min-width:80px;font-size:10px}.info-value{color:var(--text-heading);font-size:13px}.info-divider{border-bottom:.5px solid var(--panel);margin:14px 0}.info-subhead{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:11px}.info-history{margin-bottom:4px}.info-body{color:var(--text-body);font-size:13px;line-height:1.7}.info-services{flex-direction:column;gap:6px;display:flex}.info-service-row{color:var(--text-body);align-items:center;gap:6px;font-size:13px;display:flex}.info-service-arrow{color:var(--text-label);font-size:11px}.market-section{flex-direction:column;flex:1;min-height:0;display:flex}.market-header-row{border-bottom:.5px solid var(--panel);color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;align-items:center;padding:6px 0;font-size:10px;display:flex}.market-body{flex:1;overflow-y:auto}.market-row{border-bottom:.5px solid var(--panel);align-items:center;padding:6px 0;font-size:12px;line-height:1;display:flex}.market-row:hover{background:var(--hull)}.market-row.has-stock{background:#4dd9b808}.market-row.has-stock:hover{background:#4dd9b812}.col-good{width:120px;color:var(--text-heading);flex-shrink:0;font-size:13px;font-weight:700}.col-base{text-align:right;width:44px;color:var(--text-label);flex-shrink:0;font-size:11px}.col-price-h{text-align:right;flex-shrink:0;width:58px;font-size:10px}.col-price{text-align:right;flex-shrink:0;width:58px;font-size:13px;font-weight:700;position:relative}.col-hold-h{text-align:center;flex-shrink:0;width:40px;font-size:10px}.col-hold{text-align:center;flex-shrink:0;width:40px}.hold-num{color:var(--amber);font-size:13px;font-weight:700}.hold-none{color:var(--grid);font-size:12px}.col-avg-h{text-align:right;flex-shrink:0;width:42px;font-size:10px}.col-avg{text-align:right;flex-shrink:0;width:42px}.avg-val{color:var(--text-body);font-size:12px}.avg-none{color:var(--grid);font-size:12px}.col-spread-h{text-align:right;flex-shrink:0;width:44px;font-size:10px}.col-spread{text-align:right;flex-shrink:0;width:44px;font-size:12px;font-weight:700}.col-spread.profit{color:var(--cargo)}.col-spread.loss{color:var(--alert)}.spread-none{color:var(--grid);font-size:12px;font-weight:400}.col-price.buy-col.deal-cheap{color:var(--cargo)}.col-price.buy-col.deal-fair{color:var(--text-heading)}.col-price.buy-col.deal-costly{color:var(--alert)}.col-price.sell-col.deal-premium{color:var(--cargo)}.col-price.sell-col.deal-fair{color:var(--text-heading)}.col-price.sell-col.deal-poor{color:var(--alert)}.col-acts-h{flex-shrink:0;font-size:10px}.col-acts{flex-shrink:0;align-items:center;gap:4px;margin-left:auto;display:flex}.act-group{gap:2px;display:flex}.act-sep{color:var(--panel);font-size:10px}.qty-btn{text-transform:uppercase;letter-spacing:.06em;border-radius:3px;padding:2px 5px;font-size:10px}.buy-sm{color:var(--text-heading)}.sell-sm{color:var(--cargo);border-color:var(--cargo)}.market-subhead{color:var(--text-label);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:2px;padding:6px 0;font-size:10px;display:flex}.market-subhead-dot{font-size:8px}.market-subhead-dot.export-dot{color:var(--cargo)}.market-subhead-dot.import-dot{color:var(--amber)}.market-subhead-dot.none-dot{color:var(--text-label)}.market-group{flex-direction:column;display:flex}.market-item{border-bottom:.5px solid var(--panel);border-left:2px solid #0000}.market-item:last-child{border-bottom:none}.market-item.alt{background:#0f142066}.market-item.export-item{border-left-color:var(--cargo)}.market-item.import-item{border-left-color:var(--amber)}.market-item.none-item{border-left-color:var(--text-label);opacity:.7}.mi-main{justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;display:flex}.mi-left{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.mi-name-row{align-items:center;gap:8px;display:flex}.mi-name{color:var(--text-heading);font-size:13px;font-weight:700}.mi-meta{color:var(--text-label);letter-spacing:.06em;font-size:11px}.mi-info-btn{border:.5px solid var(--text-label);width:18px;height:18px;color:var(--text-label);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:2px;padding:0;font-size:10px;font-weight:700;display:inline-flex}.mi-info-btn:hover{border-color:var(--cyan);color:var(--cyan);background:#4dd9b814}.mi-req{color:var(--alert);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;font-size:9px}.mi-prices{align-items:center;gap:10px;display:flex}.mi-price-row{align-items:center;gap:4px;display:flex}.mi-deal-dot{font-size:7px}.mi-deal-dot.cheap,.mi-deal-dot.premium{color:var(--cargo)}.mi-price-label{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.mi-price-num{font-size:13px;font-weight:700}.mi-price-num.cheap,.mi-price-num.premium{color:var(--cargo)}.mi-price-num.dim{color:var(--text-label)}.mi-stock{color:var(--text-label);align-items:center;gap:4px;margin-left:6px;font-size:11px;display:flex}.mi-stock-num{color:var(--amber);font-size:13px;font-weight:700}.mi-stock-pnl{margin-left:4px;font-size:11px;font-weight:700}.mi-stock-pnl.profit{color:var(--cargo)}.mi-stock-pnl.loss{color:var(--alert)}.mi-actions{flex-shrink:0}.mi-rep-lock{color:var(--alert);letter-spacing:.12em;text-transform:uppercase;border:.5px solid var(--alert);padding:4px 8px;font-size:9px}.mi-btns{align-items:center;gap:3px;display:flex}.mi-btn{padding:4px 8px;font-size:11px;font-weight:700}.mi-btn.green{color:var(--cargo);border-color:var(--cargo)}.mi-btn.red{color:var(--alert);border-color:var(--alert)}.mi-btn.dump{color:var(--text-label);border-color:var(--text-label)}.market-footer{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;border-top:.5px solid var(--panel);justify-content:space-between;margin-top:12px;padding:8px 0;font-size:11px;display:flex}.outfitting-section{flex:1;overflow-y:auto}.outfit-category{margin-bottom:14px}.outfit-cat-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.outfit-cat-label{color:var(--cyan);text-transform:uppercase;align-items:center;gap:5px;font-size:12px;font-weight:700;display:flex}.outfit-mod-list{flex-direction:column;gap:4px;display:flex}.outfit-mod-row{background:var(--hull);border:.5px solid var(--panel);border-radius:4px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.outfit-mod-row.installed{border-color:var(--cyan);opacity:.5}.outfit-mod-info{flex-direction:column;gap:2px;display:flex}.outfit-mod-name{color:var(--text-heading);font-size:12px;font-weight:700}.outfit-mod-desc{color:var(--text-body);font-size:11px}.outfit-mod-stats{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.outfit-mod-compare{border-top:.5px dashed var(--panel);margin-top:4px;padding-top:4px;display:block}.outfit-compare-row{color:var(--text-label);flex-wrap:wrap;align-items:baseline;gap:2px 6px;font-size:10px;display:flex}.outfit-compare-label{color:var(--amber);letter-spacing:.06em;font-weight:700}.outfit-compare-name{color:var(--text-body)}.outfit-compare-stats{text-transform:uppercase;letter-spacing:.06em;opacity:.7}.outfit-mod-action{align-items:center;gap:8px;display:flex}.outfit-count-badge{letter-spacing:.1em;color:var(--cyan);text-transform:uppercase;font-size:10px}.outfit-trade-info{color:var(--amber);letter-spacing:.06em;white-space:nowrap;font-size:10px}.install-btn{text-transform:uppercase;padding:5px 12px;font-size:11px}.shipyard-section{flex:1;overflow-y:auto}.shipyard-empty{color:var(--text-label);padding:20px 0;font-size:13px}.shipyard-services{border-top:.5px solid var(--panel);margin-top:12px;padding-top:10px}.shipyard-services-head{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px;font-size:11px}.shipyard-service-row{justify-content:space-between;align-items:center;padding:8px 0 4px;display:flex}.shipyard-service-info{color:var(--text-body);align-items:center;gap:8px;font-size:12px;display:flex}.shipyard-service-controls{align-items:center;gap:4px;padding:0 0 10px;display:flex}.service-qty-btn{font-size:10px;font-family:var(--font-mono);border:.5px solid var(--panel);color:var(--text-body);cursor:pointer;background:0 0;border-radius:3px;padding:2px 6px}.service-qty-btn:hover{border-color:var(--cyan);color:var(--text-heading)}.service-qty-btn.service-qty-max{border-color:var(--cargo);color:var(--cargo);font-weight:700}.service-qty-btn.service-qty-clear{border-color:var(--alert);color:var(--alert)}.service-qty-val{font-family:var(--font-mono);color:var(--text-heading);text-align:center;min-width:55px;font-size:11px}.service-cost{font-family:var(--font-mono);color:var(--amber);text-align:right;min-width:50px;margin-left:4px;font-size:11px}.refuel-btn{text-transform:uppercase;letter-spacing:.06em;border-color:var(--blue);color:var(--blue);padding:6px 16px;font-size:12px}.repair-btn{text-transform:uppercase;letter-spacing:.06em;border-color:var(--cargo);color:var(--cargo);padding:6px 16px;font-size:12px}.crew-section{flex:1}.crew-locked{color:var(--text-body);padding:20px 0;font-size:13px;line-height:1.8}.crew-cat-head{align-items:center;gap:8px;margin-bottom:4px;display:flex}.crew-cat-label{color:var(--cyan);text-transform:uppercase;font-size:12px;font-weight:700}.crew-cat-bonus{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.crew-skills{flex-direction:column;gap:3px;display:flex}.crew-row{background:var(--hull);border:.5px solid var(--panel);border-radius:4px;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.crew-row.locked{opacity:.5}.crew-info{flex-direction:column;gap:1px;display:flex}.crew-name{color:var(--text-heading);font-size:12px;font-weight:700}.crew-bonus{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.crew-action{align-items:center;gap:8px;display:flex}.crew-req{color:var(--alert);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.crew-salary{color:var(--text-label);font-size:10px}.hire-btn{text-transform:uppercase;padding:4px 12px;font-size:11px}.hired-crew-list{flex-direction:column;gap:4px;display:flex}.hired-row{background:var(--hull);border:.5px solid var(--panel);border-radius:4px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.hired-name{color:var(--cyan);font-size:12px}.hired-salary{color:var(--text-label);font-size:11px}.hired-total{color:var(--amber);text-align:right;padding:6px 8px;font-size:12px;font-weight:700}.ship-buy-row{border-bottom:.5px solid var(--panel);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.ship-buy-info{flex-direction:column;gap:3px;display:flex}.ship-buy-name{color:var(--amber);text-transform:uppercase;letter-spacing:.06em;font-size:14px;font-weight:700}.ship-buy-desc{color:var(--text-body);font-size:11px}.ship-buy-slots{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.ship-buy-warn{color:var(--amber);letter-spacing:.04em;font-size:10px}.ship-buy-btn{text-transform:uppercase;padding:6px 14px;font-size:11px}.station-message{background:var(--deep);border:.5px solid var(--blue);color:var(--blue);z-index:100;border-radius:4px;padding:8px 20px;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.lore-only-view{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.lore-only-meta{flex-wrap:wrap;gap:6px;display:flex}.lore-category-tag{background:var(--label-bg);color:var(--cyan);text-transform:uppercase;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:700}.lore-planet-tag{color:var(--text-label);text-transform:uppercase;background:#8080801a;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.lore-env-tag{border:.5px solid var(--border-color);color:var(--text-dim);border-radius:3px;padding:2px 6px;font-size:10px}.comms-section{flex-direction:column;display:flex}.station-subhead{letter-spacing:.1em;text-transform:uppercase;color:var(--amber);border-bottom:.5px solid var(--panel);margin-bottom:10px;padding-bottom:6px;font-size:11px;font-weight:700}.comms-empty{color:var(--text-label);padding:16px 0;font-size:12px}.comms-mission-list{flex-direction:column;gap:8px;display:flex}.comms-mission-row{background:var(--deep);border:.5px solid var(--panel);border-radius:var(--radius);align-items:flex-start;gap:12px;padding:12px;display:flex}.comms-mission-row.handin{border-color:var(--cargo)}.comms-mission-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.comms-chain-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--text-label);font-size:10px;font-weight:700}.comms-mission-title{color:var(--text-heading);font-size:14px;font-weight:700}.comms-mission-desc{color:var(--text-body);font-size:12px;line-height:1.4}.comms-mission-reward{color:var(--cargo);margin-top:2px;font-size:11px}.comms-accept-btn,.comms-handin-btn{letter-spacing:.08em;flex-shrink:0;padding:8px 16px;font-size:12px;font-weight:700}.comms-accept-btn{border-color:var(--cyan);color:var(--cyan)}.comms-accept-btn:hover{background:#4dd9b81a}.comms-handin-btn{border-color:var(--cargo);color:var(--cargo)}.comms-handin-btn:hover{background:#6bbf5a1a}.ship-panel{border-left:.5px solid var(--panel);flex-direction:column;flex:1;min-width:0;padding:18px 22px;display:flex;overflow-y:auto}.panel-chrome{border-bottom:.5px solid var(--panel);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:10px;display:flex}.chrome-amber{color:var(--amber)}.chrome-green{color:var(--cargo)}.chrome-status{color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;border:.5px solid var(--cyan);border-radius:4px;padding:2px 8px;font-size:11px}.ship-identity{margin-bottom:20px}.ship-hull-name{color:var(--amber);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:22px;font-weight:700;display:block}.ship-hull-spec{align-items:center;gap:6px;display:flex}.ship-hull-spec-item{color:var(--text-body);font-size:13px}.ship-hull-spec-sep{color:var(--text-label);font-size:11px}.ship-readout{border:.5px solid var(--panel);border-radius:4px;margin-bottom:22px;padding:14px 16px}.readout-head{color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;border-bottom:.5px solid var(--panel);margin-bottom:10px;padding-bottom:8px;font-size:12px;font-weight:700}.readout-row{align-items:center;gap:10px;padding:4px 0;display:flex}.ro-label{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;align-items:center;gap:4px;width:85px;font-size:12px;font-weight:700;display:flex}.ro-bar-cell{flex:1;min-width:0}.ro-spacer{flex:1}.ro-primary{color:var(--text-heading);flex-shrink:0;font-size:14px;font-weight:700}.ro-num{font-variant-numeric:tabular-nums;text-align:right;min-width:110px}.readout-sub{flex-wrap:wrap;align-items:center;gap:6px;padding:3px 0 6px 75px;display:flex}.ro-sub-label{color:var(--text-label);letter-spacing:.04em;font-size:11px}.ro-sub-sep{color:var(--grid);font-size:10px}.ro-sub-bold{color:var(--text-heading);font-weight:700}.bar-gauge{letter-spacing:-1px;gap:2px;display:flex}.bar-gauge.bar-full .bar-seg{font-size:15px;line-height:1}.bar-gauge.bar-md .bar-seg{font-size:14px;line-height:1}.bar-seg.on{opacity:1}.bar-seg.off{opacity:.1}.section-head{color:var(--cyan);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:700}.module-section{margin-bottom:10px}.module-list-vertical{flex-direction:column;gap:3px;display:flex}.module-row-vert{background:var(--hull);border:.5px solid var(--panel);border-left:3px solid var(--panel);border-radius:4px;align-items:center;gap:8px;padding:7px 10px;display:flex}.module-row-vert.empty-vert{opacity:.22;border-left-style:dashed}.mv-type{letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:4px;min-width:72px;font-size:10px;font-weight:700;display:flex}.mv-name{color:var(--text-heading);min-width:110px;font-size:13px;font-weight:700}.mv-stats{color:var(--text-label);letter-spacing:.06em;flex:1;font-size:11px}.mv-mass{color:var(--text-heading);text-align:right;min-width:30px;font-size:11px;font-weight:700}.mv-slots{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;text-align:right;min-width:24px;font-size:10px}.mv-sell-btn{text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;padding:3px 8px;font-size:10px}.mv-sell-empty{color:var(--text-label);text-align:center;min-width:50px;font-size:10px}.crew-section{margin-top:16px}.crew-empty{color:var(--text-label);padding:8px 0;font-size:12px}.crew-list{flex-direction:column;gap:4px;display:flex}.crew-row{background:var(--hull);border:.5px solid var(--panel);border-radius:4px;align-items:center;gap:8px;padding:6px 10px;display:flex}.crew-icon{border:.5px solid var(--panel);width:20px;height:20px;color:var(--cyan);flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.crew-info{flex-direction:column;flex:1;gap:1px;display:flex}.crew-role{color:var(--text-heading);font-size:12px;font-weight:700}.crew-skill{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:9px}.crew-cost{color:var(--amber);font-size:11px}.crew-fire-btn{color:var(--alert);border-color:var(--alert);text-transform:uppercase;letter-spacing:.1em;padding:2px 8px;font-size:9px}.crew-total{color:var(--amber);text-align:right;padding:6px 10px;font-size:12px;font-weight:700}.ship-panel-tabs{border-bottom:.5px solid var(--panel);gap:2px;margin-bottom:10px;padding-bottom:0;display:flex}.ship-tab{letter-spacing:.08em;text-transform:uppercase;color:var(--text-label);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;flex:1;padding:6px 8px;font-size:10px;font-weight:700}.ship-tab:hover{color:var(--text-heading);border-color:var(--panel);background:0 0}.ship-tab.active{color:var(--amber);border-bottom-color:var(--amber);background:0 0}.ship-missions-panel{flex-direction:column;gap:12px;display:flex;overflow-y:auto}.ship-panel-section{flex-direction:column;gap:6px;display:flex}.ship-panel-empty{color:var(--text-label);padding:8px 0;font-size:11px}.ship-cargo-panel{flex-direction:column;gap:8px;display:flex;overflow-y:auto}.cargo-list{flex-direction:column;gap:6px;display:flex}.cargo-row{background:var(--void);border:.5px solid var(--panel);border-radius:4px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.cargo-head{align-items:center;gap:8px;display:flex}.cargo-name{color:var(--text-heading);font-size:13px;font-weight:700}.cargo-info-btn{width:18px;height:18px;color:var(--text-label);border-color:var(--panel);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:10px;font-weight:700;line-height:1;display:flex}.cargo-info-btn:hover{color:var(--cyan);border-color:var(--cyan);background:0 0}.cargo-cat{letter-spacing:.08em;text-transform:uppercase;border:.5px solid;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700}.cargo-qty{color:var(--text-label);margin-left:auto;font-size:12px}.cargo-stats{flex-wrap:wrap;gap:4px 12px;display:flex}.cargo-stat{gap:4px;font-size:11px;display:flex}.cargo-stat-label{color:var(--text-label)}.cargo-stat-val{color:var(--text-heading)}.cargo-stat-val.text-ok{color:var(--cargo)!important}.cargo-stat-val.text-danger{color:var(--alert)!important}.cargo-summary{background:var(--deep);border:.5px solid var(--panel);border-radius:4px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.cargo-summary-row{color:var(--text-body);justify-content:space-between;font-size:11px;display:flex}.text-ok{color:var(--cargo)}.text-danger{color:var(--alert)}.dock-layout{flex:1;min-height:0;display:flex;overflow:hidden}.denied-panel{background:var(--deep);flex-direction:column;flex:1;padding:16px 20px;display:flex;position:relative}.denied-chrome{border-bottom:.5px solid var(--panel);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.denied-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.denied-icon{color:var(--alert);font-size:48px;font-weight:700;animation:1s step-end infinite blink}.denied-title{color:var(--alert);text-transform:uppercase;letter-spacing:.06em;font-size:22px;font-weight:700}.denied-body{max-width:500px;color:var(--text-body);font-size:13px;line-height:1.8}.denied-body p{margin:8px 0}.denied-rep{color:var(--alert);font-weight:700}.denied-hint{color:var(--text-label);letter-spacing:.06em;margin-top:12px;font-size:11px}.denied-arrow{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;border:.5px solid var(--text-label);padding:4px 12px;font-size:11px}.gameover-panel{background:var(--deep);flex-direction:column;flex:1;padding:16px 20px;display:flex;position:relative}.gameover-chrome{border-bottom:.5px solid var(--panel);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;display:flex}.chrome-dot{font-size:11px}.chrome-red{color:var(--alert)}.chrome-title{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;flex:1;font-size:12px}.gameover-content{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.gameover-icon{color:var(--alert);font-size:56px;font-weight:700;animation:.8s step-end infinite blink}.gameover-title{color:var(--alert);text-transform:uppercase;letter-spacing:.08em;font-size:28px;font-weight:700}.gameover-subtitle{color:var(--text-body);max-width:480px;font-size:14px;line-height:1.6}.gameover-stats{border:.5px solid var(--panel);background:var(--hull);flex-direction:column;gap:6px;min-width:300px;margin:16px 0;padding:16px 24px;display:flex}.gameover-stat-row{justify-content:space-between;gap:24px;padding:3px 0;display:flex}.gos-label{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.gos-value{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.gameover-actions{gap:12px;margin-top:12px;display:flex}.gameover-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;padding:10px 24px;font-size:12px}.gameover-btn.new-game{border-color:var(--alert);color:var(--alert)}.gameover-btn.new-game:hover{background:#e664501a}.gameover-btn.continue-game{border-color:var(--text-label);color:var(--text-body)}.gameover-btn.continue-game:hover{border-color:var(--text-heading);color:var(--text-heading)}.event-overlay{z-index:200;background:#0a0d14e0;justify-content:center;align-items:center;animation:.2s step-end event-overlay-in;display:flex;position:absolute;inset:0}@keyframes event-overlay-in{0%{background:#0a0d1400}to{background:#0a0d14e0}}.event-modal{background:var(--deep);border:.5px solid var(--amber);border-radius:var(--radius);width:90%;max-width:480px;animation:.3s steps(4,end) event-pop;overflow:hidden}@keyframes event-pop{0%{opacity:.4;transform:scale(.92)}33%{opacity:.7;transform:scale(.97)}66%{opacity:.9;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}.event-chrome{border-bottom:.5px solid var(--panel);background:var(--void);align-items:center;gap:8px;padding:8px 14px;display:flex}.event-chrome-dots{gap:5px;display:flex}.event-chrome-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.event-chrome-dot.dot-red{background:var(--alert)}.event-chrome-dot.dot-amber{background:var(--amber)}.event-chrome-dot.dot-green{background:var(--cargo)}.event-chrome-title{font-family:var(--font-mono);color:var(--text-label);letter-spacing:.06em;font-size:10px}.event-cat-tag{letter-spacing:.12em;text-transform:uppercase;border:.5px solid;border-radius:4px;margin:16px 0 0 16px;padding:2px 8px;font-size:9px;display:inline-block}.event-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-heading);margin:10px 16px 0;font-size:16px;font-weight:700}.event-description{color:var(--text-body);margin:10px 16px 0;font-size:12px;line-height:1.7}.event-divider{border:none;border-top:.5px solid;margin:16px 16px 12px}.event-choices-head{letter-spacing:.1em;text-transform:uppercase;color:var(--text-label);margin:0 16px 10px;font-size:10px}.event-choices{flex-direction:column;gap:6px;padding:0 16px 16px;display:flex}.event-choice-btn{text-align:left;border:.5px solid var(--panel);width:100%;color:var(--text-heading);cursor:pointer;font-size:13px;font-family:var(--font-mono);background:0 0;border-radius:4px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.event-choice-btn:hover{background:var(--hull);border-color:var(--grid)}.event-choice-num{letter-spacing:.1em;flex-shrink:0;min-width:20px;font-size:11px}.event-choice-body{flex-direction:column;gap:4px;min-width:0;display:flex}.event-choice-label{color:var(--text-heading);font-size:12px;line-height:1.4}.event-choice-effects{flex-wrap:wrap;gap:4px;display:flex}.event-effect-tag{opacity:.85;background:#0003;border:.5px solid;border-radius:3px;align-items:center;gap:2px;padding:1px 6px;font-size:10px;display:inline-flex}.event-effect-good{text-transform:uppercase;letter-spacing:.04em;font-weight:700}.event-effect-label{text-transform:uppercase;letter-spacing:.04em;opacity:.7;font-size:9px}.event-decline-btn{border:.5px solid var(--panel);width:100%;color:var(--text-label);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-family:var(--font-mono);background:0 0;border-radius:4px;margin-top:6px;padding:8px}.event-decline-btn:hover{color:var(--text-body);border-color:var(--text-label)}.transit-screen{background:var(--void);background-image:radial-gradient(circle, var(--grid) .5px, transparent .5px);background-size:24px 24px;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.transit-particles{pointer-events:none;position:absolute;inset:0}.transit-particle{background:var(--cyan);opacity:0;width:2px;height:12px;animation:1s steps(4,end) infinite particle-drift;position:absolute}.transit-particle-near{background:var(--cyan);animation-duration:.6s}.transit-particle-mid{background:var(--blue);opacity:.3;animation-duration:1.2s}.transit-particle-far{background:var(--text-label);opacity:.15;animation-duration:2.4s}@keyframes particle-drift{0%,to{opacity:0;transform:translateY(0)}25%{opacity:.4}50%{opacity:.2}75%{opacity:.6}}.transit-content{text-align:center;z-index:1;width:100%;max-width:560px}.transit-header{letter-spacing:.08em;color:var(--cyan);text-transform:uppercase;margin-bottom:28px;font-size:16px;font-weight:700}.transit-route{justify-content:center;align-items:center;gap:14px;margin-bottom:20px;font-size:18px;display:flex}.transit-from{color:var(--text-heading);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.transit-arrow{color:var(--text-label);font-size:14px}.transit-to{color:var(--cyan);text-transform:uppercase;letter-spacing:.06em;font-weight:700}.transit-route-vis{max-width:400px;margin:0 auto 24px}.trv-track{align-items:center;gap:8px;font-size:10px;display:flex}.trv-from,.trv-to{color:var(--text-label);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0}.trv-line{background:var(--panel);flex:1;height:2px;position:relative}.trv-fill{background:var(--cyan);height:100%;transition:none;position:absolute;top:0;left:0}.trv-ship{color:var(--amber);margin-left:-5px;font-size:10px;line-height:1;position:absolute;top:-7px}.transit-meta{justify-content:center;gap:24px;margin-bottom:28px;display:flex}.transit-meta-item{flex-direction:column;align-items:center;gap:2px;display:flex}.tm-label{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.tm-value{color:var(--text-heading);font-size:14px;font-weight:700}.transit-bar-track{justify-content:center;gap:3px;width:100%;margin-bottom:10px;display:flex}.transit-bar-seg{width:22px;height:10px;display:inline-block}.transit-bar-seg.on{background:var(--cyan);opacity:1}.transit-bar-seg.off{background:var(--hull);border:.5px solid var(--panel)}.transit-pct{color:var(--cyan);letter-spacing:.04em;margin-bottom:12px;font-size:28px;font-weight:700}.transit-hint{color:var(--text-body);letter-spacing:.04em;font-size:13px}.topbar{background:var(--deep);border-bottom:.5px solid var(--panel);flex-shrink:0;align-items:center;gap:0;padding:8px 16px;font-size:13px;display:flex}.topbar-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--cyan);font-size:14px;font-weight:700}.topbar-version{color:var(--text-label);-webkit-user-select:none;user-select:none;margin-left:8px;font-size:10px}.topbar-sep{color:var(--panel);-webkit-user-select:none;user-select:none;margin:0 10px;font-size:11px}.topbar-item{align-items:center;gap:4px;display:flex}.topbar-fuel-item{gap:6px}.topbar-label{color:var(--text-label);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.topbar-val{color:var(--text-heading);font-size:13px;font-weight:700}.topbar-credits{color:var(--amber)}.topbar-fuel-bar{letter-spacing:-1px;gap:0;margin-left:2px;display:flex}.topbar-fuel-seg{font-size:10px;line-height:1}.topbar-fuel-seg.on{color:var(--blue);opacity:1}.topbar-fuel-seg.off{color:var(--blue);opacity:.12}.topbar-hull-item{gap:4px}.topbar-hull-bar{letter-spacing:-1px;gap:0;display:flex}.topbar-hull-seg{font-size:10px;line-height:1}.topbar-hull-seg.on.ok{color:var(--cargo);opacity:1}.topbar-hull-seg.on.mid{color:var(--amber);opacity:1}.topbar-hull-seg.on.low{color:var(--alert);opacity:1}.topbar-hull-seg.off{color:var(--panel);opacity:.3}.topbar-location{align-items:baseline;gap:8px;font-size:13px;display:flex}.topbar-loc-name{color:var(--cyan);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.topbar-loc-type{letter-spacing:.1em;text-transform:uppercase;border:.5px solid;border-radius:4px;padding:1px 5px;font-size:9px}.topbar-spacer{flex:1}.topbar-shortcuts{color:var(--text-label);letter-spacing:.08em;text-transform:uppercase;margin-right:10px;font-size:10px}.topbar-save-btn{text-transform:uppercase;letter-spacing:.1em;padding:2px 10px;font-size:10px}.topbar-dock-btn{text-transform:uppercase;letter-spacing:.1em;border-color:var(--cyan);color:var(--cyan);margin-right:4px;padding:2px 10px;font-size:10px}.topbar-dock-btn:hover{background:#4dd9b814}.topbar-rst-btn{text-transform:uppercase;letter-spacing:.1em;color:var(--alert);border-color:var(--alert);padding:2px 10px;font-size:10px}.story-panel{flex-direction:column;gap:16px;padding-right:4px;display:flex;overflow-y:auto}.story-section{flex-direction:column;gap:8px;display:flex}.story-section-head{color:var(--text-label);text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border-color);padding-bottom:4px;font-size:12px;font-weight:700}.story-empty{color:var(--text-dim);font-size:12px;line-height:1.5}.story-faction-hint{color:var(--text-label);margin-top:4px;display:block}.story-step-list{flex-direction:column;gap:10px;display:flex}.story-step{background:var(--panel-bg-alt);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.story-step.auto-complete{border-color:var(--green-dim)}.story-step-head{align-items:center;gap:8px;display:flex}.story-chain-tag{text-transform:uppercase;background:var(--label-bg);color:var(--text-label);border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.story-step-title{color:var(--text-color);font-size:13px;font-weight:600}.story-step-desc{color:var(--text-dim);margin:0;font-size:11px;line-height:1.4}.story-step-meta{justify-content:space-between;align-items:center;font-size:10px;display:flex}.story-complete-label{color:var(--amber)}.story-reward{color:var(--green-dim)}.story-chain-list{flex-direction:column;gap:6px;display:flex}.story-chain-row{background:var(--panel-bg-alt);border:1px solid var(--border-color);border-radius:6px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.story-chain-row.chain-active{border-color:var(--amber)}.story-chain-row.chain-complete{border-color:var(--green-dim)}.story-chain-info{flex-direction:column;gap:2px;display:flex}.story-chain-title{color:var(--text-color);font-size:12px;font-weight:600}.story-chain-faction{color:var(--text-dim);font-size:10px}.story-chain-progress{color:var(--text-label);font-size:10px}.story-chain-status{text-transform:uppercase;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:700}.story-chain-status.chain-dormant{color:var(--text-dim);background:var(--label-bg)}.story-chain-status.chain-active{color:var(--amber);background:#e6a8171a}.story-chain-status.chain-complete{color:var(--green-dim);background:#6bbf5a1a}.story-flags-list{flex-direction:column;gap:4px;display:flex}.story-flag-row{align-items:center;gap:8px;padding:3px 0;font-size:11px;display:flex}.story-flag-marker{color:var(--green-dim);font-weight:700}.story-flag-label{color:var(--text-color)}.story-tabs{border-bottom:1px solid var(--border-color);gap:0;padding-bottom:0;display:flex}.story-tab-btn{color:var(--text-label);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;font-family:Courier New,monospace;font-size:12px;font-weight:700;transition:none}.story-tab-btn:hover{color:var(--text-color)}.story-tab-btn.active{color:var(--cyan);border-bottom-color:var(--cyan)}.lore-list{flex-direction:column;gap:12px;display:flex}.lore-entry{background:var(--panel-bg-alt);border:1px solid var(--border-color);border-radius:6px;padding:12px 14px}.lore-entry-title{color:var(--cyan);border-bottom:1px solid var(--border-color);margin-bottom:8px;padding-bottom:6px;font-size:13px;font-weight:700}.lore-entry-body{flex-direction:column;gap:8px;display:flex}.lore-paragraph{color:var(--text-dim);margin:0;font-size:11px;line-height:1.6}.story-type-badge{letter-spacing:.1em;border-radius:3px;flex-shrink:0;margin-right:6px;padding:1px 6px;font-size:9px;font-weight:700}.story-type-badge.type-tutorial{color:var(--cyan);border:.5px solid var(--cyan)}.story-type-badge.type-main{color:var(--amber);border:.5px solid var(--amber)}.story-type-badge.type-side{color:var(--cargo);border:.5px solid var(--cargo)}.tutorial-tooltip{z-index:9998;background:var(--deep,#0f1420);border:1px solid var(--cyan,#4dd9b8);max-width:320px;font-family:var(--font-mono,"Courier New", monospace);color:var(--text-body,#89a);pointer-events:auto;border-radius:4px;padding:10px 14px;font-size:12px;line-height:1.5;position:fixed;box-shadow:0 0 12px #4dd9b826}.tutorial-tooltip-title{color:var(--cyan,#4dd9b8);text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;margin-bottom:6px;font-size:11px;font-weight:700;display:flex}.tutorial-tooltip-dot{font-size:8px;line-height:1}.tutorial-tooltip-body{color:var(--text-heading,#c8d6e8);margin-bottom:8px}.tutorial-tooltip-ok{border:1px solid var(--grid,#2a3a4a);color:var(--cyan,#4dd9b8);font-family:var(--font-mono,"Courier New", monospace);cursor:pointer;background:0 0;border-radius:2px;margin-left:auto;padding:4px 12px;font-size:11px;display:block}.tutorial-tooltip-ok:hover{border-color:var(--cyan,#4dd9b8);background:#4dd9b814}.tutorial-tooltip-ok:active{background:#4dd9b826}.tutorial-tooltip.arrow-top:after,.tutorial-tooltip.arrow-top:before{content:"";border:6px solid #0000;border-bottom-color:var(--cyan,#4dd9b8);margin-left:-6px;position:absolute;bottom:100%;left:50%}.tutorial-tooltip.arrow-top:before{border-width:4px;border-bottom-color:var(--deep,#0f1420);z-index:1;margin-left:-4px}.tutorial-tooltip.arrow-bottom:after,.tutorial-tooltip.arrow-bottom:before{content:"";border:6px solid #0000;border-top-color:var(--cyan,#4dd9b8);margin-left:-6px;position:absolute;top:100%;left:50%}.tutorial-tooltip.arrow-bottom:before{border-width:4px;border-top-color:var(--deep,#0f1420);z-index:1;margin-left:-4px}.tutorial-tooltip.arrow-left:after,.tutorial-tooltip.arrow-left:before{content:"";border:6px solid #0000;border-right-color:var(--cyan,#4dd9b8);margin-top:-6px;position:absolute;top:50%;right:100%}.tutorial-tooltip.arrow-left:before{border-width:4px;border-right-color:var(--deep,#0f1420);z-index:1;margin-top:-4px}.tutorial-tooltip.arrow-right:after,.tutorial-tooltip.arrow-right:before{content:"";border:6px solid #0000;border-left-color:var(--cyan,#4dd9b8);margin-top:-6px;position:absolute;top:50%;left:100%}.tutorial-tooltip.arrow-right:before{border-width:4px;border-left-color:var(--deep,#0f1420);z-index:1;margin-top:-4px}.story-global-btn{background:var(--deep);border:1px solid var(--border-color);color:var(--text-label);cursor:pointer;z-index:50;border-radius:4px;padding:4px 12px;font-family:Courier New,monospace;font-size:11px;position:fixed;bottom:12px;right:16px}.story-global-btn:hover{color:var(--amber);border-color:var(--amber)}.story-overlay{flex-direction:column;flex:1;min-height:0;padding:16px;display:flex;position:relative;overflow:hidden}.story-close-btn{background:var(--deep);border:1px solid var(--border-color);color:var(--text-label);cursor:pointer;z-index:50;border-radius:4px;padding:4px 12px;font-family:Courier New,monospace;font-size:11px;position:fixed;bottom:12px;right:16px}.story-close-btn:hover{color:var(--amber);border-color:var(--amber)}
