:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#070912;color:#e5edf8;--ui-text-scale: 1}html,body{width:100%;height:100%}html{font-size:calc(16px * var(--ui-text-scale))}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 32rem),#070912;overflow:hidden}#app{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center}.app-frame{position:relative;width:min(100vw,200vh);max-width:100vw;max-height:100vh;aspect-ratio:2 / 1;margin:auto;overflow:hidden;background:#070912}.app-stage{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}button,input,select{font:inherit}button{border:1px solid #334155;background:#111827;color:#e5edf8;border-radius:6px;padding:.55rem .8rem;cursor:pointer}button:hover{border-color:#38bdf8}.station-shell{height:100%;display:grid;place-items:center;padding:1rem;overflow:hidden}.station-shell.admin-shell{overflow:auto}.station-panel{width:min(760px,100%);border:1px solid #263244;border-radius:8px;background:#0c111df0;padding:1.5rem}.eyebrow{margin:0 0 .35rem;color:#7dd3fc;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.station-title{margin:0;font-size:2rem;font-weight:800;letter-spacing:.12em}.station-grid{width:min(1380px,100%);height:calc(100% - 2rem);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:.75rem;overflow:hidden}.station-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.station-header-title{min-width:0}.station-header-credits{display:inline-flex;align-items:baseline;gap:.5rem;border:1px solid #263244;border-radius:999px;background:#080e18b3;padding:.45rem .8rem;white-space:nowrap}.station-header-credits span{color:#93a4b8;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.station-header-credits strong{font-size:1rem}.station-header h1,.panel h2{margin:0}.panel{border:1px solid #263244;border-radius:8px;background:#0c111df0;padding:1rem}.station-main-layout{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,40fr) minmax(0,20fr);gap:1rem;align-items:stretch;min-height:0;height:100%}.station-service-panel,.station-refit-column,.station-cargo-column{min-width:0;min-height:0;position:relative;height:100%}.station-refit-column,.station-cargo-column{display:flex;flex-direction:column;z-index:1;overflow:hidden}.station-service-panel{display:flex;flex-direction:column;z-index:2;overflow:hidden}.station-service-panel-header{display:flex;align-items:flex-start;justify-content:flex-end;gap:1rem;margin-bottom:.75rem}.station-service-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}.station-service-link{width:100%;text-align:center}.station-service-content{display:grid;gap:1rem;min-height:0;overflow:auto;padding-right:.2rem}.refit-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.station-section-header,.station-overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.station-overview-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}.station-destination-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.station-destination-card{display:grid;gap:.35rem;text-align:left;padding:1rem}.station-destination-card span{color:#93a4b8;font-size:.88rem}.parts-vendor-grid,.contracts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.contract-item{align-items:flex-start}.parts-vendor-grid h3,.cargo-panel-block h3{margin:0 0 .75rem}.refit-panel{display:flex;flex-direction:column;flex:1 1 auto;height:100%;min-height:0;overflow:hidden;min-width:0}.refit-utility-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.8rem;flex-wrap:wrap}.cargo-panel-block{display:flex;flex-direction:column;flex:1 1 auto;height:100%;padding:.8rem;min-height:0;overflow:hidden}.ship-cargo-panel{width:100%;max-width:100%;align-self:stretch}.ship-cargo-panel .cargo-grid-shell{display:flex;align-items:center;justify-content:center}.station-storage-service-panel{min-height:0;position:relative;z-index:3}.exchange-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.equipment-panel{align-self:start}.cargo-panel{grid-column:1 / -1}.refit-layout{display:grid;grid-template-columns:minmax(7.5rem,9.5rem) minmax(0,1fr);gap:.85rem;min-height:0;flex:1 1 auto}.refit-stat-column{display:grid;align-content:start;gap:.45rem;min-width:0}.refit-schematic-shell{display:grid;min-height:0}.refit-stat-chip{display:grid;gap:.18rem;border:1px solid #263244;border-radius:8px;background:#080e18b3;padding:.45rem .55rem}.refit-stat-chip span{color:#93a4b8;font-size:.75rem}.refit-stat-chip strong{font-size:.82rem;font-weight:700}.refit-schematic{position:relative;min-height:0;border:1px solid #263244;border-radius:8px;background:radial-gradient(circle at 50% 10%,rgba(34,211,238,.08),transparent 30%),#050a14db;overflow:hidden;flex:1 1 auto;aspect-ratio:320 / 420;max-height:100%}.refit-schematic--art{background:radial-gradient(circle at 50% 10%,rgba(34,211,238,.06),transparent 30%),linear-gradient(180deg,#070e19f5,#040912fa)}.refit-ship{width:100%;height:100%;display:block}.refit-ship-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;object-fit:contain;padding:.65rem .45rem .35rem;filter:drop-shadow(0 14px 32px rgba(0,0,0,.4));transform:translate(var(--refit-art-offset-x, 0px),var(--refit-art-offset-y, 0px)) scale(var(--refit-art-scale, 1));transform-origin:center center;-webkit-user-select:none;user-select:none;pointer-events:none}.refit-ship-art--frontier{padding:.35rem .15rem .15rem}.refit-ship-hull{fill:#0a1220eb;stroke:#7dd3fc1f;stroke-width:1}.refit-ship-body path,.refit-ship-body polygon,.refit-ship-body rect{fill:#2563eb2e;stroke:#7dd3fc61;stroke-width:2.5;stroke-linejoin:round}.refit-marker{position:absolute;width:1.9rem;height:1.9rem;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:6px;border:1px solid rgba(148,163,184,.45);background:#0f172af0;color:#e0f2fe;padding:0;pointer-events:auto;opacity:.24;transition:opacity .14s ease,border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.refit-marker span{font-size:.72rem;font-weight:700}.refit-schematic:hover .refit-marker,.refit-marker:hover,.refit-marker:focus-visible{opacity:.94;transform:translate(-50%,-50%) scale(1.02)}.refit-marker.occupied{border-color:#22c55ebf;box-shadow:0 0 0 2px #22c55e1f;opacity:.34}.refit-marker.empty{border-style:dashed;color:#93a4b8;background:#080f1cc2}.refit-marker.selected,.refit-legend-chip.selected{border-color:#38bdf8;background:#0e7490d9}.refit-legend{display:flex;flex-wrap:wrap;gap:.5rem}.refit-legend-chip{border-radius:999px;padding:.45rem .7rem}.button-row,.equipment-list{display:grid;gap:.65rem}.button-row{grid-template-columns:repeat(3,minmax(0,1fr))}.equipment-list button{display:flex;align-items:center;justify-content:space-between;gap:.75rem;text-align:left}.equipment-list small{color:#93a4b8}.market-list{display:grid;gap:.65rem}.market-item{display:flex;align-items:center;justify-content:space-between;gap:.8rem;border:1px solid #263244;border-radius:6px;padding:.8rem}.market-item-button{width:100%;background:#080e18eb;color:inherit;text-align:left;cursor:pointer}.market-item-button:hover{border-color:#7dd3fc59}.market-item-copy{min-width:0}.market-item-count{min-width:2.5rem;text-align:right}.parts-vendor-tabs{display:flex;gap:.55rem;margin-bottom:.8rem}.market-item.selected-row{border-color:#38bdf873}.market-item.deselected-row{opacity:.76}.market-item.locked{border-color:#f59e0b8c}.market-item strong,.market-item small{display:block}.market-item small{color:#93a4b8}.vendor-inline-row{align-items:center;grid-template-columns:auto minmax(0,1fr) auto}.vendor-inline-copy{flex:1}.vendor-inline-actions{align-items:center}.vendor-inline-price{color:#cbd5e1;font-weight:600}.vendor-shape-preview{display:grid;place-items:center;width:3.4rem;min-width:3.4rem;height:3.4rem;border:1px solid #263244;border-radius:6px;background:#030712b3}.vendor-shape-grid{--shape-cell-size: 10px;display:grid;grid-template-columns:repeat(var(--shape-width),var(--shape-cell-size));grid-template-rows:repeat(var(--shape-height),var(--shape-cell-size));gap:2px}.vendor-shape-cell{width:var(--shape-cell-size);height:var(--shape-cell-size);border:1px solid rgba(125,211,252,.38);border-radius:2px;background:#0e74902e}.market-actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.contract-protect-row{margin-top:.8rem}button.selected{border-color:#38bdf8;background:#0c4a6e}.stat-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:1rem 0 0}.refit-stat-list{margin:0}.stat-list div{border:1px solid #263244;border-radius:6px;padding:.65rem}.stat-list dt{color:#93a4b8;font-size:.75rem}.stat-list dd{margin:.2rem 0 0;font-weight:700}.errors{color:#fecaca}.cargo-grid{display:grid;--cargo-cell-size: clamp(34px, 4vw, 48px);grid-template-columns:repeat(var(--grid-width),var(--cargo-cell-size));grid-template-rows:repeat(var(--grid-height),var(--cargo-cell-size));gap:3px;width:fit-content;min-height:0;padding:4px;margin:0;background:linear-gradient(#1f2937 1px,transparent 1px),linear-gradient(90deg,#1f2937 1px,transparent 1px),#030712cc;background-size:calc(100% / var(--grid-width)) calc(100% / var(--grid-height));border:1px solid #263244;border-radius:6px}.ship-cargo-grid{--cargo-cell-size: clamp(34px, 3vw, 52px)}.cargo-grid-shell{position:relative;flex:1 1 auto;overflow:visible;width:100%;max-width:100%;z-index:5}.cargo-panel-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem;color:#93a4b8;font-size:.78rem}.cargo-item{display:grid;place-items:center;min-width:0;overflow:hidden;border:1px solid #38bdf8;border-radius:4px;background:#0e7490cc;color:#ecfeff;font-size:.7rem;line-height:1.05;text-align:center;padding:.2rem}.cargo-item-button{width:100%;height:100%;padding:.25rem}.cargo-item.selected{border-color:#7dd3fc;box-shadow:0 0 0 2px #38bdf859}.cargo-action-popup{position:absolute;z-index:120;min-width:200px;max-width:260px;display:grid;gap:.55rem;border:1px solid #263244;border-radius:6px;background:#080e18f5;box-shadow:0 12px 30px #00000052;padding:.7rem .8rem;pointer-events:auto}.cargo-action-popup--right.cargo-action-popup--below{transform:translate(14px,14px)}.cargo-action-popup--right.cargo-action-popup--above{transform:translate(14px,calc(-100% - 14px))}.cargo-action-popup--left.cargo-action-popup--below{transform:translate(calc(-100% - 14px),14px)}.cargo-action-popup--left.cargo-action-popup--above{transform:translate(calc(-100% - 14px),calc(-100% - 14px))}.cargo-action-popup strong,.cargo-action-popup small{display:block}.cargo-action-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:0}.cargo-action-stats div{min-width:0}.cargo-action-stats dt{color:#93a4b8;font-size:.7rem}.cargo-action-stats dd{margin:.1rem 0 0;color:#e5edf8;font-size:.78rem;font-weight:600}.cargo-action-popup small,.cargo-action-hint{color:#93a4b8}.stored-parts-list{display:grid;gap:.5rem;margin-bottom:1rem}.stored-part-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;border:1px solid #263244;border-radius:6px;padding:.6rem .75rem}.station-help{margin:.4rem 0 0;color:#93a4b8}.station-status{margin:0;color:#7dd3fc;min-height:1.2rem}#station-root,#game-root,#hud-root{position:absolute;top:0;right:0;bottom:0;left:0}#hud-root{top:1rem;right:1rem;bottom:1rem;left:1rem;pointer-events:none;z-index:5;--sector-comms-width: min(16rem, calc(20% - 1rem) );--sector-hotbar-width: min(68rem, 76%);--sector-status-width: min(29rem, 34%)}.sector-chat-overlay{position:absolute;left:1rem;top:calc(1.75rem + (100% - 2rem)/2);bottom:1rem;z-index:12;width:var(--sector-comms-width);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:.45rem;padding:.7rem .75rem;border:1px solid rgba(125,211,252,.18);border-radius:.65rem;background:#070b16cc;box-shadow:0 .75rem 2rem #02061757;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.sector-chat-overlay.collapsed{grid-template-rows:auto;top:auto;height:auto}.sector-chat-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.82rem;font-weight:700;color:#dbeafe;text-transform:uppercase;letter-spacing:.04em}.sector-chat-toggle{border-color:#94a3b847;background:#0f172ab8;color:#cbd5e1;padding:.22rem .5rem;font-size:.7rem;text-transform:none;letter-spacing:0}.sector-chat-overlay.collapsed .sector-chat-log,.sector-chat-overlay.collapsed .sector-chat-form{display:none}.sector-chat-log{min-height:0;max-height:none;overflow-y:auto;display:grid;gap:.08rem;font-size:.86rem;color:#dbeafe;align-content:start}.sector-chat-message{display:block;gap:0;line-height:.92;margin:0;padding:0}.sector-chat-author{color:#7dd3fc;font-weight:700;white-space:nowrap}.sector-chat-text{color:#e2e8f0;word-break:break-word}.sector-chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;position:relative;z-index:1;background:#070b16eb;padding-top:.15rem}.sector-chat-input{min-width:0;border-radius:.5rem;border:1px solid rgba(148,163,184,.4);background:#0f172ae6;color:#f8fafc;padding:.55rem .65rem;font:inherit}.sector-chat-send{padding-inline:.85rem;white-space:nowrap}.hud-shell{position:relative;width:100%;height:100%}.hud-panel{min-width:0;border:1px solid rgba(148,163,184,.35);border-radius:8px;background:#030712d1;padding:.95rem;color:#dbeafe;box-shadow:0 10px 24px #00000040}.hud-bar{display:grid;gap:.35rem}.hud-bar-value{display:flex;align-items:center;justify-content:flex-end;font-size:.95rem;min-width:3.7rem}.hud-durability-row{display:flex;align-items:center;gap:.68rem}.hud-cargo-row{margin-top:.7rem}.cargo-bar{display:flex;align-items:center;gap:.55rem;min-width:0}.cargo-bar .hud-bar-track{flex:1 1 auto}.hull-bar,.shield-bar{min-width:0}.hud-bar-track{height:13px;border:1px solid rgba(148,163,184,.35);border-radius:999px;background:#0f172aeb;overflow:hidden}.hud-bar-fill{height:100%;border-radius:inherit}.hud-bar-fill.hull{background:linear-gradient(90deg,#dc2626,#f97316)}.hud-bar-fill.shield{background:linear-gradient(90deg,#2563eb,#38bdf8)}.hud-bar-fill.cargo{background:linear-gradient(90deg,#0891b2,#34d399)}.hud-status-panel{position:absolute;right:1rem;bottom:0;width:var(--sector-status-width);z-index:4}.hud-bottom{position:absolute;left:calc(var(--sector-comms-width) + 2.5rem);right:calc(var(--sector-status-width) + 1.5rem);bottom:0;pointer-events:none;display:flex;justify-content:flex-end;z-index:5}.hud-hotbar-panel{pointer-events:auto;padding:1rem;width:min(var(--sector-hotbar-width),100%);max-width:68rem}.hud-hotbar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-auto-rows:1fr;gap:.8rem;align-items:stretch}.hud-hotbar-button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.08rem;width:100%;min-height:0;height:auto;min-width:0;aspect-ratio:1 / 1;border:1px solid rgba(148,163,184,.3);border-radius:.8rem;background:#0f172ad1;color:#cbd5e1;padding:.34rem .34rem .58rem;font:inherit;font-size:1rem;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease,transform .12s ease}.hud-hotbar-button:hover{border-color:#60a5fa80;background:#1e293be6}.hud-hotbar-button.active{border-color:#22c55ea6;background:#14532d73;color:#f8fafc}.hud-hotbar-button.disabled{opacity:.45;cursor:default}.hud-hotbar-button:active{transform:translateY(1px)}.hud-hotbar-key{display:inline-flex;align-items:center;justify-content:center;width:2.2rem;height:2.2rem;border-radius:.35rem;background:#0f172ad9;color:#93c5fd;font-size:1.05rem;font-weight:700}.hud-hotbar-name{display:block;text-align:center;line-height:.9;font-weight:600;width:100%;max-width:none;overflow:visible;white-space:normal;text-wrap:balance;font-size:.82rem;transform:translateY(-.14rem)}.hud-hotbar-extra{font-size:.78rem;color:#bfdbfe;transform:translateY(-.16rem)}.sector-map-panel{position:absolute;left:1rem;top:0;width:var(--sector-comms-width);height:calc((100% - 2rem)/2 - .375rem);z-index:4;overflow:visible}.sector-map{width:100%;height:100%;min-height:0;display:block}.sector-map-legend{position:absolute;left:.5rem;bottom:.5rem;display:grid;gap:.3rem;padding:.5rem .6rem;border:1px solid rgba(148,163,184,.24);border-radius:.55rem;background:#030712e6;box-shadow:0 .5rem 1.5rem #0206174d;color:#93a4b8;font-size:.72rem;pointer-events:none}.sector-map-legend span{display:inline-flex;align-items:center;gap:.28rem}.legend-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.legend-dot.asteroid{background:#cbd5e1}.legend-dot.wreck{background:#fbbf24}.legend-dot.nest{background:#fb7185}.legend-dot.rare{background:#2dd4bf}.sector-map-bg{fill:#080f1cf5;stroke:#94a3b838;stroke-width:1}.sector-map-station-ring{fill:#60a5fa0d;stroke:#7dd3fc6b;stroke-width:1.5}.sector-map-station{fill:#7dd3fc}.sector-map-player{fill:#22d3ee;stroke:#ecfeff;stroke-width:1.1}.sector-map-remote-player{fill:#bfdbfe;stroke:#eff6ffb8;stroke-width:.9}.sector-map-enemy{fill:#fb7185}.sector-map-asteroid{fill:#94a3b8;opacity:.9}.sector-map-hotspot{stroke-width:1}.sector-map-hotspot.asteroid{fill:#94a3b83d;stroke:#cbd5e1}.sector-map-hotspot.wreck{fill:#f59e0b38;stroke:#fbbf24}.sector-map-hotspot.nest{fill:#f43f5e33;stroke:#fb7185}.sector-map-hotspot.rare{fill:#2dd4bf33;stroke:#2dd4bf}
