:root{color-scheme:dark;--accent:#9ce8ef;--muted:#8397a6;--panel:rgba(13,22,31,.82)}
/* Local cockpit symbols: one line weight, restrained light, no platform emoji. */
.flight-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle;overflow:visible}
.inline-icon{display:inline-flex;align-items:center;vertical-align:middle;margin-right:4px}.inline-icon .flight-icon{width:16px;height:16px}
.module-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border:1px solid #91d8e529;border-radius:8px;color:#a5dce5;background:linear-gradient(145deg,#1b303d,#101c28)}
.module-icon .flight-icon{width:25px;height:25px}.module-icon-heading{width:36px;height:36px}.module-icon-heading .flight-icon{width:23px;height:23px}
.vehicle-symbol{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:70px;height:56px;color:var(--vehicle-color);border:1px solid #91d8e529;border-radius:8px;background:linear-gradient(0deg,#98dce509 1px,transparent 1px),linear-gradient(90deg,#98dce509 1px,transparent 1px),#101c28;background-size:12px 12px,12px 12px,auto}
.vehicle-symbol .flight-icon{width:60px;height:43px;filter:drop-shadow(0 0 5px #a6e8f415)}
[data-select-skin]>.flight-icon{width:14px;height:14px;margin-right:3px}
.settlement-symbol{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin:auto;border:1px solid #b8eedf40;border-radius:12px;background:#b8eedf0d;color:#b8eedf}.settlement-symbol .flight-icon{width:30px;height:30px}.settlement-symbol[data-status=warning]{color:#e0bc85;border-color:#e0bc8540;background:#e0bc850d}
#toast-icon{display:inline-flex;align-items:center;flex-shrink:0;color:var(--accent)}#toast-icon .flight-icon{width:19px;height:19px}#toast-icon .flight-icon-vehicle{width:28px;height:20px}#toast-icon [data-icon=warning]{color:#e0bc85}
.dialog-close{display:inline-flex;align-items:center;justify-content:center}.dialog-close .flight-icon{width:20px;height:20px}
#modal-economy .hud-glass>div:not(:nth-child(3)){flex-shrink:0}#modal-economy .hud-glass>div:nth-child(3){min-height:0}
body[data-world=canyon] .route-hint{background:linear-gradient(90deg,transparent,#153139dc 18%,#153139dc 82%,transparent);padding:12px 26px;border-radius:12px;width:max-content;max-width:94vw}
body[data-world=canyon] .altitude-rail,body[data-world=canyon] .drive-telemetry,body[data-world=canyon] .flight-readout{text-shadow:0 1px 4px #182d2e,0 0 12px #182d2e}
body[data-world=canyon] .rail-caption,body[data-world=canyon] .altitude-rail>div,body[data-world=canyon] .altitude-rail small,body[data-world=canyon] .flight-readout label,body[data-world=canyon] .readout-label,body[data-world=canyon] .controls p{color:#e4e5cf}
body[data-world=canyon] .speed-sign,body[data-world=canyon] #btn-autopilot-toggle,body[data-world=canyon] #ctrl-laser,body[data-world=canyon] #ctrl-emp{display:none}
@media(max-width:700px){body[data-world=canyon] .route-hint{padding:9px 5px;width:94vw}body[data-world=canyon] .course-selector button{padding:6px 7px}}
body{font-family:Arial,"PingFang SC",sans-serif;background:#0b111b}
button{cursor:pointer;touch-action:manipulation}button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{cursor:default;opacity:.5}
#canvas-container{touch-action:none}#canvas-container canvas{display:block}
.game-header{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:22px 30px;gap:24px;pointer-events:none;background:linear-gradient(#0a1019b8,transparent)}
.identity{display:flex;gap:17px;align-items:center}.identity svg{width:78px;height:30px;color:#eef4f6}.identity strong{font-size:10px;letter-spacing:.19em;display:block}.identity span{font-size:11px;color:#92a4b0;display:block;margin-top:5px}
.utility{display:flex;align-items:center;gap:6px;pointer-events:auto}.utility>button,.main-controls button,#extra-controls button{border:1px solid #ffffff10;background:var(--panel);border-radius:7px;min-height:38px;padding:0 13px;color:#d5e0e6;font-size:11px;transition:background .18s,transform .18s;backdrop-filter:blur(12px)}
.utility>button:hover,.main-controls button:hover,#extra-controls button:hover{background:#293c4a}.utility>button:active,.main-controls button:active{transform:translateY(1px)}.utility .icon-button{width:36px;padding:9px}.icon-button svg{width:16px;height:16px}
.balance{margin-right:15px;text-align:right}.balance small{font-size:9px;color:#93a5b3;letter-spacing:.08em}.balance div{line-height:1.1}.balance b{font:600 19px ui-monospace,monospace;font-variant-numeric:tabular-nums}.balance span{margin-left:6px;font-size:10px;color:var(--accent)}
.route-hint{position:fixed;z-index:20;top:100px;left:50%;transform:translateX(-50%);text-align:center;max-width:65%;font-size:11px;color:#c0cdd6;text-shadow:0 2px 6px #000;pointer-events:none}.route-hint small{display:block;margin-top:7px;font:10px ui-monospace,monospace;color:#8da0ad}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin-right:8px;box-shadow:0 0 8px #9ce8ef66}
.altitude-rail{position:fixed;left:30px;top:32%;z-index:20;pointer-events:none}.rail-caption{font:8px ui-monospace,monospace;letter-spacing:.15em;color:#61798b;display:block;margin-bottom:16px}.altitude-rail>div{font:11px ui-monospace,monospace;border-left:2px solid #ffffff14;padding:8px 0 8px 12px;color:#657d8c}.altitude-rail>div.active{border-color:var(--accent);color:var(--accent)}.altitude-rail small{font-size:9px;margin-left:6px;color:#8da0ad}.altitude-rail>strong{font:24px ui-monospace,monospace;display:block;margin-top:20px}.altitude-rail>span:last-child{font-size:9px;color:#8da0ad;display:block;margin-top:5px}
.drive-telemetry{position:fixed;bottom:38px;left:30px;z-index:25}.speed{display:flex;align-items:baseline;gap:8px}.speed strong{font-size:64px;font-weight:500;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums}.speed>span{font:9px ui-monospace,monospace;letter-spacing:.1em;color:#91a6b4}.auto-row{display:flex;align-items:center;gap:12px;margin-top:13px}.auto-row>button{font:10px ui-monospace,monospace;border:1px solid #8ba5b24d;padding:7px 8px;border-radius:5px;color:#8ba5b2}.auto-row>button[aria-pressed=true]{background:#9ce8ef;color:#0b111b}.auto-row>span{font:9px ui-monospace,monospace;color:#8397a6}.auto-row b{font-weight:500}.speed-sign{display:flex;flex-direction:column;align-items:center;border:1px solid #60717a;padding:3px 5px;border-radius:3px}.speed-sign small{font-size:6px}.speed-sign b{font-size:12px}.telemetry-note{display:block;font:8px ui-monospace,monospace;color:#607888;margin-top:10px}
.flight-readout{position:fixed;right:30px;bottom:40px;z-index:20;text-align:right;width:156px;pointer-events:none}.readout-label{font-size:9px;color:#8da0ad}.flight-readout>strong{display:block;font:23px ui-monospace,monospace;color:#b8eedf;margin:9px 0}.flight-readout>div{display:flex;justify-content:flex-end;gap:10px;font:9px ui-monospace,monospace;color:#83a5b8;margin-bottom:14px}.flight-readout label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:9px;color:#8da0ad;margin-top:8px}.flight-readout i{display:block;width:66px;height:3px;background:#293741;border-radius:4px;overflow:hidden}.flight-readout i b{display:block;width:100%;height:100%;background:#a6c5c5}#hud-fuel-bar{background:#82c7e0}
.controls{position:fixed;bottom:28px;left:205px;right:205px;z-index:30;text-align:center;pointer-events:none}.main-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:5px;pointer-events:auto}.main-controls button{padding:0 11px;font-size:10px;min-height:42px;white-space:nowrap}.main-controls kbd,#extra-controls kbd{font:8px ui-monospace,monospace;opacity:.45;display:block;margin-top:3px}.main-controls .primary-action{background:#a3e6e8;color:#102830;border-color:#c6f2f3;min-width:112px;font-weight:700}.main-controls .primary-action:hover{background:#ccf8f9}.controls p{font-size:9px;color:#708899;letter-spacing:.035em;margin:12px 0 0}#extra-controls{pointer-events:auto;margin-bottom:9px}#extra-controls button{margin:0 3px;font-size:10px}#extra-controls[hidden]{display:none}
.hud-glass{border-radius:16px!important;box-shadow:0 30px 90px #0007;background:rgba(13,22,31,.96)}.hud-glass h2,.hud-glass h3{letter-spacing:-.02em}.fsd-pill{background:rgba(18,30,40,.92)}#toast-box{top:145px;max-width:85vw;width:max-content;white-space:normal}#toast-msg{font-size:11px}#floating-popups>div{max-width:260px;text-align:center}
#loading-scene{position:fixed;inset:0;background:#0b111b;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:100}#loading-scene>span{font:bold italic 72px Arial;letter-spacing:-.08em;color:#eaf5f7}#loading-scene p{font-size:11px;letter-spacing:.1em;color:#91a6b4;margin-top:20px}#loading-scene.hidden{display:none}
@media(min-width:1600px){.main-controls button{padding:0 17px}.controls{left:240px;right:240px}}
@media(max-width:1050px){.identity div{display:none}.game-header{padding:18px 22px}.utility>button{padding:0 10px}.controls{left:180px;right:180px}.main-controls button{min-height:38px}.route-hint{top:90px}.altitude-rail{left:22px}.drive-telemetry{left:22px}.flight-readout{right:22px;width:140px}.speed strong{font-size:54px}}
@media(max-width:700px){.game-header{padding:14px 15px;align-items:flex-start;gap:12px}.identity svg{width:51px;height:23px}.utility{justify-content:flex-end;flex-wrap:wrap;gap:4px;max-width:285px}.utility>button{font-size:9px;min-height:29px;padding:0 8px}.utility .icon-button{width:29px;padding:7px}.utility .icon-button svg{height:13px;width:13px}.balance{margin-right:6px;min-width:70px}.balance small{font-size:7px}.balance b{font-size:15px}.balance span{font-size:8px}.route-hint{top:107px;font-size:10px;max-width:90%;width:90%}.route-hint small{font-size:8px}.altitude-rail{left:16px;top:29%}.rail-caption{font-size:7px;margin-bottom:10px}.altitude-rail>div{font-size:9px;padding:7px 0 7px 7px}.altitude-rail>div small{display:none}.altitude-rail>strong{font-size:19px;margin-top:12px}.altitude-rail>span:last-child{font-size:8px}.drive-telemetry{bottom:174px;left:16px}.speed strong{font-size:44px}.speed>span{font-size:8px}.auto-row{margin-top:7px;gap:8px}.telemetry-note{display:none}.flight-readout{right:16px;bottom:177px;width:124px}.flight-readout>strong{font-size:19px}.flight-readout .readout-label{font-size:8px}.flight-readout>div{font-size:8px;margin-bottom:10px}.flight-readout label{font-size:8px}.controls{bottom:max(17px,env(safe-area-inset-bottom));left:12px;right:12px}.main-controls{gap:5px}.main-controls button{font-size:10px;flex:1 1 17%;min-height:42px;padding:0 5px}.main-controls .primary-action{min-width:94px;flex-basis:30%}.main-controls kbd{display:none}.controls p{font-size:8px;margin-top:9px}.main-controls #ctrl-left,.main-controls #ctrl-right{flex-basis:17%}#toast-box{top:144px}.hud-glass{max-height:88dvh!important}#modal-economy .hud-glass>div:last-child>span{display:none}.hud-glass .eco-tab-btn{font-size:11px;padding:8px 10px}}
@media(max-height:600px) and (min-width:701px){.game-header{padding-top:10px}.route-hint{top:65px}.altitude-rail{top:25%}.drive-telemetry,.flight-readout{bottom:18px}.controls{bottom:12px}.speed strong{font-size:40px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Challenge HUD and first-party instructions */
.identity strong{font-size:14px;letter-spacing:.08em}.identity svg{width:62px}
.course-selector{display:flex;gap:5px;justify-content:center;pointer-events:auto;margin-bottom:12px}
.course-selector button{border:1px solid #49606d80;border-radius:5px;padding:7px 13px;background:#0b1723d9;color:#97adbb;font-size:10px}
.course-selector button.selected{color:#071d26;background:#9ce8ef;border-color:#9ce8ef}.course-selector button:disabled{opacity:.6}.course-selector button.selected:disabled{opacity:1}
#challenge-readout{display:flex;gap:18px;justify-content:center;align-items:center;margin-bottom:9px;font:12px ui-monospace,monospace;color:#d9f6fb}
#challenge-readout[hidden]{display:none}#challenge-clock{font-size:18px;font-variant-numeric:tabular-nums}#challenge-misses{font-size:10px;color:#90a7b4}
.guide-content{padding:26px;overflow:auto}.guide-step{display:flex;gap:20px;padding:17px 0;border-bottom:1px solid #ffffff12}.guide-step>b{font:24px ui-monospace,monospace;color:#9ce8ef}.guide-step h3{font-size:16px;margin-bottom:9px}.guide-step p,.guide-keys{font-size:12px;line-height:1.9;color:#a7b9c5}.guide-keys{margin-top:20px}
.workshop-card{padding:20px;border:1px solid #44606c;border-radius:14px}.workshop-card h3{font-size:22px;margin:10px 0}.workshop-card p{font-size:13px;color:#a8bcc8;line-height:1.9}.workshop-stock{display:flex;gap:20px;align-items:center;padding:24px 0;font-size:13px}.workshop-stock strong{color:#9ce8ef;font-size:24px}.workshop-stock span{margin-left:auto;color:#a8bcc8}.workshop-card button,.treasury-actions button{background:#9ce8ef;color:#0b2029;border:0;border-radius:6px;padding:12px 18px;font-size:12px;margin:0 8px 15px 0}.eyebrow{font:9px ui-monospace,monospace;color:#80a1b3;letter-spacing:.18em}.muted{font-size:12px!important;line-height:1.8;color:#8da4b1!important}
#modal-treasury{background:#030a14db;backdrop-filter:blur(12px)}.treasury-panel{position:relative;background:#101d2a;border:1px solid #3d5361;border-radius:16px;padding:30px;max-width:640px;width:100%;max-height:90dvh;overflow:auto}.treasury-panel h2{font-size:28px;margin:10px 0}.dialog-close{position:absolute;right:20px;top:20px;padding:5px 10px;color:#b7cbd8;font-size:20px}.treasury-status{margin:22px 0;padding:15px;border:1px solid #5b7380;border-radius:8px;color:#9ce8ef;font-size:13px}.treasury-panel dl>div{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #ffffff10;padding:12px 0;font-size:12px}.treasury-panel dd{max-width:72%;word-break:break-all;color:#d2e9f0;text-align:right}.treasury-panel dt{color:#8da4b1;flex-shrink:0}.treasury-actions{margin-top:20px}#treasury-account{font-size:12px;line-height:1.9;overflow-wrap:anywhere;margin-bottom:15px}#treasury-orders{font-size:12px}
@media(max-width:700px){.route-hint{top:112px}.course-selector{gap:4px;margin-bottom:8px}.course-selector button{font-size:9px;padding:6px 8px}#challenge-readout{gap:14px;margin-bottom:7px}#challenge-clock{font-size:15px}.route-hint>span:not(.live-dot){font-size:9px}.route-hint small{font-size:8px}.guide-content{padding:15px}.guide-step{gap:12px}.guide-step h3{font-size:14px}.guide-step p{font-size:11px}.treasury-panel{padding:22px}.utility{max-width:294px}.altitude-rail{top:34%}#toast-box{top:210px}.workshop-stock{flex-wrap:wrap;gap:10px}}
#treasury-orders button,.reward-claim button{padding:10px 14px;border-radius:6px;background:#1f3b4b;color:#b4e8f3;font-size:12px;margin:8px 8px 8px 0}.order-row{border-top:1px solid #ffffff14;padding:12px 0}.treasury-panel input{width:100%;border:1px solid #3d5361;background:#0a1420;color:#e1f4fc;padding:12px;border-radius:6px;margin-top:10px}.reward-claim{padding-top:20px;border-top:1px solid #ffffff1c;margin-top:20px}.reward-claim h3{font-size:16px}.reward-claim [hidden]{display:none}#reward-detail{font-size:12px;color:#afd0df;line-height:1.8;overflow-wrap:anywhere}
