:root{color-scheme:dark;--bg:#0c1118;--panel:#141c26;--line:#283544;--muted:#95a6ba;--ink:#e8eef6;--lime:#c6f27c;--blue:#8fbfff;--red:#ff9d91;font-family:Inter,"Microsoft YaHei",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid transparent;border-radius:7px;background:var(--lime);color:#172010;padding:10px 15px;font-weight:700}button:hover{filter:brightness(1.1)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:#1d2937;color:var(--ink);border-color:var(--line)}button.danger{background:#3b2829;color:var(--red)}input,select,textarea{background:#0d141e;border:1px solid #354356;color:var(--ink);padding:11px;border-radius:6px;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue)}label{display:block;color:var(--muted);font-size:12px;margin:15px 0 7px}h1,h2,h3,p{margin-top:0}h2{font-size:19px;letter-spacing:.5px}h3{font-size:15px}p{line-height:1.8}small,.muted{color:var(--muted)}.mono,.value{font-family:Consolas,monospace}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--lime);font-weight:700}.shell{max-width:1500px;margin:auto;padding:24px 32px}.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;gap:16px}.brand{font-size:23px;font-weight:800;letter-spacing:3px}.brand span{color:var(--lime)}.top-actions,.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{border:1px solid var(--line);border-radius:5px;color:var(--muted);padding:5px 8px;font-size:11px}.badge.green{color:var(--lime);border-color:#4c6336}.hero{display:flex;align-items:end;justify-content:space-between;margin:28px 0 22px;gap:15px}.hero h1{font-size:30px;margin:7px 0}.phase{display:flex;gap:6px}.phase span{padding:9px 18px;border-radius:6px;color:var(--muted);background:#17202b}.phase .active{background:var(--lime);color:#1a2514;font-weight:700}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.stat{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:9px}.stat .value{font-size:25px;margin-top:10px}.stat .value.green{color:var(--lime)}.layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;gap:20px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:20px;overflow:auto}.tab{white-space:nowrap;background:none;color:var(--muted);border-radius:0;padding:12px 2px 16px;border-bottom:2px solid transparent}.tab.active{color:var(--lime);border-bottom-color:var(--lime)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.panel-head h2{margin:0}.news{padding:20px 0;border-top:1px solid var(--line)}.news:first-of-type{padding-top:0;border-top:0}.news h3{font-size:18px;margin:12px 0 8px}.news p{color:#b0bfd0;margin-bottom:12px}.clue{border-left:2px solid var(--blue);padding:9px 13px;background:#1a293b;line-height:1.8;margin-bottom:12px}.news-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);letter-spacing:1px}.price{font-size:40px;color:var(--lime);font-family:Consolas,monospace}.chart{height:160px;width:100%;display:block;margin:15px 0}.chart polyline{fill:none;stroke:var(--lime);stroke-width:2.5}.chart line{stroke:#2a3645;stroke-width:1}.chart text{fill:var(--muted);font-size:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:15px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.map{width:100%;height:260px;background:radial-gradient(ellipse at center,#1e3346 0,#101923 65%);border:1px solid var(--line);border-radius:8px;margin-bottom:20px}.map text{fill:var(--ink);font-size:13px}.map .route{stroke:#486277;stroke-dasharray:5 6;stroke-width:1}.map .planet{fill:#8fbfff;stroke:#304d64;stroke-width:10}.map .current{fill:var(--lime);stroke:#3f5734}.map .desc{font-size:10px;fill:var(--muted)}.cargo{padding:18px;background:#0e1620;border:1px solid var(--line);border-radius:8px}.cargo h3{margin:10px 0}.cargo input{margin:12px 0}.cargo .row button{flex:1;padding:8px}.player{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line)}.avatar{width:28px;height:28px;border-radius:50%;background:#293a4a;color:var(--blue);display:inline-grid;place-items:center;margin-right:8px}.feed{font-size:12px;line-height:1.7;padding:9px 0;border-top:1px solid var(--line);color:var(--muted)}.full{width:100%}.space{margin-top:14px}.positive{color:var(--lime)}.negative{color:var(--red)}.position{padding:12px;background:#0e1620;border-radius:7px;margin-top:10px}.position .row{justify-content:space-between}.help details{border-bottom:1px solid var(--line);padding:16px 0}.help summary{cursor:pointer;font-weight:700}.help p{margin:14px 0 0;color:var(--muted)}.welcome{max-width:1120px;min-height:100vh;margin:auto;padding:70px 28px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.welcome h1{font-size:64px;line-height:1.12;letter-spacing:4px;margin:20px 0}.welcome h1 span{color:var(--lime)}.welcome .intro{max-width:450px;color:var(--muted);font-size:16px}.orbit{height:180px;margin:35px 0;position:relative;border:1px solid #324255;border-radius:50%;transform:rotate(-12deg)}.orbit:before{content:'✦';position:absolute;font-size:90px;color:var(--lime);left:43%;top:22px}.orbit:after{content:'●';position:absolute;font-size:30px;color:var(--blue);left:12%;top:10px}.entry{padding:30px}.entry button{margin-top:15px}.divider{text-align:center;margin:20px 0;color:var(--muted);font-size:12px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#d9edc0;color:#172010;padding:13px 22px;border-radius:8px;z-index:5;display:none;max-width:90vw}dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:12px;max-width:540px;width:90%;padding:25px}dialog::backdrop{background:#000a}dialog p{color:var(--muted)}.ai-answer{white-space:pre-wrap;line-height:1.9;padding:15px;background:#0d1620;border-radius:7px;margin-top:15px}.lobby{max-width:850px;margin:50px auto}.note{font-size:12px;line-height:1.8;color:var(--muted)}.connection{color:var(--red);font-size:12px}footer{margin-top:25px;color:#6f8194;font-size:11px;display:flex;justify-content:space-between} @media(max-width:1050px){.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stats{grid-template-columns:repeat(3,1fr)}.welcome{gap:30px}.welcome h1{font-size:48px}}@media(max-width:650px){.shell{padding:18px 14px}.welcome{display:block;padding:30px 18px}.welcome h1{font-size:44px}.orbit{display:none}.welcome .entry{margin-top:30px}.hero{align-items:start;flex-direction:column}.hero h1{font-size:25px}.stats{grid-template-columns:repeat(2,1fr);gap:8px}.stat{padding:13px}.stat .value{font-size:22px}.stats .stat:last-child{grid-column:span 2}.grid3,.grid2,.sidebar{grid-template-columns:1fr}.topbar{align-items:start}.brand{font-size:19px}.top-actions{justify-content:end}.panel{padding:16px}.phase span{padding:8px 14px}.tabs{gap:20px}.map{height:210px}}

#recovery{position:fixed;bottom:12px;right:12px;padding:6px 10px;font-size:11px;opacity:.7}.map .route{fill:none}

/* v0.2：操作阶段、阅读引导、星图与独立货仓 */
.guide{border-color:#4a5d37;background:linear-gradient(120deg,#182322,#141c26)}
.guide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.guide-step{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#101a21;color:var(--ink);border:1px solid var(--line);padding:16px;text-align:left;font-weight:400;line-height:1.7}
.guide-step strong{font-size:15px}.guide-step>span:last-child{font-size:12px;color:var(--muted)}
.material-link{display:inline;background:transparent;border:0;border-radius:0;padding:2px 0;color:inherit;font-weight:inherit;line-height:inherit;text-align:inherit;text-decoration-line:underline;text-decoration-color:#ff7373;text-decoration-thickness:2px;text-underline-offset:5px;cursor:pointer;white-space:normal}
.material-link:hover,.material-link:focus-visible{color:#ffb5ab;outline:1px solid #ff7373;outline-offset:3px}
.news-copy{font-size:15px;line-height:2;color:#c5d1dd;white-space:pre-line;margin:14px 0 20px;overflow-wrap:anywhere}
.news h3{font-size:22px;line-height:1.5}.chapter-label{display:block;margin-top:18px;font-size:12px;letter-spacing:2px;color:var(--blue)}
.news .clue{white-space:pre-line}.story-brief{border-left:3px solid var(--blue)}
.story-brief summary,.instrument-help summary{cursor:pointer;color:var(--blue);line-height:1.8}
.instrument-help{padding:14px;background:#0e1620;border:1px solid var(--line);border-radius:8px;margin:16px 0}
.instrument-help p{margin:12px 0 0;color:var(--muted)}
.sector-map{display:block;width:100%;height:auto;aspect-ratio:5/3;min-height:260px;background:radial-gradient(ellipse at center,#1c3041,#0c131c);border:1px solid var(--line);border-radius:10px;margin-bottom:16px}
.sector-map text{fill:var(--ink);font-size:18px;pointer-events:none}.sector-map .sector-label{fill:#6d899e;font-size:15px;letter-spacing:4px}
.star-route{stroke:#496679;stroke-width:2;stroke-dasharray:8 7}.star-route.active{stroke:var(--lime);stroke-width:3}
.sector-map .route-label{fill:#a2b6c6;font-size:14px;paint-order:stroke;stroke:#101c27;stroke-width:5px}
.star-node{cursor:pointer}.star-node .halo{fill:#172d3c;stroke:#365d79;stroke-width:2}.star-node .core{fill:var(--blue)}
.star-node.selected .halo{stroke:var(--lime);stroke-width:3}.star-node.selected .core{fill:var(--lime)}.star-node:focus .halo{stroke:white;stroke-width:4}
.sector-map .node-role{fill:#98afbf;font-size:13px}.unknown-sector circle{fill:#101a24;stroke:#324554;stroke-dasharray:5 5}.unknown-sector text{fill:#607789;font-size:13px}
.map-ship circle{fill:#1b3626;stroke:var(--lime);stroke-width:2}.map-ship text{fill:var(--lime)}.sector-map .transit-label{font-size:15px;paint-order:stroke;stroke:#0c131c;stroke-width:6px}
.ship-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.ship-schematic{width:100%;height:auto}.cargo-meter{width:100%;height:13px;margin-top:12px;accent-color:var(--lime)}
.quote{min-height:70px;border-top:1px solid var(--line);padding-top:10px}.layout>main{min-width:0}.tabs{gap:19px}.topbar .brand{white-space:nowrap}.cargo .value{font-size:21px}
@media(max-width:1050px){.guide-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.topbar{flex-direction:column}.top-actions{justify-content:flex-start}.top-actions button{padding:9px 10px}.guide-steps,.ship-overview{grid-template-columns:1fr}.guide-step{padding:13px}.guide .panel-head{align-items:start}.guide h2{font-size:17px}.news h3{font-size:19px}.news-copy{font-size:15px}.sector-map{min-height:230px}.material-link{padding:5px 0}.guide-step>span:last-child{font-size:13px}.phase{width:100%}.phase span{flex:1;text-align:center}}

/* v0.3 · 舰桥工作台 */
:root{--bg:#090f19;--panel:#121d2c;--line:#28384e;--muted:#8da2be;--ink:#e6edf8;--lime:#c3eb94;--blue:#91bcf5;--red:#ffa4a4;--rail:208px;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}body{line-height:1.6}button{border-radius:8px;padding:11px 16px;font-weight:600;transition:background .15s,border-color .15s}button.secondary{background:#1a293c;border-color:#32455d;color:#b9cbe1}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--blue);outline-offset:4px}input,select,textarea{border-radius:8px;background:#0d1725;border-color:#344b68;padding:12px}label{display:flex;justify-content:space-between;gap:8px}label span{font-size:11px;color:#788fae}h2{font-size:18px;font-weight:600}h3{font-weight:600}a{color:inherit;text-decoration:none}.icon{width:20px;height:20px;flex-shrink:0}.eyebrow{font-size:10px;letter-spacing:2px;color:#90a8c6}.badge{font-size:10px;padding:4px 8px;border-color:#34445b}.text-button{background:transparent;color:var(--lime);padding:6px 0;font-size:12px;text-align:left}.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0}.topbar{height:82px;padding:0;border-color:var(--line)}.brand{display:flex;gap:12px;align-items:center;font-size:18px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:2px;color:#728baa;margin-top:3px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #3a5140;border-radius:10px;background:#1b2e27;color:var(--lime);font-size:26px}.room-code{display:flex;align-items:center;gap:10px;font:12px Consolas,monospace;letter-spacing:2px}.game-shell{padding:0;max-width:none}.game-shell>.topbar{padding:0 32px;background:#0c1420;position:relative;z-index:4}.nav-rail{position:fixed;top:82px;left:0;bottom:0;width:var(--rail);padding:30px 16px 22px;background:#0c1420;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3}.rail-caption{display:flex;justify-content:space-between;padding:0 12px;font-size:10px;color:#66809f;letter-spacing:2px;margin-bottom:22px}.nav-item{display:flex;align-items:center;gap:13px;width:100%;background:transparent;color:#91a6c2;padding:14px;margin-bottom:7px;text-align:left;font-size:13px;border:1px solid transparent}.nav-item.active{background:#22362e;color:var(--lime);border-color:#3b5341}.nav-item:hover{background:#1a293b}.rail-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;border-top:1px solid var(--line);padding:20px 10px 0}.rail-bottom strong{font-size:12px}.rail-bottom small{display:block;font-size:10px;margin-top:3px}.avatar{border-radius:8px;background:#283c56;color:#b6d0f0}.game-main{margin-left:var(--rail);padding:32px 34px 125px}.hero{margin:0 0 26px;align-items:center}.hero h1{font-size:30px;margin:10px 0;letter-spacing:1px}.hero p{font-size:12px;margin:0}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--lime);margin:0 6px 2px 14px}.phase{background:#131f30;border:1px solid var(--line);padding:4px;border-radius:8px;gap:3px}.phase span{padding:7px 12px;font-size:11px;background:none;white-space:nowrap}.phase .active{background:#2d422f;color:var(--lime);border-radius:4px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:linear-gradient(110deg,#18273d,#121e2e);margin-bottom:15px}.stat{position:relative;background:none;border:0;border-right:1px solid var(--line);border-radius:0;padding:20px 22px;text-align:left;min-width:0}.stat:last-child{border:0}.stat>small{display:flex;justify-content:space-between;font-size:11px;color:#92a9c5}.stat>small span{font-size:9px;color:#6a84a5}.stat .value{font-size:29px;font-weight:400;line-height:1.2;letter-spacing:-.7px;color:var(--ink)}.stat .value small{font-size:13px;letter-spacing:0}.stat progress{position:absolute;bottom:0;left:0;height:2px;width:100%;opacity:.65;accent-color:var(--lime)}.location-strip{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);padding:2px 2px 20px}.location-strip>.icon{width:17px;color:var(--blue)}.location-strip strong{font-weight:500;color:#c6d8ef}.location-strip .text-button{margin-left:auto;white-space:nowrap}.layout{grid-template-columns:minmax(0,1fr) 248px;gap:22px}.layout>main{min-width:0;scroll-margin-top:22px}.panel{padding:24px;border-radius:12px;margin-bottom:20px;border-color:var(--line)}.panel-head{margin-bottom:20px}.sidebar .panel{padding:20px}.sidebar h2{font-size:14px}.player{font-size:12px;align-items:center;gap:8px;padding:13px 0}.player small{font-size:10px}.feed{font-size:12px;line-height:1.85;padding:14px 0;color:#a3b8d2}.feed small{color:#718bab;font-size:10px}.help-link{display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;background:transparent;color:#a0b7d4;width:100%;border:1px dashed #354b67}.action-dock{position:fixed;left:calc(var(--rail) + 34px);right:34px;bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;background:#1b2a3df5;border:1px solid #40536d;box-shadow:0 10px 40px #0007;border-radius:12px;backdrop-filter:blur(16px);z-index:10}.dock-status{display:flex;align-items:center;gap:12px;background:none;color:var(--blue);padding:0;text-align:left}.dock-status strong{display:block;color:var(--ink);font-size:12px;font-weight:500}.dock-status small{display:block;font-size:10px;margin-top:2px}.ready-button{display:flex;align-items:center;justify-content:center;gap:16px;min-width:165px}.mobile-nav{display:none}footer{font-size:9px;letter-spacing:1px;color:#6b82a0}.guide{padding:14px 20px;background:#1b2b22;border-color:#3c5340}.guide>summary{display:flex;justify-content:space-between;gap:10px;cursor:pointer;list-style:none;font-size:12px;color:#c3d9af}.guide>summary>span:last-child{font-size:11px;color:#94b08b}.guide summary::-webkit-details-marker{display:none}.guide-steps{grid-template-columns:1fr 1fr}.guide-step{background:#14221c;border-color:#344b3a;font-size:12px}.guide h2{font-size:16px}.story-brief{border-left:2px solid #88aedc;background:linear-gradient(110deg,#1c2d47,#131e2e);padding:20px 24px}.story-brief h2{font-size:20px;margin:10px 0}.story-brief .eyebrow{font-size:9px;color:#9cbae0}.story-brief summary{font-size:12px}.news{padding:24px 0 0}.news-meta{color:#829dbf;font-size:9px;letter-spacing:.7px}.news-meta span:last-child{color:#d8bd95}.chapter-label{font-size:10px;margin-top:24px;color:#9ab5d7}.news h3{font-size:25px;line-height:1.55;margin:10px 0 18px}.news-copy{font-size:15px;line-height:2.05;color:#c0cfe3;margin:0 0 24px;max-width:72ch}.material-link{text-decoration-thickness:1px;text-decoration-color:#f69c8d}.clue{padding:14px 16px;background:#1c304b;border:1px solid #3a5476;border-left:3px solid #90b8ec;color:#bfd4ee;border-radius:5px;font-size:13px}.clue .text-button{display:block}.archived-news{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.archived-news>summary{cursor:pointer;color:#c7d7ec;font-size:14px;line-height:1.8}.archived-news>summary span{display:block;margin:5px 0 0 17px;font-size:10px;color:#8da7c9}.archived-news .news{border:0}.cargo{background:#0e1929;border-color:var(--line)}.grid2,.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.market-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(255px,.85fr);gap:18px;align-items:start}.market-layout .panel{padding:22px}.market-columns{display:flex;justify-content:space-between;color:#8da2bc;font-size:10px;margin:16px 0 10px}.commodity{display:flex;align-items:center;gap:12px;padding:16px 12px;width:100%;border:1px solid transparent;border-bottom-color:var(--line);background:none;border-radius:0;color:var(--ink);text-align:left}.commodity.selected{background:#243a33;border:1px solid #4b6650;border-radius:8px}.goods-glyph{display:grid;place-items:center;width:39px;height:42px;border-radius:8px;background:#293d58;color:#bfd5f1;font-size:26px;font-weight:400;flex-shrink:0}.glyph-1{color:#9de4c7;background:#244840}.glyph-2{color:#d7c0fa;background:#3e3357}.commodity-name{min-width:0}.commodity-name strong{font-size:13px;font-weight:550;display:block}.commodity-name small,.commodity-price small{display:block;font-size:10px;margin-top:5px;color:#a1b5cd;font-weight:400}.commodity-price{text-align:right;margin-left:auto;font-size:18px;font-family:Consolas,monospace;white-space:nowrap;font-weight:400}.commodity-price small{font-family:"Segoe UI",sans-serif}.market-description{padding:24px 0 15px}.market-description h3{font-size:13px;margin-bottom:8px}.market-description p{font-size:12px;color:var(--muted);margin:0 0 4px}.compare{padding-top:20px;border-top:1px solid var(--line)}.compare h3{font-size:12px;color:#a7bedb;margin-bottom:16px}.compare>div{display:flex;justify-content:space-between;font-size:12px;padding:8px 0;color:#a8bfdd}.compare strong{font-weight:500;color:#dae6f6}.compare .note{font-size:10px;margin:12px 0}.segmented{display:flex;border:1px solid #3b516d;border-radius:8px;padding:4px;background:#0d1727;gap:4px}.segmented button{flex:1;background:none;color:#91a8c8;padding:9px}.segmented .active{background:#35503a;color:var(--lime)}.segmented .active.sell{background:#503735;color:#ffc3af}.order-name{margin:24px 0 0;font-size:16px}.order-ticket label{font-size:11px}.quantity-control{display:flex;gap:6px}.quantity-control input{text-align:center;appearance:textfield;-moz-appearance:textfield;font:20px Consolas,monospace;padding:10px 4px}.quantity-control input::-webkit-inner-spin-button{appearance:none}.quantity-control button{width:44px;padding:0;flex-shrink:0;font-size:20px}.quantity-presets{display:flex;gap:7px;margin-top:10px}.quantity-presets button{flex:1;padding:7px 4px;font-size:11px;font-weight:500}.order-balance{display:flex;justify-content:space-between;font-size:11px;margin:24px 0 16px;color:var(--muted)}.order-balance strong{font-weight:500;color:#c5d8f0}.quote{padding:20px 0 8px;min-height:122px;border-top:1px solid var(--line)}.quote>span{display:block;font-size:11px;color:var(--muted)}.quote>strong{display:block;font:28px Consolas,monospace;margin:5px 0;color:var(--ink)}.quote>strong small{font-size:12px}.quote p{font-size:10px;line-height:1.7;min-height:18px;margin-bottom:4px}.order-submit{margin-top:8px;min-height:46px}.order-ticket form>.note{font-size:10px;margin-top:14px;margin-bottom:0}.chart{height:185px;margin:20px 0;background:linear-gradient(180deg,#325c3d33,transparent)}.chart line{stroke:#344a65;stroke-dasharray:3 5;stroke-width:.7}.instrument-help{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0;background:none;border-radius:0}.instrument-help summary{font-size:12px}.instrument-help p{font-size:12px}.position{background:#0d1829;border:1px solid var(--line);padding:18px}.sector-map{background:radial-gradient(ellipse at 35% 50%,#233f5d,#0c1829 75%);border-color:#3b526f;border-radius:10px}.star-node.selected .halo{fill:#294a38}.ship-schematic{background:radial-gradient(ellipse,#2b4a5140,transparent)}.cargo-meter{height:8px}.help summary{font-size:14px}.help p{font-size:13px}.lobby{max-width:950px;margin:55px auto}.lobby h1{font-size:36px}.lobby .price{letter-spacing:7px;font-size:48px}.welcome{max-width:1200px;padding:70px 40px;gap:100px;position:relative}.welcome:before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 45%,#1b416655,transparent 60%)}.welcome h1{font-size:68px;line-height:1.18;letter-spacing:2px}.welcome .intro{max-width:420px;font-size:15px}.welcome .eyebrow{color:var(--lime);font-size:10px}.entry{padding:32px;background:#142236;border-color:#3c506d;box-shadow:0 24px 80px #0005}.entry h2{font-size:24px;margin:14px 0}.entry .note{font-size:11px}.entry form>button{min-height:46px}.divider{display:flex;align-items:center;gap:15px;font-size:10px;color:#8aa1bf;margin:24px 0}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.orbit{height:205px;margin:30px 0 40px;overflow:hidden;border:0;border-radius:0;transform:none;background:radial-gradient(ellipse at 40% 50%,#274d7044,transparent 60%)}.orbit:before{content:'';position:absolute;border:1px solid #4d7098;border-radius:50%;width:95%;height:140px;top:30px;left:0;transform:rotate(-20deg)}.orbit:after{content:'';border:1px solid #304e73;border-radius:50%;width:75%;height:180px;top:0;left:10%;transform:rotate(30deg)}.orbit-core{position:absolute;left:34%;top:40px;width:115px;height:115px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#a4bfdb,#375b7b 45%,#0b1727 78%);box-shadow:-10px -5px 35px #72a5dd20,inset 1px 1px 1px #c4e5ff;z-index:1}.orbit-label{position:absolute;bottom:0;right:0;font-size:10px;line-height:1.9;color:#819dc1;letter-spacing:2px;z-index:2}#toast{bottom:108px;left:calc(50% + var(--rail)/2);background:#d4e8c2;padding:13px 22px;border-radius:9px;box-shadow:0 8px 40px #0007;z-index:60;font-size:13px}dialog{background:#17263b;border-color:#4a6386;border-radius:16px;padding:28px;max-height:85dvh;overflow:auto;box-shadow:0 30px 120px #000a}dialog::backdrop{background:#040810cc;backdrop-filter:blur(5px)}#modal-close{margin-top:22px;min-width:85px}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-grid button{display:flex;align-items:center;gap:12px;text-align:left;padding:16px;font-size:13px}.tutorial{padding-left:24px}.tutorial li{padding-left:6px;margin:20px 0;color:var(--lime)}.tutorial p{font-size:13px;margin:6px 0}.invite-code{font:40px Consolas,monospace;letter-spacing:8px;color:var(--lime);padding:20px 0}#recovery{font-size:9px;background:transparent;color:#8b9fbb;z-index:1}body:has(.game-shell) #recovery{display:none}
@media(max-width:1280px){:root{--rail:180px}.game-main{padding:26px 24px 125px}.nav-rail{padding-left:10px;padding-right:10px}.layout{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sidebar .help-link{grid-column:1/-1}.stat{padding:18px}.action-dock{left:calc(var(--rail) + 24px);right:24px}.welcome{gap:60px}}
@media(max-width:800px){:root{--rail:0px}.nav-rail{display:none}.game-shell>.topbar{height:68px;padding:0 20px}.game-main{padding:24px 20px 174px}.topbar{flex-direction:row;align-items:center}.mobile-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:20;background:#142237fa;border-top:1px solid #3b526e;padding:6px 8px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(16px)}.mobile-nav .nav-item{flex-direction:column;gap:4px;padding:8px 2px 6px;margin:0;border:0;font-size:10px;justify-content:center;text-align:center;border-radius:6px}.mobile-nav .nav-item.active{background:#2c4233}.action-dock{left:12px;right:12px;bottom:calc(76px + env(safe-area-inset-bottom));border-radius:10px;padding:10px 12px}.ready-button{min-width:144px;padding:11px 16px;font-size:13px}.dock-status small{font-size:9px}.brand{font-size:16px}.brand small{font-size:7px}.brand-mark{width:33px;height:33px;font-size:23px}.hero h1{font-size:27px}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero p{font-size:11px}.phase span{font-size:10px;padding:6px 7px}.stat{padding:16px}.stat .value{font-size:26px}.stat>small{font-size:10px}.stat>small span{display:none}.market-layout{gap:14px}.market-layout .panel{padding:20px}.welcome{gap:30px;padding:50px 28px}.welcome h1{font-size:49px}.entry{padding:24px}.sidebar{margin-top:4px}.sidebar .panel{margin-bottom:0}#toast{left:50%;bottom:calc(154px + env(safe-area-inset-bottom))}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.game-shell{padding:0}.game-shell>.topbar{padding:0 16px;height:62px}.room-code{font-size:10px;padding:10px;gap:6px}.room-code .icon{width:16px}.icon-button{width:37px;height:37px}.top-actions{gap:7px}.brand{gap:8px;font-size:15px}.brand small{font-size:6px;letter-spacing:1.7px}.game-main{padding:22px 16px 180px}.hero{flex-wrap:wrap;align-items:flex-start;gap:14px}.hero h1{font-size:26px;margin:9px 0}.hero p{font-size:11px}.hero .phase{width:100%;justify-content:space-between;padding:3px;background:none;border:0;gap:7px}.phase span{flex:1;text-align:center;border-bottom:2px solid #344762;background:#18283f;border-radius:4px;padding:6px 0}.phase .active{border-bottom-color:var(--lime)}.stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.stat{padding:14px 16px}.stats .stat:last-child{grid-column:auto}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat .value{font-size:25px}.stat .value small{font-size:12px}.location-strip{font-size:10px;gap:7px;padding-bottom:16px;flex-wrap:wrap}.location-strip .text-button{font-size:10px}.location-strip>.icon{width:15px}.panel{padding:20px 18px;border-radius:10px;margin-bottom:16px}.panel-head{gap:10px;margin-bottom:18px}.panel-head h2{font-size:16px}.panel-head .badge{font-size:9px}.news h3{font-size:23px}.news-copy{font-size:15px;line-height:2}.news-meta{font-size:8px;letter-spacing:0}.chapter-label{margin-top:22px}.story-brief h2{font-size:18px}.story-brief{padding:18px}.story-brief summary{font-size:11px}.guide{padding:13px 15px}.guide>summary{font-size:11px}.guide>summary>span:last-child{font-size:10px}.guide-steps,.grid2,.grid3,.ship-overview{grid-template-columns:1fr}.market-layout{grid-template-columns:1fr;gap:0}.market-layout .panel{padding:19px 17px}.market-list .market-description{padding:18px 0 0}.market-list .compare{margin-top:18px}.commodity{padding:12px 10px}.commodity-name strong{font-size:14px}.goods-glyph{width:35px;height:37px}.commodity-price{font-size:19px}.order-ticket label{font-size:12px}.quantity-control input{font-size:23px}.quantity-control button{height:48px;width:48px}.quantity-presets button{min-height:37px}.order-submit{min-height:48px}.quote>strong{font-size:32px}.compare .note{font-size:11px}.sector-map{min-height:220px;aspect-ratio:1.3}.page-map>.panel>.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.page-map .cargo{padding:10px 8px}.page-map .cargo .value{font-size:16px}.page-map .cargo .note{font-size:9px}.page-map .cargo .material-link{font-size:11px}.page-map .panel>.muted{font-size:12px}.page-map .panel>.row{gap:6px}.page-map .panel>.row button{font-size:11px;flex:1;padding:10px 5px}.sidebar{grid-template-columns:1fr;gap:14px}.sidebar .crew-panel{display:none}.sidebar .log-panel{padding:18px}.action-dock{left:10px;right:10px;padding:9px 11px;gap:8px}.ready-button{min-width:125px;gap:10px;font-size:12px}.dock-status{gap:8px}.dock-status strong{font-size:11px}.dock-status small{font-size:8px}.dock-status>.icon{display:none}.mobile-nav .nav-item{min-height:53px}.menu-grid{gap:8px}.menu-grid button{font-size:12px;padding:15px 11px}.menu-grid .icon{width:18px}dialog{padding:22px;border-radius:14px;width:calc(100% - 24px);max-height:85dvh}.welcome{display:block;padding:38px 22px;min-height:100dvh}.welcome h1{font-size:47px;margin:20px 0}.welcome .intro{font-size:13px;max-width:330px}.welcome .eyebrow{font-size:9px;letter-spacing:2px}.welcome .orbit{display:block;height:125px;margin:20px 0 24px}.orbit-core{width:80px;height:80px;top:24px;left:35%}.orbit:before{height:95px;top:14px}.orbit:after{height:115px}.orbit-label{font-size:8px;bottom:0}.welcome>.entry{margin-top:32px;padding:24px 21px}.welcome .badge{font-size:9px}.welcome .entry h2{font-size:23px}.lobby{margin:32px auto}.lobby h1{font-size:29px}.lobby .price{font-size:40px}.lobby .grid2{gap:0}.topbar{height:74px}.ship-schematic{max-height:200px}.help summary{font-size:13px}footer{font-size:8px;letter-spacing:0}.ready-notice{font-size:12px}.page-stock .grid3{grid-template-columns:1fr 1fr}.page-stock .grid3>div:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Keep controls and reading context stable. */
.game-shell>.topbar{position:sticky;top:0}.layout>main,.order-ticket{scroll-margin-top:100px}.compare>summary{cursor:pointer;color:#b5cae5;font-size:12px;list-style:none}.compare[open]>summary{margin-bottom:16px}.brand>span:last-child{color:var(--ink)}.story-brief:not(:has(.news-copy)){padding:18px 24px}.story-brief h2{margin:8px 0}.compare>summary::-webkit-details-marker{display:none}
@media(max-width:800px){.layout>main,.order-ticket{scroll-margin-top:84px}}
@media(max-width:560px){.story-brief:not(:has(.news-copy)){padding:16px 18px}.layout>main,.order-ticket{scroll-margin-top:78px}.market-description{display:none}}

[hidden]{display:none!important}.entry-modes{margin-top:24px}.entry-modes button{margin:0}.entry #join-fields button{width:100%}.order-name .material-link{text-decoration-color:#667f9f;text-decoration-style:dotted;text-underline-offset:6px}.market-description .text-button{font-size:11px}
@media(max-width:800px){input,select,textarea{font-size:16px}}

@media(min-width:801px){.game-main{padding-top:24px}.hero{margin-bottom:20px}.hero h1{font-size:28px}.stat{padding-top:16px;padding-bottom:16px}.location-strip{padding-bottom:16px}.order-ticket .order-name{margin-top:18px}.order-ticket .quote{min-height:110px;padding-top:16px}.order-ticket .order-balance{margin-top:18px}.order-ticket .panel-head{margin-bottom:16px}}
