:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;--welcome-duration:3.4s;--welcome-flare:#ff7b43d1;--welcome-red-signal:#b7362db3;--page-bg:#070a0b;--page-overlay-a:#070a0bf5;--page-overlay-b:#090e0fdb;--panel:#0b1011ad;--panel-strong:#0d1314d1;--panel-soft:#68d5c012;--text:#eee9dc;--text-strong:#fffaf0;--muted:#8c9a97;--subtle:#c4cbc6;--border:#d5e7df1f;--border-strong:#68d5c070;--accent:#d8b75d;--accent-2:#68d5c0;--danger:#b7362d;--danger-soft:#b7362d2e;--safe-soft:#63a87c2e;--shadow:#00000038;background:var(--page-bg);color:var(--text);font-family:Inter,Noto Sans TC,Microsoft JhengHei,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#e7e3d6;--page-overlay-a:#eeebe0e0;--page-overlay-b:#e1ded1b8;--panel:#f7f5eee6;--panel-strong:#fffcf3f5;--panel-soft:#855b1914;--text:#1e251f;--text-strong:#0f1713;--muted:#5f6d66;--subtle:#394840;--border:#463e2c38;--border-strong:#855b196b;--accent:#8c611c;--accent-2:#237d6b;--danger:#a33a2f;--danger-soft:#a33a2f21;--safe-soft:#237d6b1f;--shadow:#48402a38}*{box-sizing:border-box}body{background:linear-gradient(180deg, var(--page-overlay-a), var(--page-overlay-b)), url(/assets/command-room.jpg) center / cover fixed, var(--page-bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.66}.app-shell{width:min(1360px,100vw - 40px);min-height:100vh;margin:0 auto;padding:18px 0 34px}.topbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:6px 0 16px;display:flex}.brand-lockup,.session-tools,.login-form,.battle-header,.commander-level,.action-title,.history-card>div,.tool-button,.final-panel button{align-items:center;display:flex}.brand-lockup{gap:14px;min-width:0}.brand-mark{border:1px solid var(--border-strong);width:42px;height:42px;color:var(--accent);background:#d8b75d14;border-radius:8px;flex:none;place-items:center;font-weight:800;display:grid}.welcome-gate{z-index:1000;background:linear-gradient(120deg, #060909f5, #141c1bc7), url(/assets/command-room.jpg) center / cover, var(--page-bg);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}:root[data-theme=light] .welcome-gate{background:linear-gradient(120deg, #ece9def0, #d4ded9bd), url(/assets/command-room.jpg) center / cover, var(--page-bg)}.welcome-gate:before,.welcome-gate:after{pointer-events:none;content:"";position:absolute;inset:0}.welcome-gate:before{opacity:.24;background-image:linear-gradient(#dfb9562e 1px,#0000 1px),linear-gradient(90deg,#6bb4a624 1px,#0000 1px);background-size:56px 56px;animation:12s linear infinite welcomeGrid}.welcome-gate:after{background:linear-gradient(90deg,#0000,#dfb9563d,#0000);width:44%;animation:1.7s ease-in-out 2 both welcomeSweep;inset:0 auto 0 0;transform:translate(-150%)skew(-16deg)}.welcome-panel{z-index:1;border:1px solid var(--border-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#111615eb;border-radius:8px;width:min(560px,100vw - 32px);padding:28px;animation:.52s both welcomePanelIn;position:relative;overflow:hidden;box-shadow:0 24px 80px #00000080}.welcome-panel.intro{animation:welcomePanelIn .52s ease both, welcomePanelGlow var(--welcome-duration) ease-in-out both}:root[data-theme=light] .welcome-panel{background:#fffcf3ed;box-shadow:0 24px 70px #48402a4d}.welcome-topline{justify-content:space-between;align-items:center;gap:14px;display:flex}.welcome-mark-row{color:var(--accent);letter-spacing:0;text-transform:uppercase;align-items:center;gap:10px;font-size:.78rem;font-weight:900;display:flex}.welcome-language{border:1px solid var(--border);background:#070a0952;border-radius:8px;flex:none;gap:4px;padding:4px;display:inline-flex}.welcome-language button{min-height:30px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:0 10px;font-size:.74rem;font-weight:900}.welcome-language button.active{color:var(--text-strong);background:#dfb9562e}.welcome-brand{border:1px solid var(--border-strong);width:44px;height:44px;color:var(--accent);background:#dfb9561c;border-radius:8px;place-items:center;display:grid}.welcome-panel.intro .welcome-brand{animation:1.1s ease-in-out infinite welcomeBrandPulse}.welcome-panel h2{color:var(--text-strong);letter-spacing:0;margin:18px 0 8px;font-size:2.35rem;line-height:1.05}.welcome-panel.intro h2{animation:.9s both welcomeTitleReveal}.welcome-panel.intro p{animation:.9s .16s both welcomeTitleReveal}.welcome-panel p{color:var(--subtle);margin:0;font-size:1rem;line-height:1.55}.welcome-boot{justify-items:center;gap:16px;min-height:246px;margin-top:28px;animation:.9s .24s both welcomeBootLift;display:grid;position:relative}.welcome-battle-effects{pointer-events:none;position:absolute;inset:-8px 4% 26px}.welcome-smoke,.welcome-fire,.welcome-red-signal,.welcome-help-signal{z-index:1;position:absolute}.welcome-smoke{filter:blur(3px);opacity:0;background:radial-gradient(circle at 28% 56%,#dce1d775,#0000 42%),radial-gradient(circle at 58% 38%,#b4bcb457,#0000 48%),radial-gradient(circle at 76% 62%,#78827d38,#0000 44%);border-radius:999px;width:92px;height:44px;animation:2.6s ease-in-out infinite welcomeSmoke;transform:translateY(20px)scale(.8)}.welcome-smoke.smoke-a{top:36%;left:4%}.welcome-smoke.smoke-b{animation-delay:.7s;top:18%;right:3%}.welcome-fire{background:radial-gradient(circle at 48% 72%, #fff0b8 0 18%, transparent 21%), radial-gradient(circle at 50% 58%, #ffb84d 0 35%, transparent 38%), linear-gradient(180deg, transparent 0 8%, var(--welcome-flare) 28%, #b7362d9e 82%);filter:drop-shadow(0 0 16px #ff7b4361);opacity:0;transform-origin:50% 100%;border-radius:50% 50% 42% 42%;width:34px;height:54px;animation:.9s ease-in-out infinite welcomeFire}.welcome-fire.fire-a{bottom:34%;left:18%}.welcome-fire.fire-b{animation-delay:.26s;bottom:46%;right:18%}.welcome-red-signal{background:radial-gradient(circle, #ffcdc1b8, var(--welcome-red-signal) 52%, transparent 68%);opacity:0;border:1px solid #ffc0b080;border-radius:50%;width:28px;height:28px;animation:1.4s ease-in-out infinite welcomeRedSignal;box-shadow:0 0 20px #b7362d5c}.welcome-red-signal.red-a{top:16%;left:28%}.welcome-red-signal.red-b{animation-delay:.52s;top:52%;right:28%}.welcome-help-signal{width:44px;height:44px;color:var(--accent-2);background:#6bb4a629;border:1px solid #6bb4a680;border-radius:50%;place-items:center;animation:1.9s ease-in-out infinite welcomeHelp;display:grid;box-shadow:0 0 24px #6bb4a63d}.welcome-help-signal.help-a{bottom:18%;right:12%}.welcome-radar{z-index:2;aspect-ratio:1;width:142px;color:var(--accent-2);border:1px solid #6bb4a680;border-radius:50%;place-items:center;animation:1.4s ease-in-out infinite welcomeRadarPulse;display:grid;position:relative;box-shadow:inset 0 0 0 22px #6bb4a60f,inset 0 0 0 44px #dfb9560d,0 0 44px #6bb4a638}.welcome-radar:before,.welcome-radar:after{content:"";position:absolute}.welcome-radar:before{border:1px solid #dfb95647;border-radius:50%;animation:1.6s ease-in-out infinite welcomeRing;inset:-14px}.welcome-radar:after{background:linear-gradient(90deg, var(--accent-2), transparent);transform-origin:0;width:50%;height:2px;animation:1.2s linear infinite welcomeRadar;top:50%;left:50%}.signal-bars{z-index:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(360px,100%);display:grid;position:relative}.signal-bars span{background:var(--accent);opacity:.25;border-radius:999px;height:5px;animation:.9s ease-in-out infinite signalPulse}.signal-bars span:nth-child(2){animation-delay:.12s}.signal-bars span:nth-child(3){animation-delay:.24s}.signal-bars span:nth-child(4){animation-delay:.36s}.signal-bars span:nth-child(5){animation-delay:.48s}.welcome-progress{z-index:2;background:#f2ead91a;border-radius:999px;width:min(360px,100%);height:4px;position:relative;overflow:hidden}.welcome-progress span{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent), #fff0b8);transform-origin:0;width:100%;height:100%;animation:welcomeProgress var(--welcome-duration) linear both;display:block;transform:scaleX(0)}.welcome-choice{gap:12px;margin-top:22px;animation:.36s both welcomePanelIn;display:grid}.welcome-login-form{gap:12px;display:grid}.welcome-login-form label{color:var(--muted);gap:8px;font-size:.78rem;font-weight:900;display:grid}.welcome-login-form input{border:1px solid var(--border);background:var(--panel-strong);width:100%;min-height:46px;color:var(--text-strong);border-radius:6px;outline:none;padding:0 14px}.welcome-login-form input[aria-invalid=true]{border-color:var(--danger)}.welcome-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.welcome-primary,.welcome-secondary,.welcome-link-button{border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:900;display:flex}.welcome-primary{background:linear-gradient(135deg, var(--accent), #fff0b8);color:#12140f;border-color:#0000}.welcome-secondary{color:var(--text-strong);background:#6bb4a624}.welcome-link-button{min-height:38px;color:var(--accent-2);background:0 0;border-color:#6bb4a652;font-size:.82rem}.welcome-message{color:var(--accent-2);align-items:center;gap:7px;font-size:.82rem;font-weight:800;display:flex}.series-title,.battle-header p,.panel-heading span,.history-card span,.final-panel span,.skill-ledger p,.leaderboard p{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}h1,h2,p{margin-top:0}h1{color:var(--text-strong);letter-spacing:0;margin-bottom:0;font-size:1.72rem;line-height:1.08}.session-tools{flex-wrap:wrap;justify-content:flex-end;gap:8px}.session-tools label,.login-form label{color:var(--muted);gap:5px;font-size:.74rem;font-weight:800;display:grid}.session-tools input,.login-form input,.session-tools select,.tool-button,.icon-button{border:1px solid var(--border);min-height:36px;color:var(--text-strong);background:#0b1011b8;border-radius:6px;outline:none}.session-tools input{width:min(220px,44vw);padding:0 12px}.login-form{flex-wrap:wrap;justify-content:flex-end;gap:8px}.login-form input{width:min(240px,46vw);padding:0 12px}.login-form input[aria-invalid=true]{border-color:var(--danger)}.login-status{width:100%;color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;font-size:.72rem;font-weight:900;display:flex}.login-status.signed-in{color:var(--accent-2)}.session-tools select{width:64px;padding:0 8px}.tool-button{gap:8px;margin-top:17px;padding:0 11px;font-size:.82rem;font-weight:900}.secondary-tool{background:#6bb4a61f}.icon-button{place-items:center;width:36px;margin-top:17px;display:grid}.command-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-template-areas:"battle mission""battle score";align-items:start;gap:16px;display:grid}.panel{border:1px solid var(--border);background:var(--panel);box-shadow:0 18px 38px var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:8px}.mission-panel,.score-panel{padding:14px}.mission-panel{grid-area:mission}.battle-panel{grid-area:battle}.score-panel{grid-area:score}.panel-heading{gap:4px;margin-bottom:12px;display:grid}.panel-heading strong{color:var(--accent);font-size:1.05rem}.english-title{color:var(--accent);margin-bottom:10px;font-weight:900}.focus-list{flex-wrap:wrap;gap:7px;margin:10px 0;display:flex}.focus-list span{border:1px solid color-mix(in srgb, var(--accent-2), transparent 68%);background:color-mix(in srgb, var(--accent-2), transparent 86%);color:var(--accent-2);border-radius:999px;padding:5px 8px;font-size:.78rem;font-weight:900}.unlock-box{border-left:2px solid var(--accent);background:0 0;gap:3px;margin:10px 0 12px;padding:7px 0 7px 10px;display:grid}.unlock-box p,.unlock-box span{color:var(--subtle);margin:0;font-size:.86rem;line-height:1.5}.unlock-box strong{color:var(--text-strong)}.level-timeline{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.level-timeline li{color:var(--muted);display:block}.level-timeline span{border:1px solid var(--border);background:var(--panel-strong);border-radius:50%;place-items:center;width:25px;height:25px;font-size:.78rem;font-weight:900;display:grid}.level-timeline .done{color:var(--accent-2)}.level-timeline .current{color:var(--accent)}.battle-panel{background:linear-gradient(180deg, #68d5c00b, transparent 28%), var(--panel);min-height:720px;padding:18px}.battle-header{justify-content:space-between;gap:12px;margin-bottom:14px}.battle-header h2{color:var(--text-strong);letter-spacing:0;margin:4px 0 0;font-size:clamp(2.25rem,4vw,3.25rem);line-height:1.02}.commander-level{border:1px solid color-mix(in srgb, var(--accent), transparent 44%);min-width:max-content;color:var(--accent);background:#d8b75d14;border-radius:8px;gap:8px;padding:9px 11px;font-weight:900}.boss-visual{background:#080c0d;border:1px solid #d5e7df1a;border-radius:8px;place-items:center;min-height:330px;display:grid;position:relative;overflow:hidden}.scene-image{object-fit:cover;filter:saturate(.82)contrast(1.04)brightness(.84);width:100%;height:100%;position:absolute;inset:0}.boss-visual:after{content:"";background:linear-gradient(90deg,#0000003d,#0000 20% 80%,#00000038),linear-gradient(#0000 52%,#00000080);position:absolute;inset:0}:root[data-theme=light] .boss-visual:after{background:linear-gradient(90deg,#fffcf329,#0000 22% 78%,#fffcf329),linear-gradient(#0000 52%,#fffcf33d)}.scene-badge{z-index:4;color:#fff3d6;background:#080a0a9e;border:1px solid #ffffff38;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900;position:absolute;top:12px;left:12px}.screen-battle-animation{z-index:720;pointer-events:none;position:fixed;inset:0;overflow:hidden}.screen-battle-vignette{opacity:0;background:radial-gradient(circle at 22% 78%,#d8b75d29,#0000 24%),radial-gradient(circle at 78% 18%,#b7362d29,#0000 24%),linear-gradient(90deg,#0306076b,#0000 36% 64%,#2a08075c);animation:2.2s ease-out both screenBattleVignette;position:absolute;inset:0}.screen-command-sweep{opacity:0;background:linear-gradient(90deg,#0000,#68d5c0e6,#d8b75dd1,#0000);border-radius:999px;width:136%;height:2px;animation:1.35s cubic-bezier(.2,.82,.2,1) both screenCommandSweep;position:absolute;left:-18%;transform:rotate(-8deg)translate(-24%);box-shadow:0 0 22px #68d5c05c}.screen-command-sweep.sweep-a{--screen-sweep-rotate:-8deg;top:24%}.screen-command-sweep.sweep-b{--screen-sweep-rotate:7deg;animation-delay:.16s;top:72%;transform:rotate(7deg)translate(-28%)}.screen-shockwave{aspect-ratio:1;opacity:0;border:2px solid #d8b75d94;border-radius:50%;width:34vmin;animation:1.4s ease-out both screenShockwave;position:absolute;transform:translate(-50%,-50%)scale(.22)}.screen-shockwave.shock-a{top:45%;left:50%}.screen-shockwave.shock-b{border-color:#68d5c080;animation-delay:.22s;top:78%;left:22%}.screen-smoke{filter:blur(12px);opacity:0;background:radial-gradient(circle at 22% 56%,#ebefe847,#0000 44%),radial-gradient(circle at 58% 36%,#a5b0aa33,#0000 48%),radial-gradient(circle at 80% 66%,#5b696529,#0000 48%);border-radius:999px;width:28vmin;height:12vmin;animation:2.2s ease-out both screenSmoke;position:absolute;transform:translateY(22px)scale(.78)}.screen-smoke-a{bottom:6%;left:4%}.screen-smoke-b{animation-delay:.26s;top:10%;right:6%}.screen-fire{filter:blur(1px)drop-shadow(0 0 24px #ff7b4357);opacity:0;transform-origin:50% 100%;background:radial-gradient(circle at 50% 72%,#fff0b8f2 0 16%,#0000 20%),radial-gradient(circle at 50% 60%,#ffb84ddb 0 34%,#0000 38%),linear-gradient(#0000 0 8%,#ff7b43c7 28%,#b7362d7a 82%);border-radius:50% 50% 44% 44%;width:64px;height:120px;animation:1.12s ease-in-out both screenFire;position:absolute}.screen-fire-a{bottom:0;left:12%}.screen-fire-b{animation-delay:.16s;bottom:3%;right:14%}.screen-red-alert{aspect-ratio:1;opacity:0;background:radial-gradient(circle,#ffcdc180,#b7362d57 52%,#0000 68%);border:1px solid #ffbfb06b;border-radius:50%;width:10vmin;animation:1.24s ease-out both screenRedAlert;position:absolute;box-shadow:0 0 28px #b7362d57}.screen-red-alert.alert-a{top:24%;left:8%}.screen-red-alert.alert-b{animation-delay:.26s;top:56%;right:8%}.screen-battle-hud{width:-moz-fit-content;width:fit-content;max-width:calc(100vw - 40px);color:var(--text-strong);opacity:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070a0ac2;border:1px solid #68d5c057;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;animation:1.55s ease-out .22s both screenHudPop;display:flex;position:absolute;bottom:28px;right:28px;transform:translateY(14px)scale(.96);box-shadow:0 18px 48px #00000057}.screen-battle-icon{width:36px;height:36px;color:var(--accent-2);background:#68d5c024;border-radius:8px;place-items:center;display:grid}.screen-battle-hud strong,.screen-battle-hud em{display:block}.screen-battle-hud strong{color:var(--accent-2);text-transform:uppercase;white-space:nowrap;font-size:.88rem}.screen-battle-hud em{color:var(--accent);white-space:nowrap;align-self:center;font-size:1.25rem;font-style:normal;font-weight:900}.screen-battle-animation.intensity-heavy .screen-battle-vignette{animation-name:screenBattleVignetteHeavy}.screen-battle-animation.intensity-heavy .screen-shockwave.shock-a{border-color:#ffb84dad;width:42vmin}.screen-battle-animation.air .screen-command-sweep.sweep-a{top:18%}.screen-battle-animation.sea .screen-shockwave.shock-a{top:64%}.screen-battle-animation.rocket .screen-red-alert.alert-a{top:20%;left:50%}.screen-battle-animation.support .screen-battle-icon,.screen-battle-animation.support .screen-shockwave.shock-b{border-color:#68d5c099}.battle-animation{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.combat-vignette{opacity:0;background:radial-gradient(circle at 28% 68%,#dfb95629,#0000 24%),radial-gradient(circle at 72% 34%,#b7362d33,#0000 26%),linear-gradient(90deg,#03050580,#0000 35% 62%,#460c096b);animation:1.55s ease-out both combatVignette;position:absolute;inset:0}.battlefield-line{opacity:0;align-items:flex-end;gap:14px;height:58px;display:flex;position:absolute}.allied-line{animation:1.36s cubic-bezier(.2,.78,.22,1) 80ms both alliedCharge;bottom:18%;left:7%}.enemy-line{animation:1.26s cubic-bezier(.22,.76,.25,1) .16s both enemyBrace;top:31%;right:8%;transform:scaleX(-1)}.soldier{transform-origin:bottom;width:17px;height:36px;transform-style:preserve-3d;background:linear-gradient(100deg,#ffffff1f,#0000 28%),linear-gradient(145deg,#405648,#121815 68%);border:1px solid #ffe8ad1f;border-radius:10px 10px 4px 4px;animation:.36s ease-in-out infinite alternate soldierStep;position:relative;box-shadow:7px 10px 10px #0000006b,inset -5px -3px #00000047,inset 3px 2px #ffffff21}.soldier:before{content:"";background:linear-gradient(120deg,#ffffff2e,#0000 34%),#36483d;border-radius:999px 999px 5px 5px;width:20px;height:13px;position:absolute;top:-11px;left:-1px;transform:translateZ(9px)rotate(-8deg);box-shadow:inset -4px -2px #00000038,3px 4px 6px #00000047}.soldier:after{content:"";transform-origin:0;background:#263a31;border-radius:999px;width:15px;height:5px;position:absolute;top:16px;left:8px;transform:translateZ(8px)rotate(-16deg);box-shadow:inset -3px -1px #00000042}.soldier-depth{background:#ffffff14;border-radius:7px 8px 4px 4px;position:absolute;inset:5px 1px 3px 7px;transform:translateZ(10px)skewY(-8deg)}.soldier-pack{background:linear-gradient(145deg,#28362e,#0d1110);border-radius:3px;width:9px;height:17px;position:absolute;top:10px;left:-6px;transform:translateZ(-3px)rotateY(-20deg);box-shadow:inset 2px 1px #ffffff1a}.soldier-rifle{transform-origin:0;background:linear-gradient(90deg,#49371e,#15100b);border-radius:999px;width:31px;height:4px;position:absolute;top:12px;left:11px;transform:translateZ(11px)rotate(-13deg);box-shadow:0 0 0 1px #ffe8ad14,5px 2px 6px #00000057}.enemy-line .soldier{background:linear-gradient(100deg,#ffffff1a,#0000 28%),linear-gradient(145deg,#614039,#241511 68%)}.enemy-line .soldier:before{background:linear-gradient(120deg,#ffffff24,#0000 34%),#5b3a33}.soldier-2{animation-delay:70ms}.soldier-3{animation-delay:.13s}.soldier-4{animation-delay:40ms}.soldier-5{animation-delay:.11s}.tracer{filter:drop-shadow(0 0 7px #ffd383e6);opacity:0;transform-origin:0;background:linear-gradient(90deg,#0000,#ffe9aaf2,#ff8054e6,#0000);border-radius:999px;height:2px;position:absolute}.tracer-a{width:42%;animation:1.15s linear .24s both tracerShot;top:56%;left:24%;transform:rotate(-12deg)}.tracer-b{width:36%;animation:1.12s linear .41s both tracerShot;top:45%;right:26%;transform:rotate(166deg)}.tracer-c{width:34%;animation:1.1s linear .61s both tracerShot;top:66%;left:29%;transform:rotate(-4deg)}.muzzle-flash,.impact-flash{filter:drop-shadow(0 0 10px #ffcd6bd9);opacity:0;background:radial-gradient(circle,#fff9ce 0 18%,#ffb33f 20% 42%,#db4e2b73 44%,#0000 70%);border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%)scale(.4)}.flash-a{animation:1.08s step-end .3s both muzzlePop;top:61%;left:35%}.flash-b{animation:1.08s step-end .51s both muzzlePop;top:40%;left:66%}.impact-flash{filter:drop-shadow(0 0 18px #ffb853cc);background:radial-gradient(circle,#fffbd5f2 0 12%,#ffb853d1 16% 34%,#b7362d80 38%,#0000 72%);width:52px;height:52px;animation:.76s ease-out .68s both impactFlash}.blast-a{top:52%;left:69%}.blast-b{animation-delay:.85s;top:39%;left:44%}.smoke-cloud{filter:blur(1px);opacity:0;background:radial-gradient(circle at 24% 58%,#e9e2cfa3,#0000 30%),radial-gradient(circle at 50% 42%,#9d9687b8,#0000 36%),radial-gradient(circle at 74% 62%,#3e403bad,#0000 33%);border-radius:50%;width:92px;height:40px;animation:1.26s ease-out .76s both smokeRise;position:absolute;transform:translate(-50%,-50%)scale(.72)}.smoke-a{top:52%;left:68%}.smoke-b{animation-delay:.93s;top:38%;left:45%}.heart-row{z-index:5;opacity:0;gap:12px;animation:1.35s ease-out .42s both heartRowIn;display:flex;position:absolute;top:58%;left:20%;transform:translate(-50%)}.heart-pulse{filter:drop-shadow(0 0 8px #db4e43b8);background:#db4e43;width:13px;height:13px;animation:.62s ease-in-out infinite heartPulse;position:relative;transform:rotate(45deg)scale(.7)}.heart-pulse:before,.heart-pulse:after{background:inherit;content:"";border-radius:50%;width:13px;height:13px;position:absolute}.heart-pulse:before{left:-6px}.heart-pulse:after{top:-6px}.heart-2{animation-delay:.14s}.heart-3{animation-delay:.28s}.fire-burst{z-index:5;filter:drop-shadow(0 0 14px #ff8b34b8)blur(.2px);opacity:0;transform-origin:bottom;background:radial-gradient(circle at 50% 72%,#fff0a5 0 13%,#ffb642 16% 32%,#0000 34%),radial-gradient(circle at 50% 44%,#ff8b34 0 24%,#b82a1bb3 30%,#0000 62%);border-radius:48% 52% 46% 50%;width:38px;height:54px;animation:1.2s ease-out .62s both fireFlicker;position:absolute;transform:translate(-50%,-50%)scaleY(.6)}.fire-a{top:38%;left:76%}.fire-b{animation-delay:.85s;top:61%;left:34%}.red-hit{z-index:5;filter:blur(.3px)drop-shadow(0 0 8px #dc3a2c61);opacity:0;background:radial-gradient(circle at 32% 52%,#dc3a2c9e 0 8%,#0000 10%),radial-gradient(circle at 56% 30%,#dc3a2c6b 0 6%,#0000 9%),radial-gradient(circle at 68% 62%,#dc3a2c80 0 7%,#0000 10%);border-radius:50%;width:70px;height:42px;animation:.9s ease-out .78s both redHitPulse;position:absolute;transform:translate(-50%,-50%)scale(.55)}.red-hit-a{top:63%;left:42%}.red-hit-b{animation-delay:1.04s;top:31%;left:68%}.casualty-marker{z-index:4;color:#ffd8ca;opacity:0;background:#48120ec2;border:1px solid #ffc09859;border-radius:999px;padding:5px 8px;font-size:.72rem;font-weight:900;animation:.9s ease-out .82s both casualtyTag;position:absolute;transform:translate(-50%,8px)}.casualty-a{top:72%;left:39%}.casualty-b{animation-delay:.98s;top:27%;left:63%}.battle-animation.intensity-heavy .combat-vignette{animation-name:combatVignetteHeavy}.battle-animation.intensity-heavy .casualty-marker{background:#6a1813db}.route-line{filter:drop-shadow(0 0 8px #dfb956a6);opacity:0;transform-origin:0;background:linear-gradient(90deg,#0000,#ffe8adeb,#0000);border-radius:999px;height:3px;position:absolute}.route-a{width:62%;animation:.98s ease-out .14s both routeDraw;top:64%;left:16%;transform:rotate(-12deg)}.route-b{width:48%;animation:.98s ease-out .28s both routeDraw;top:42%;left:22%;transform:rotate(18deg)}.model-token{color:#fff2cd;background:linear-gradient(145deg,#fff5d229,#0508082e),#234b43;border:1px solid #ffe8ad8c;border-radius:14px;place-items:center;width:52px;height:52px;display:grid;position:absolute;transform:translate(-50%,-50%)perspective(240px)rotateX(18deg);box-shadow:0 14px 22px #00000059,inset 0 1px #ffffff38}.model-token:after{content:"";filter:blur(4px);background:#00000059;border-radius:50%;width:44px;height:14px;position:absolute;top:50px;left:10px}.model-primary{top:68%;left:14%}.model-escort{opacity:0;background:linear-gradient(145deg,#fff5d226,#0508082e),#544321;border-radius:12px;width:42px;height:42px}.battle-animation.land .model-primary{animation:1.25s cubic-bezier(.18,.92,.27,1) both landAdvance}.battle-animation.land .model-escort{animation:1.18s cubic-bezier(.18,.92,.27,1) .18s both escortAdvance}.battle-animation.air .model-primary{border-radius:50%;animation:1.22s cubic-bezier(.2,.76,.2,1) both airSweep}.battle-animation.air .model-escort{border-radius:50%;animation:1.1s cubic-bezier(.2,.76,.2,1) .14s both airEscort}.battle-animation.sea .model-primary{animation:1.3s cubic-bezier(.22,.78,.2,1) both seaConvoy}.battle-animation.sea .model-escort{animation:1.25s cubic-bezier(.22,.78,.2,1) .18s both seaEscort}.battle-animation.rocket .model-primary{background:linear-gradient(145deg,#fff5d22e,#0508082e),#65372d;border-radius:50%;animation:1.18s cubic-bezier(.14,.82,.24,1) both rocketArc}.battle-animation.rocket .model-escort{animation:1.15s ease-out .14s both signalPulse}.battle-animation.support .model-primary{animation:1.2s cubic-bezier(.2,.76,.24,1) both supportDeploy}.battle-animation.support .model-escort{animation:1.15s cubic-bezier(.2,.76,.24,1) .15s both supportColumn}.battle-animation.support .allied-line{animation-name:supportReliefAdvance}.battle-animation.sea .battlefield-line{bottom:14%}.battle-animation.air .tracer-a,.battle-animation.air .tracer-b{top:33%}.battle-animation.rocket .impact-flash,.battle-animation.rocket .smoke-cloud{transform-origin:50%}.impact-ring{opacity:0;border:2px solid #ffe8ade0;border-radius:50%;width:92px;height:92px;animation:.78s ease-out .85s both impactPulse;position:absolute;top:48%;left:72%;transform:translate(-50%,-50%)scale(.22)}.battle-animation.air .impact-ring{top:36%;left:67%}.battle-animation.sea .impact-ring{top:64%;left:70%}.battle-animation.rocket .impact-ring{top:34%;left:73%}.battle-animation.support .impact-ring{border-color:#7bd4c3e6;top:58%;left:58%}.result-burst{z-index:6;color:#fff7e8;opacity:0;background:#090c0cd1;border:1px solid #ffe8ad57;border-radius:8px;gap:7px;width:min(320px,100% - 32px);padding:12px;animation:.76s ease-out .92s both resultPop;display:grid;position:absolute;bottom:16px;right:16px;transform:translateY(12px)scale(.96);box-shadow:0 18px 34px #00000057}.result-burst strong{color:#fff2cd}.result-burst small{color:#d8d6c4;font-size:.76rem;line-height:1.35}.result-burst>span{color:#ffcf8f;font-weight:900}.result-burst div{flex-wrap:wrap;gap:6px;display:flex}.result-burst em{border-radius:999px;padding:4px 7px;font-size:.74rem;font-style:normal;font-weight:900}.result-burst em.plus{color:#abf0df;background:#6bb4a638}.result-burst em.minus{color:#ffb9ad;background:#b7362d3d}.boss-core{z-index:2;color:#fff7e8;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#070a0a94;border:1px solid #ffe8ad38;border-radius:8px;gap:10px;width:min(520px,92%);padding:20px;display:grid;position:relative}.boss-core span,.boss-core small{color:#d3d9d2;font-weight:800}.boss-core strong{color:#fff2cd;font-size:clamp(1.9rem,4vw,2.45rem);line-height:1.05}.boss-hp,.meter-track{background:#040707bd;border-radius:999px;overflow:hidden}.boss-hp{height:14px}.boss-hp div{border-radius:inherit;background:linear-gradient(90deg, var(--danger), #dfb956);height:100%;transition:width .22s}.history-lesson{border-top:1px solid color-mix(in srgb, var(--accent-2), transparent 58%);gap:8px;margin-top:12px;padding-top:12px;display:grid}.history-lesson-heading,.choice-heading{gap:4px;display:grid}.history-lesson-heading span,.choice-heading span,.action-note{color:var(--muted);letter-spacing:0;text-transform:uppercase;font-size:.76rem;font-weight:900}.history-lesson-heading strong{color:var(--accent);font-size:1rem;line-height:1.35}.lesson-takeaway{color:var(--text);margin:0;font-size:.92rem;font-weight:800;line-height:1.45}.choice-board{gap:10px;margin-top:18px;display:grid}.action-dock{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:10px;margin-top:10px;display:grid}.action-card{border:1px solid var(--border);min-width:0;min-height:132px;color:var(--text);text-align:left;background:#0a0f10bd;border-radius:8px;gap:9px;padding:13px;transition:border-color .18s,transform .18s,background .18s;display:grid}.action-card:hover:not(:disabled){border-color:var(--border-strong);background:#0d1616eb;transform:translateY(-3px)}.action-title{gap:10px}.action-title>span:last-child{min-width:0}.action-icon{width:36px;height:36px;color:var(--text-strong);border-radius:8px;flex:none;place-items:center;display:grid}.action-card strong{overflow-wrap:anywhere;margin-bottom:2px;font-size:1rem;display:block}.action-card small{color:var(--muted);font-weight:900}.action-card p{color:var(--subtle);margin-bottom:0;font-size:.9rem;line-height:1.55}.action-card .action-note{border-left:2px solid color-mix(in srgb, var(--accent-2), transparent 30%);color:var(--text);text-transform:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-left:10px;font-size:.86rem;font-weight:800;display:-webkit-box;overflow:hidden}.action-card.safe .action-icon{background:color-mix(in srgb, var(--accent-2), transparent 76%)}.action-card.balanced .action-icon{background:color-mix(in srgb, var(--accent), transparent 78%)}.action-card.risky .action-icon{background:#c4562d38}.action-card.moral .action-icon{background:#b7362d42}.action-forecast{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding-top:10px;display:flex}.action-forecast span{color:var(--muted);align-items:center;gap:5px;font-size:.76rem;font-weight:900;display:flex}.action-forecast strong{color:var(--accent);white-space:nowrap;font-size:.9rem}.history-card,.final-panel{border-radius:8px;margin-top:16px;padding:16px}.history-card{border:1px solid color-mix(in srgb, var(--accent-2), transparent 72%);background:color-mix(in srgb, var(--accent-2), transparent 90%)}.history-card>div{justify-content:space-between;gap:12px;margin-bottom:8px}.history-card strong{color:var(--accent-2)}.history-card p{color:var(--text);margin-bottom:8px;line-height:1.65}.history-card em{color:var(--accent);font-style:normal;font-weight:900}.score-panel{align-content:start;gap:10px;display:grid}.connection-mode{color:#101211;border-radius:6px;margin:-4px 0 0;padding:7px 9px;font-size:.82rem;font-weight:900}.connection-mode.connecting{background:#dfb956}.connection-mode.cloud{background:#7bd4c3}.connection-mode.local{background:#d7dece}.score-stack{gap:9px;display:grid}.score-meter{gap:5px;display:grid}.score-meter>div:first-child{color:var(--text);justify-content:space-between;gap:10px;font-weight:900;display:flex}.score-meter strong{color:var(--accent)}.score-meter small{display:none}.meter-track{height:5px}.meter-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent-2), var(--accent));height:100%;transition:width .22s;display:block}.score-meter.danger .meter-track span{background:linear-gradient(90deg, var(--danger), #df7044)}.skill-ledger,.leaderboard{border-top:1px solid var(--border);gap:7px;padding-top:10px;display:grid}.skill-ledger strong,.skill-ledger span,.leaderboard span,.leaderboard small{color:var(--subtle);font-size:.84rem;line-height:1.45}.leaderboard div{color:var(--text);border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0;display:grid}.leaderboard .player-rank-card{border:1px solid color-mix(in srgb, var(--accent), transparent 58%);background:color-mix(in srgb, var(--accent), transparent 88%);grid-template-columns:minmax(0,1fr) auto}.leaderboard .current-player{border:1px solid color-mix(in srgb, var(--accent-2), transparent 58%);background:color-mix(in srgb, var(--accent-2), transparent 88%)}.leaderboard strong,.leaderboard span,.leaderboard small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.leaderboard strong{color:var(--text-strong);align-items:center;gap:7px;display:flex}.leaderboard strong span{color:var(--accent);font-size:.78rem}.leaderboard>span{padding:2px 0}.final-panel{border:1px solid var(--border-strong);background:var(--panel-strong);gap:14px;display:grid}.final-panel.green{border-color:color-mix(in srgb, var(--accent-2), transparent 48%)}.final-panel.yellow{border-color:color-mix(in srgb, var(--accent), transparent 42%)}.final-panel.orange,.final-panel.red{border-color:color-mix(in srgb, var(--danger), transparent 42%)}.final-panel h2{color:var(--text-strong);margin:2px 0;font-size:2.8rem}.final-panel p{color:var(--subtle);margin-bottom:0;line-height:1.6}.final-panel button{background:var(--accent);width:-moz-fit-content;width:fit-content;color:var(--page-bg);border:0;border-radius:6px;gap:8px;padding:10px 14px;font-weight:900}@media (max-width:1160px){.command-grid{grid-template-columns:1fr 1fr;grid-template-areas:"battle battle""mission score"}.battle-panel{grid-area:battle}}@keyframes routeDraw{0%{opacity:0;clip-path:inset(0 100% 0 0)}28%{opacity:.9}to{opacity:0;clip-path:inset(0)}}@keyframes combatVignette{0%{opacity:0}22%{opacity:.9}to{opacity:.34}}@keyframes combatVignetteHeavy{0%{opacity:0;filter:saturate()}28%{opacity:1;filter:saturate(1.3)}to{opacity:.48;filter:saturate(1.08)}}@keyframes alliedCharge{0%{opacity:0;transform:translate(-38px)translateY(8px)}22%{opacity:.95}to{opacity:.95;transform:translate(70px)translateY(-4px)}}@keyframes supportReliefAdvance{0%{opacity:0;transform:translate(-30px)translateY(4px)}28%{opacity:.95}to{opacity:.9;transform:translate(44px)translateY(-2px)}}@keyframes enemyBrace{0%{opacity:0;transform:scaleX(-1)translate(-36px)translateY(8px)}24%{opacity:.92}to{opacity:.88;transform:scaleX(-1)translate(34px)translateY(-2px)}}@keyframes soldierStep{0%{transform:perspective(140px)rotateX(14deg)rotateY(-12deg)translateY(0)rotate(-2deg)}to{transform:perspective(140px)rotateX(18deg)rotateY(10deg)translateY(-4px)rotate(3deg)}}@keyframes tracerShot{0%,18%{opacity:0;clip-path:inset(0 100% 0 0)}23%,34%{opacity:1;clip-path:inset(0)}38%,to{opacity:0;clip-path:inset(0 0 0 100%)}}@keyframes muzzlePop{0%,20%,44%,to{opacity:0;transform:translate(-50%,-50%)scale(.35)}21%,24%,45%,48%{opacity:1;transform:translate(-50%,-50%)scale(1.18)}}@keyframes impactFlash{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}28%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1.78)}}@keyframes smokeRise{0%{opacity:0;transform:translate(-50%,-30%)scale(.64)}28%{opacity:.72}to{opacity:0;transform:translate(-50%,-82%)scale(1.35)}}@keyframes heartRowIn{0%{opacity:0;transform:translate(-50%,10px)}24%,84%{opacity:.95}to{opacity:0;transform:translate(-50%,-18px)}}@keyframes heartPulse{0%,to{transform:rotate(45deg)scale(.68)}42%{transform:rotate(45deg)scale(1.06)}}@keyframes fireFlicker{0%{opacity:0;transform:translate(-50%,-50%)scale(.45,.35)rotate(-4deg)}18%,72%{opacity:.95}34%{transform:translate(-50%,-50%)scale(1.04,1.2)rotate(5deg)}58%{transform:translate(-50%,-50%)scale(.88,1.08)rotate(-6deg)}to{opacity:0;transform:translate(-50%,-62%)scale(.76,1.3)rotate(3deg)}}@keyframes redHitPulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.45)}22%{opacity:.9}to{opacity:0;transform:translate(-50%,-50%)scale(1.34)}}@keyframes casualtyTag{0%{opacity:0;transform:translate(-50%,10px)scale(.88)}22%{opacity:1}to{opacity:.9;transform:translate(-50%)scale(1)}}@keyframes landAdvance{0%{opacity:0;top:68%;left:14%;transform:translate(-50%,-50%)perspective(240px)rotateX(18deg)scale(.82)}20%{opacity:1}to{opacity:1;top:48%;left:66%;transform:translate(-50%,-50%)perspective(240px)rotateX(18deg)scale(1.04)}}@keyframes escortAdvance{0%{opacity:0;top:74%;left:19%}28%{opacity:.9}to{opacity:.9;top:61%;left:55%}}@keyframes airSweep{0%{opacity:0;top:72%;left:8%;transform:translate(-50%,-50%)rotate(-20deg)scale(.82)}20%{opacity:1}to{opacity:1;top:34%;left:70%;transform:translate(-50%,-50%)rotate(16deg)scale(1.05)}}@keyframes airEscort{0%{opacity:0;top:82%;left:13%}30%{opacity:.92}to{opacity:.88;top:44%;left:58%}}@keyframes seaConvoy{0%{opacity:0;top:72%;left:14%}20%{opacity:1}to{opacity:1;top:64%;left:69%}}@keyframes seaEscort{0%{opacity:0;top:82%;left:18%}30%{opacity:.9}to{opacity:.9;top:72%;left:57%}}@keyframes rocketArc{0%{opacity:0;top:78%;left:18%;transform:translate(-50%,-50%)rotate(-30deg)scale(.72)}18%{opacity:1}68%{top:22%;left:56%}to{opacity:1;top:35%;left:75%;transform:translate(-50%,-50%)rotate(22deg)scale(1.04)}}@keyframes signalPulse{0%,to{opacity:.22;transform:scaleX(.76)}50%{opacity:1;transform:scaleX(1)}}@keyframes supportDeploy{0%{opacity:0;top:62%;left:16%;transform:translate(-50%,-50%)perspective(240px)rotateX(18deg)scale(.82)}22%{opacity:1}to{opacity:1;top:58%;left:56%;transform:translate(-50%,-50%)perspective(240px)rotateX(18deg)scale(1.06)}}@keyframes supportColumn{0%{opacity:0;top:72%;left:20%}32%{opacity:.92}to{opacity:.88;top:68%;left:48%}}@keyframes impactPulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.18);box-shadow:0 0 #ffe8ad80}35%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(1.55);box-shadow:0 0 0 36px #ffe8ad00}}@keyframes resultPop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes welcomePanelIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes welcomePanelGlow{0%,to{box-shadow:0 24px 80px #00000080,0 0 #dfb95600}50%{box-shadow:0 24px 80px #00000080,0 0 42px #dfb9562e}}@keyframes welcomeGrid{0%{background-position:0 0}to{background-position:56px 56px}}@keyframes welcomeSweep{0%{transform:translate(-150%)skew(-16deg)}to{transform:translate(260%)skew(-16deg)}}@keyframes welcomeBrandPulse{0%,to{background:#dfb9561c;transform:scale(1)}50%{background:#dfb95647;transform:scale(1.06)}}@keyframes welcomeTitleReveal{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes welcomeBootLift{0%{opacity:0;transform:translateY(14px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes welcomeRadar{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes welcomeRadarPulse{0%,to{box-shadow:inset 0 0 0 22px #6bb4a60f,inset 0 0 0 44px #dfb9560d,0 0 44px #6bb4a638}50%{box-shadow:inset 0 0 0 18px #6bb4a624,inset 0 0 0 42px #dfb9561a,0 0 64px #6bb4a657}}@keyframes welcomeRing{0%,to{opacity:.24;transform:scale(.92)}50%{opacity:.8;transform:scale(1.04)}}@keyframes welcomeProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes welcomeSmoke{0%{opacity:0;transform:translateY(22px)scale(.72)}22%{opacity:.7}to{opacity:0;transform:translateY(-34px)translate(12px)scale(1.22)}}@keyframes welcomeFire{0%,to{opacity:.66;transform:scaleY(.82)skew(-4deg)}50%{opacity:1;transform:scaleY(1.08)skew(5deg)}}@keyframes welcomeRedSignal{0%,to{opacity:0;transform:scale(.7)}38%{opacity:.9;transform:scale(1.15)}70%{opacity:.42;transform:scale(1.6)}}@keyframes welcomeHelp{0%,to{opacity:.35;transform:translateY(0)scale(.9)}45%{opacity:1;transform:translateY(-12px)scale(1.08)}}@keyframes screenBattleVignette{0%{opacity:0}16%{opacity:.88}to{opacity:0}}@keyframes screenBattleVignetteHeavy{0%{opacity:0;filter:saturate()}18%{opacity:1;filter:saturate(1.25)}to{opacity:0;filter:saturate()}}@keyframes screenCommandSweep{0%{opacity:0;transform:rotate(var(--screen-sweep-rotate,-8deg)) translateX(-26%)}24%{opacity:1}to{opacity:0;transform:rotate(var(--screen-sweep-rotate,-8deg)) translateX(26%)}}@keyframes screenShockwave{0%{opacity:0;transform:translate(-50%,-50%)scale(.18)}26%{opacity:.82}to{opacity:0;transform:translate(-50%,-50%)scale(2.45)}}@keyframes screenSmoke{0%{opacity:0;transform:translateY(24px)scale(.78)}26%{opacity:.72}to{opacity:0;transform:translateY(-40px)translate(18px)scale(1.22)}}@keyframes screenFire{0%{opacity:0;transform:scaleY(.64)skew(-5deg)}24%,64%{opacity:.72}to{opacity:0;transform:scaleY(1.1)skew(6deg)}}@keyframes screenRedAlert{0%{opacity:0;transform:scale(.56)}30%{opacity:.8;transform:scale(1.12)}to{opacity:0;transform:scale(2.1)}}@keyframes screenHudPop{0%{opacity:0;transform:translateY(14px)scale(.96)}18%,72%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.98)}}@media (max-width:820px){.app-shell{width:min(100vw - 20px,720px);padding-top:10px}.topbar{flex-direction:column;align-items:flex-start;gap:12px}h1{font-size:1.45rem}.series-title{font-size:.68rem}.welcome-gate{padding:16px}.welcome-panel{padding:22px}.welcome-topline{flex-direction:column;align-items:flex-start}.welcome-panel h2{font-size:1.75rem}.welcome-boot{min-height:220px}.welcome-radar{width:120px}.welcome-smoke{width:74px}.welcome-actions{grid-template-columns:1fr}.session-tools,.login-form{justify-content:flex-start;width:100%}.login-status{justify-content:flex-start}.tool-button,.icon-button{margin-top:0}.session-tools input,.login-form input{width:min(100%,220px)}.command-grid,.action-dock{grid-template-columns:1fr}.command-grid{grid-template-areas:"battle""mission""score"}.battle-panel{min-height:auto;padding:14px}.battle-header{flex-direction:column;align-items:flex-start}.battle-header h2{font-size:2rem}.boss-visual{min-height:270px}.model-token{width:44px;height:44px}.model-escort{width:36px;height:36px}.battlefield-line{gap:8px;transform:scale(.84)}.allied-line{bottom:20%;left:0}.enemy-line{top:32%;right:1%}.tracer-a{width:52%;left:18%}.casualty-marker{padding:4px 6px;font-size:.66rem}.result-burst{width:min(300px,100% - 20px);padding:10px;bottom:10px;right:10px}.screen-battle-hud{width:-moz-fit-content;width:fit-content;max-width:calc(100vw - 20px);padding:10px;bottom:10px;right:10px}.screen-fire{width:44px;height:84px}.boss-core strong{font-size:1.65rem}.action-card{min-height:0}}@media (prefers-reduced-motion:reduce){.battle-animation *,.screen-battle-animation *,.welcome-gate *,.boss-hp div,.meter-track span,.action-card{transition-duration:1ms!important;animation-duration:1ms!important}.welcome-gate:before,.welcome-gate:after{animation-duration:1ms!important}.route-line,.impact-ring,.tracer,.muzzle-flash,.impact-flash,.smoke-cloud,.fire-burst,.red-hit,.screen-command-sweep,.screen-shockwave,.screen-smoke,.screen-fire,.screen-red-alert{display:none}.result-burst,.screen-battle-hud{opacity:1;transform:none}}
