@font-face{font-family:"Plex Sans";src:url("./fonts/IBMPlexSans-400.woff2");font-display:swap}@font-face{font-family:"Plex Mono";src:url("./fonts/IBMPlexMono-500.woff2");font-display:swap}
:root{color-scheme:dark;--bg:#000000;--panel:#121214;--fg:#E6E3DA;--muted:#8F8C84;--line:#2A2A2E;--accent:#FF8C7C;--trajectory:#FF8C7C;--world:var(--fg);font:15px/1.45 "Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--fg)}button,input,select{font:inherit}button{color:inherit;background:transparent;border:1px solid var(--line);border-radius:3px;min-height:44px;padding:8px 12px;cursor:pointer}button:hover:enabled{background:var(--panel)}button:disabled{opacity:.46;cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button[aria-pressed=true],button[aria-selected=true]{color:var(--accent);border-color:var(--accent)}button svg{width:22px;height:22px;vertical-align:middle}a{color:inherit}p,h1,h2,h3{margin:0}h2{font-size:20px;font-weight:400}h3{font-size:17px;font-weight:400}p+p{margin-top:12px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#app{height:100dvh;display:grid;grid-template-rows:48px minmax(220px,1fr) minmax(164px,32%);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);overflow:hidden}.hud{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 12px;border-bottom:1px solid var(--line);font:14px "Plex Mono",monospace;white-space:nowrap}.hud-item{display:flex;align-items:center;gap:6px}.hud-item svg{width:17px;height:17px;color:var(--muted)}.fuel-gauge{display:none}
#flight-view{min-height:0;position:relative;display:flex;flex-direction:column;overflow:hidden}.scene-heading{display:flex;justify-content:space-between;align-items:center;min-height:40px;gap:8px;padding:0 12px}#goal-progress{display:none}#scene-time{color:var(--muted);font-size:14px}.camera-controls{display:flex}.camera-controls button{padding:4px 9px;border:0}#view-toggle,#camera-reset{display:none}.view-tabs{display:flex;align-items:center;gap:2px;padding:0 8px;border-bottom:1px solid var(--line);min-height:44px}.view-tabs button{border:0;padding:6px 9px}#local-wide{margin-left:auto;font-size:14px}
.chart-wrap{touch-action:none;position:relative;flex:1;min-height:120px;overflow:hidden;isolation:isolate}#chart{display:block;position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline-offset:-4px}.orbital-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.world-controls{position:absolute;inset:0;pointer-events:none}.world-button{position:absolute;pointer-events:auto;background:none!important;border:0;padding:0;opacity:0}.world-button:focus-visible{opacity:1}.scene-scale{position:absolute;bottom:9px;left:12px;pointer-events:none;color:var(--muted);font:12px "Plex Mono",monospace}.flight-phase{position:absolute;top:12px;left:12px;color:#F2C14E}
.orbit,.parking-orbit,.moon-orbit,.soi-orbit{fill:none;stroke:var(--line);stroke-width:1}.parking-orbit{stroke:var(--fg);opacity:.65}.soi-orbit{stroke:var(--muted);stroke-dasharray:4 5}.moon-orbit{stroke:var(--muted);opacity:.5}.orbit-label{fill:var(--muted);font:14px "Plex Sans",sans-serif}.exclusion{fill:none;stroke:#80615A;stroke-width:1;stroke-dasharray:2 5}.planet-label{fill:var(--fg);font:16px "Plex Sans",sans-serif;cursor:pointer}.planet-label.here{fill:#fff}.label-leader{stroke:var(--muted);stroke-width:.6;opacity:.45}.target-ring{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 3}.docked-ring{fill:none;stroke:var(--fg);stroke-width:1}.ship-craft{fill:#F2C14E;stroke:var(--bg);stroke-width:1}.ship-ring{fill:rgba(0,0,0,.45);stroke:#F2C14E;stroke-width:2}.arrow{stroke:var(--accent);stroke-width:1.5}.handle{fill:var(--accent);stroke:var(--bg);stroke-width:2}.traj{fill:none;stroke:var(--accent);stroke-width:1.5}.traj.estimate{stroke-dasharray:4 4;opacity:.6}.tick{fill:var(--accent)}.flight-progress{fill:none;stroke:#F2C14E;stroke-width:2.5}.in-flight .traj{opacity:.4}.caption{display:none}.bar{display:flex;gap:6px;justify-content:space-between;min-height:56px;padding:4px 8px;border-top:1px solid var(--line)}.group{display:flex;gap:4px}.ib{display:flex;align-items:center;gap:6px;border:0;padding:6px 8px}.ib svg{width:20px;height:20px}
#market{min-height:0;overflow:auto;border-top:1px solid var(--line);padding:0 12px 12px;scrollbar-width:thin}.market-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:48px;position:sticky;top:0;background:var(--bg);z-index:2}.market-heading h2{font-size:16px}.market-heading button{border:0}.market-heading button svg{display:none}.world-name{color:var(--world);white-space:nowrap}.world-icon{width:18px;height:18px;vertical-align:middle;margin-right:6px}[data-planet=mercury]{--world:#C6C9D1}[data-planet=venus]{--world:#DBBD89}[data-planet=earth]{--world:#9EBEFF}[data-planet=mars]{--world:#F1A28B}[data-planet=ceres]{--world:#C2B9CD}.blurb{color:var(--muted);margin-bottom:12px}.market-peek{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted)}.market-peek>div{display:inline-flex;align-items:baseline;gap:6px}.market-peek button{border:0;padding:4px;display:inline-flex;align-items:center;gap:6px}.goods{border-collapse:collapse;width:100%;font-size:16px}.goods th{font-weight:400;color:var(--muted);text-align:left;padding:6px 3px;border-bottom:1px solid var(--line)}.goods td{padding:9px 3px;border-bottom:1px solid var(--line);vertical-align:top}.num{text-align:right;font-variant-numeric:tabular-nums}.goods small{display:block;color:var(--muted);font-size:13px}.goods button{padding:4px 8px;min-width:44px}.goods td:last-child{white-space:nowrap;text-align:right}.goods .world-name{display:block;font-size:13px}.goods .world-icon{width:13px;height:13px}.market-links{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.market-links button{flex:1;padding:7px}
.route-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:5px;padding:8px 12px;overflow:hidden}.route-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.route-heading h2{font-size:16px}.route-heading button{min-width:44px;border:0}.departure-label{display:flex;justify-content:space-between}.departure-label label{display:none}#route-chart-wrap{flex:1;min-height:140px;position:relative}#route-chart{width:100%;height:100%;display:block;touch-action:none}#route-table-open{position:absolute;right:12px;top:2px;font-size:14px;background:var(--bg);padding:3px 8px}#departure{width:100%;min-height:24px;accent-color:var(--accent)}.departure-presets{display:flex;gap:5px;overflow-x:auto;flex:none}.departure-presets button{white-space:nowrap;padding:6px 10px}.route-stats{display:flex;gap:12px;justify-content:space-between;flex:none}.route-stats>span{font-size:13px;color:var(--muted)}.route-stats b{display:block;font-size:16px;color:var(--fg);font-weight:400}.burn-budget{font-size:13px;color:var(--muted)}#route-note{font-size:14px;line-height:1.35;max-height:3em;overflow:auto}#route-go{min-height:48px;flex:none;background:var(--accent);color:var(--bg);border:0}.route-open #app{grid-template-rows:48px minmax(0,1fr)}.route-open #market,.route-open .bar{display:none}.route-open .chart-wrap{flex:0;height:88px;min-height:88px}.route-open .scene-scale{display:none}.route-open:not(.route-chart-active) #route-chart-wrap{display:none}.route-open:not(.route-chart-active) .chart-wrap{flex:1;min-height:130px}.route-open:not(.route-chart-active) .route-panel{flex:0 0 auto;max-height:55%;overflow:auto}.route-open .scene-heading{display:none}.in-flight .view-tabs,.in-flight .bar{display:none}#flight-skip,#flight-speed{position:absolute;bottom:12px;right:12px;z-index:5;background:var(--bg)}#flight-speed{right:170px}
.sheet{width:min(760px,100%);max-height:85dvh;margin:auto;padding:0;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:6px;overflow:auto}.sheet::backdrop{background:rgba(0,0,0,.72)}.sheet-in{padding:24px;position:relative}.sheet-x{float:right;margin-left:12px;min-width:44px}.sheet h2{margin-bottom:16px}.sheet p{color:var(--muted);margin:12px 0}.sheet details{margin:16px 0;border-top:1px solid var(--line);padding-top:12px}.sheet summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.tabs{display:flex;gap:4px;overflow:auto;margin:20px 0}.tabs button{flex:1;border:0;border-bottom:1px solid var(--line);border-radius:0}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:3px}.go{background:var(--accent);color:var(--bg)}.good{color:#B0CEAA}.bad{color:var(--accent)}.targets{display:flex;flex-wrap:wrap;gap:8px}.targets button{flex:1 1 40%;text-align:left}.burn{display:flex;flex-direction:column;gap:8px;margin:16px 0}.burn>div{display:grid;grid-template-columns:1fr 44px 72px 44px;align-items:center;text-align:center}.burn>div span{text-align:left}.mini{min-width:44px}.contract,.upgrade,.yard-item{padding:14px 0;border-bottom:1px solid var(--line)}#log{padding-left:24px}#log li{margin:12px 0}.quick-steps{padding-left:24px}.quick-steps li{margin:16px 0}.table-scroll{overflow:auto;max-width:100%}#route-table{border-collapse:collapse;font-size:14px}#route-table th{padding:8px;font-weight:400}#route-table td{padding:2px}#route-table button{min-width:44px;padding:4px}.final{position:fixed;inset:0;z-index:20;background:var(--bg);display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:max(24px,8vw);gap:18px}.final h2{font-size:clamp(28px,5vw,64px)}.final p{max-width:55ch}
@media(min-width:900px){#app{grid-template-columns:58% 42%;grid-template-rows:52px minmax(0,1fr)}.hud{grid-column:1/3;font-size:16px;padding:0 24px}#flight-view{grid-column:1;grid-row:2}.scene-heading{padding:4px 20px;min-height:54px}#goal-progress{display:block;font-size:14px;color:var(--muted)}#view-toggle,#camera-reset{display:block}.view-tabs{padding:0 16px}.chart-wrap{min-height:250px}#market{display:block!important;grid-column:2;grid-row:2;border-top:0;border-left:1px solid var(--line);padding:12px 24px 24px}.market-heading{min-height:56px}.market-heading h2{font-size:22px}#market-toggle{display:none}.market-peek{display:none!important}#market-body{display:block!important}.goods td{padding:18px 4px}.market-links{gap:12px}.bar{padding:8px 20px;min-height:64px}.route-open #app{grid-template-rows:52px minmax(0,1fr)}.route-open .scene-heading{display:flex}.route-open .chart-wrap{height:128px;min-height:128px}.route-panel{padding:12px 20px;gap:10px}.route-open:not(.route-chart-active) .chart-wrap{flex:1;min-height:180px}.route-stats b{font-size:18px}#route-note{font-size:16px}.route-heading h2{font-size:20px}}
@media(max-width:360px){.hud{gap:4px;padding:0 8px;font-size:12px}.hud-item{gap:4px}.hud-item svg{width:14px}.view-tabs button{padding:6px 7px}#local-wide{font-size:12px}.ib{gap:3px;padding:6px}.ib span{font-size:14px}.group{gap:0}.route-panel{padding:5px 8px;gap:3px}.route-stats{gap:8px}.route-stats b{font-size:14px}.route-heading h2{font-size:14px}#route-note{font-size:13px}.departure-presets button{padding:6px 8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(forced-colors:active){.orbit-trail{display:none}.orbit,.parking-orbit,.traj,.arrow,.flight-progress{stroke:CanvasText}.planet-label,.orbit-label{fill:CanvasText}.handle,.ship-craft{fill:CanvasText}.ship-ring{fill:Canvas;stroke:CanvasText}.target-ring{stroke:Highlight}}


/* The plot owns the planning screen; the sky becomes a corner inset. */
@media(max-width:899px){
 .bar .group{min-width:0;flex:1;justify-content:space-around}.bar .group:last-child{flex:0 0 48px}
 .bar .ib{flex-direction:column;gap:1px;justify-content:center;min-width:44px;min-height:52px;padding:2px 5px;font-size:14px}.bar .ib svg{width:18px;height:18px}
 .route-open.route-chart-active .chart-wrap{position:absolute;top:56px;right:12px;width:88px;height:88px;min-height:88px;z-index:3;pointer-events:none;border:1px solid var(--line);border-radius:50%}
 .route-open.route-chart-active .chart-wrap .world-controls{display:none}
 .route-open.route-chart-active .route-heading{position:absolute;top:44px;left:12px;right:108px;z-index:4;min-height:36px;pointer-events:none}
 .route-open.route-chart-active .route-heading h2{font-size:14px}.route-open.route-chart-active .route-heading button{pointer-events:auto}
 .route-open.route-chart-active .departure-label,.route-open.route-chart-active #departure{display:none}
 .route-open.route-chart-active #route-chart-wrap{min-height:240px}
 .route-open.route-chart-active .route-panel{padding-top:8px;gap:4px}
 .route-open.route-chart-active #route-table-open{left:48px;right:auto;top:48px;min-height:44px}
 .route-open.route-chart-active .burn-budget{display:none}
 .route-open.route-chart-active #route-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:22px;min-height:22px;font-size:14px}
 .route-stats{order:2}.departure-presets{order:4}#route-note{order:3}#route-go{order:5}
 .route-open:not(.route-chart-active) .route-stats,.route-open:not(.route-chart-active) #route-note,.route-open:not(.route-chart-active) .departure-presets,.route-open:not(.route-chart-active) #route-go{order:initial}
 .in-flight #market{display:none}.in-flight #app{grid-template-rows:48px minmax(0,1fr)}
}

.edge-pointer{fill:none;stroke:var(--fg);stroke-width:1.5}
.selected-departure{position:absolute;left:54px;top:1px;color:var(--fg);font-size:13px;pointer-events:none}
@media(max-width:899px){#market-blurb{display:none}.goods small{font-size:13px}.bar .ib span{font-size:16px}.bar .ib{min-width:54px}}

#save-recovery{position:fixed;inset:8px 8px auto;z-index:40;background:var(--panel);padding:16px;border:1px solid var(--accent);box-shadow:0 8px 28px #0008}#save-recovery p{margin-bottom:12px}#save-recovery button{margin-right:8px}

.window-spark{display:block;width:96px;height:28px;margin-top:6px}.targets small{display:block;font-size:14px}.targets button{min-width:150px}#escape-chart{display:block;width:100%;height:140px}#escape-burn{display:block;width:100%;height:44px;accent-color:var(--accent)}#escape-options{margin:12px 0}

button{min-width:44px}

.departure-presets button{flex:none}.route-open:not(.route-chart-active) .scene-scale{display:block}
@media(max-height:600px){.route-open.route-chart-active #route-chart-wrap{min-height:140px}.route-open.route-chart-active #route-note{font-size:13px}}

.burn-label{fill:var(--accent);font-size:13px}
.route-open.route-chart-active #departure,.route-open.route-chart-active .departure-label{display:none}
@media(min-width:900px){
 .route-open.route-chart-active .scene-heading{display:none}
 .route-open.route-chart-active .chart-wrap{position:absolute;top:56px;right:20px;width:116px;height:116px;min-height:116px;z-index:3;border:1px solid var(--line);border-radius:50%;pointer-events:none}
 .route-open.route-chart-active .chart-wrap .world-controls{display:none}
 .route-open.route-chart-active #route-chart-wrap{min-height:280px}
 .route-open.route-chart-active .route-heading{padding-right:124px}
 .route-open.route-chart-active #route-table-open{right:auto;left:48px;top:32px}
}

@media(max-width:899px){
 .route-open.route-chart-active .route-heading{position:relative;top:auto;left:auto;right:auto;min-height:40px;flex:none;padding-right:96px;pointer-events:auto}
 .route-open.route-chart-active .route-heading h2{font-size:16px}
}

@media(max-height:520px) and (min-width:600px){
 #app{grid-template-columns:58% 42%;grid-template-rows:44px minmax(0,1fr)}
 .hud{grid-column:1/3;font-size:13px}#flight-view{grid-column:1;grid-row:2}
 .scene-heading{display:none}.view-tabs{padding:0 4px}.view-tabs button{padding:4px 7px}#local-wide{font-size:12px}
 .chart-wrap{min-height:60px}.bar{min-height:50px;padding:0 4px}.bar .ib{min-height:48px}
 #market{display:block!important;grid-column:2;grid-row:2;border:0;border-left:1px solid var(--line);padding:0 10px}
 #market-body{display:block!important}#market-peek,#market-toggle{display:none!important}
 .market-heading{min-height:44px}.market-heading h2{font-size:14px}.goods{font-size:14px}.goods small,.goods .world-name{font-size:12px}
 .goods button{padding:4px;min-width:44px}.goods td{padding:4px 2px}.goods .acts button:nth-child(2){display:none}
 .route-open #flight-view{grid-column:1/3}.route-open #market{display:none!important}
 .route-open #app{grid-template-rows:44px minmax(0,1fr)}
 .route-open.route-chart-active .chart-wrap{display:none}
 .route-open.route-chart-active .route-panel{display:grid;grid-template-columns:minmax(0,1fr) 224px;grid-template-rows:32px 38px 24px 44px 44px;gap:3px 12px;padding:2px 12px 6px}
 .route-open.route-chart-active .route-heading{grid-column:1;grid-row:1;min-height:32px;padding:0}.route-heading button{height:32px;min-height:44px;position:absolute;right:0;top:-6px}
 .route-open.route-chart-active #route-chart-wrap{grid-column:1;grid-row:2/6;min-height:0}
 .route-open.route-chart-active .route-stats{grid-column:2;grid-row:1/3;align-items:center;gap:8px}.route-stats b{font-size:14px}
 .route-open.route-chart-active #route-note{grid-column:2;grid-row:3;font-size:13px}
 .route-open.route-chart-active .departure-presets{grid-column:2;grid-row:4}
 .route-open.route-chart-active #route-go{grid-column:2;grid-row:5;min-height:44px}
 .route-open.route-chart-active #route-table-open{top:26px;left:48px}
 .route-open:not(.route-chart-active) .route-panel{max-height:120px;overflow:auto}
 .in-flight #app{grid-template-rows:44px minmax(0,1fr)}.in-flight #flight-view{grid-column:1/3}.in-flight #market{display:none!important}
}

.arrival-ghost{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3}

#route-trade{flex:none;padding:6px 8px}#trade-sheet{padding:12px;max-height:85dvh}
#trade-sheet #market{display:block!important;overflow:visible;border:0;padding:0;clear:both}
#trade-sheet #market-body{display:block!important}#trade-sheet #market-peek,#trade-sheet #market-toggle{display:none!important}
#trade-sheet .market-heading{position:static}
@media(max-height:520px) and (min-width:600px){.route-heading #route-trade{position:static;height:44px;margin-right:44px}.route-heading #route-cancel{position:absolute;right:0;top:-6px}}

#correct-course{order:5;flex:none;min-height:48px;background:var(--accent);color:var(--bg)}

.traj.reveal{stroke-dasharray:1;animation:route-trace .45s ease-out}@keyframes route-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.traj.reveal{animation:none}}

@media(max-width:899px) and (min-height:521px){
 .goods td{padding:7px 3px}
 .goods td:first-child{width:38%}
 .goods small .world-name{display:inline}
 .goods td:last-child{white-space:nowrap}
 .goods .acts button{padding:4px;min-width:44px}
}

/* Minimal chrome (2026-10-06): cues, board feedback, scale bar, compact rows. */
.cue{box-shadow:0 0 0 2px var(--accent);animation:cue 1.6s ease-in-out infinite}
@keyframes cue{50%{box-shadow:0 0 0 2px transparent}}
@media(prefers-reduced-motion:reduce){.cue{animation:none}}
@media(forced-colors:active){.cue{outline:2px solid Highlight}}
.hud-item{position:relative}
.bump{position:absolute;left:22px;top:100%;margin-top:4px;font:12px "Plex Mono",monospace;color:var(--accent);pointer-events:none;white-space:nowrap;z-index:6;animation:bump 2.2s ease-out forwards}
.bump.up{color:#B0CEAA}
@keyframes bump{0%{transform:translateY(-4px)}15%,100%{transform:none}}
.scene-scale i{display:inline-block;height:5px;border:1px solid var(--muted);border-top:0;margin-right:6px;vertical-align:middle}
.goods th.best{text-align:left}
.goods td.best{white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.goods td.best .world-name{display:inline;font-size:inherit}
.goods td.best .world-icon{width:15px;height:15px;margin-right:3px}
.goods td{position:relative}
.goods .best-inline .world-name{display:inline}
@media(max-width:599px){.goods .best .wn,.goods .best-inline .wn{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}
.goods .best-inline{display:none}
@media(max-width:374px){.goods .best{display:none}.goods .best-inline{display:block}}
.subhead{font-size:14px;color:var(--muted);margin:16px 0 0}
.contract{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}
.contract .c-terms{font-size:14px;color:var(--muted)}
.contract .c-terms b{color:var(--fg);font-weight:400}
.contract button{grid-column:2;grid-row:1/3}
.yard-away{margin-top:12px}
.help .quick-steps{list-style:none;padding:0}
.help .quick-steps li{margin:10px 0}
.help-keys{font:13px/1.5 "Plex Mono",monospace;color:var(--muted)}
.sheet .help-credits{font-size:13px;margin-top:20px}
@media(max-width:899px){
 #flight-view>.scene-heading{position:absolute;top:45px;left:0;right:0;z-index:4;min-height:0;padding:0 4px 0 12px;pointer-events:none}
 #flight-view>.scene-heading>*{pointer-events:auto}
 .in-flight #flight-view>.scene-heading{top:0}
 #scene-time:empty{display:none}
}
.goods td.best,.goods th.best{padding-left:12px}
.yard-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.yard-row small{color:var(--muted);font-size:14px}
@media(pointer:coarse){.help-keys{display:none}}
#flight-speed{right:92px}
#route-note{min-height:1.35em}
@media(max-width:899px){#route-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:1.4em}}
@media(min-width:900px){#route-note{min-height:2.7em}}
/* Mono chrome (2026-10-07): the market keeps its three actions on a phone. */
@media(min-width:1280px){.goods td:first-child{white-space:nowrap}}
@media(min-width:900px) and (max-width:1279px){.goods{font-size:14px}.goods td.best,.goods th.best{padding-left:6px}.goods button{padding:4px 6px}}
@media(max-width:599px){.goods{font-size:14px}.goods td:first-child{white-space:normal}.goods th,.goods td{padding-left:2px;padding-right:2px}.goods td.best,.goods th.best{padding-left:6px}.goods .acts button,.goods button{padding:4px 2px;min-width:44px}.goods td:last-child button+button{margin-left:2px}}
@media(min-width:900px) and (max-width:1179px){.goods .best .wn{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.goods th,.goods td{padding-left:2px;padding-right:2px}.goods td.best,.goods th.best{padding-left:6px}.goods button{padding:4px 2px}}

/* Compact desktop (2026-10-07): the system takes the screen; the market is a narrow rail. */
@media(min-width:900px){
 #app{grid-template-columns:minmax(0,1fr) clamp(360px,28vw,420px);grid-template-rows:44px minmax(0,1fr)}
 .route-open #app{grid-template-rows:44px minmax(0,1fr)}
 .hud{padding:0 20px;gap:28px;font-size:15px}.hud-item:first-child{margin-right:auto}
 #flight-view{position:relative}
 .view-tabs{min-height:48px;padding:0 12px;border-bottom:0}
 .scene-heading{position:absolute;top:0;right:0;min-height:48px;padding:0 12px;z-index:4}
 .scene-heading>div:first-child{font-size:13px;color:var(--muted);margin-right:8px}
 #local-wide{margin-left:0}
 #goal-progress{display:inline;font-size:13px}
 .route-open #goal-progress,.in-flight #goal-progress{display:none}
 .bar{min-height:52px;padding:4px 12px}
 #market{padding:4px 16px 16px}
 .market-heading{min-height:48px}.market-heading h2{font-size:18px}
 .goods{font-size:14px}.goods th{font-size:12px;padding:4px 2px}.goods td{padding:5px 2px;vertical-align:middle}
 .goods td.best,.goods th.best{padding-left:8px}
 .goods .best .wn{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .goods td:first-child{white-space:nowrap}
 .goods button{padding:4px 6px}
 .market-links{gap:6px;margin-top:12px}.market-links button{padding:4px 6px;font-size:14px}
}
@media(min-width:900px){
 #app{grid-template-columns:minmax(0,1fr) clamp(380px,28vw,440px)}
 .goods td:first-child{white-space:normal}
 .goods td.acts{white-space:nowrap;font-size:0;text-align:right}
 .goods td.acts button{font-size:14px;padding:4px 2px;margin-left:4px}
 .goods td.best,.goods th.best{padding-left:6px}
}
@media(min-width:900px){
 #goal-progress{position:fixed;top:0;left:50%;transform:translateX(-50%);line-height:44px;z-index:6;white-space:nowrap}
}
@media(min-width:900px) and (max-width:999px){
 .scene-heading{position:static;justify-content:flex-end;min-height:44px}
 #goal-progress{left:44%}
}

/* Keep a destination preview connected to the same port market. */
.goods .market-destination{border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:flex-end;gap:3px;padding:0 3px;min-height:44px;min-width:44px;line-height:1.2}
.goods .market-destination .world-name{display:inline}.goods .market-destination[aria-pressed=true]{color:var(--fg);box-shadow:inset 0 -2px var(--accent)}
.goods tr.carried td:first-child{box-shadow:inset 2px 0 var(--fg);padding-left:7px}
.goods tr.profitable .arrival-price{font-weight:600}
.cue{animation:cue 1.6s ease-in-out 3}
#auto-icon:disabled,#launch-icon:disabled{display:none}
@media(min-width:900px){.route-open:not(.route-chart-active) #market{display:block!important}}
.route-open:not(.route-chart-active) #route-trade{display:none}
@media(max-width:899px) and (min-height:521px){
 #app{grid-template-rows:48px minmax(0,1fr) minmax(112px,25%)}
 .market-expanded:not(.route-chart-active) #app{grid-template-rows:48px minmax(0,1fr) minmax(288px,45%)}
 .route-open:not(.route-chart-active) #app{grid-template-rows:48px minmax(0,1fr) 48px}
 .route-open:not(.route-chart-active).market-expanded #app{grid-template-rows:48px minmax(0,1fr) minmax(250px,36%)}
 .route-open:not(.route-chart-active) #market{display:block}
 .route-open:not(.route-chart-active) #market-peek{display:none}
 .route-open:not(.route-chart-active) .route-panel{max-height:none;flex:none;gap:4px;padding:6px 12px}
 .route-open:not(.route-chart-active) .chart-wrap{min-height:60px}
 .route-open:not(.route-chart-active) #burn-budget{display:none}
 .route-open:not(.route-chart-active) .departure-presets button:nth-child(n+3):not(#verify-nearby){display:none}
 .route-open:not(.route-chart-active) #departure{min-height:24px;margin:0}
 .market-expanded .goods td{padding-top:3px;padding-bottom:3px}
}
@media(max-height:520px) and (min-width:600px){
 .route-open:not(.route-chart-active) #flight-view{grid-column:1}
 .route-open:not(.route-chart-active) #market{display:block!important}
 .route-open:not(.route-chart-active) .route-panel{max-height:160px}
 .route-open:not(.route-chart-active) #burn-budget,.route-open:not(.route-chart-active) .departure-presets{display:none}
}

.goods th.best .world-name{font-size:12px}.goods th.best .world-icon{margin-right:0}
@media(max-width:1279px){.goods th.best .world-name{font-size:0}}

/* Keep launch exposed while the compact phone market is open. */
@media(max-width:899px) and (min-height:521px) and (max-height:700px){
 .market-expanded:not(.route-open) #app{grid-template-rows:48px minmax(0,1fr) 32%}
 .route-open:not(.route-chart-active).market-expanded .route-panel>:not(.route-heading):not(#route-go):not(#correct-course):not(#route-note){display:none!important}
}
@media(max-height:520px) and (min-width:600px){
 .route-open:not(.route-chart-active) .route-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:44px 48px;gap:4px 8px;max-height:none;overflow:visible}
 .route-open:not(.route-chart-active) .route-heading{grid-column:1;grid-row:1;position:relative;padding-right:40px}
 .route-open:not(.route-chart-active) .route-heading h2{font-size:13px}
 .route-open:not(.route-chart-active) #route-cancel{top:0;right:-4px}
 .route-open:not(.route-chart-active) .departure-label{grid-column:1;grid-row:2;align-items:center;font-size:12px}
 .route-open:not(.route-chart-active) #departure,.route-open:not(.route-chart-active) #route-note{display:none}
 .route-open:not(.route-chart-active) .route-stats{grid-column:2;grid-row:1;font-size:12px;align-items:center}
 .route-open:not(.route-chart-active) .route-stats>span{font-size:12px}
 .route-open:not(.route-chart-active) .route-stats>span:nth-child(2){display:none}
 .route-open:not(.route-chart-active) #route-go{grid-column:2;grid-row:2;font-size:13px;padding:4px}
}
.hud button.hud-item{font:inherit;border:0;border-bottom:1px solid var(--muted);border-radius:0;padding:0;min-width:44px;min-height:44px}
