:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--space:#070b17;--panel:#0e1323f0;--panel-strong:#11182a;--line:#7d9bc159;--text:#eef3ff;--muted:#9eabc2;--cyan:#5af4e2;--amber:#ffc45a;--orange:#e88c3f;--danger:#ff665d;font-family:Courier New,Noto Sans TC,PingFang TC,monospace}*{box-sizing:border-box}html,body,#app{width:100%;height:100%}body{background:var(--space);color:var(--text);overscroll-behavior:none;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button{min-height:44px;color:inherit;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}button:disabled{cursor:not-allowed}[hidden]{display:none!important}#app{isolation:isolate;background:#070b17;position:relative;overflow:hidden}#loading{z-index:100;color:var(--cyan);letter-spacing:.16em;background:#070b17;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:fixed;inset:0}html[data-ready=true] #loading{display:none}#game-canvas{cursor:crosshair;touch-action:none;background:#070b17;width:100%;height:100%;display:block;position:absolute;inset:0}.deployment-canvas{z-index:45;opacity:0;pointer-events:none;width:56%;height:100%;transition:opacity .22s;display:block;position:fixed;inset:0 0 0 44%}.deployment-canvas[data-state=active],.deployment-canvas[data-state=loading]{opacity:1}.deployment-canvas[data-state=leaving]{opacity:0}.deployment-canvas[data-mode=launch]{z-index:60;pointer-events:auto;width:100%;left:0}.deployment-status{z-index:61;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));color:var(--cyan);letter-spacing:.08em;pointer-events:none;background:#050a14d1;border:1px solid #69f0e570;padding:.48rem .7rem;font-size:.56rem;font-weight:900;position:fixed}.eyebrow{color:var(--cyan);letter-spacing:.14em;margin:0;font-size:.68rem;font-weight:900}kbd,.control-legend b,.title-instructions b{color:#dce9ff;background:#18233a;border:1px solid #55708f;place-items:center;min-width:1.55rem;min-height:1.45rem;padding:.16rem .35rem;font:800 .64rem/1 Courier New,monospace;display:inline-grid;box-shadow:inset 0 -2px #0000006b}.primary-button,.upgrade-card button,.context-action,.rescue-panel button{color:#211629;background:linear-gradient(#fff5be59 0 8%,#0000 8%),linear-gradient(#ffd25f,#e68a3f);border:3px solid #43283e;font-weight:900;transition:filter .1s linear,transform 90ms linear,box-shadow 90ms linear;position:relative;box-shadow:inset 0 -5px #68303c61,inset 0 0 0 2px #fff2b338,0 5px #5f3040,0 9px 20px #0000004d}.primary-button:hover:not(:disabled),.upgrade-card button:hover:not(:disabled),.context-action:hover:not(:disabled),.rescue-panel button:hover:not(:disabled){filter:brightness(1.08)saturate(1.06)}.primary-button:active:not(:disabled),.upgrade-card button:active:not(:disabled),.context-action:active:not(:disabled),.rescue-panel button:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 -2px #68303c59,0 1px #5f3040}.primary-button span,.primary-button small,.context-action span,.context-action small{display:block}.primary-button small,.context-action small{opacity:.68;letter-spacing:.04em;margin-top:.25rem;font-size:.6rem}.title-screen{z-index:40;background:radial-gradient(circle at 72% 48%,#366f7f33,#0000 31%),#070a14;grid-template-columns:minmax(21rem,40rem) 1fr;align-items:center;padding:clamp(1rem,3vw,3rem);display:grid;position:fixed;inset:0;overflow:auto}.title-screen:after{content:"";pointer-events:none;border:2px solid #6789b252;position:absolute;inset:10px;box-shadow:inset 0 0 60px #070a1499}.title-copy{z-index:2;border-left:4px solid var(--orange);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#0d1222fa,#0d1222d1);width:min(40rem,100%);padding:clamp(1rem,2vw,1.7rem);position:relative;box-shadow:10px 12px #02040a75}.title-copy h1{color:#edf6ff;letter-spacing:-.09em;text-shadow:5px 5px #28324d;margin:.65rem 0 0;font-size:clamp(3.5rem,6.2vw,6.5rem);line-height:.78}.title-copy h1 span{color:var(--orange)}.title-copy h2{color:var(--cyan);letter-spacing:.24em;margin:.65rem 0 0;font-size:clamp(.78rem,1.6vw,1.15rem)}.title-promise{color:#d6dfef;margin:.8rem 0 .9rem;font-family:PingFang TC,Noto Sans TC,sans-serif;font-size:clamp(.88rem,1.25vw,1.05rem);font-weight:650;line-height:1.75}.title-copy .primary-button{width:100%;min-height:4.2rem;font-size:1rem}.title-features{color:var(--muted);flex-wrap:wrap;gap:.5rem 1.1rem;margin-top:1rem;font-size:.62rem;font-weight:800;display:flex}.title-features span:before{color:var(--cyan);content:"◆";margin-right:.42rem}.title-art{z-index:0;object-fit:cover;object-position:58% 50%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.title-screen:before{z-index:1;content:"";pointer-events:none;background:linear-gradient(90deg,#070a14 0 30%,#070a14b8 48%,#070a141f 78%),linear-gradient(#0000 64%,#04060db8);position:absolute;inset:0}.title-instructions{z-index:3;color:var(--muted);gap:1.2rem;font-size:.62rem;font-weight:800;display:flex;position:absolute;bottom:clamp(1.3rem,4vw,3rem);right:clamp(1.5rem,4vw,4.5rem)}.language-switch{z-index:4;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));min-width:3rem;min-height:2.7rem;color:var(--cyan);background:#0b111fd1;border:1px solid #7ea0c68f;place-items:center;font-size:.72rem;font-weight:900;text-decoration:none;display:grid;position:fixed}.selected-ship{border:1px solid color-mix(in srgb, var(--ship-accent,var(--cyan)) 65%, #39465c);background:#050912c2;grid-template-columns:8rem 1fr;align-items:center;gap:.7rem;min-height:5.6rem;margin-bottom:.55rem;padding:.55rem;display:grid}.selected-ship img{object-fit:contain;mix-blend-mode:screen;width:100%;height:4.5rem}.selected-ship p,.selected-ship strong,.selected-ship small{margin:0;display:block}.selected-ship p{color:var(--ship-accent,var(--cyan));letter-spacing:.1em;font-size:.55rem;font-weight:900}.selected-ship strong{margin:.18rem 0;font-family:PingFang TC,Noto Sans TC,sans-serif;font-size:.95rem}.selected-ship small{color:var(--muted);font-size:.56rem}.fleet-strip{scrollbar-width:thin;gap:.42rem;min-height:3.35rem;margin-bottom:.55rem;display:flex;overflow-x:auto}.fleet-chip{color:#acb9cd;background:#0b1120;border:1px solid #39465c;grid-template-rows:1fr auto;width:4.4rem;min-width:4.4rem;min-height:3.2rem;padding:.18rem;display:grid}.fleet-chip[data-selected=true]{border-color:var(--ship-accent,var(--cyan));box-shadow:inset 0 -2px 0 var(--ship-accent,var(--cyan));color:#fff}.fleet-chip img{object-fit:contain;mix-blend-mode:screen;width:100%;height:2rem}.fleet-chip span{text-overflow:ellipsis;white-space:nowrap;font-size:.5rem;font-weight:900;overflow:hidden}.scan-form{margin-bottom:.75rem}.scan-form label,.scan-form small{color:var(--muted);font-size:.55rem;font-weight:800;display:block}.scan-form>div{grid-template-columns:minmax(0,1fr) auto;margin:.28rem 0;display:grid}.scan-form input,.scan-form button{min-height:2.7rem;font:inherit;border:1px solid #455672}.scan-form input{color:#edf5ff;-webkit-user-select:text;user-select:text;background:#080d19;min-width:0;padding:0 .7rem;font-size:.68rem}.scan-form button{color:var(--cyan);background:#1e3046;border-left:0;padding:0 .8rem;font-size:.58rem;font-weight:900}.scan-form[data-state=error] small{color:var(--danger)}.hud{z-index:10;pointer-events:none;position:fixed;inset:0}.top-rack{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));background:var(--panel);border:2px solid #31415b;grid-template-columns:minmax(11rem,1fr) minmax(15rem,1.35fr) minmax(10rem,.8fr);width:min(47rem,100vw - 19rem);display:grid;position:absolute;box-shadow:inset 0 0 0 1px #cee2ff0d,6px 7px #03050c80}.resource-card,.credit-card{border-right:1px solid var(--line);min-width:0;padding:.7rem .8rem}.resource-card header{justify-content:space-between;gap:.8rem;margin-bottom:.45rem;font-size:.65rem;display:flex}.resource-card header span,.credit-card span{color:var(--muted);font-weight:800}.resource-card header strong,.credit-card strong{color:var(--text);font-size:.78rem}.resource-card small,.credit-card small{color:#7f8ca4;text-overflow:ellipsis;white-space:nowrap;margin-top:.42rem;font-size:.54rem;font-weight:700;display:block;overflow:hidden}.credit-card{border-right:0;align-content:center;gap:.22rem;padding-right:4.5rem;display:grid;position:relative}.credit-card strong{color:var(--amber);font-size:1.1rem}.active-ship-portrait{object-fit:contain;mix-blend-mode:screen;width:3.7rem;height:3rem;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.meter{background:#27334c;border:2px solid #1c263a;height:9px;overflow:hidden}.meter i{background:var(--cyan);width:0;height:100%;transition:width .1s linear;display:block}.resource-card[data-tone=warning] .meter i{background:var(--amber)}.resource-card[data-tone=danger] .meter i{background:var(--danger)}.navigation-card{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));border:2px solid #31415b;border-top-color:var(--orange);background:var(--panel);text-align:right;width:15.5rem;padding:.85rem 1rem;position:absolute;box-shadow:6px 7px #03050c80}.navigation-card>p{color:var(--muted);letter-spacing:.1em;margin:0;font-size:.58rem;font-weight:800}.navigation-card>strong{color:var(--text);margin-top:.2rem;font-size:1.65rem;display:block}.navigation-card>small{color:var(--muted);margin-top:.15rem;font-size:.52rem;font-weight:700;display:block}.base-bearing{border-top:1px solid var(--line);color:var(--cyan);text-align:left;grid-template-columns:2rem 1fr;align-items:center;margin-top:.7rem;padding-top:.6rem;display:grid}.base-bearing i{border:1px solid #5af4e26b;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-style:normal;transition:transform .16s;display:grid}.base-bearing span{font-size:.58rem;font-weight:800}.guidance-card{--guidance-accent:var(--cyan);top:max(7.25rem, calc(env(safe-area-inset-top) + 7.25rem));border:2px solid color-mix(in srgb, var(--guidance-accent) 55%, #2e3d57);border-top-color:var(--guidance-accent);background:var(--panel);text-align:center;gap:.15rem;width:min(24rem,100vw - 20rem);padding:.6rem .85rem;display:grid;position:absolute;left:50%;transform:translate(-50%);box-shadow:6px 7px #03050c80}.guidance-card>p{color:var(--muted);letter-spacing:.1em;margin:0;font-size:.54rem;font-weight:800}.guidance-card>strong{color:var(--text);font-size:.86rem}.guidance-card>span{color:#aab6ca;font-size:.56rem;font-weight:700}.guidance-card[data-kind=rescue],.guidance-card[data-kind=return-low-fuel]{--guidance-accent:var(--danger)}.guidance-card[data-kind=sell-cargo-full],.guidance-card[data-kind=deepen-or-return]{--guidance-accent:var(--amber)}.guidance-card[data-kind=go-upgrade]{--guidance-accent:var(--orange)}.mining-readout{--material-accent:var(--cyan);border:2px solid color-mix(in srgb, var(--material-accent) 55%, #2e3d57);background:#0e1323f0;grid-template-columns:1fr 1.2fr;gap:1rem;width:min(29rem,100vw - 2rem);padding:.75rem .85rem;display:grid;position:absolute;bottom:5.2rem;left:50%;transform:translate(-50%);box-shadow:5px 6px #03050c80}.mining-readout p{color:var(--muted);margin:0;font-size:.54rem;font-weight:800}.mining-readout strong,.mining-readout small{display:block}.mining-readout strong{color:var(--material-accent);margin-top:.16rem;font-size:.83rem}.mining-readout small,.mining-progress span{color:#aab6ca;margin-top:.24rem;font-size:.52rem;font-weight:700}.mining-progress{align-content:center;display:grid}.mining-progress .meter i{background:var(--material-accent)}.mining-readout[data-blocked=true]{--material-accent:var(--danger)!important}.context-action{right:max(1rem, env(safe-area-inset-right));bottom:max(1.1rem, env(safe-area-inset-bottom));pointer-events:auto;min-width:15.5rem;padding:.68rem 1rem;position:absolute}.context-action[data-kind=transport]{background:linear-gradient(#e1fff94d 0 8%,#0000 8%),linear-gradient(#75ead8,#35a899)}.context-action:disabled{filter:grayscale(.7)brightness(.55);opacity:.75}.control-legend{bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));color:var(--muted);gap:.75rem;font-size:.56rem;font-weight:800;display:flex;position:absolute}.rescue-panel{text-align:center;pointer-events:auto;background:#23111ef5;border:3px solid #7b3340;width:min(25rem,100vw - 2rem);padding:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:8px 9px #03040a94}.rescue-panel p{color:var(--danger);letter-spacing:.16em;margin:0;font-size:.7rem;font-weight:900}.rescue-panel strong{color:#f1cbd0;margin:.8rem 0 1rem;font-size:.72rem;line-height:1.55;display:block}.rescue-panel button{background:linear-gradient(#ff8b68,#d64a4f);width:100%}.upgrade-screen{z-index:30;background:linear-gradient(90deg,#050812f5,#050812b8),url(../assets/keyart/frontier-refinery-v1.webp) 50%/cover,#050812;place-items:center;padding:clamp(.75rem,2vw,1.5rem);display:grid;position:fixed;inset:0}.upgrade-shell{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101629f2;border:3px solid #425572;width:min(76rem,100%);max-height:calc(100vh - 2rem);padding:clamp(1rem,2vw,1.5rem);display:grid;overflow:auto;box-shadow:inset 0 0 0 2px #c7deff0f,10px 12px #02040a94}.upgrade-header{border-bottom:2px solid #31415b;justify-content:space-between;gap:2rem;margin-bottom:1.2rem;padding-bottom:1rem;display:flex}.upgrade-header h2{color:var(--text);margin:.35rem 0;font-family:PingFang TC,Noto Sans TC,sans-serif;font-size:clamp(1.5rem,3vw,2.5rem)}.upgrade-header>div>p:last-child{color:var(--muted);margin:0;font-size:.68rem}.upgrade-balance{text-align:right;background:#172137;border:2px solid #415875;align-content:center;min-width:12rem;padding:.8rem 1rem;display:grid}.upgrade-balance span{color:var(--muted);font-size:.58rem;font-weight:800}.upgrade-balance strong{color:var(--amber);margin-top:.2rem;font-size:1.45rem}.upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.upgrade-card{background:#151e32;border:2px solid #33455f;min-height:22rem;padding:.72rem;display:grid;overflow:hidden;box-shadow:5px 6px #02040a73}.upgrade-card[data-state=available]{background:#1b2438;border-color:#d48a43}.upgrade-card[data-state=complete]{border-color:#3c9c91}.upgrade-card[data-installing=true]{animation:.9s cubic-bezier(.2,.8,.2,1) rig-install-card}.upgrade-visual{isolation:isolate;background:#090e19;border:1px solid #425572;height:clamp(7.2rem,14vh,10rem);margin-bottom:.75rem;position:relative;overflow:hidden}.upgrade-visual:after{z-index:1;content:"";pointer-events:none;background:linear-gradient(#04080f05 42%,#04080fe6),linear-gradient(90deg,#47efe01f,#0000 45%);position:absolute;inset:0}.upgrade-card[data-installing=true] .upgrade-visual:before{z-index:3;content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#9bfff5e6,#0000);width:15%;animation:.76s ease-out rig-install-scan;position:absolute;top:-30%;bottom:-30%;left:-22%;transform:skew(-12deg);box-shadow:0 0 24px #5af4e2b8}.upgrade-visual img{z-index:1;object-fit:cover;object-position:50% 54%;width:100%;height:100%;filter:brightness(var(--module-brightness,.72)) saturate(var(--module-saturation,.78));transition:filter .18s,transform .18s;position:relative;transform:scale(1.02)}.upgrade-visual-fallback{z-index:0;color:#7fefe194;letter-spacing:.08em;background:repeating-linear-gradient(135deg,#0000 0 12px,#5af4e20a 12px 13px),#090e19;place-items:center;font-size:.68rem;font-weight:900;display:grid;position:absolute;inset:0}.upgrade-visual[data-art=missing] img{visibility:hidden}.upgrade-card[data-upgrade=drill] .upgrade-visual img{object-position:50% 18%}.upgrade-card[data-upgrade=fuel] .upgrade-visual img{object-position:67% 56%}.upgrade-card[data-upgrade=cargo] .upgrade-visual img{object-position:42% 66%}.upgrade-card[data-upgrade=engine] .upgrade-visual img{object-position:50% 82%}.upgrade-card[data-state=available] .upgrade-visual img,.upgrade-card[data-state=complete] .upgrade-visual img{transform:scale(1.05)}.upgrade-card[data-installing=true] .upgrade-visual img{animation:.82s cubic-bezier(.2,.8,.2,1) rig-install-image}.upgrade-visual-hud{z-index:2;color:#dce7f7;letter-spacing:.08em;justify-content:space-between;align-items:end;font-size:.48rem;font-weight:900;display:flex;position:absolute;bottom:.48rem;left:.55rem;right:.55rem}.upgrade-visual-hud strong{color:var(--cyan);font-size:.72rem}.upgrade-pips{z-index:2;gap:.2rem;display:flex;position:absolute;top:.52rem;left:.55rem}.upgrade-pips i{background:#04080fbf;border:1px solid #98afcd80;width:1.1rem;height:.22rem;transform:skew(-18deg)}.upgrade-card[data-level="0"] .upgrade-pips i:nth-child(-n+1),.upgrade-card[data-level="1"] .upgrade-pips i:nth-child(-n+2),.upgrade-card[data-level="2"] .upgrade-pips i:nth-child(-n+3),.upgrade-card[data-level="3"] .upgrade-pips i:nth-child(-n+4),.upgrade-card[data-level="4"] .upgrade-pips i:nth-child(-n+5){background:var(--cyan);border-color:#9efff5;box-shadow:0 0 8px #5af4e2ad}.upgrade-card header{grid-template-columns:3.1rem 1fr auto;align-items:center;gap:.75rem;display:grid}.upgrade-icon{width:3rem;height:3rem;color:var(--cyan);background:#202b43;border:2px solid #596f8d;place-items:center;font-size:1.35rem;display:grid}.upgrade-card header p,.upgrade-card>p{color:var(--muted);margin:0;font-size:.58rem}.upgrade-card h3{margin:.2rem 0 0;font-family:PingFang TC,Noto Sans TC,sans-serif;font-size:1.05rem}.upgrade-card header>strong{color:var(--cyan)}.upgrade-card>p{margin:.7rem 0;line-height:1.5}.upgrade-feature{background:#121d30eb;border:1px solid #344861;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.55rem;margin-bottom:.48rem;padding:.5rem .6rem;display:grid}.upgrade-feature span{gap:.16rem;min-width:0;display:grid}.upgrade-feature span:last-child{text-align:right}.upgrade-feature small{color:#72829b;letter-spacing:.07em;font-size:.46rem;font-weight:900}.upgrade-feature strong{color:#dbe5f2;text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.upgrade-feature span:last-child strong,.upgrade-feature>i{color:var(--cyan)}.upgrade-feature>i{font-size:.9rem;font-style:normal}.upgrade-compare{color:#cbd7ea;background:#0d1425;border:1px solid #2d3e58;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.65rem;font-size:.62rem;display:grid}.upgrade-compare span:last-child{color:var(--amber);text-align:right}.upgrade-compare i{color:var(--cyan);font-style:normal}.upgrade-card button{min-height:3.2rem;margin-top:auto}.upgrade-card button:disabled{color:#747d8e;background:#252b39;border-color:#2e3749;box-shadow:inset 0 -4px #0000003d,0 4px #151a25}@keyframes rig-install-card{0%,to{border-color:#3c9c91;box-shadow:5px 6px #02040a73}35%{border-color:#b9fff7;box-shadow:0 0 26px #5af4e27a,5px 6px #02040a73}}@keyframes rig-install-scan{0%{left:-22%}to{left:112%}}@keyframes rig-install-image{0%,to{filter:brightness(var(--module-brightness,.72)) saturate(var(--module-saturation,.78))}40%{filter:brightness(1.34)saturate(1.22)}}@media (prefers-reduced-motion:reduce){.upgrade-card[data-installing=true],.upgrade-card[data-installing=true] .upgrade-visual img,.upgrade-card[data-installing=true] .upgrade-visual:before{animation:none}}.upgrade-shell footer{color:var(--muted);border-top:2px solid #31415b;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.2rem;padding-top:1rem;font-size:.6rem;display:flex}.upgrade-shell footer .primary-button{min-width:15rem;padding:.7rem 1rem}.toast{z-index:60;color:#dce7f8;background:#0e1323f5;border:2px solid #3d526e;grid-template-columns:auto 1fr;align-items:center;gap:.6rem;min-width:18rem;max-width:calc(100vw - 2rem);padding:.65rem .85rem;font-size:.65rem;font-weight:800;animation:.16s ease-out toast-in;display:grid;position:fixed;top:12rem;left:50%;transform:translate(-50%);box-shadow:5px 6px #03050c80}.toast i{background:var(--cyan);width:.55rem;height:.55rem;box-shadow:0 0 10px var(--cyan)}.toast[data-tone=reward]{border-color:#b5843d}.toast[data-tone=reward] i{background:var(--amber);box-shadow:0 0 10px var(--amber)}.toast[data-tone=warning] i,.toast[data-tone=danger] i{background:var(--danger);box-shadow:0 0 10px var(--danger)}.touch-controls{z-index:15;right:max(.7rem, env(safe-area-inset-right));bottom:max(.7rem, env(safe-area-inset-bottom));left:max(.7rem, env(safe-area-inset-left));pointer-events:none;grid-template-columns:auto 1fr auto;align-items:end;display:none;position:fixed}.touch-controls button{color:#e7f1ff;pointer-events:auto;touch-action:none;background:#141d31eb;border:3px solid #425572;width:3.8rem;height:3.8rem;font-size:1rem;font-weight:900;box-shadow:inset 0 -5px #00000059,0 5px #03050cb3}.touch-controls button[data-pressed=true]{transform:translateY(4px);box-shadow:inset 0 -2px #00000059,0 1px #03050cb3}.touch-move{gap:.45rem;display:flex}.touch-controls .touch-thrust{color:var(--cyan);border-color:#2f8e85;justify-self:end}.touch-controls>p{color:#dce8f9a6;text-align:center;margin:0 0 .2rem;font-size:.55rem;font-weight:800}.touch-controls .touch-rescue{color:var(--danger);border-color:#8d3f48;position:absolute;right:4.5rem}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}@media (pointer:coarse),(max-width:820px){.touch-controls:not([hidden]){display:grid}#game-canvas{cursor:default}.control-legend{display:none}.top-rack{top:max(.65rem, env(safe-area-inset-top));left:max(.65rem, env(safe-area-inset-left));grid-template-columns:1fr 1.25fr .85fr;width:calc(100vw - 1.3rem)}.resource-card,.credit-card{padding:.52rem .58rem}.resource-card small,.credit-card small{display:none}.navigation-card{top:5.2rem;right:max(.65rem, env(safe-area-inset-right));width:11.5rem;padding:.6rem .7rem}.navigation-card>strong{font-size:1.2rem}.guidance-card{top:5.2rem;left:max(.65rem, env(safe-area-inset-left));width:calc(100vw - 13.8rem);padding:.5rem .65rem;transform:none}.guidance-card>strong{font-size:.72rem}.guidance-card>span{display:none}.mining-readout{width:min(24rem,100vw - 1.4rem);bottom:5.1rem}.context-action{min-width:13rem;bottom:10rem;left:50%;right:auto;transform:translate(-50%)}.toast{top:10.8rem}}@media (max-width:680px){.deployment-canvas[data-mode=preview]{width:100%;height:34vh;bottom:auto;left:0;right:0;-webkit-mask-image:linear-gradient(#000 68%,#0000 100%);mask-image:linear-gradient(#000 68%,#0000 100%)}.deployment-status{top:max(.7rem, env(safe-area-inset-top));right:max(.7rem, env(safe-area-inset-right));text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 5rem);bottom:auto;overflow:hidden}.title-screen{grid-template-columns:1fr;padding:max(8.5rem,24vh) .75rem 4.8rem;display:block}.title-art{object-position:66% 44%;height:34vh;position:fixed;-webkit-mask-image:linear-gradient(#000 62%,#0000 100%);mask-image:linear-gradient(#000 62%,#0000 100%)}.title-copy{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:1rem}.title-copy h1{font-size:clamp(3rem,16vw,4.5rem)}.title-promise{margin:.6rem 0 .7rem;font-size:.8rem}.title-features{display:none}.title-instructions{right:1rem;bottom:max(.6rem, env(safe-area-inset-bottom));background:#070a14eb;flex-wrap:wrap;gap:.45rem .8rem;padding:.45rem .6rem;position:fixed;left:1rem}.selected-ship{grid-template-columns:6.4rem 1fr;min-height:4.6rem}.selected-ship img{height:3.6rem}.scan-form>div{grid-template-columns:minmax(0,1fr);gap:.35rem}.scan-form button{border-left:1px solid #455672}.top-rack{grid-template-columns:1fr 1fr}.credit-card{background:var(--panel);border:2px solid #31415b;width:8.5rem;padding-right:.58rem;position:absolute;top:4.25rem;left:0}.active-ship-portrait,.credit-card small{display:none}.navigation-card{top:4.9rem}.guidance-card{text-align:left;width:calc(100vw - 1.3rem);top:13.4rem}.toast{top:16.7rem}.mining-readout{grid-template-columns:1fr;gap:.45rem;padding:.58rem .65rem}.mining-readout small{display:none}.upgrade-shell{max-height:calc(100vh - 1rem);padding:.75rem}.upgrade-header{gap:.75rem;display:grid}.upgrade-header h2{font-size:1.45rem}.upgrade-balance{text-align:left;min-width:0}.upgrade-grid{grid-template-columns:1fr}.upgrade-card{min-height:20rem}.upgrade-visual{height:7.6rem}.upgrade-shell footer{display:grid}.upgrade-shell footer .primary-button{width:100%;min-width:0}}@media (max-width:420px) and (orientation:portrait){.resource-card header{gap:.1rem;display:grid}.resource-card header strong{font-size:.66rem}.navigation-card{width:10.2rem}.base-bearing{grid-template-columns:1.6rem 1fr}.touch-controls>p{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
