:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#eef1e9;font-synthesis:none;--warm:#efba6f;--safe:#8dd6d3;--line:#9fb7bb30;background:#0c151b;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{overscroll-behavior:none;margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:0}button:disabled{cursor:wait;opacity:.5}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--safe);outline-offset:4px}[hidden]{display:none!important}.game-shell{background:#263943;width:min(100vw,640px);height:100dvh;min-height:460px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 140px #0008}#battlefield,.vignette{position:absolute;inset:0}#battlefield{outline:none}#battlefield canvas{touch-action:none;width:100%;height:100%;display:block}.vignette{pointer-events:none;background:linear-gradient(#101b25ed 0,#14212b9a 105px,#0000 190px 65%,#101b2555 86%,#101b25dd)}.hud{inset:max(14px, env(safe-area-inset-top)) 20px auto;z-index:3;pointer-events:none;position:absolute}.hud-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.wordmark>span{letter-spacing:.29em;color:#b5c6cb;margin-bottom:4px;font:600 10px Rajdhani,sans-serif;display:block}.wordmark strong{letter-spacing:.04em;font-size:18px;font-weight:800}.wordmark .slash{color:#899996;margin-inline:4px;font-weight:400}.icon-button{pointer-events:auto;border:1px solid var(--line);background:#192831c9;border-radius:8px;width:48px;height:48px;font:700 22px Rajdhani,sans-serif}.armor-line{color:#b2c2c4;align-items:center;gap:10px;font-size:11px;display:flex}.armor-line strong{color:#edf3e8;text-align:right;min-width:26px;font:600 18px Rajdhani,sans-serif}.armor-track{background:#849da330;flex:1;height:5px}.armor-track i{background:#adc5a1;width:100%;height:100%;transition:width .12s linear;display:block}.armor-track i.low{background:#ed7565}.objective{color:#c3d3d3;align-items:center;gap:7px;margin-top:10px;font-size:12px;display:flex}.objective-dot{background:var(--warm);border-radius:50%;width:5px;height:5px;box-shadow:0 0 9px #efba6f66}#progress{color:#9eb9bf;white-space:nowrap;margin-left:auto;font:600 14px Rajdhani,sans-serif}.drive-controls{left:21px;right:21px;bottom:max(34px, calc(env(safe-area-inset-bottom) + 24px));z-index:4;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:flex-end;display:flex;position:absolute}.joystick-wrap{text-align:center}#joystick{touch-action:none;pointer-events:auto;background:radial-gradient(circle,#1c303968 44%,#52748120 45%,#6d909229 46%,#20303975 68%);border:1px solid #c3ddd944;border-radius:50%;width:128px;height:128px;position:relative;box-shadow:inset 0 0 18px #b4d5cf0b}#joystick.held{border-color:#9dcebe99}.joystick-cross:before,.joystick-cross:after{content:"";background:#c6dbdc21;position:absolute;inset:15px 63px}.joystick-cross:after{inset:63px 15px}#knob{background:linear-gradient(145deg,#819d9de3,#395462e3);border:1px solid #d0ded588;border-radius:50%;width:51px;height:51px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 15px #08172077,inset 0 1px 1px #eaffed33}.control-caption{letter-spacing:.22em;color:#a3b8bc;margin-top:8px;font-size:11px;display:block}.action-wrap{text-align:center;min-width:126px;padding-bottom:1px}#context-action{color:#ffd295;pointer-events:auto;background:#25343aee;border:1px solid #f2bb6b88;border-radius:18px 4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:120px;min-height:100px;font-size:14px;display:flex;box-shadow:0 4px 20px #0005}.action-symbol{font-size:30px;line-height:1}#auto-label{color:#a7bec2;margin-top:12px;font-size:11px;display:block}#toast{top:max(158px, calc(env(safe-area-inset-top) + 144px));z-index:4;text-align:center;color:#e8e6cc;opacity:0;pointer-events:none;background:#1a2935df;border-block:1px solid #99aca526;padding:10px 14px;font-size:13px;line-height:1.6;transition:opacity .25s;position:absolute;left:24px;right:24px}#toast.shown{opacity:1}.overlay{z-index:6;position:absolute;left:24px;right:24px}.intro{bottom:max(43px, calc(env(safe-area-inset-bottom) + 33px));border:1px solid #83979c46;border-top:3px solid var(--warm);background:linear-gradient(150deg,#152530f7,#101e28fb);border-radius:2px 16px;padding:26px 24px 20px;box-shadow:0 22px 70px #050e1699}.intro-kicker{color:#a8bdc2;letter-spacing:.13em;justify-content:space-between;font-size:11px;display:flex}.intro-kicker span:first-child{color:var(--warm)}h1{letter-spacing:-.04em;margin:20px 0 14px;font-size:clamp(32px,9vw,49px);font-weight:800;line-height:1.3}h1 em{color:#f0c180;font-style:normal}.intro-copy{color:#b2c3c6;margin-bottom:22px;font-size:14px;line-height:1.85}.mode-switch{border-bottom:1px solid #a3b4b435;margin-bottom:18px;display:flex}.mode-switch button{color:#80999f;background:0 0;border-bottom:2px solid #0000;flex:1;min-height:48px;font-size:13px}.mode-switch button.selected{border-color:var(--warm);color:#f1d0a1}.mode-switch button small{color:#9aadb0;margin-top:5px;font-size:10px;display:block}.intro{overscroll-behavior:contain;max-height:calc(100dvh - 112px);overflow-y:auto}.intro h1{margin-block:16px 12px;font-size:clamp(28px,8vw,42px)}.intro-copy{margin-block:10px 15px}.intro-kicker{letter-spacing:.03em;gap:8px;font-size:10px}.mission-steps{border-block:1px solid var(--line);flex-direction:column;gap:9px;margin:0 0 14px;padding:12px 0;list-style:none;display:flex}.mission-steps li{justify-content:space-between;align-items:center;gap:8px;display:flex}.mission-steps b{color:#d9e5de;font-size:12px}.mission-steps span{color:#98b3b8;font-size:11px}#start-experience .setting{border:0;min-height:44px}#start-experience p,#experience-settings p{color:#95adb1;margin:5px 0 14px;font-size:11px;line-height:1.6}#starter-choice{border:0;min-width:0;margin:0 0 10px;padding:0}#starter-choice legend{color:#e4d2b5;width:100%;margin-bottom:9px;font-size:12px}#starter-choice legend span{float:right;color:#91a9ad;font-size:10px}#starter-choice>div{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}#starter-choice button{background:#263c46;border:1px solid #66818b55;min-height:48px;padding:8px 3px;font-size:11px}#starter-choice button[aria-pressed=true]{border-color:var(--warm);color:#ffcf8c;background:#494636}#starter-copy,#challenge-kit{color:#b3c9c4;margin:8px 0;font-size:11px;line-height:1.6}.challenge-entry{text-align:left;border-block:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.challenge-entry span{color:#e4c59a;font-size:12px}.challenge-entry small{color:#9db7b9;font-size:10px}#back-to-chapter{color:#9fc9c4;background:0 0;min-height:48px;padding:0 0 14px;font-size:12px}@media (height<=700px){.intro h1{margin-block:8px;font-size:26px}.intro-copy{margin-block:8px;font-size:12px;line-height:1.6}.mission-steps{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:6px;padding-block:10px;display:grid}.mission-steps li{display:block}.mission-steps span{display:none}.mission-steps b{font-size:11px}#start-experience p{margin-bottom:8px}#mode-demolition{margin-top:6px}}#other-scenarios{border-top:1px solid var(--line);margin:16px 0 0;padding-top:12px}#other-scenarios summary{color:#a7c1c2;min-height:32px;line-height:1.8}#other-scenarios p{font-size:11px;line-height:1.7}#other-scenarios .mode-switch{border:0;gap:8px;margin-bottom:0}#other-scenarios button{border:1px solid var(--line);padding:10px 4px}#other-scenarios button.selected{border-color:#eab77688}#mission-guide{border-left:2px solid var(--warm);background:#152630de;margin-top:6px;padding:7px 10px}#mission-hint{color:#c0d1d0;margin:0;font-size:11px;line-height:1.55}#mission-count{color:#f0c180;margin-top:3px;font-size:11px;display:block}#mission-count:empty{display:none}#xp-rate{color:#cfdda4;white-space:nowrap}#destination{color:#aee0d5;background:#192a31e8;border:1px solid #8ec6bf66;border-radius:4px;justify-content:center;align-items:center;gap:9px;margin-bottom:10px;padding:8px;font-size:11px;display:flex}#direction-arrow{font-size:27px;line-height:1;display:inline-block}#pause-dialog{max-height:calc(100dvh - 32px);overflow-y:auto}.game-shell[data-phase=briefing] .objective,.game-shell[data-phase=briefing] .xp-line{visibility:hidden}.game-shell #toast{top:auto;bottom:220px}.primary{color:#233139;background:#eab776;border-radius:4px;justify-content:space-between;align-items:center;width:100%;min-height:56px;padding:0 19px;font-size:16px;font-weight:700;display:flex}.primary:hover{background:#f4c98b}.primary>span:last-child{font-size:24px;font-weight:400}.intro-foot{text-align:center;color:#899fa5;margin:15px 0 0;font-size:11px}.dialog{border:1px solid #8aabac50;border-top:3px solid var(--safe);background:#172630f5;border-radius:3px 16px;padding:30px 24px 24px;top:50%;transform:translateY(-50%);box-shadow:0 25px 80px #0009}.eyebrow{color:#8eaaa9;letter-spacing:.21em;font:600 12px Rajdhani,sans-serif}h2{letter-spacing:-.03em;margin:12px 0;font-size:29px}.dialog>p{color:#a3bbc0;font-size:14px;line-height:1.8}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:55px;font-size:14px;display:flex}.setting input{accent-color:#83bbb5;width:22px;height:22px}.upgrade-setting{margin-bottom:14px}.upgrade-setting p{color:#a7bec2;margin:7px 0 0;font-size:12px;line-height:1.65}.upgrade-setting .setting,.choice-automation{cursor:pointer;gap:12px;min-height:48px}.upgrade-setting input,.choice-automation input{flex-shrink:0}.choice-automation{color:#b3d9c9;margin-bottom:10px;font-size:13px}#upgrade-note{border-left:2px solid var(--safe);color:#c0ecd8;background:#173430e8;margin-top:6px;padding:7px 10px;font-size:12px;line-height:1.5}#synergy-note{color:#e6dfb8;text-shadow:0 1px 3px #000;margin-top:5px;font-size:12px;line-height:1.5}details{color:#91a9af;margin:17px 0 22px;font-size:12px}summary{cursor:pointer;min-height:30px}#performance{white-space:pre-line;line-height:1.8}.secondary{color:#a4bcc0;background:0 0;width:100%;min-height:48px;margin-top:10px;font-size:13px}#result-stats{border-block:1px solid var(--line);gap:12px;margin:25px 0;padding-block:16px;display:flex}#result-stats div{text-align:center;flex:1}#result-stats b{color:#e5c18d;font:600 28px Rajdhani,sans-serif;display:block}#result-stats span{color:#91a9ad;margin-top:4px;font-size:11px;display:block}.bottom-rule{bottom:max(9px, env(safe-area-inset-bottom));letter-spacing:.12em;color:#637f88;pointer-events:none;justify-content:space-between;font:500 9px Rajdhani,sans-serif;display:flex;position:absolute;inset-inline:24px}#error{z-index:20;background:#202b32;border:1px solid #eb8d72;padding:26px;font-size:15px;position:absolute;inset:22% 22px auto}#error p{overflow-wrap:anywhere}@media (width>=700px){.game-shell{border-inline:1px solid #8b9fa41a}.intro{left:52px;right:52px}.hud{inset-inline:28px}.drive-controls{inset-inline:32px}}@media (height<=700px){.intro{padding:18px;bottom:32px}h1{margin-block:12px;font-size:31px}.intro-copy{margin-bottom:10px;font-size:13px}.intro-foot{margin-top:10px}.mode-switch{margin-bottom:12px}#toast{top:146px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.xp-line{color:#a5ccbd;align-items:center;gap:8px;margin-top:9px;font-size:10px;display:flex}.xp-line>div{background:#99b4a62b;flex:1;height:3px}#xp-fill{background:#88d7ae;height:100%;display:block}#loadout{flex-wrap:wrap;gap:5px 10px;margin-top:9px;font-size:10px;display:flex}#loadout span{text-shadow:0 1px 3px #000}.mode-switch{flex-wrap:wrap}.mode-switch button{min-width:45%;min-height:40px}.choice-dialog{inset:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom));z-index:9;overscroll-behavior:contain;border:1px solid #74959666;border-top:3px solid var(--warm);background:#14242ff7;flex-direction:column;gap:9px;padding:19px 15px 14px;display:flex;position:absolute;overflow-y:auto;box-shadow:0 20px 80px #000c}.choice-heading{justify-content:space-between;align-items:flex-start;display:flex}.choice-heading h2{margin:6px 0 0;font-size:23px}.choice-heading .eyebrow{letter-spacing:.24em;font-size:9px}#choice-queue{color:var(--warm);white-space:nowrap;padding-top:4px;font:600 18px Rajdhani,sans-serif}.choice-hint{color:#9bb8ba;margin:0;font-size:11px}.preview-labels{text-align:center;letter-spacing:.1em;color:#aabec1;grid-template-columns:1fr 1fr;font-size:10px;display:grid}.preview-labels span:last-child{color:var(--warm)}#card-preview{border:1px solid #6e8b943b;flex-shrink:0;height:clamp(140px,22dvh,200px);position:relative}#card-preview:after{content:"";background:#9abdb547;width:1px;position:absolute;top:0;bottom:0;left:50%}#card-preview canvas{width:100%;height:100%;display:block}#card-options{gap:7px;display:grid}.upgrade-card{text-align:left;border:1px solid #64808a52;color:#dce9e7;background:#1c303ccc;border-left:3px solid #63818b;align-items:center;gap:13px;width:100%;min-height:66px;padding:9px 12px;display:flex}.upgrade-card[aria-pressed=true]{border-color:var(--card-color);background:#314550;box-shadow:inset 0 0 25px #bbd4d409}.card-glyph{text-align:center;width:32px;color:var(--card-color);font:30px Rajdhani,sans-serif}.upgrade-card small{color:#a1b8bb;letter-spacing:.03em;margin-bottom:5px;font-size:9px;display:block}.upgrade-card strong{letter-spacing:.03em;font-size:16px;display:block}.card-arrow{color:var(--card-color);margin-left:auto;font-size:20px}.card-detail{border-left:2px solid #7aada066;min-height:72px;padding:2px 0 2px 11px}.card-detail p{color:#d0dddc;margin:0 0 5px;font-size:15px;line-height:1.65}.card-detail>span{color:#90aeae;font-size:12px;line-height:1.5;display:block}#confirm-card{flex-shrink:0;min-height:52px;margin-top:auto;font-size:14px}#install-feedback{z-index:10;pointer-events:auto;background:#17313b44;flex-direction:column;justify-content:flex-end;align-items:center;padding-bottom:25%;display:flex;position:absolute;inset:0}#install-feedback span{letter-spacing:.3em;color:#b0ded0;font-size:11px}#install-feedback strong{color:#ffce8b;text-shadow:0 2px 10px #000;margin-top:8px;font-size:27px}.rest-dialog{top:auto;bottom:50px;transform:none}.game-shell[data-encounter=true] #result{padding:22px;top:auto;bottom:36px;transform:none}.game-shell[data-encounter=true] #result h2{font-size:25px}.game-shell[data-encounter=true] #result-stats{margin:16px 0;padding-block:12px}#experience-settings{font-size:12px}#experience-settings p{font-size:11px;line-height:1.7}select{color:#e9e9d4;background:#263c48;border:1px solid #799395;min-height:40px;padding:6px 10px}.station-dialog{z-index:12;border-top:3px solid #8dd6d3;padding:22px;top:9%;bottom:6%;overflow-y:auto;transform:none}.station-dialog h2{font-size:25px}.station-dialog h3{color:#a9c4c2;justify-content:space-between;margin-top:22px;font-size:13px;display:flex}#route-stops{border-block:1px solid var(--line);color:#778c95;gap:8px;padding-block:12px;font-size:10px;display:flex}#route-stops .done{color:#99ddc9}.weapon-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-height:58px;display:flex}.weapon-row>span{width:25px;font-size:25px}.weapon-row strong{font-size:14px}.weapon-row small{color:#96aaa9;margin-top:5px;font-size:10px;display:block}.weapon-row button{background:#29434a;border:1px solid #829f9f;margin-left:auto;padding:10px 14px}.empty-rack{font-size:12px}#elite-status{background:#162831db;border-left:2px solid #e9a371;margin-top:8px;padding:9px 12px}#elite-status>div{justify-content:space-between;font-size:11px;display:flex}#elite-status span,#elite-status small{color:#c3ab8d;font-size:10px}#elite-hp{appearance:none;background:#4a4540;border:none;width:100%;height:4px;margin:6px 0;display:block}#elite-hp::-webkit-progress-bar{background:#4a4540}#elite-hp::-webkit-progress-value{background:#e9a371}#station-replace{width:100%;margin:8px 0 14px}#station-replace-label,#replace-choice label{color:#ebc68c;font-size:12px}#replace-choice{border-left:2px solid #ebc68c;padding-left:10px}#replace-choice select{width:100%;margin-top:5px}#replace-choice p{margin:6px 0;font-size:11px}#replace-choice .secondary{min-height:34px;margin:0;padding:7px;font-size:12px}.choice-dialog:has(#replace-choice:not([hidden])) #card-preview{height:95px}.choice-dialog:has(#replace-choice:not([hidden])) .upgrade-card{min-height:52px;padding-block:5px}.choice-dialog:has(#replace-choice:not([hidden])) .card-detail{min-height:0}@media (height<=730px){.choice-dialog{gap:6px;padding:12px}#card-preview{height:130px}.upgrade-card{min-height:56px;padding-block:7px}.choice-heading h2{font-size:21px}.card-detail{min-height:65px}}
