:root{color-scheme:dark;--ink:#e5f1f4;--dim:#8fa9b7;--line:#29424e;--cyan:#91e4e0;--amber:#f3c985;--panel:rgba(8,22,32,.96);font-family:Inter,Segoe UI,Arial,sans-serif;background:#030810;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:5px;background:#102633;color:var(--ink);cursor:pointer}button:hover{border-color:var(--cyan);background:#193844}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--amber);outline-offset:3px}a{color:var(--cyan)}button.primary{background:var(--cyan);color:#072124;border-color:var(--cyan);font-weight:650}button.danger{border-color:#df776b;color:#ffb4a8}h1,h2,h3,p{margin:0}p{line-height:1.5;color:var(--dim)}h1{font-size:22px;font-weight:500;margin-top:5px}h2{font-size:30px;font-weight:500}h3{font-size:17px;font-weight:550}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--cyan);font-weight:600}.dim{color:var(--dim)}.screen-shade{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,5,12,.6),transparent 24%,transparent 60%,rgba(0,5,12,.65))}#flight-view{display:block;width:100vw;height:100dvh;outline:none}.topbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px max(28px,env(safe-area-inset-right)) 20px max(28px,env(safe-area-inset-left));pointer-events:none}.topbar button{pointer-events:auto}.top-status{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--dim)}#station-panel{position:fixed;right:28px;top:108px;bottom:24px;width:min(610px,52vw);border:1px solid var(--line);border-radius:8px;background:var(--panel);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 80px #0005}#station-panel[hidden]{display:none}.station-heading{padding:24px 25px 15px}.station-heading h2{margin:5px 0 8px}.station-heading p{font-size:13px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:14px 25px 20px}.stat small{display:block;font-size:9px;letter-spacing:1px;color:var(--dim);margin-bottom:5px}.stat strong{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}nav{display:flex;gap:2px;padding:0 16px;border-bottom:1px solid var(--line);overflow-x:auto}nav button{border:none;border-bottom:2px solid transparent;border-radius:0;background:transparent;padding:12px 10px;font-size:12px;white-space:nowrap}nav button.active{border-bottom-color:var(--cyan);color:var(--cyan)}#service-content{overflow:auto;flex:1;padding:18px 24px}.station-footer{padding:16px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:10px}.station-footer .primary{min-width:180px;display:flex;justify-content:space-between}.station-footer a{font-size:11px}#hangar-label{position:fixed;left:5vw;bottom:10vh;max-width:35vw}#hangar-label h2{margin:8px 0}#hangar-label p{font-size:12px;margin-bottom:18px}.market-row{display:grid;grid-template-columns:minmax(80px,1.2fr) .6fr .6fr .6fr 65px;gap:6px;align-items:center;padding:11px 0;border-bottom:1px solid #203743;font-size:12px}.market-row.header{color:var(--dim);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.market-row button{padding:5px;min-height:34px;font-size:11px}.market-name{text-transform:capitalize}.card{padding:15px;border:1px solid var(--line);border-radius:5px;margin-bottom:10px}.card p{font-size:12px;margin:8px 0 12px}.card-top{display:flex;justify-content:space-between;gap:12px}.card .price{color:var(--amber);white-space:nowrap}.card-actions{display:flex;gap:8px;flex-wrap:wrap}.card.selected{border-color:var(--cyan)}.card small{font-size:11px;color:var(--dim)}.section-note{font-size:12px;margin:10px 0 15px}.receipt{padding:12px;border:1px solid #376b68;background:#133633;border-radius:4px;font-size:12px;margin-top:12px}input[type=number],input[type=text],select{min-height:44px;background:#0a1a24;border:1px solid var(--line);color:var(--ink);padding:8px;border-radius:4px;width:100%}input[type=range]{width:100%;accent-color:var(--cyan);min-height:30px}label{display:block;color:var(--dim);font-size:12px;margin:10px 0}.reticle{position:fixed;left:50%;top:43%;transform:translate(-50%,-50%);font-size:30px;letter-spacing:8px;color:#bbebdf88;pointer-events:none}.reticle span{font-size:20px}.flight-context{position:fixed;bottom:220px;left:50%;transform:translateX(-50%);width:min(700px,90vw);text-align:center;text-shadow:0 2px 8px #000}.flight-context strong{display:block;font-size:14px;font-weight:500}.flight-context>span{display:block;font-size:12px;color:var(--amber);margin-top:6px}.context-actions{display:flex;justify-content:center;gap:7px;margin-top:12px}.context-actions button{font-size:11px;padding:8px 10px;background:#0b1b25db}.instruments{position:fixed;bottom:10px;left:50%;transform:translateX(-50%);width:min(990px,calc(100vw - 40px));display:grid;grid-template-columns:1fr 320px 1fr;gap:18px;align-items:center;padding:0 20px 5px;border:1px solid #31505d77;border-radius:14px;background:linear-gradient(#0a1b2477,#06131deb)}#scanner{width:320px;height:190px;max-width:100%}.gauges{display:grid;gap:8px}.gauge{font-size:10px;color:var(--dim)}.gauge div{display:flex;justify-content:space-between;margin-bottom:5px}.gauge progress{display:block;width:100%;height:4px;accent-color:var(--cyan)}.engine-panel{font-size:12px}.engine-panel label{font-size:10px;letter-spacing:1px}.engine-panel output{float:right;color:var(--cyan)}#flight-stats{line-height:1.8;font-variant-numeric:tabular-nums}.instrument-actions{display:flex;gap:8px}.instrument-actions button{font-size:10px;min-height:34px;padding:7px 9px}.bearing{position:fixed;max-width:200px;font-size:11px;color:var(--cyan);pointer-events:none;white-space:nowrap;text-shadow:0 2px 8px black}.bearing:before{content:'◇';display:block;font-size:27px}.bearing.behind:before{content:'↶'}.bearing.edge:before{content:'➤'}#toast{position:fixed;left:50%;top:92px;transform:translateX(-50%);padding:12px 18px;background:#102c36ef;border:1px solid #436873;border-radius:5px;font-size:13px;max-width:90vw;z-index:5;display:none}#toast.show{display:block}#toast.error{background:#38201e;border-color:#a7564d}dialog{color:var(--ink);background:#0c1d28;border:1px solid #456575;border-radius:10px;max-width:min(650px,calc(100vw - 32px));max-height:calc(100dvh - 48px);width:560px;padding:28px;box-shadow:0 30px 120px #000b}dialog::backdrop{background:#020913c7;backdrop-filter:blur(7px)}dialog h2{margin:7px 0 14px}dialog p{font-size:13px;margin-bottom:15px}dialog .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}dialog .controls{display:grid;grid-template-columns:1fr 1.7fr;gap:10px;font-size:12px;margin:20px 0}.controls span:nth-child(even){color:var(--dim)}.title-art{width:100%;aspect-ratio:2.6;object-fit:cover;border-radius:5px;margin:0 0 18px}#temporary-warning{position:fixed;top:0;width:100%;text-align:center;font-size:11px;background:#7d531a;color:white;z-index:6}#portrait-warning{position:fixed;inset:0;background:#07131cf5;z-index:30;align-content:center;text-align:center;padding:30px}#touch-controls{display:none}#touch-stick{width:116px;height:116px;border-radius:50%;background:#12314288;border:1px solid #567682;touch-action:none;position:relative}#touch-stick span{position:absolute;width:42px;height:42px;left:36px;top:36px;border-radius:50%;background:#aadada77;transform:translate(var(--stick-x,0),var(--stick-y,0));pointer-events:none}.touch-actions{display:grid;grid-template-columns:repeat(2,64px);gap:7px}.touch-actions button{touch-action:none;padding:8px;font-size:11px;background:#14313dcc}.status-list{font-size:12px;line-height:1.7;color:var(--dim)}.cost-preview{color:var(--amber);font-size:17px;margin:16px 0}.sector-map{width:100%;height:180px;border:1px solid var(--line);border-radius:5px;background:#07141e;margin-bottom:15px}.help-warning{border-left:2px solid var(--amber);padding-left:12px}
@media(pointer:coarse){#touch-controls{display:flex;position:fixed;left:24px;right:24px;bottom:210px;justify-content:space-between;pointer-events:none}#touch-controls>*{pointer-events:auto}.context-actions{gap:4px}.context-actions button{font-size:10px}.flight-context{bottom:230px;width:55vw}.topbar{padding-top:12px}.topbar h1{font-size:17px}}
@media(max-width:850px){#station-panel{width:57vw;right:15px;top:95px;bottom:15px}.station-heading{padding:17px}.summary-grid{padding:10px 17px;gap:5px}.stat strong{font-size:16px}#service-content{padding:12px 16px}.station-footer{padding:10px 16px}.station-footer a{display:none}.topbar{padding:15px}.top-status{gap:6px}.top-status>span{display:none}.instruments{grid-template-columns:1fr 260px 1fr;gap:8px;width:calc(100vw - 20px);padding:0 10px}#scanner{width:260px;height:160px}.flight-context{bottom:185px}.market-row{font-size:10px;grid-template-columns:1fr .6fr .6fr .6fr 52px}#hangar-label{left:25px;bottom:35px}#hangar-label h2{font-size:24px}.instrument-actions{gap:3px}.instrument-actions button{padding:6px;font-size:9px}}
@media(max-width:600px){body.docked{overflow:auto}body.docked #flight-view{opacity:.24}#station-panel{top:90px;bottom:10px;left:10px;right:10px;width:auto}#hangar-label{display:none}h1{font-size:17px}.top-status button{padding:8px;font-size:11px}.instruments{grid-template-columns:1fr 200px 1fr;gap:5px}#scanner{width:200px;height:145px}.engine-panel{font-size:10px}.gauges{gap:5px}.gauge{font-size:9px}.instrument-actions{display:none}.flight-context{bottom:165px}.station-heading h2{font-size:25px}.summary-grid{padding-bottom:15px}.controls{grid-template-columns:1fr!important}dialog{padding:20px}.station-heading p{font-size:12px}}
@media(max-height:550px) and (orientation:landscape){.topbar{padding:8px 18px}.topbar h1{font-size:15px}.eyebrow{font-size:8px}#station-panel{top:67px;bottom:8px}.station-heading{padding:10px 15px}.station-heading h2{font-size:20px}.station-heading p{font-size:11px}.summary-grid{padding:6px 15px}.stat strong{font-size:15px}.instruments{width:65vw;grid-template-columns:1fr 210px 1fr;bottom:3px}#scanner{width:210px;height:126px}.gauges{gap:4px}.gauge{font-size:8px}.engine-panel{font-size:10px}.instrument-actions{display:none}.flight-context{bottom:144px;width:60vw}.flight-context strong{font-size:11px}.flight-context>span{font-size:10px}.context-actions{margin-top:6px}.context-actions button{min-height:36px;font-size:9px;padding:5px}#touch-controls{bottom:28px;left:15px;right:15px}.top-status button{min-height:36px;padding:7px}#toast{top:64px}#hangar-label{bottom:22px}#hangar-label h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.asset-inspector-dialog{width:min(1050px,96vw);max-width:1050px}.asset-inspector-dialog h2{font-size:24px}#asset-inspection-view{display:block;width:100%;height: min(48vh,460px);min-height:220px;border:1px solid #31505d;border-radius:6px;touch-action:none}.inspection-options{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}.inspection-options label{display:flex;gap:8px;align-items:center;font-size:13px}.inspection-options input{width:20px;height:20px}.asset-inspector-dialog .actions button{text-transform:capitalize}

#radio-subtitle { position: fixed; top: 92px; left: 50%; transform: translateX(-50%); max-width: 80vw; padding: 10px 20px; background: #061019ed; border: 1px solid #69d9ce; border-radius: 5px; color: #e5faf7; z-index: 12; text-align: center; }
#dialog audio { width: 100%; max-width: 480px; }

.system-art { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 5px; margin-bottom: 12px; }
.export-dialog textarea { width: 100%; font: 12px monospace; color: var(--ink); background: #07141e; border: 1px solid var(--line); }
@media(max-width:850px) { .topbar #build-version { display: block; position: fixed; left: 15px; top: 75px; font-size: 10px; color: var(--dim); } }
