*{box-sizing:border-box;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;padding:0}.ecosystem-telemetry{grid-template-columns:1fr 1fr;width:calc(100% - 12px)}.telemetry-metrics{grid-column:1/-1}.telemetry-bottleneck{border-right:none}html,body{color:#f8fafc;touch-action:none;background-color:#030712;width:100%;height:100%;font-family:Rajdhani,Arial Narrow,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;overflow:hidden}#app{width:100%;height:100%;position:relative}canvas#game-canvas{z-index:1;filter:saturate(1.08)contrast(1.04);width:100%;height:100%;display:block;position:absolute;top:0;left:0}.scanline-overlay{pointer-events:none;z-index:5;opacity:.42;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px;width:100%;height:100%;position:absolute;top:0;left:0}#app:after{content:"";pointer-events:none;z-index:6;mix-blend-mode:screen;background:radial-gradient(at 50% 42%,#0000 34%,#01040e38 72%,#01040ec7 100%),linear-gradient(115deg,#00f0ff09,#0000 35%,#f59e0b06);position:absolute;inset:0}.ui-layer{z-index:10;pointer-events:none;width:100%;height:100%;padding:14px;padding-top:max(14px, env(safe-area-inset-top));padding-bottom:max(14px, env(safe-area-inset-bottom));padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));flex-direction:column;justify-content:space-between;display:flex;position:absolute;top:0;left:0}.interactive{pointer-events:auto}.hud-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a1224d9;border:1px solid #00f0ff59;padding:10px 14px;box-shadow:0 4px 20px #00000080}.btn-cyber{color:#00f0ff;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;touch-action:manipulation;background:#00f0ff14;border:1px solid #00f0ff;justify-content:center;align-items:center;min-width:48px;min-height:48px;padding:8px 16px;font-family:inherit;font-size:11px;font-weight:600;transition:all .15s ease-in-out;display:inline-flex;position:relative}.btn-cyber:hover,.btn-cyber:active{color:#030712;background:#00f0ff;box-shadow:0 0 14px #00f0ff99}.btn-cyber.warning{color:#f43f5e;background:#f43f5e14;border-color:#f43f5e}.btn-cyber.warning:hover,.btn-cyber.warning:active{color:#fff;background:#f43f5e;box-shadow:0 0 14px #f43f5e99}.btn-cyber.amber{color:#fbbf24;background:#fbbf2414;border-color:#fbbf24}.btn-cyber.amber:hover,.btn-cyber.amber:active{color:#030712;background:#fbbf24;box-shadow:0 0 14px #fbbf2499}.modal-backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:50;-webkit-overflow-scrolling:touch;background:#030712e0;justify-content:center;align-items:center;width:100%;height:100dvh;padding:clamp(8px,2vh,20px);display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{-webkit-overflow-scrolling:touch;background:#0a1224;border:1px solid #00f0ff;border-radius:8px;width:100%;max-width:680px;max-height:calc(100dvh - 24px);margin:auto;padding:clamp(14px,2.5vh,24px);overflow-y:auto;box-shadow:0 0 30px #00f0ff40}.splash-backdrop{background:radial-gradient(circle at 50% 20%,#005ca02e,#0000 42%),#01040eeb}.splash-command{background:linear-gradient(135deg,#091831f5,#040915fa 58%),#071225;border:1px solid #68daff8c;flex-direction:column;gap:clamp(8px,1.4vh,14px);max-height:calc(100dvh - 24px);padding:clamp(14px,2.2vh,26px);display:flex;position:relative;overflow:hidden auto;box-shadow:0 0 0 1px #00f0ff14,0 22px 80px #000000b8,0 0 70px #00aaff2e}.splash-command:before{content:"";pointer-events:none;border:1px solid #94a3b81a;position:absolute;inset:8px}.splash-hero{grid-template-columns:minmax(120px,.55fr) minmax(0,1.45fr);align-items:center;gap:clamp(12px,2.5vw,28px);min-height:0;display:grid}.splash-orbit-scene{aspect-ratio:1;background:radial-gradient(circle,#0e335e6b,#0207130a 62%,#0000 63%);border-radius:50%;width:100%;max-width:clamp(110px,18vh,175px);margin:auto;position:relative}.splash-orbit,.splash-planet,.splash-sun,.splash-rocket{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.splash-orbit{border:1px solid #38bdf84d;border-radius:50%;transform:translate(-50%,-50%)rotate(-22deg)}.splash-orbit-one{width:64%;height:34%}.splash-orbit-two{border-color:#fbbf244d;width:88%;height:52%;transform:translate(-50%,-50%)rotate(32deg)}.splash-sun{aspect-ratio:1;background:radial-gradient(circle at 35% 32%,#fff7bd 0 12%,#fbbf24 42%,#f97316 72%,#0000 73%);border-radius:50%;width:18%;animation:2.8s ease-in-out infinite splashSunPulse;box-shadow:0 0 18px #f59e0b,0 0 46px #f59e0b52}.splash-planet{aspect-ratio:1;border-radius:50%;width:7%;box-shadow:0 0 11px}.splash-planet-earth{color:#38bdf8;background:#38bdf8;top:31%;left:auto;right:12%}.splash-planet-mars{color:#f97316;background:#f97316;top:67%;left:16%}.splash-rocket{filter:drop-shadow(0 0 6px #38bdf8);background:linear-gradient(#fff,#38bdf8 60%,#0000);border-radius:5px;width:5px;height:22px;animation:5s ease-in-out infinite splashRocketDrift;transform:translate(-50%,-50%)rotate(48deg)translateY(-60px)}.splash-copy{z-index:1;position:relative}.splash-kicker{color:#38bdf8;letter-spacing:.24em;margin-bottom:6px;font-size:10px;font-weight:800}.splash-copy h1{color:#f8fafc;letter-spacing:.04em;text-shadow:0 0 24px #38bdf838;margin:0 0 6px;font-size:clamp(20px,3.2vw,32px);line-height:1.02}.splash-copy h1 span{color:#8be9ff}.splash-copy p{color:#a8bfd4;max-width:480px;font-size:12px;line-height:1.4}.splash-stats{color:#6f8da5;letter-spacing:.12em;gap:18px;margin-top:10px;font-size:9px;display:flex}.splash-stats b{color:#fbbf24;letter-spacing:0;margin-right:4px;font-size:14px;display:inline}.splash-intro{border-top:1px solid #94a3b829;border-bottom:1px solid #94a3b829;grid-template-columns:.85fr 1.15fr;align-items:center;gap:14px;padding:10px 0;display:grid}.splash-intro>p{color:#b2c4d4;font-size:11px;line-height:1.45}.splash-objectives{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.splash-objectives>div{background:#ffffff09;border:1px solid #38bdf82e;border-radius:4px;padding:8px}.objective-index{color:#fbbf24;margin-right:4px;font-size:9px;font-weight:800;display:inline-block}.splash-objectives strong{color:#e0f2fe;letter-spacing:.1em;font-size:10px;display:inline-block}.splash-objectives small{color:#94a3b8;margin-top:4px;font-size:9px;line-height:1.3;display:block}.splash-rivalry{color:#cbd5e1;background:linear-gradient(90deg,#f43f5e24,#f43f5e08);border-left:3px solid #f43f5e;border-radius:0 4px 4px 0;align-items:center;gap:12px;margin:0;padding:8px 12px;font-size:11px;line-height:1.35;display:flex}.splash-rivalry strong{color:#f8fafc}.splash-rivalry-label{color:#fb7185;letter-spacing:.12em;flex:none;font-size:9px;font-weight:800}.signal-dot{background:#f43f5e;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:1.2s infinite signalBlink;display:inline-block;box-shadow:0 0 9px #f43f5e}.splash-callout{background:#00f0ff0d;border:1px solid #00f0ff47;border-radius:6px;padding:10px 12px}.splash-callout-heading{justify-content:space-between;gap:10px;margin-bottom:6px;display:flex}.splash-callout-heading label{color:#67e8f9;letter-spacing:.14em;font-size:10px;font-weight:800}.splash-callout-heading span{color:#6e8ca2;font-size:9px}#input-splash-handle{color:#fff;background:#020712;border:1px solid #00f0ff73;border-radius:4px;outline:none;width:100%;padding:8px 10px;font:700 13px inherit}#input-splash-handle:focus{border-color:#67e8f9;box-shadow:0 0 0 3px #00f0ff1a}.splash-actions{z-index:5;background:linear-gradient(#07122500 0%,#071225fa 25%);flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;padding-top:8px;display:flex;position:sticky;bottom:0}.splash-primary{color:#030712;background:linear-gradient(135deg,#00f0ff 0%,#38bdf8 100%);border-color:#67e8f9;flex:220px;min-height:46px;padding:10px 18px;font-size:13px;font-weight:800;box-shadow:0 0 20px #00f0ff73}.splash-primary span{color:#071225;opacity:.75;margin-left:6px}.splash-secondary{flex:180px;min-height:46px;padding:10px 18px;font-size:12px;font-weight:800}@keyframes splashSunPulse{0%,to{transform:translate(-50%,-50%)scale(1)}50%{transform:translate(-50%,-50%)scale(1.12)}}@keyframes splashRocketDrift{0%,to{margin-top:0;margin-left:0}50%{margin-top:-8px;margin-left:15px}}@keyframes signalBlink{0%,to{opacity:1}50%{opacity:.35}}.resource-pill{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172abf;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:7px;padding:4px 10px;display:flex;box-shadow:0 2px 8px #0000004d}.resource-pill-icon{letter-spacing:.05em;font-size:11px;font-weight:800}.resource-pill-val{color:#f8fafc;min-width:24px;font-size:12px;font-weight:700}.resource-bar-bg{background:#ffffff1f;border-radius:3px;width:32px;height:5px;overflow:hidden}.resource-bar-fill{border-radius:3px;height:100%;transition:width .3s}.build-card{cursor:pointer;background:#0a1224d9;border:1.5px solid #ffffff26;border-radius:8px;flex-direction:column;flex:96px;justify-content:center;align-items:center;min-width:96px;max-width:140px;padding:8px 10px;transition:all .18s cubic-bezier(.4,0,.2,1);display:flex}.build-card:hover,.build-card:active{background:#0f1c37f2;transform:translateY(-2px);box-shadow:0 6px 18px #00f0ff4d}.build-card-icon{letter-spacing:.05em;border:1.5px solid;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:6px;font-size:10px;font-weight:800;display:flex;box-shadow:0 0 10px}.build-card-name{color:#f8fafc;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-bottom:4px;font-size:11px;font-weight:700;overflow:hidden}.build-card-costs{gap:4px;font-size:9px;font-weight:600;display:flex}.cost-pill{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:4px;padding:1px 5px}.crisis-card-choice{cursor:pointer;background:#0a1224cc;border:1.5px solid #00f0ff40;border-radius:8px;padding:14px;transition:all .2s}.crisis-card-choice:hover{background:#00f0ff14;border-color:#00f0ff;box-shadow:0 4px 16px #00f0ff33}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:#00f0ff4d;border-radius:3px}.world-slot-card{cursor:pointer;background:#0f172ab3;border:1.5px solid #ffffff26;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;transition:all .18s;display:flex}.world-slot-card:hover{background:#00f0ff14;border-color:#00f0ff}.world-slot-card.active{background:#00f0ff26;border-color:#00f0ff;box-shadow:0 0 16px #00f0ff40}.avatar-badge{letter-spacing:.05em;border:2px solid;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:11px;font-weight:800;display:flex}.achievement-pill{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.achievement-pill.unlocked{background:#fbbf241a;border-color:#fbbf24}.race-track-entry{background:#0f172ab3;border-left:4px solid #00f0ff;border-radius:4px;align-items:center;gap:12px;padding:8px 12px;display:flex}.race-progress-bar{background:#ffffff1a;border-radius:5px;flex:1;height:10px;position:relative;overflow:hidden}.race-progress-fill{border-radius:5px;height:100%;transition:width .5s}.btn-touch-target{position:relative}.btn-touch-target:after{content:"";width:100%;min-width:48px;height:100%;min-height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hud-nav-strip{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.hud-nav-strip::-webkit-scrollbar{display:none}@media (width<=768px){.hud-panel{padding:8px 10px}.splash-hero,.splash-intro{grid-template-columns:1fr}.splash-hero{gap:8px;min-height:0}.splash-orbit-scene{width:min(54vw,230px)}.splash-copy h1{font-size:clamp(24px,8vw,34px)}.splash-stats{margin-top:14px}.splash-intro{gap:16px}.splash-rivalry{display:block}.splash-rivalry-label{margin-bottom:5px}.splash-actions>button{width:100%}.ecosystem-flow{width:calc(100% - 12px);padding-left:8px;padding-right:8px}.ecosystem-flow-track{scrollbar-width:none;padding-bottom:2px;overflow-x:auto}.ecosystem-flow-track::-webkit-scrollbar{display:none}.ecosystem-node{flex:0 0 112px}.build-card{min-width:80px;padding:6px 8px}.modal-content{max-height:94vh;padding:16px}}@media (pointer:coarse){.btn-cyber:active{filter:brightness(1.25);transform:scale(.96)}}.flight-director-bar{background:#0f172aeb;border:1px solid #38bdf866;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-top:6px;padding:6px 12px;display:flex;box-shadow:0 2px 10px #0006}.quest-progress-bg{background:#94a3b833;border-radius:3px;width:110px;height:6px;overflow:hidden}.quest-progress-fill{background:linear-gradient(90deg,#38bdf8,#00f0ff);height:100%;transition:width .3s}.synodic-pill{letter-spacing:.05em;background:#0f172ad9;border:1px solid #00f0ff4d;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:10px;font-weight:600;display:flex}.synodic-pill.optimal{color:#34d399;background:#34d3991f;border-color:#34d399;animation:1.8s infinite synodicPulse;box-shadow:0 0 10px #34d3994d}@keyframes synodicPulse{0%,to{opacity:.9}50%{opacity:1;filter:brightness(1.2)}}.hazard-alert-banner{background:#f43f5e26;border:1px solid #f43f5e;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:8px;padding:8px 14px;animation:1.5s infinite hazardPulse;display:flex;box-shadow:0 0 16px #f43f5e59}@keyframes hazardPulse{0%,to{border-color:#f43f5e}50%{border-color:#fb7185}}.ecosystem-flow{pointer-events:none;background:linear-gradient(90deg,#040e1ee6,#081527d1,#040e1ee6);border:1px solid #38bdf838;border-radius:10px;width:min(920px,100% - 20px);margin:8px auto 0;padding:8px 10px 10px;box-shadow:0 5px 22px #00000061,inset 0 0 24px #00b4ff09}.ecosystem-flow-heading{color:#67e8f9;letter-spacing:.16em;align-items:center;gap:6px;font-size:9px;font-weight:800;display:flex}.ecosystem-flow-heading .signal-dot{background:#34d399;width:5px;height:5px;margin-right:1px;box-shadow:0 0 8px #34d399}.ecosystem-flow-caption{color:#66839a;letter-spacing:.08em;margin-left:auto;font-size:8px}.ecosystem-flow-track{align-items:center;gap:5px;margin-top:8px;display:flex}.ecosystem-node{color:#67e8f9;min-width:0;box-shadow:0 0 12px color-mix(in srgb, currentColor 14%, transparent);background:#ffffff09;border:1px solid;border-radius:5px;flex:1 1 0;padding:7px 6px 6px;position:relative;overflow:hidden}.ecosystem-node:after{content:"";background:linear-gradient(115deg,#0000 20%,#ffffff1c 50%,#0000 80%);animation:4.8s ease-in-out infinite ecosystemSweep;position:absolute;inset:0;transform:translate(-110%)}.ecosystem-node-code{color:currentColor;opacity:.75;margin-bottom:4px;font-size:8px;display:block}.ecosystem-node strong,.ecosystem-node small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.ecosystem-node strong{color:#e0f2fe;letter-spacing:.06em;font-size:9px}.ecosystem-node small{color:#7895aa;margin-top:3px;font-size:8px}.node-energy{color:#fbbf24}.node-resource{color:#38bdf8}.node-logistics{color:#c084fc}.node-infra{color:#34d399}.node-people{color:#f472b6}.node-research{color:#fb923c}.ecosystem-link{background:#67e8f966;flex:0 0 10px;height:1px;position:relative}.ecosystem-link:after{content:"";border-top:1px solid #67e8f9;border-right:1px solid #67e8f9;width:5px;height:5px;position:absolute;top:-2px;right:-1px;transform:rotate(45deg)}@keyframes ecosystemSweep{0%,45%{transform:translate(-110%)}65%,to{transform:translate(110%)}}.sector-quickdock{background:#0a1224e6;border:1px solid #00f0ff40;border-radius:8px;align-items:center;gap:6px;padding:4px 6px;display:flex}.mobile-top-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#080e1ce0;border:1px solid #00f0ff40;border-radius:12px;justify-content:space-between;align-items:center;gap:6px;width:100%;padding:6px 10px;display:flex;box-shadow:0 4px 20px #0009}.sector-badge-btn{color:#00f0ff;cursor:pointer;white-space:nowrap;background:#00f0ff1f;border:1px solid #00f0ff66;border-radius:8px;align-items:center;gap:5px;min-height:38px;padding:6px 10px;font-size:11px;font-weight:700;transition:all .15s;display:flex}.sector-badge-btn:hover,.sector-badge-btn:active{color:#030712;background:#00f0ff}.vitals-compact-strip{cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f172abf;border:1px solid #ffffff1f;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;transition:all .18s;display:flex}.vitals-compact-strip:hover,.vitals-compact-strip:active{background:#00f0ff2e;border-color:#00f0ff;box-shadow:0 0 12px #00f0ff4d}.vitals-pill-chip{align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.vitals-expanded-card{top:calc(max(14px, env(safe-area-inset-top)) + 50px);z-index:40;pointer-events:auto;background:#080e1cf7;border:1.5px solid #00f0ff;border-radius:14px;max-width:520px;margin:0 auto;padding:16px;animation:.2s cubic-bezier(.16,1,.3,1) slideDown;position:absolute;left:14px;right:14px;box-shadow:0 12px 35px #000000d9,0 0 25px #00f0ff40}.ecosystem-telemetry{pointer-events:none;background:#040c1bd1;border:1px solid #67e8f933;border-radius:8px;grid-template-columns:.7fr 1.1fr 1.8fr;gap:10px;width:min(920px,100% - 20px);margin:7px auto 0;padding:8px 10px;display:grid;box-shadow:0 5px 18px #00000052}.telemetry-state,.telemetry-bottleneck{border-right:1px solid #94a3b829;min-width:0;padding-right:10px}.telemetry-state-label,.telemetry-bottleneck-label{color:#6d8ba1;letter-spacing:.12em;font-size:8px;font-weight:800;display:block}.telemetry-state strong,.telemetry-bottleneck strong{color:#67e8f9;letter-spacing:.08em;margin-top:3px;font-size:12px;display:block}.telemetry-state small,.telemetry-bottleneck small{color:#7895aa;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;display:block;overflow:hidden}.telemetry-metrics{grid-template-columns:repeat(4,1fr);align-items:center;gap:8px;display:grid}.telemetry-metric>div:first-child{color:#9eb6c8;letter-spacing:.08em;justify-content:space-between;font-size:8px;font-weight:800;display:flex}.telemetry-metric b{color:#e0f2fe;font-size:9px}.telemetry-track{background:#ffffff1a;border-radius:4px;height:4px;margin-top:5px;overflow:hidden}.telemetry-track i{border-radius:inherit;height:100%;transition:width .6s;display:block;box-shadow:0 0 8px}.bottom-dock{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#080e1cf0;border:1px solid #00f0ff59;border-radius:14px;justify-content:space-around;align-items:center;width:100%;max-width:620px;margin:0 auto;padding:4px 6px;display:flex;box-shadow:0 -4px 25px #000000b3}.dock-item{color:#94a3b8;letter-spacing:.05em;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:48px;padding:4px 2px;font-family:inherit;font-size:9px;font-weight:700;transition:all .18s;display:flex;position:relative}.dock-item.active{color:#00f0ff;text-shadow:0 0 8px #00f0ff80;background:#00f0ff26}.dock-item:active{transform:scale(.95)}.dock-item-icon{margin-bottom:2px;font-size:18px}.dock-badge{color:#fff;background:#f43f5e;border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:9px;font-weight:800;display:flex;position:absolute;top:2px;right:18%}.fab-flight{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 64px);right:max(16px, env(safe-area-inset-right));color:#030712;cursor:pointer;pointer-events:auto;z-index:30;touch-action:manipulation;background:radial-gradient(circle,#00f0ff 0%,#0050aa 100%);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:24px;font-weight:900;transition:transform .18s,filter .18s;animation:2.5s infinite fabPulse;display:flex;position:absolute;box-shadow:0 0 20px #00f0ffb3,0 4px 14px #0009}@keyframes fabPulse{0%,to{transform:scale(1);box-shadow:0 0 15px #00f0ff99}50%{transform:scale(1.06);box-shadow:0 0 28px #00f0fff2}}.fab-flight:active{transform:scale(.92)}.tile-sheet{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 64px);left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));z-index:35;pointer-events:auto;background:#080e1cf5;border:1.5px solid #00f0ff;border-radius:14px;max-width:620px;max-height:55vh;margin:0 auto;padding:12px 14px;animation:.22s cubic-bezier(.16,1,.3,1) slideUp;position:absolute;overflow-y:auto;box-shadow:0 8px 30px #000c,0 0 20px #00f0ff40}.sheet-modal{top:calc(max(10px, env(safe-area-inset-top)) + 48px);bottom:calc(max(10px, env(safe-area-inset-bottom)) + 62px);left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));z-index:45;pointer-events:auto;background:#080e1cf7;border:1.5px solid #00f0ff;border-radius:14px;flex-direction:column;max-width:680px;margin:0 auto;padding:14px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 10px 35px #000000d9}.toasts-container{left:max(14px, env(safe-area-inset-left));bottom:calc(max(14px, env(safe-area-inset-bottom)) + 68px);pointer-events:none;z-index:25;flex-direction:column-reverse;gap:6px;max-width:320px;display:flex;position:absolute}.comms-toast{color:#f8fafc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#0a1224eb;border:1px solid #00f0ff66;border-radius:8px;padding:8px 12px;font-size:11px;animation:.25s ease-out toastFadeIn;box-shadow:0 4px 16px #00000080}.flight-hud{pointer-events:auto;background:#080e1ceb;border:1.5px solid #f36;border-radius:12px;justify-content:space-between;align-items:center;width:100%;max-width:620px;margin:0 auto;padding:10px 14px;display:flex;box-shadow:0 4px 20px #ff336659}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.launch-hud{padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;z-index:20;flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0}.launch-telemetry-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#040812e0;border:1.5px solid #00f0ff66;border-radius:12px;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px 12px;animation:.3s ease-out slideDown;display:grid;box-shadow:0 4px 20px #0009}.max-q-gauge-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#040812e0;border:1px solid #fbbf2459;border-radius:8px;margin-top:6px;padding:6px 12px}.max-q-bar-track{background:#0f172a;border:1px solid #ffffff26;border-radius:5px;width:100%;height:10px;position:relative;overflow:hidden}.max-q-bar-fill{border-radius:5px;height:100%;transition:width .1s linear,background-color .2s}.max-q-danger-marker{background:#f43f5e;width:3px;position:absolute;top:0;bottom:0;box-shadow:0 0 8px #f43f5e}.launch-controls-strip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#040812eb;border:1.5px solid #00f0ff66;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex;box-shadow:0 4px 20px #0009}.throttle-slider{-webkit-appearance:none;accent-color:#00f0ff;cursor:pointer;background:#1e293b;border-radius:3px;outline:none;width:100%;height:6px}.educational-aerospace-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;background:#081226eb;border-left:4px solid #00f0ff;border-radius:8px;margin-top:6px;padding:8px 12px;box-shadow:0 4px 16px #00000080}.launch-outcome-card{text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;background:#080e1cf2;border-radius:12px;width:100%;max-width:460px;margin:auto;padding:16px;animation:.3s ease-out slideUp;box-shadow:0 8px 32px #000c}.launch-outcome-card.failure{border:2px solid #f43f5e;box-shadow:0 0 24px #f43f5e66}.launch-outcome-card.success{border:2px solid #22c55e;box-shadow:0 0 24px #22c55e66}.splash-hero-banner{background-image:url(/assets/title_hero.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #00f0ff66;border-radius:8px;flex-shrink:0;width:100%;height:clamp(72px,13vh,125px);min-height:68px;margin-bottom:4px;box-shadow:0 0 24px #00f0ff40}.launch-splash-header{background-image:url(/assets/launch_splash.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #00f0ff59;border-radius:8px;align-items:flex-end;width:100%;height:130px;margin-bottom:12px;display:flex;position:relative;overflow:hidden}.launch-splash-overlay{background:linear-gradient(#0000 0%,#03071266 30%,#030712f2 100%);width:100%;padding:8px 12px}.sector-badge-btn{cursor:pointer;color:#fff;background:#040a18e0;border:1px solid #00f0ff66;border-radius:20px;align-items:center;gap:6px;padding:3px 8px;font-family:inherit;transition:all .2s;display:flex}.sector-badge-btn:hover{border-color:#00f0ff;box-shadow:0 0 10px #00f0ff4d}.sector-planet-thumb{object-fit:cover;border:1.5px solid #00f0ff99;border-radius:50%;flex-shrink:0;width:22px;height:22px;box-shadow:0 0 8px #00f0ff66}.sector-badge-labels{flex-direction:column;align-items:flex-start;line-height:1.1;display:flex}.vital-svg-icon{vertical-align:middle;filter:drop-shadow(0 0 3px);flex-shrink:0;width:12px;height:12px}.vital-svg-icon.modal-icon{filter:drop-shadow(0 0 6px);flex-shrink:0;width:20px;height:20px}.economy-flow-rail{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040a18e0;border:1px solid #00f0ff40;border-radius:8px;margin-top:4px;padding:6px 10px}.economy-flow-title{color:#00f0ff;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:8px;font-weight:800;display:flex}.economy-flow-status{color:#34d399;font-size:8px;font-weight:700}.economy-flow-steps{justify-content:space-between;align-items:center;gap:4px;display:flex;overflow-x:auto}.flow-step{background:#ffffff08;border:1px solid #ffffff14;border-radius:4px;flex-direction:column;flex:1;align-items:flex-start;min-width:68px;padding:3px 6px;font-size:9px;display:flex}.flow-step.step-ok{background:#34d3990f;border-color:#34d39966}.flow-step.step-warn{background:#fbbf240f;border-color:#fbbf2466}.step-badge{color:#94a3b8;background:#0006;border-radius:2px;margin-bottom:1px;padding:1px 3px;font-size:7px;font-weight:800}.flow-arrow{color:#00f0ff;opacity:.6;flex-shrink:0;font-size:10px}.play-priority-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040a18e0;border:1px solid #00f0ff40;border-radius:8px;margin-top:6px;padding:8px 10px}.play-priority-header{color:#00f0ff;letter-spacing:.12em;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:8px;font-weight:800;display:flex}.play-priority-phase{color:#34d399}.play-priority-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.play-priority-action{color:#e2e8f0;background:#0f172acc;border-color:#00f0ff59}.play-priority-action .priority-index{color:#00f0ff;background:#00f0ff14;border:1px solid #00f0ff80;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:9px;font-weight:800;display:inline-flex}.play-priority-action:hover,.play-priority-action:active{transform:translateY(-1px);box-shadow:0 0 16px #00f0ff2e}@media (width<=620px){.play-priority-actions{grid-template-columns:1fr}}.sim-speed-pill{background:#040a18eb;border:1px solid #00f0ff59;border-radius:16px;align-items:center;gap:2px;padding:2px 4px;display:flex}.speed-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:3px 7px;font-family:inherit;font-size:9px;font-weight:800;line-height:1;transition:all .15s}.speed-btn:hover{color:#fff}.speed-btn.active{color:#040a18;background:#00f0ff;box-shadow:0 0 8px #00f0ff80}.speed-btn.active.paused{color:#040a18;background:#fbbf24;box-shadow:0 0 8px #fbbf2480}.flight-directive-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(90deg,#061024f5 0%,#0c162df5 100%);border:1.5px solid #00f0ff73;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding:8px 12px;display:flex;box-shadow:0 4px 18px #0000008c,inset 0 0 12px #00f0ff0f}.directive-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.directive-badge-row{align-items:center;gap:8px;display:flex}.directive-step-badge{letter-spacing:.1em;color:#00f0ff;background:#00f0ff1f;border:1px solid #00f0ff4d;border-radius:4px;padding:2px 6px;font-size:8px;font-weight:800}.btn-intel-toggle{color:#38bdf8;cursor:pointer;opacity:.85;background:0 0;border:none;padding:0;font-size:8px;font-weight:700;text-decoration:underline}.btn-intel-toggle:hover{opacity:1;color:#00f0ff}.directive-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:800;overflow:hidden}.directive-explanation{color:#94a3b8;font-size:9px;line-height:1.25}.directive-action-btn{white-space:nowrap;flex-shrink:0;min-height:38px;padding:6px 12px;font-size:10px;font-weight:800}.directive-action-btn.primary{color:#040a18;background:linear-gradient(135deg,#00f0ff 0%,#0284c7 100%);border:1px solid #38bdf8;box-shadow:0 0 12px #00f0ff66}.directive-action-btn.primary:hover{transform:translateY(-1px);box-shadow:0 0 18px #00f0ffb3}.intel-drawer-wrap{animation:.2s ease-out slideDown}.tile-sheet-header{border-bottom:1px solid #00f0ff40;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;display:flex}.tile-sheet-title{letter-spacing:.08em;color:#fff;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.tile-coord-tag{color:#00f0ff;background:#00f0ff1f;border:1px solid #00f0ff4d;border-radius:4px;padding:2px 6px;font-size:9px}.build-category-tabs{-webkit-overflow-scrolling:touch;gap:4px;margin-bottom:8px;padding-bottom:6px;display:flex;overflow-x:auto}.cat-pill{color:#94a3b8;cursor:pointer;white-space:nowrap;background:#ffffff08;border:1px solid #00f0ff40;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:9px;font-weight:700;transition:all .15s}.cat-pill:hover{color:#fff;border-color:#00f0ff80}.cat-pill.active{color:#00f0ff;background:#00f0ff33;border-color:#00f0ff;box-shadow:0 0 10px #00f0ff59}.build-cards-catalog{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;max-height:40vh;padding-right:2px;display:grid;overflow-y:auto}.build-card-rich{cursor:pointer;background:#0a1224e6;border:1.5px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;transition:all .15s;display:flex;position:relative;box-shadow:0 2px 8px #0006}.build-card-rich:hover{border-color:#00f0ff;transform:translateY(-1px);box-shadow:0 4px 14px #00f0ff33}.build-card-rich.recommended-highlight{background:#fbbf2414;border-color:#fbbf24;box-shadow:0 0 14px #fbbf2440}.build-card-rich.unaffordable{opacity:.65}.card-rec-badge{color:#0f172a;letter-spacing:.08em;background:#fbbf24;border-radius:4px;padding:1px 6px;font-size:7px;font-weight:900;position:absolute;top:-6px;right:8px;box-shadow:0 0 8px #fbbf2499}.card-header-row{align-items:center;gap:8px;display:flex}.card-badge{background:#0000004d;border:1.5px solid;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:8px;font-weight:800;display:flex}.card-identity{flex:1;min-width:0}.card-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.card-desc{color:#94a3b8;margin-top:1px;font-size:8px;line-height:1.2}.card-yields-row{flex-wrap:wrap;gap:4px;display:flex}.yield-tag{background:#00000073;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:800}.yield-tag.pwr{color:#00f0ff;border:1px solid #00f0ff4d}.yield-tag.o2{color:#0f6;border:1px solid #00ff664d}.yield-tag.h2o{color:#38bdf8;border:1px solid #38bdf84d}.yield-tag.min{color:#fb923c;border:1px solid #fb923c4d}.yield-tag.rd{color:#c084fc;border:1px solid #c084fc4d}.yield-tag.cr{color:#fbbf24;border:1px solid #fbbf244d}.yield-tag.crew{color:#f472b6;border:1px solid #f472b64d}.card-footer-row{border-top:1px solid #ffffff0f;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;font-size:9px;display:flex}.card-costs{color:#cbd5e1;align-items:center;gap:4px;font-weight:600;display:flex}.cost-sep{opacity:.4}.cost-item.ok{color:#34d399}.cost-item.short{color:#f43f5e;font-weight:700}.btn-construct-action{color:#040a18;cursor:pointer;background:#00f0ff;border:none;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:800;transition:all .1s}.btn-construct-action:hover{background:#38bdf8;box-shadow:0 0 8px #00f0ff99}.shortage-notice{color:#f43f5e;font-size:8px;font-weight:700}.max-q-emergency-banner{pointer-events:auto;background:#f59e0b2e;border:1.5px solid #fbbf24;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin:6px 0;padding:8px 12px;animation:1.2s infinite alternate pulseAmberBorder;display:flex}.max-q-banner-text{flex-direction:column;gap:1px;display:flex}.max-q-banner-text strong{color:#fbbf24;letter-spacing:.08em;font-size:11px}.max-q-banner-text small{color:#f1f5f9;font-size:9px}.max-q-pulse-dot{background:#fbbf24;border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block;box-shadow:0 0 6px #fbbf24}.max-q-action-btn{white-space:nowrap;min-height:36px;padding:6px 12px;font-size:10px;font-weight:800;animation:.8s infinite alternate amberGlow}.throttle-presets-row{gap:4px;margin-bottom:4px;display:flex}.btn-throttle-preset{flex:1;min-height:28px;padding:3px 6px;font-size:9px;font-weight:800}.btn-throttle-preset.active{color:#040a18!important;background:#00f0ff!important;border-color:#00f0ff!important;box-shadow:0 0 10px #00f0ff80!important}.pulsing-glow{animation:.8s infinite alternate amberGlow}@keyframes pulseAmberBorder{0%{border-color:#fbbf2466;box-shadow:0 0 8px #fbbf2433}to{border-color:#fbbf24;box-shadow:0 0 20px #fbbf2480}}@keyframes amberGlow{0%{box-shadow:0 0 6px #fbbf24}to{box-shadow:0 0 20px #fbbf24,inset 0 0 10px #fbbf2466}}.campaign-tracker-strip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#060e1eeb;border:1px solid #00f0ff59;border-radius:10px;flex-direction:column;gap:5px;margin-top:4px;padding:6px 10px;display:flex;box-shadow:0 4px 16px #00000073}.campaign-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.campaign-stage-badge{color:#030712;letter-spacing:.08em;background:#00f0ff;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:800}.campaign-race-bars{flex:1;align-items:center;gap:8px;min-width:180px;display:flex}.campaign-bar-wrap{background:#0f172ae6;border:1px solid #ffffff1f;border-radius:4px;flex:1;height:7px;position:relative;overflow:hidden}.campaign-objectives-row{scrollbar-width:none;gap:6px;padding-bottom:1px;display:flex;overflow-x:auto}.campaign-obj-pill{white-space:nowrap;color:#cbd5e1;background:#ffffff0a;border:1px solid #94a3b840;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-flex}.campaign-obj-pill.done{color:#34d399;background:#34d39924;border-color:#34d399}.tactical-event-banner{background:linear-gradient(90deg,#0f172af5,#1e122af5);border:1.5px solid #fbbf24;border-radius:10px;margin-top:5px;padding:8px 12px;animation:.2s ease-out slideDown;box-shadow:0 4px 20px #fbbf2440}.tactical-event-banner.urgent{border-color:#f43f5e;box-shadow:0 4px 20px #f43f5e59}.debrief-rank-badge{color:#fbbf24;background:#fbbf241f;border:2px solid #fbbf24;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;font-weight:900;display:flex;box-shadow:0 0 24px #fbbf2459}
