@font-face{font-family:Kenney Future;src:url(/m-w-04_weather-buster/fonts/kenney/KenneyFuture.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Kenney Future Narrow;src:url(/m-w-04_weather-buster/fonts/kenney/KenneyFutureNarrow.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color:#eff8fb;background:#061019;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;width:100%;height:100%;background:#061019}#root{position:relative}.homeBackdropLayer canvas,.gameShell canvas,.modalShell canvas{display:block!important;width:100%!important;height:100%!important}html,body{overflow:hidden}body{min-width:320px}button{border:1px solid rgba(40,210,255,.7);color:#effcff;background:#04151fc7;cursor:pointer;font:inherit;transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease}button:hover:not(:disabled){border-color:#fff0a2;color:#fff7b5;background:#124656db;box-shadow:0 0 16px #ffe66438,inset 0 0 14px #ffe6641f;transform:translateY(-1px)}button:focus-visible{outline:2px solid #ffd84d;outline-offset:4px}button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 0 14px #28d9ff52}button:disabled{cursor:not-allowed;opacity:.55}canvas{display:block}.homeShell,.gameShell,.gridShell,.loadoutShell,.settingsShell,.resultShell{position:relative;width:100%;height:100%;overflow:hidden;background:#061019}.homeBackdropLayer{position:absolute;inset:0;z-index:var(--z-home-backdrop, 1)}.homeBackdropLayer:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 42%,rgba(6,12,22,.5) 80%,rgba(2,6,12,.78) 100%),linear-gradient(to bottom,rgba(8,14,24,.35) 0%,transparent 18%,transparent 92%,rgba(2,6,12,.06) 100%);z-index:2}.homeHudLayer{position:absolute;inset:0;z-index:var(--z-home-hud, 3);pointer-events:none}.homeHudLayer>*{pointer-events:auto}.homeMenuLayer{position:absolute;inset:0;z-index:var(--z-home-menu, 5);pointer-events:none}.homeMenuLayer>*{pointer-events:auto}.gridShell,.loadoutShell,.settingsShell,.resultShell{overflow-y:auto}.settingsShell{height:auto;min-height:100vh;overflow-y:visible}.loadoutShell,.settingsShell,.resultShell{padding:clamp(16px,2.4vw,32px) clamp(18px,3vw,38px)}.screenFrame,.gridBackdrop{position:absolute;inset:8px;z-index:2;pointer-events:none;border:1px solid rgba(22,196,246,.5);clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px));box-shadow:inset 0 0 38px #00b7ff1f}.homeHeader,.gridHeader{position:absolute;z-index:5;color:#28d9ff;letter-spacing:0}.homeHeader{top:30px;left:34px;right:34px;display:flex;justify-content:space-between;align-items:center;font-size:13px}.homeHeader strong{border:1px solid rgba(40,217,255,.65);padding:12px 18px;color:#4ff8ff;background:#04121cc7}.homeHeaderActions,.homeHeaderLeft{display:flex;gap:10px;align-items:center}.gpsToggle{display:inline-flex;align-items:center;gap:8px;min-width:clamp(170px,17vw,250px);min-height:clamp(40px,4.2vh,46px);padding:clamp(6px,.7vh,8px) clamp(8px,.75vw,11px);border:1px solid rgba(40,217,255,.65);color:#b8d8e6;background:#04121cc7;font-size:clamp(10px,.58vw + .28vh,12px);letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 22px #00000052,0 0 14px #28d9ff2e}.gpsToggleTitle{display:inline-flex;align-items:center;gap:clamp(5px,.45vw,8px)}.gpsToggle small{color:#94c2cf;letter-spacing:.22em;font-size:clamp(9px,.55vw + .2vh,11px)}.gpsToggle em{color:#b8d8e6;font-style:normal;font-size:clamp(10px,.58vw + .24vh,12px);white-space:nowrap}.gpsToggle .gpsDot{width:8px;height:8px;border-radius:999px;background:#4a6068;box-shadow:none;transition:background .2s,box-shadow .2s}.gpsToggle.on{border-color:#ffda4bb3;color:#ffe88e;background:#261e06b3}.gpsToggle.is-disabled{cursor:not-allowed;opacity:.45;filter:saturate(.5);pointer-events:none}.gpsToggle.on small{color:#ffd84d}.gpsToggle.on em{color:#fff7b5}.gpsToggle.on .gpsDot{background:#ffd84d;box-shadow:0 0 12px #ffd84d;animation:gpsPulse 1.6s ease-in-out infinite}.gpsEnemyHint{padding:1px 5px;border:1px solid rgba(255,100,110,.55);color:#ff9aa6;font-style:normal;font-size:9px;letter-spacing:.12em;background:#28080e99}.gpsBonusLine{flex:1;min-width:0;color:#eefbff;font-size:clamp(9px,.52vw + .18vh,11px);line-height:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes gpsPulse{0%,to{opacity:.7}50%{opacity:1}}.titleBlock{position:absolute;z-index:4;top:clamp(18px,3vh,40px);left:50%;transform:translate(-50%);text-align:center;pointer-events:none}.titleLogoStack{position:relative;display:block;margin:0 auto;width:min(1040px,calc(50vw + 65px),calc(100vw - 40px),131.86vh);animation:titleLogoEnter .75s cubic-bezier(.18,.9,.3,1) both}@keyframes titleLogoEnter{0%{opacity:0;filter:blur(18px) brightness(1.7);transform:scale(1.08)}60%{opacity:.85;filter:blur(5px) brightness(1.25);transform:scale(1.02)}to{opacity:1;filter:blur(0) brightness(1);transform:scale(1)}}.titleLogoStack.is-dismissing{animation:titleLogoDismiss .38s ease-out forwards;pointer-events:none}@keyframes titleLogoDismiss{0%{opacity:1;filter:blur(0) brightness(1);transform:scale(1)}55%{opacity:.78;filter:blur(7px) brightness(1.5);transform:scale(1.04)}to{opacity:0;filter:blur(20px) brightness(2);transform:scale(1.12)}}.titleLogoBackdrop{position:absolute;inset:0;width:100%;height:auto;filter:brightness(0) invert(1) drop-shadow(0 0 0 #ffffff) drop-shadow(0 0 0 #ffffff) drop-shadow(0 0 0 #ffffff) drop-shadow(0 0 0 #ffffff);-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);pointer-events:none;-webkit-user-select:none;user-select:none}.titleLogoImg{position:relative;display:block;width:100%;height:auto;filter:drop-shadow(0 0 22px rgba(255,220,110,.32)) drop-shadow(0 10px 22px rgba(0,0,0,.4));-webkit-mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,black 6%,black 94%,transparent 100%);animation:titleEnter .9s cubic-bezier(.18,.9,.3,1) both;pointer-events:none;-webkit-user-select:none;user-select:none}.titleBlock p,.missionPreview span,.gridHeader span,.tacticalPanel span{color:#27d9ff;font-weight:700}.titleMain{position:relative;margin:0;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;font-size:clamp(28px,4.6vw + 2vh,96px);font-weight:900;letter-spacing:.04em;line-height:.92;white-space:nowrap}.titleMain>span{position:relative;display:inline-block;background:linear-gradient(180deg,#fff,#d8f4ff 32%,#5ed0ff 62%,#1a6fa8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.18);filter:drop-shadow(0 0 18px rgba(98,219,255,.55)) drop-shadow(0 4px 0 #051e2c) drop-shadow(0 12px 28px rgba(0,0,0,.55));animation:titleEnter .9s cubic-bezier(.18,.9,.3,1) both}.titleMain:before{content:attr(data-text);position:absolute;inset:0;z-index:-1;color:#28d9ff8c;filter:blur(14px) saturate(1.4);animation:titlePulse 4.2s ease-in-out infinite alternate,titleEnter .9s cubic-bezier(.18,.9,.3,1) both}.titleMain:after{content:attr(data-text);position:absolute;inset:0;z-index:-1;color:#ff5a6e52;transform:translate(2px,-1px);mix-blend-mode:screen;pointer-events:none}.titleSub{display:block;position:relative;margin-top:clamp(6px,1vh,14px);font-family:Kenney Future Narrow,Kenney Future,Bebas Neue,Oswald,sans-serif;font-weight:800;font-size:clamp(13px,1.4vw + .5vh,28px);letter-spacing:.5em}.titleSub>span{background:linear-gradient(180deg,#fff7c2,#ffd84d 55%,#c4811c);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 12px rgba(255,224,110,.65)) drop-shadow(0 2px 0 #2c1d05);animation:titleSubPulse 3.6s ease-in-out infinite alternate}.titleSub:before{content:attr(data-text);position:absolute;inset:0;z-index:-1;color:#ffda5f73;letter-spacing:inherit;filter:blur(10px);pointer-events:none}.titleTag{display:block;margin-top:clamp(10px,1.6vh,20px);color:#c8eaff;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;font-weight:600;font-size:clamp(12px,1.2vw + .3vh,18px);letter-spacing:.22em;text-shadow:0 0 12px rgba(98,219,255,.5);opacity:.92}@keyframes titleEnter{0%{opacity:0;transform:translateY(-14px) scale(.96);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes titlePulse{0%{color:#28d9ff59;filter:blur(14px) saturate(1.2)}to{color:#62e6ffd9;filter:blur(20px) saturate(1.7)}}@keyframes titleSubPulse{0%{letter-spacing:.46em;opacity:.85}to{letter-spacing:.54em;opacity:1}}.mainMenu{position:absolute;z-index:5;left:34px;top:clamp(212px,33vh,372px);display:grid;gap:clamp(4px,.7vh,9px);width:clamp(280px,22.8vw + 9.4vh,480px)}.mainMenu button{min-height:clamp(40px,5.2vh,64px);padding:0 clamp(16px,1.6vw,26px) 0 clamp(20px,2vw,34px);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%,10px 50%);text-align:left;color:#35e4ff;font-size:clamp(13px,.9vw + .55vh,22px);font-weight:800;background:linear-gradient(90deg,#021a27eb,#043849ad);box-shadow:inset 0 0 22px #22d8ff1f}.mainMenu .menuItem{display:flex;align-items:center;gap:clamp(10px,1.2vw,18px)}.menuKey{margin-left:auto;padding:clamp(2px,.4vh,4px) clamp(7px,.7vw,12px);border:1px solid currentColor;color:inherit;font-size:clamp(10px,.6vw + .25vh,13px);letter-spacing:.18em;font-weight:700;opacity:.8}.menuIcon{display:inline-flex;width:clamp(28px,1.6vw + 1.2vh,46px);height:clamp(28px,1.6vw + 1.2vh,46px);align-items:center;justify-content:center;color:inherit}.menuIcon svg{width:100%;height:100%}.menuLabel{display:inline-block}.mainMenu .primaryMenuButton,.homeShell .missionStartButton{border-color:#ffe15a;color:#ffe15a;background:linear-gradient(90deg,#1e373da3,#524818e6);box-shadow:0 0 24px #ffdc493d,inset 0 0 22px #ffdc492e;position:relative;overflow:hidden;animation:primaryStartPulse 2.4s ease-in-out infinite alternate}.mainMenu .primaryMenuButton:after,.homeShell .missionStartButton:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,240,150,.55) 48%,rgba(255,240,150,.2) 52%,transparent 70%);transform:translate(-110%);animation:primaryStartShine 3.2s ease-in-out infinite;pointer-events:none}.mainMenu .primaryMenuButton:hover,.homeShell .missionStartButton:hover{animation-play-state:paused;box-shadow:0 0 36px #ffdc498c,inset 0 0 32px #ffdc4952}@keyframes primaryStartPulse{0%{box-shadow:0 0 18px #ffdc492e,inset 0 0 18px #ffdc4924}to{box-shadow:0 0 38px #ffdc4999,inset 0 0 28px #ffdc4952}}@keyframes primaryStartShine{0%{transform:translate(-110%)}60%{transform:translate(-110%)}85%{transform:translate(120%)}to{transform:translate(120%)}}.missionPreview{position:absolute;z-index:5;right:34px;bottom:clamp(24px,5vh,72px);width:clamp(280px,22.8vw + 9.4vh,480px);padding:clamp(10px,1.1vh,18px);font-size:clamp(11px,.55vw + .4vh,15px);max-height:calc(100vh - clamp(160px,26vh,240px));overflow:hidden;border:1px solid rgba(40,210,255,.7);background:linear-gradient(90deg,#043849ad,#021a27eb);box-shadow:inset 0 0 22px #22d8ff1f,0 0 22px #28d9ff2e;clip-path:polygon(0 18px,18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px))}.missionPreviewHeader{display:flex;align-items:center;justify-content:space-between;gap:12px}.missionPreviewHeader>span{letter-spacing:.18em}.missionCollapseButton{display:inline-flex;align-items:center;justify-content:center;width:34px;height:30px;min-height:30px;padding:0;color:#ffd84d;border-color:#ffda4b8c;background:#221c06b8;font-size:16px;font-weight:800;line-height:1}.missionPreviewBody{max-height:calc(100vh - clamp(220px,30vh,320px));overflow-y:auto;overscroll-behavior:contain;padding-right:4px}.missionPreview.collapsed{padding:16px 18px}.missionPreview.collapsed .missionPreviewBody{display:none}.previewStage{position:relative;height:clamp(80px,12vh,140px);margin:12px 0 16px;overflow:hidden;border:1px solid rgba(111,224,255,.4);background:linear-gradient(160deg,#bee7f4e6,#12495ad6)}.previewStage:before{position:absolute;inset:auto 0 0;height:45%;content:"";background-image:linear-gradient(rgba(0,130,170,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(0,130,170,.25) 1px,transparent 1px);background-size:30px 30px}.previewStage i{position:absolute;bottom:32px;width:54px;height:58px;background:#132e3994}.previewStage i:nth-child(1){left:34px;height:36px}.previewStage i:nth-child(2){left:132px;height:78px}.previewStage i:nth-child(3){right:48px;height:50px}.missionPreview p{margin:10px 0;color:#d9f6ff;line-height:1.6}.threatLabel,.difficultyLabel{display:block;margin-top:10px;color:#ffd84d!important;font-size:12px;letter-spacing:.18em}.difficultyLine{display:grid;grid-template-columns:repeat(5,1fr) auto;align-items:center;gap:4px;margin-top:6px}.difficultyLine b{display:flex;align-items:center;justify-content:center;height:18px;border:1px solid rgba(255,218,75,.45);color:#ffda4b00;font-size:11px;background:#ffffff0a}.difficultyLine b.filled{color:#1a1100;background:#ffda4b;box-shadow:0 0 10px #ffda4b8c}.difficultyLine .difficultyTag{margin-left:6px;padding:2px 8px;color:#ffd84d;font-style:normal;font-size:11px;letter-spacing:.22em;border:1px solid rgba(255,218,75,.45);background:#221c068c}.difficulty--4 b.filled,.difficulty--5 b.filled{background:#ff7b66;box-shadow:0 0 12px #ff645a99}.difficulty--4 .difficultyTag,.difficulty--5 .difficultyTag{color:#ff9aa6;border-color:#ff6e8280;background:#28080e99}.threatLine{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-top:6px}.threatLine b{display:flex;align-items:center;justify-content:center;height:18px;border:1px solid rgba(255,218,75,.45);color:#ffda4b00;font-size:11px;background:#ffffff0a}.threatLine b.filled{color:#1a1100;background:#ffda4b;box-shadow:0 0 10px #ffda4b8c}.pilotLog{position:absolute;z-index:5;left:clamp(16px,2vw + .6vh,34px);bottom:clamp(16px,2vw + .6vh,34px);width:clamp(280px,24vw + 8vh,520px);max-width:calc(100vw - 68px);margin:0;padding:clamp(12px,.9vw + .7vh,22px) clamp(16px,1.2vw + .7vh,28px);border:1px solid rgba(40,217,255,.42);color:#eaf8ff;background:#031018a8;font-size:clamp(13px,.6vw + .5vh,20px);display:grid;gap:clamp(4px,.3vh,6px)}.pilotLog--bubble{position:relative;inset:auto;width:100%;max-width:none;margin-top:clamp(8px,1vh,14px);padding:clamp(10px,.8vw + .6vh,18px) clamp(14px,1.1vw + .6vh,24px);border-color:var(--bubble-accent, rgba(40, 217, 255, .55));background:linear-gradient(180deg,#081a26eb,#031018eb);font-size:clamp(12px,.55vw + .45vh,16px);box-shadow:0 0 18px #28d9ff29,inset 0 0 18px #28d9ff14}.pilotLogLeader{position:fixed;inset:0;width:100vw;height:100vh;z-index:4;pointer-events:none}.pilotLogLeader circle{filter:drop-shadow(0 0 6px currentColor)}.pilotLog .pilotLogCallSign{font-size:clamp(9px,.4vw + .2vh,12px);letter-spacing:.32em;font-weight:800;opacity:.85}.pilotLog em{font-style:normal;font-size:clamp(12px,.6vw + .5vh,19px);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.characterFlavor{display:block;margin:6px 0 4px;padding:4px 0 4px 10px;border-left:2px solid currentColor;color:inherit;font-style:normal;font-size:14px;letter-spacing:.04em;quotes:"「" "」"}.characterFlavor:before{content:open-quote;opacity:.7}.characterFlavor:after{content:close-quote;opacity:.7}.minionHpWrapper{pointer-events:none}.minionHpBar{width:48px;height:4px;border:1px solid rgba(160,220,255,.85);background:#081824d9;box-shadow:0 0 6px #78c8ff80;pointer-events:none}.minionHpBar i{display:block;height:100%;background:linear-gradient(90deg,#ff7796,#ff315b);transition:width .18s ease-out}.homeLoader{position:absolute;inset:0;z-index:20;display:grid;place-items:center;align-content:center;gap:14px;background:linear-gradient(180deg,#020e16f0,#061824f0);color:#cfeaf3;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;pointer-events:all;transition:opacity .36s ease}.homeLoader.is-fading{opacity:0;pointer-events:none}.homeLoaderIcon{width:clamp(56px,8vw,96px);height:clamp(56px,8vw,96px);color:#28d9ff;filter:drop-shadow(0 0 12px rgba(40,217,255,.85));animation:homeLoaderSpin 2.4s linear infinite}.homeLoaderText{margin:0;font-size:clamp(13px,.9vw,16px);letter-spacing:.32em;color:#b1d8e4}.homeLoaderBar{width:clamp(160px,22vw,280px);height:4px;border:1px solid rgba(40,217,255,.45);background:#04121ccc}.homeLoaderBar i{display:block;height:100%;background:linear-gradient(90deg,#28d9ff,#7af1ff);box-shadow:0 0 12px #28d9ffa6;transition:width .18s ease-out}.homeLoaderProgress{color:#ffd84d;font-size:11px;letter-spacing:.32em;font-weight:800}@keyframes homeLoaderSpin{to{transform:rotate(360deg)}}.heroTelemetry{--telemetry-accent: #28d9ff;position:absolute;z-index:5;left:50%;bottom:clamp(21vh,25vh,33vh);display:inline-flex;align-items:center;gap:10px;padding:6px 14px;transform:translate(-50%);border:1px solid color-mix(in srgb,var(--telemetry-accent) 45%,transparent);background:#0310188c;color:#cfeaf3;font-size:11px;letter-spacing:.18em;text-transform:none;pointer-events:none;box-shadow:inset 0 0 12px color-mix(in srgb,var(--telemetry-accent) 16%,transparent);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 50%,calc(100% - 8px) 100%,8px 100%,0 50%)}.heroTelemetryDot{width:7px;height:7px;border-radius:50%;background:var(--telemetry-accent);box-shadow:0 0 10px var(--telemetry-accent);animation:heroTelemetryBlink 1.2s ease-in-out infinite}.heroTelemetryLine{display:inline-block;min-width:22ch;text-align:left;animation:heroTelemetryLineIn .45s ease-out;white-space:nowrap}@keyframes heroTelemetryBlink{0%,60%{opacity:1}80%{opacity:.25}to{opacity:1}}@keyframes heroTelemetryLineIn{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.seedCounter{position:absolute;top:110px;left:34px;z-index:5;display:grid;gap:4px;padding:12px 18px;border:1px solid rgba(255,220,110,.6);background:linear-gradient(135deg,#231c08b3,#0f1e24d9);box-shadow:0 0 22px #ffc84638,inset 0 0 18px #ffdc6e29;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.18em}.seedCounter .seedLabel{color:#ffe88e;font-size:11px;letter-spacing:.32em}.seedCounter .seedValue{color:#fff7c2;font-size:38px;line-height:1;text-shadow:0 0 14px rgba(255,220,110,.95),0 2px 0 #2a1a05}.seedCounter .seedSub{color:#d4dde6;font-size:11px;letter-spacing:.22em}.seedRecent{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:3px;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.16em}.seedRecent li{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:4px 6px;border:1px solid rgba(255,220,110,.18);background:#08121c8c;font-size:11px}.seedRecent .seedRank{display:grid;place-items:center;font-size:16px;font-weight:800;text-shadow:0 0 8px currentColor}.seedRank--s{color:#fff7a8}.seedRank--a{color:#fcd861}.seedRank--b{color:#6cdcff}.seedRank--c{color:#c4dce5}.seedRank--d{color:#ff9aa6}.seedRecent .seedEnemy{color:#e8f4ff;letter-spacing:.18em}.seedRecent em{color:#b6cad6;font-style:normal;font-size:10px}.weaponDamageRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.weaponSpecialtyBadge{display:inline-block;padding:1px 7px;background:linear-gradient(90deg,#ff8a24eb,#ff506edb);color:#fff8e2;font-size:9px;font-style:normal;font-weight:800;letter-spacing:.18em;border-radius:3px;text-shadow:0 0 6px rgba(255,200,80,.7);box-shadow:0 0 10px #ff823c66;animation:weaponSpecialtyPulse 1.4s ease-in-out infinite alternate}@keyframes weaponSpecialtyPulse{0%{box-shadow:0 0 6px #ff823c4d}to{box-shadow:0 0 18px #ff823cd9}}.enemyMiniIcon{display:inline-block;margin-right:8px;font-size:1.4em;text-shadow:0 0 12px currentColor;vertical-align:-2px;animation:enemyMiniIconBob 2.4s ease-in-out infinite alternate}@keyframes enemyMiniIconBob{0%{transform:translateY(0) rotate(-2deg);filter:brightness(1)}to{transform:translateY(-3px) rotate(3deg);filter:brightness(1.25)}}.battleHud{position:absolute;inset:0;z-index:5;pointer-events:none}.battleHud button,.battleMenuOverlay{pointer-events:auto}.enemyBookButton{min-height:36px;padding:0 14px;color:#28d9ff;font-weight:800}.tacticalPanel{border:1px solid rgba(40,217,255,.55);background:#03111bb8;box-shadow:inset 0 0 22px #20cbff1c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.playerStatus{position:absolute;bottom:24px;left:26px;width:clamp(280px,28vw,385px);padding:14px 18px}.playerStatus strong{float:right;color:#dff5ff;font-size:18px}.segmentedMeter{width:100%;height:12px;margin:8px 0 20px;border:1px solid rgba(177,239,255,.55);background:#ffffff1a;transform:skew(-18deg);overflow:hidden}.segmentedMeter i{display:block;height:100%}.segmentedMeter.cyan i{background:#20e7ff}.segmentedMeter.yellow i{background:linear-gradient(90deg,#4ad6ff 0 38%,#ffd84d 38% 100%)}.segmentedMeter.shield i{background:linear-gradient(90deg,#7cf4ff,#28d9ff 54%,#ffd84d);box-shadow:0 0 12px #7cf4ffa6}.bossBar{position:absolute;top:42px;left:clamp(320px,32vw,520px);right:clamp(320px,26vw,430px);color:#effcff}.bossBar strong{display:block;margin-bottom:6px;font-size:24px}.bossBar div{height:16px;border:1px solid rgba(191,229,239,.5);background:#ffffff24;transform:skew(-15deg);overflow:hidden}.bossBar i{display:block;height:100%;background:#ff315b}.bossBarStagger{position:absolute;top:0;right:0;padding:2px 10px;border:1px solid rgba(255,230,130,.85);color:#1a0e02;background:linear-gradient(180deg,#ffe87a,#ffba2a);font-size:12px;font-weight:800;letter-spacing:.2em;box-shadow:0 0 14px #ffe060b3;animation:staggerBadgePulse .4s ease-in-out infinite alternate}.bossBar--staggered i{background:linear-gradient(90deg,#ffba2a,#ffe87a);box-shadow:0 0 18px #ffdc5a8c}@keyframes staggerBadgePulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.scorePanel{position:absolute;top:52px;right:26px;width:clamp(230px,22vw,290px);padding:16px}.scorePanel strong{display:block;color:#ffd84d;font-size:30px;text-align:right}.scorePanel b{display:block;color:#c9d9e1;font-size:26px;text-align:right}.missionPanel{position:absolute;top:214px;right:26px;width:clamp(230px,22vw,290px);padding:18px}.missionPanel p{color:#effcff;line-height:1.7}.missionPanel label{display:block;color:#e9f8ff}.enemyBookButton{position:absolute;top:388px;right:26px}.radarPanel{position:absolute;left:26px;top:24px;width:clamp(230px,26vw,330px);padding:14px}.radarCircle{position:relative;width:132px;height:132px;margin-bottom:8px;border:2px solid rgba(40,217,255,.75);border-radius:999px;background:repeating-radial-gradient(circle,rgba(40,217,255,.18) 0 1px,transparent 1px 24px)}.radarCircle i,.radarCircle b{position:absolute;left:50%;top:50%;width:12px;height:12px;transform:translate(-50%,-50%) rotate(45deg);background:#ffd84d}.radarCircle i{left:62%;top:32%;background:#ff315b}.radarPanel p{margin:6px 0;color:#d9f5ff}.weaponStatus,.skillStatus{position:absolute;right:26px;width:clamp(280px,30vw,410px);padding:14px 18px}.skillStatus{bottom:24px}.weaponStatus{bottom:192px}@media(max-height:720px){.weaponStatus{bottom:176px}}.weaponStatus strong{float:right;color:#f7fbff;font-size:30px}.weaponStatus small,.skillStatus small{display:block;clear:both;color:#bddae3}.weaponIcon{display:block;width:76px;height:30px;margin:0 0 4px;filter:drop-shadow(0 0 6px rgba(40,217,255,.4))}.skillStatus strong{display:block;margin:8px 0;color:#effcff}.reticle{--crosshair: rgba(255, 255, 255, .76);position:absolute;top:50%;left:50%;z-index:4;width:48px;height:48px;transform:translate(-50%,-50%);border:1px solid var(--crosshair);border-radius:999px}.reticle:before,.reticle:after{position:absolute;content:"";background:var(--crosshair)}.reticle:before{top:23px;left:-18px;width:82px;height:1px}.reticle:after{top:-18px;left:23px;width:1px;height:82px}.reticlePreview{position:relative;inset:auto;transform:none;width:56px;height:56px}.reticlePreview:before{top:27px;left:-16px;width:88px}.reticlePreview:after{top:-16px;left:27px;height:88px}.battleMenuOverlay{position:absolute;inset:0;z-index:8;display:grid;place-items:center;padding:clamp(16px,2vw,28px);background:#040c1466;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:battleMenuOverlayFade .32s ease-out}.battleMenuOverlay[data-variant=ready]{background:#040c1452;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.battleMenuOverlay[data-variant=clear]{background:#0416241f;-webkit-backdrop-filter:none;backdrop-filter:none;animation:battleMenuOverlayClearFade 1.4s ease-out 2s both}.battleMenuOverlay[data-variant=defeat]{background:#14040866;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.battleMenuOverlay[data-variant=clear] .battleDialog{animation:dialogPopClear .9s cubic-bezier(.18,.9,.3,1) 2s both}.battleDialog{position:relative;width:min(640px,calc(100vw - 40px));max-height:calc(100vh - 80px);padding:clamp(22px,2.4vw,32px);display:grid;gap:clamp(10px,1.2vh,18px);border:1px solid rgba(226,247,255,.34);background:#071118db;text-align:center;overflow:hidden;animation:dialogPop .48s cubic-bezier(.18,.9,.3,1);transform-origin:center}.battleDialog__eyebrow{margin:0;color:#a7ccd8;font-size:13px;letter-spacing:.18em}.battleDialog__title{margin:0;color:#fff;font-size:clamp(30px,5vw,58px);line-height:1.08}.battleDialog__body{display:grid;gap:10px;text-align:left}.battleDialog__body .controlsHelp{margin:0}.battleDialog__hint{margin:0;color:#b9d8e6;font-size:12px;letter-spacing:.16em}.battleDialog__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:4px}.battleDialog__actions button{min-height:48px;padding:0 22px}.battleDialog--pause{border-color:#b0dcf080}.battleDialog--pause .battleDialog__title{color:#d8f4ff}.battleDialog--clear{background:radial-gradient(circle at 50% -10%,rgba(255,248,210,.55) 0%,transparent 55%),linear-gradient(180deg,#c3ebffc7,#7dc7edb3 55%,#509cc8c7);border-color:#ffffffa6;box-shadow:0 0 70px #b4e6ff8c,inset 0 0 60px #ffffff52;-webkit-backdrop-filter:blur(8px) saturate(1.2);backdrop-filter:blur(8px) saturate(1.2)}.battleDialog--clear .battleDialog__eyebrow{color:#f5fbff;letter-spacing:.18em;font-size:15px;text-shadow:0 1px 0 rgba(80,130,170,.45)}.battleDialog--clear .battleDialog__title{position:relative;background:linear-gradient(180deg,#fff,#d8f4ff 30%,#6ec5f5 70%,#2a78b5);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(40px,7vw,80px);letter-spacing:.08em;filter:drop-shadow(0 0 36px rgba(255,248,210,.85)) drop-shadow(0 0 64px rgba(180,230,255,.6)) drop-shadow(0 4px 0 rgba(40,90,130,.6)) drop-shadow(0 10px 22px rgba(0,0,0,.4));animation:clearTitlePulse 1.4s ease-out infinite alternate}.battleDialog--clear .battleDialog__hint{display:inline-flex;align-items:center;gap:10px;justify-self:center;padding:6px 12px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:#f8fcff;background:#28649166;font-size:clamp(11px,.9vw,14px);letter-spacing:.12em}.battleDialog--clear .battleDialog__hint kbd{padding:2px 8px;border:1px solid rgba(255,255,255,.7);border-radius:4px;font-weight:800;letter-spacing:.1em}.battleDialog--clear .clearBannerSun{position:absolute;top:-32px;left:50%;width:200px;height:200px;margin-left:-100px;border-radius:50%;background:radial-gradient(circle,rgba(255,248,200,.95) 0%,rgba(255,220,130,.55) 35%,transparent 75%);filter:blur(2px);animation:clearSunPulse 3.4s ease-in-out infinite alternate;pointer-events:none}.battleDialog--clear .clearBannerCloud{position:absolute;background:radial-gradient(ellipse 60% 90% at 30% 50%,#ffffffd9,#fff0 70%),radial-gradient(ellipse 50% 80% at 65% 60%,#ffffffc7,#fff0 70%),radial-gradient(ellipse 40% 70% at 80% 45%,#ffffffb3,#fff0 70%);pointer-events:none;filter:blur(.4px);opacity:.85}.battleDialog--clear .clearBannerCloud--a{top:18%;left:-6%;width:38%;height:32%;animation:clearCloudDriftA 9s ease-in-out infinite alternate}.battleDialog--clear .clearBannerCloud--b{bottom:28%;right:-8%;width:32%;height:26%;animation:clearCloudDriftB 11s ease-in-out infinite alternate}.battleDialog--clear .clearBannerCloud--c{bottom:-2%;left:22%;width:30%;height:22%;opacity:.7;animation:clearCloudDriftA 14s ease-in-out 1s infinite alternate-reverse}.battleDialog--defeat{background:linear-gradient(135deg,#50161ee0,#1c0a0ef2);border-color:#ff828c8c;box-shadow:0 0 60px #ff5a6e66,inset 0 0 50px #ff5a6e2e}.battleDialog--defeat .battleDialog__title{color:#ff9aa6;font-size:clamp(40px,7vw,80px);letter-spacing:.1em;text-shadow:0 0 32px rgba(255,110,130,.85),0 0 64px rgba(255,70,90,.55),0 4px 0 #2a0408,0 8px 22px rgba(0,0,0,.6);animation:defeatTitleGlitch 1.4s ease-in-out infinite alternate}@media(max-width:540px){.battleDialog__actions{flex-direction:column-reverse;align-items:stretch;justify-content:stretch}.battleDialog__actions button{width:100%}}@keyframes battleMenuOverlayFade{0%{opacity:0}to{opacity:1}}@keyframes battleMenuOverlayClearFade{0%{opacity:0}to{opacity:1}}@keyframes dialogPop{0%{transform:scale(.72);opacity:0}55%{transform:scale(1.04);opacity:1}to{transform:scale(1)}}@keyframes dialogPopClear{0%{transform:scale(.86) translateY(8px);opacity:0}60%{transform:scale(1.02) translateY(0);opacity:1}to{transform:scale(1) translateY(0)}}@keyframes clearSunPulse{0%{transform:scale(.95);opacity:.85}to{transform:scale(1.08);opacity:1}}@keyframes clearCloudDriftA{0%{transform:translate(0)}to{transform:translate(14px)}}@keyframes clearCloudDriftB{0%{transform:translate(0)}to{transform:translate(-18px)}}@keyframes clearTitlePulse{0%{transform:scale(1)}to{transform:scale(1.04)}}@keyframes defeatTitleGlitch{0%{transform:translate(-1px)}20%{transform:translate(2px)}40%{transform:translate(-2px)}60%{transform:translate(1px)}to{transform:translate(0)}}.controlsHelpWrap{display:grid;gap:12px}.controlsHelpHeading{margin:0 0 -2px;color:#a4d2dd;font-size:12px;letter-spacing:.34em;text-align:left;font-weight:700}.controlsHelp{display:grid;grid-template-columns:repeat(2,auto 1fr);gap:6px 14px;margin:0;padding:0;font-size:13px;color:#b9d8e6;text-align:left}.controlsHelp>div{display:contents}.controlsHelp kbd{padding:2px 8px;border:1px solid rgba(40,217,255,.55);color:#28d9ff;font-family:inherit;font-size:12px;letter-spacing:.06em;background:#04121cb3}.controlsHelp--primary{grid-template-columns:auto 1fr;gap:10px 18px;padding:14px 18px;border:1px solid rgba(255,218,75,.55);background:linear-gradient(135deg,#261c06c7,#08161ec7);box-shadow:0 0 22px #ffda4b2e,inset 0 0 18px #ffda4b1f}.controlsHelp--primary kbd{padding:6px 14px;border-color:#ffda4bd9;color:#ffe88e;background:#221c06d9;font-size:18px;font-weight:800;letter-spacing:.14em;box-shadow:0 0 14px #ffda4b52}.controlsHelp--primary span{color:#fff7c8;font-size:18px;font-weight:700;letter-spacing:.14em;align-self:center}.battleHud--engaged{cursor:none}.escHint{position:absolute;top:14px;left:50%;z-index:6;display:inline-flex;align-items:center;gap:10px;padding:6px 14px;transform:translate(-50%);border:1px solid rgba(40,217,255,.45);background:#031018b3;color:#cfeaf3;font-size:11px;letter-spacing:.18em;pointer-events:none;box-shadow:inset 0 0 12px #28d9ff1f}.escHint kbd{padding:2px 8px;border:1px solid rgba(40,217,255,.65);color:#28d9ff;font-family:inherit;font-size:11px;letter-spacing:.18em;background:#04121cc7}.audioToggle{position:relative;z-index:6;display:inline-flex;align-items:center;gap:clamp(5px,.45vw,8px);min-height:clamp(40px,4.2vh,46px);padding:clamp(6px,.7vh,8px) clamp(8px,.75vw,11px);border:1px solid rgba(40,217,255,.65);color:#b8d8e6;background:#04121cc7;font-size:clamp(10px,.58vw + .28vh,12px);letter-spacing:.12em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 6px 22px #00000052,0 0 14px #28d9ff2e}.audioChip{display:inline-flex;align-items:center;gap:5px;min-height:clamp(22px,2.6vh,26px);padding:0 clamp(7px,.65vw,9px);border:1px solid rgba(40,217,255,.45);color:#94c2cf;font-size:clamp(9px,.55vw + .2vh,11px);letter-spacing:.12em;background:#04121cb3}.audioChip svg{width:clamp(12px,.8vw,14px);height:clamp(12px,.8vw,14px)}.audioChip.on{color:#28d9ff;border-color:#28d9ffb3;box-shadow:0 0 12px #28d9ff2e}.audioVolume{width:clamp(58px,5.6vw,82px);accent-color:#28d9ff}@media(max-width:1200px){.audioToggle{padding:8px 10px;gap:6px}.audioChip span{display:none}.audioVolume{width:70px}}.gridShell,.storyShell{padding:clamp(16px,2.4vw,32px) clamp(18px,3vw,38px)}.storyLayout{position:relative;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(260px,28vw,360px),1fr));grid-auto-rows:minmax(0,clamp(170px,24vh,240px));gap:clamp(10px,1.4vw,18px);max-height:calc(100vh - clamp(96px,14vh,130px));overflow-y:auto;overscroll-behavior:contain;padding-right:4px;padding-bottom:clamp(16px,2vh,28px);align-items:stretch}.storyChapter{display:grid;align-content:start;gap:6px;min-height:0;padding:clamp(16px,1.5vw,22px) clamp(18px,1.8vw,26px);overflow-y:auto;overscroll-behavior:contain}.storyEyebrow{display:block;margin-bottom:6px;color:#28d9ff;letter-spacing:.32em;font-size:12px}.storyChapter h2{margin:0 0 10px;color:#f7fbff;font-size:clamp(18px,1.7vw,24px);letter-spacing:.04em}.storyChapter p{margin:0;color:#cee0e9;line-height:1.62;font-size:clamp(12px,.72vw + .18vh,14px)}.characterGrid{grid-auto-rows:clamp(280px,50vh,460px);grid-template-columns:repeat(auto-fit,minmax(clamp(220px,22vw,300px),1fr))}.characterGrid .enemyCard{height:100%}.characterGrid .enemyPreview{min-height:clamp(150px,30vh,280px)}.characterKeyHint{position:absolute;top:14px;right:14px;padding:2px 9px;border:1px solid rgba(40,217,255,.55);color:#28d9ff;font-size:11px;letter-spacing:.18em;background:#04121cdb;font-style:normal}.gridBackdrop{background:#000a11b8}.starsLayer span{position:absolute;width:2px;height:2px;background:#1bd4ff;box-shadow:0 0 12px #1bd4ff}.starsLayer span:nth-child(1){left:18%;top:24%}.starsLayer span:nth-child(2){left:66%;top:12%}.starsLayer span:nth-child(3){left:84%;top:72%}.gridHeader{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.gridHeader h1{display:inline;margin:0 14px 0 0;color:#f4fbff;font-size:clamp(24px,3.2vw,34px)}.gridHeader button{min-height:40px;padding:0 16px}.enemyGrid{position:relative;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(160px,18vw,240px),1fr));grid-auto-rows:clamp(200px,32vh,320px);gap:clamp(8px,1vw,14px);max-height:calc(100vh - clamp(96px,14vh,132px));min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;padding-bottom:clamp(16px,2vh,28px)}.enemyCard{min-height:0;border:1px solid rgba(40,217,255,.42);background:#04121cc7}.enemyCard.selected{border-color:#ffe15a;box-shadow:inset 0 0 28px #ffe04d1a}.enemyCard.locked{border-color:#819daa57}.enemyCard button{position:relative;display:grid;grid-template-rows:1fr auto;width:100%;height:100%;min-height:0;padding:0;border:0;background:transparent;text-align:left}.enemyCard button:disabled{cursor:not-allowed}.enemyIndex{position:absolute;z-index:2;top:14px;left:18px;color:#28d9ff;font-size:28px;font-weight:900}.enemyPreview{position:relative;min-height:0}.enemyCard.locked .enemyPreview{filter:brightness(0) saturate(0);opacity:.68}.enemyCard.locked .enemyPreview:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(40,217,255,.18),transparent 34%),linear-gradient(180deg,#020b111a,#020b11c7);pointer-events:none}.enemyCardFooter{display:grid;grid-template-columns:46px 1fr;gap:10px;margin:0 12px 12px;padding:10px;border:1px solid rgba(40,217,255,.46);background:#03141fdb}.enemyIcon{color:#28d9ff;font-size:30px;line-height:1}.enemyCardFooter strong{margin-right:10px;color:#f7fbff;font-size:18px}.enemyCardFooter em,.futureBadge{color:#28d9ff;border:1px solid rgba(40,217,255,.45);padding:2px 7px;font-style:normal;font-size:12px}.enemyCardFooter p{margin:6px 0 0;color:#c7dce5;font-size:13px;line-height:1.45}.futureBadge{position:absolute;top:14px;right:14px;background:#041620d1}.gridFooter{position:absolute;z-index:4;left:50%;bottom:14px;transform:translate(-50%);color:#1289a8;font-weight:700}.loadoutLayout{position:relative;z-index:4;display:grid;grid-template-columns:1fr clamp(260px,24vw + 6vh,420px);gap:clamp(12px,1.6vw,22px);height:calc(100vh - clamp(96px,14vh,130px));min-height:0;overflow:hidden}.weaponList{display:grid;grid-template-columns:1fr;gap:clamp(8px,1vw,14px);align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:4px;padding-bottom:clamp(16px,2vh,28px)}.weaponCard{border:1px solid rgba(40,217,255,.42);background:#04121cc7}.weaponCard.active{background:#082432c7}.weaponCard.selected{border-color:#ffe15a;box-shadow:inset 0 0 28px #ffe04d1a}.weaponCard button{position:relative;display:grid;grid-template-columns:clamp(50px,6vw,76px) 1fr auto;width:100%;align-items:center;gap:clamp(8px,1vw,16px);padding:clamp(12px,1.2vw,20px) clamp(14px,1.6vw,24px);border:0;background:transparent;text-align:left}.weaponIndex{color:#28d9ff;font-size:32px;font-weight:900}.weaponCard strong{display:block;color:#f7fbff;font-size:clamp(16px,1.6vw,22px)}.weaponCard em{color:#ffd84d;font-style:normal;font-size:13px;letter-spacing:.06em}.weaponCard p{grid-column:2 / 4;margin:6px 0 0;color:#c7dce5;line-height:1.5}.weaponDetail{display:grid;grid-template-rows:clamp(130px,20vh,240px) auto auto auto auto;gap:clamp(8px,1vw,14px);padding:clamp(12px,1.4vw,22px);min-height:0;overflow-y:auto;overscroll-behavior:contain}.weaponDetailPreview{width:100%;height:100%;border:1px solid rgba(40,217,255,.45);background:#020e16db}.weaponDetail h2{margin:4px 0 0;color:#f7fbff;font-size:28px}.weaponDescription{margin:0;color:#c7dce5;line-height:1.55}.weaponStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.weaponStats>div{padding:10px;border:1px solid rgba(40,217,255,.4);background:#031018b3}.weaponStats dt{color:#28d9ff;font-size:11px;letter-spacing:.12em}.weaponStats dd{margin:4px 0 0;color:#f7fbff;font-size:22px;font-weight:800}.weaponSkill{padding:12px 14px;border:1px solid rgba(255,218,75,.42);background:#221c068c}.weaponSkill span{color:#ffd84d;font-size:11px;letter-spacing:.18em}.weaponSkill strong{display:block;margin:4px 0 6px;color:#fff7b5;font-size:20px}.weaponSkill p{margin:0;color:#ddebf3;line-height:1.5}.weaponDetail button{min-height:48px;font-size:16px;font-weight:800}.settingsLayout{position:relative;z-index:4;display:grid;grid-template-columns:1fr;gap:14px;max-width:720px;max-height:calc(100vh - 112px);margin-inline:auto;min-height:0;overflow-y:auto;padding-right:4px;padding-bottom:48px}.settingRow{padding:18px 22px}.settingRow header{display:flex;flex-direction:column;gap:6px}.settingHeaderMain{display:flex;gap:14px;align-items:baseline}.settingRow header span,.settingHeaderMain span{color:#28d9ff;font-size:12px;letter-spacing:.18em}.settingRow header strong,.settingHeaderMain strong{color:#f7fbff;font-size:22px}.settingHeaderDesc{margin:0;color:#c7dce5;line-height:1.5;font-size:13px}.settingRow p{margin:6px 0 14px;color:#c7dce5;line-height:1.5}.settingControl{display:grid;grid-template-columns:1fr clamp(56px,8vw,88px);gap:clamp(10px,1.2vw,18px);align-items:center}.settingControl input[type=range]{width:100%;accent-color:#28d9ff}.settingControl select{padding:6px 10px;border:1px solid rgba(40,217,255,.55);color:#28d9ff;background:#04121cc7}.settingValue{color:#ffd84d;font-size:18px;font-weight:800;text-align:right}.resultShell{display:grid;grid-template-rows:auto auto auto 1fr auto;gap:clamp(14px,2vh,24px)}.resultBlock{position:relative;z-index:4;text-align:center}.resultEyebrow{margin:0 0 6px;color:#28d9ff;letter-spacing:.32em;font-size:14px}.resultHeadline{margin:0;color:#fff7a8;font-size:clamp(48px,8vw,96px);letter-spacing:.06em;text-shadow:0 0 32px rgba(255,243,130,.5)}.resultSub{display:block;margin-top:8px;color:#d8edf6;letter-spacing:.12em}.resultRank{position:relative;z-index:4;display:grid;justify-items:center;padding:18px 0;border:1px solid rgba(40,217,255,.55);background:#03131cc7}.resultRank span{color:#28d9ff;letter-spacing:.42em;font-size:13px}.resultRank strong{font-size:clamp(64px,9vw,96px);line-height:1;letter-spacing:.04em;text-shadow:0 0 36px currentColor;animation:rankReveal .9s cubic-bezier(.18,.9,.3,1) both}.rank--s strong{color:#fff7a8}.rank--a strong{color:#fcd861}.rank--b strong{color:#6cdcff}.rank--c strong{color:#c4dce5}.rank--d strong{color:#ff9aa6}.rank--s strong,.rank--a strong{animation:rankRevealHi 1.1s cubic-bezier(.18,.9,.3,1) both,rankShinePulse 2.4s ease-in-out 1.1s infinite alternate}@keyframes rankReveal{0%{opacity:0;transform:scale(.4) rotate(-6deg);filter:brightness(.6)}18%{opacity:1;transform:scale(1.18) rotate(2deg);filter:brightness(1.3)}35%{transform:scale(.96) rotate(-1deg)}50%{transform:scale(1.04) rotate(0)}to{transform:scale(1) rotate(0);filter:brightness(1)}}@keyframes rankRevealHi{0%{opacity:0;transform:scale(.3) rotate(-10deg);filter:brightness(.4)}10%{opacity:1;transform:scale(1.5) rotate(4deg);filter:brightness(1.6)}25%{transform:scale(.85) rotate(-3deg)}40%{transform:scale(1.2) rotate(2deg)}55%{transform:scale(.95) rotate(-1deg)}70%{transform:scale(1.06) rotate(0)}to{opacity:1;transform:scale(1) rotate(0);filter:brightness(1)}}@keyframes rankShinePulse{0%{filter:brightness(1) drop-shadow(0 0 16px currentColor)}to{filter:brightness(1.25) drop-shadow(0 0 36px currentColor)}}.resultRank:after{content:"";position:absolute;top:50%;left:50%;width:200px;height:200px;transform:translate(-50%,-50%);border-radius:50%;border:2px solid rgba(255,220,110,.5);pointer-events:none;animation:rankRingExpand 1.4s ease-out .1s both}.rank--s.resultRank:after,.rank--a.resultRank:after{border-color:#ffe682d9;box-shadow:0 0 32px #ffdc6e99 inset,0 0 32px #ffdc6e99}.resultPersonalBest{position:relative;z-index:5;margin-top:10px;padding:4px 14px;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.32em;font-size:13px;color:#fff8e2;background:linear-gradient(90deg,#ff8a24eb,#ff506edb);text-shadow:0 0 10px rgba(255,200,70,.7);box-shadow:0 0 20px #ff823c8c;animation:personalBestPulse 1.4s ease-in-out infinite alternate}@keyframes personalBestPulse{0%{box-shadow:0 0 12px #ff823c52;transform:scale(1)}to{box-shadow:0 0 28px #ff823cf2;transform:scale(1.06)}}.resultSeedReward{position:relative;z-index:5;margin-top:8px;padding:3px 14px;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.32em;font-size:13px;color:#fff7c2;background:#281c08d9;border:1px solid rgba(255,220,110,.7);text-shadow:0 0 10px rgba(255,220,110,.85);animation:seedRewardEnter .8s cubic-bezier(.18,.9,.3,1) .4s both}@keyframes seedRewardEnter{0%{opacity:0;transform:translateY(8px) scale(.8)}60%{opacity:1;transform:translateY(0) scale(1.08)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rankRingExpand{0%{width:80px;height:80px;opacity:0}20%{opacity:1}to{width:380px;height:380px;opacity:0}}.resultStats{position:relative;z-index:4;display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(150px,20vw,220px),1fr));gap:clamp(8px,1vw,14px);align-self:start}.resultStats article{padding:clamp(12px,1.2vw,20px);border:1px solid rgba(40,217,255,.45);background:#03111bc7}.resultStats span{color:#28d9ff;letter-spacing:.18em;font-size:12px}.resultStats strong{display:block;margin:8px 0 4px;color:#f7fbff;font-size:clamp(22px,3vw,32px)}.resultStats small{color:#9ec4d2}.resultFooter{position:relative;z-index:4;display:flex;gap:12px;justify-content:center}.resultFooter button{min-height:56px;padding:0 28px;font-size:18px;font-weight:800}@media(max-width:960px){.loadoutLayout{grid-template-columns:1fr;height:auto;overflow:visible}.weaponList{overflow-y:visible}.weaponDetail{grid-template-rows:clamp(180px,28vh,240px) auto auto auto auto;overflow-y:visible}.stageDetailLayout{grid-template-columns:1fr;height:auto}.resultStats{grid-template-columns:repeat(2,1fr)}.loadoutShell,.settingsShell,.resultShell,.gridShell,.storyShell{overflow:auto;height:auto;min-height:100vh}.enemyGrid{max-height:none}.storyLayout{max-height:none;grid-auto-rows:minmax(160px,auto)}.storyChapter{overflow-y:visible}}@media(max-width:540px){.resultRank:after{width:140px;height:140px}.resultStats{grid-template-columns:1fr}.resultStats strong{font-size:24px}.resultRank strong{font-size:64px}.loadoutTabs{grid-template-columns:1fr}}.modalShell{position:relative;width:100%;height:100%;overflow:hidden;background:#061019;display:grid;grid-template-rows:auto 1fr;gap:clamp(10px,1.4vh,18px);padding:clamp(16px,2.4vw,32px) clamp(18px,3vw,38px)}.modalBackdrop{position:absolute;inset:18px;z-index:1;pointer-events:none;border:1px solid rgba(22,196,246,.45);clip-path:polygon(0 14px,14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px));box-shadow:inset 0 0 38px #00b7ff1f;background:#020b116b}.modalHeader{position:relative;z-index:4;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:clamp(8px,1.4vw,18px);padding-bottom:clamp(8px,1vw,14px);border-bottom:1px solid rgba(40,217,255,.32)}.modalHeaderInfo{min-width:0}.modalHeaderEyebrow{display:block;color:#28d9ff;font-size:clamp(10px,.7vw,13px);letter-spacing:.32em}.modalHeaderTitle{margin:6px 0 0;color:#f7fbff;font-size:clamp(22px,3vw,38px);letter-spacing:.04em;line-height:1.1}.modalHeaderSub{display:block;margin-top:4px;color:#9ec4d2;font-size:clamp(11px,.78vw,13px);letter-spacing:.18em}.modalBackButton{align-self:flex-start;min-height:38px;padding:0 16px;color:#ffe58a;border-color:#ffda4b99;background:#1e1807d9;font-size:12px;font-weight:800;letter-spacing:.1em;box-shadow:0 0 18px #ffd84d2e}.modalBackButton:hover{color:#fff8c6;border-color:#ffeb82e6;box-shadow:0 0 22px #ffd84d4d}.modalBody{position:relative;z-index:4;min-height:0;display:grid;grid-template-rows:1fr}.codexLayout{display:grid;grid-template-columns:clamp(220px,22vw,320px) 1fr;gap:clamp(12px,1.6vw,22px);min-height:0}.codexList{display:grid;align-content:start;gap:clamp(6px,.8vh,10px);padding-right:6px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.codexListItem{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:clamp(10px,1vh,14px) clamp(12px,1.2vw,16px);border:1px solid rgba(40,217,255,.42);background:#04121cc7;text-align:left;color:#effcff;cursor:pointer}.codexListItem.is-selected{border-color:#ffe15a;box-shadow:inset 0 0 24px #ffe04d29}.codexListItem.is-locked{border-color:#819daa57;color:#6a8290;cursor:not-allowed;opacity:.7}.codexListIndex{color:#28d9ff;font-weight:900;font-size:16px;letter-spacing:.04em;min-width:28px}.codexListItem.is-selected .codexListIndex{color:#ffd84d}.codexListName{display:block;font-size:clamp(14px,1.1vw,18px);font-weight:800}.codexListTrait{grid-column:2 / 3;margin-top:2px;color:#c7dce5;font-size:11px;font-style:normal;letter-spacing:.06em}.codexListLock{grid-column:2 / 3;justify-self:end;padding:2px 7px;border:1px solid rgba(255,138,90,.55);color:#ffb999;font-size:10px;font-style:normal;letter-spacing:.18em}.codexPreview{display:grid;grid-template-rows:minmax(0,1.6fr) minmax(clamp(140px,22vh,220px),1fr);gap:clamp(8px,1.1vh,14px);min-height:0}.codexPreviewCanvas{position:relative;border:1px solid rgba(40,217,255,.45);background:#020e16db;min-height:0;overflow:hidden}.codexPreviewCanvas canvas{display:block;width:100%!important;height:100%!important}.codexPreviewHint{position:absolute;bottom:10px;right:14px;margin:0;color:#b4dcf0b3;font-size:11px;letter-spacing:.18em;pointer-events:none}.codexPreviewNav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:64px;padding:0;border:1px solid rgba(40,217,255,.55);color:#28d9ff;background:#020e16b3;font-size:18px;font-weight:800;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease}.codexPreviewNav--prev{left:12px}.codexPreviewNav--next{right:12px}.codexPreviewNav:hover:not(:disabled){transform:translateY(-50%);color:#fff;background:#082438d9;box-shadow:0 0 16px #28d9ff73}.codexPreviewIndex{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:5;padding:3px 12px;border:1px solid rgba(40,217,255,.45);color:#cfeaf3;background:#020e16a6;font-size:12px;font-weight:700;letter-spacing:.18em;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.codexDetail{display:grid;gap:6px;padding:clamp(10px,1.1vw,16px);border:1px solid rgba(40,217,255,.45);background:#03111bc7;min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;font-size:clamp(11px,.78vw,13px)}.codexDetailHeader strong{font-size:clamp(16px,1.6vw,22px)!important}.codexDetailHeader{display:grid;gap:4px}.codexDetailHeader strong{color:#f7fbff;font-size:clamp(20px,2vw,28px)}.codexDetailHeader em{color:#ffd84d;font-style:normal;letter-spacing:.12em}.codexDetailBody{color:#cee0e9;line-height:1.55;font-size:clamp(12px,.85vw,14px);display:flex;flex-direction:column;gap:clamp(14px,1.6vh,20px);min-height:100%}.codexDetailBody .codexDetailAction{margin-top:auto}.codexDetailBody>p{margin:0}.codexDetailBody dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin:0}.codexDetailBody dl>div{padding:8px 10px;border:1px solid rgba(40,217,255,.4);background:#031018b3}.codexDetailBody dt{color:#28d9ff;font-size:11px;letter-spacing:.12em}.weaponDetailKind,.weaponDetailSkill{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:10px;row-gap:4px;padding:10px 12px;border-left:2px solid}.weaponDetailKindLabel,.weaponDetailSkillLabel{font-size:10px;letter-spacing:.22em;font-weight:800}.weaponDetailKindName,.weaponDetailSkillName{font-size:15px!important;font-weight:800}.weaponDetailKindMul{font-style:normal;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;font-size:16px;font-weight:800}.weaponDetailSkillDesc,.weaponDetailKind>p{grid-column:1 / -1;margin:2px 0 0;color:#cfeaf3;line-height:1.5}.weaponDetailKind[data-kind=general]{border-left-color:#28d9ffb3;background:#081a268c}.weaponDetailKind[data-kind=general] .weaponDetailKindLabel{color:#28d9ff}.weaponDetailKind[data-kind=general] .weaponDetailKindName{color:#f4fbff}.weaponDetailKind[data-kind=specialty]{border-left-color:#ff9c50d9;background:linear-gradient(90deg,#3c1e088c,#30121673)}.weaponDetailKind[data-kind=specialty] .weaponDetailKindLabel{color:#ffd476}.weaponDetailKind[data-kind=specialty] .weaponDetailKindName{color:#fff2d8}.weaponDetailKind[data-kind=specialty] .weaponDetailKindMul{color:#ff9658;text-shadow:0 0 8px rgba(255,150,88,.6)}.weaponDetailSkill{border-left-color:#ffda4bb3;background:#221c0652}.weaponDetailSkillLabel{color:#ffd84d}.weaponDetailSkillName{color:#fff7c2}.codexDetailBody dd{margin:4px 0 0;color:#f7fbff;font-size:18px;font-weight:800}.codexDetailAction{align-self:stretch;width:100%;min-height:40px;padding:0 18px;font-weight:800;letter-spacing:.06em}@media(max-width:900px){.codexLayout{grid-template-columns:1fr;grid-template-rows:minmax(0,clamp(220px,30vh,360px)) 1fr}.codexList{overflow-x:auto;overflow-y:hidden;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);padding-right:0;padding-bottom:6px}}.paginatedLayout{display:grid;grid-template-rows:1fr auto;gap:clamp(12px,1.6vh,22px);min-height:0}.paginatedPage{display:grid;grid-template-rows:auto 1fr;gap:clamp(10px,1.4vh,18px);padding:clamp(16px,2vw,26px);border:1px solid rgba(40,217,255,.42);background:#04121cc7;min-height:0;overflow:hidden;animation:paginatedEnter .36s cubic-bezier(.2,.7,.3,1)}@keyframes paginatedEnter{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.paginatedVisual{position:relative;height:clamp(160px,30vh,320px);border:1px solid rgba(40,217,255,.32);background:#020e16b8;overflow:hidden}.paginatedContent{display:grid;align-content:start;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.paginatedEyebrow{color:#28d9ff;font-size:12px;letter-spacing:.32em}.paginatedTitle{margin:4px 0 6px;color:#f7fbff;font-size:clamp(20px,2.4vw,30px);letter-spacing:.04em}.paginatedBody{color:#cee0e9;line-height:1.7;font-size:clamp(13px,.9vw,16px)}.paginatedBody p{margin:0 0 10px}.paginatedNav{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,18px)}.paginatedNavButton{min-width:44px;min-height:38px;padding:0 14px;font-size:16px;letter-spacing:.12em}.paginatedNavButton:disabled{opacity:.45;cursor:not-allowed}.paginatedDots{display:flex;gap:8px;margin:0;padding:0;list-style:none}.paginatedDot{width:30px;height:30px;padding:0;border-radius:50%;border:1px solid rgba(40,217,255,.5);color:#28d9ff;background:#04121cb3;font-size:12px;font-weight:800}.paginatedDot.is-active{border-color:#ffd84d;color:#1a0e02;background:linear-gradient(180deg,#ffe87a,#ffba2a);box-shadow:0 0 12px #ffdc6099}.modalShell--settings .modalBody{max-width:clamp(720px,80vw,1180px);width:100%;margin-inline:auto;align-content:start}.modalShell--settings .modalBody .settingsLayout{grid-template-columns:repeat(auto-fit,minmax(clamp(280px,32vw,420px),1fr));max-width:none;margin:0}.sceneEnter{animation:sceneEnter .42s cubic-bezier(.2,.7,.3,1)}@keyframes sceneEnter{0%{opacity:0;transform:scale(.985);filter:blur(2px) brightness(.8)}to{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}}.screenHeader{position:relative;z-index:5;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:clamp(8px,1.4vw,16px);margin-bottom:clamp(12px,1.8vw,22px);padding-bottom:clamp(8px,1vw,14px);border-bottom:1px solid rgba(40,217,255,.32)}.screenHeaderInfo{min-width:0}.screenHeaderInfo span{display:block;color:#28d9ff;letter-spacing:.32em;font-size:12px}.screenHeaderInfo h1{margin:6px 0 0;color:#f7fbff;font-size:clamp(22px,3vw,38px);letter-spacing:.04em;line-height:1.1}.screenHeaderInfo small{display:block;margin-top:4px;color:#9ec4d2;letter-spacing:.18em;font-size:12px}.screenBack{min-height:44px;padding:0 18px;font-weight:700;letter-spacing:.12em}.screenInlineBack{display:inline-flex;align-items:center;margin-top:12px;color:#ffe58a;border-color:#ffda4b9e;background:#1e1807e6;box-shadow:0 0 18px #ffd84d2e;font-size:12px;font-weight:800;letter-spacing:.08em}.screenInlineBack:hover{color:#fff8c6;border-color:#ffeb82e6;box-shadow:0 0 22px #ffd84d4d}.loadoutTabs{position:relative;z-index:4;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.loadoutTabs button{display:grid;gap:4px;padding:14px 18px;text-align:left;background:#04121ca8}.loadoutTabs button span{color:#28d9ff;letter-spacing:.32em;font-size:11px}.loadoutTabs button strong{color:#f7fbff;font-size:18px}.loadoutTabs button.active{border-color:#ffd84d;background:linear-gradient(120deg,#463810d9,#0f242ee6);box-shadow:0 0 22px #ffd84d38,inset 0 0 14px #ffd84d2e}.loadoutTabs button.active span{color:#ffd84d}.weaponCard button{width:100%;cursor:pointer}.weaponCard:hover{border-color:#78e8ffd9;box-shadow:inset 0 0 28px #28d9ff26,0 0 16px #28d9ff2e}.weaponSpecialty{padding:12px 14px;border:1px solid rgba(255,152,95,.45);background:#2e16088c}.weaponSpecialty span{color:#ff9c52;font-size:11px;letter-spacing:.18em}.weaponSpecialty strong{display:block;margin:4px 0 6px;color:#ffd2a3;font-size:18px}.weaponSpecialty p{margin:0;color:#ddebf3;font-size:12px}.crosshairOptions{display:flex;gap:10px;margin:4px 0 14px;flex-wrap:wrap}.crosshairChip{display:grid;gap:6px;padding:10px 12px;align-items:center;justify-items:center;min-width:70px;background:#04121cc7}.crosshairChip.selected{border-color:#ffd84d;box-shadow:0 0 22px #ffd84d52,inset 0 0 14px #ffd84d2e}.crosshairSwatch{width:30px;height:30px;border-radius:999px}.crosshairChip small{color:#c7dce5;letter-spacing:.16em;font-size:10px}.crosshairPreview{margin-top:12px;padding:18px;border:1px solid rgba(40,217,255,.35);background:#020c14b3}.crosshairPreviewBox{position:relative;display:flex;align-items:center;justify-content:center;height:110px;background:linear-gradient(180deg,#14465666,#020e1699),repeating-linear-gradient(45deg,rgba(40,217,255,.06) 0 6px,transparent 6px 18px)}.crosshairPreviewBox span{position:absolute;bottom:8px;left:12px;color:#28d9ff;letter-spacing:.24em;font-size:11px}.missionCycler{position:relative;display:grid;grid-template-columns:clamp(28px,3vh,36px) 1fr clamp(28px,3vh,36px);gap:clamp(6px,.6vh,10px);align-items:center;margin-top:clamp(6px,.8vh,12px);padding:clamp(5px,.7vh,9px) clamp(8px,.9vw,12px);border:1px solid rgba(40,217,255,.32);background:#03111b9e}.cyclerArrow{width:clamp(28px,3vh,36px);min-height:clamp(28px,3vh,36px);padding:0;border:1px solid rgba(40,217,255,.55);color:#28d9ff;font-size:clamp(11px,1.2vh,14px);font-weight:700;background:#04121cdb}.cyclerLabel{display:grid;gap:2px;min-height:clamp(38px,5vh,50px);align-content:center}.cyclerDetailButton{min-height:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.cyclerDetailButton:hover{box-shadow:none;background:#ffdc4914}.cyclerDetailButton:hover small,.cyclerDetailButton:hover strong,.cyclerDetailButton:hover em,.cyclerDetailButton:hover em>span{color:#ffe15a}.cyclerLabel small{color:#28d9ff;letter-spacing:.18em;font-size:clamp(9px,.9vh + .1vw,11px)}.cyclerLabel strong{color:#f7fbff;font-size:clamp(13px,1.4vh + .2vw,16px)}.cyclerLabel em{color:#c7dce5;font-style:normal;font-size:clamp(10px,1vh + .1vw,12px)}.missionStartButton{width:100%;min-height:clamp(48px,5.8vh,62px);margin-top:clamp(8px,1.4vh,14px);display:flex;align-items:center;justify-content:center;gap:clamp(8px,.9vw,14px)}.missionPreview .missionStartLabel{color:#ffe15a;font-size:clamp(16px,1.55vw,21px);font-weight:900;letter-spacing:.18em}.missionPreview .missionStartHint{padding:2px 8px;border:1px solid #ffe15a;border-radius:3px;color:#ffe15a;font-size:clamp(9px,.78vw,11px);font-weight:700;letter-spacing:.16em;opacity:.78}.stageDetailLayout{position:relative;z-index:4;display:grid;grid-template-columns:1fr clamp(280px,28vw,400px);gap:clamp(12px,1.6vw,22px);min-height:0;height:100%;overflow:hidden}.stageDetailNav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.stageDetailNav .codexListItem{flex:1 1 auto;min-width:90px}.stageDetailPreview{min-height:0;overflow:hidden}.stageDetailPanel{display:grid;align-content:start;gap:14px;padding:20px;min-height:0;overflow-y:auto}.stageDetailPanel h2{margin:0;color:#f7fbff;font-size:32px}.cameraModeSwitch{display:grid;grid-template-columns:repeat(2,minmax(90px,1fr));gap:10px}.cameraModeSwitch button{min-height:46px;font-weight:900;letter-spacing:.18em}.cameraModeSwitch button.selected{border-color:#ffd84d;color:#fff7b5;background:linear-gradient(120deg,#463810d9,#0f242ee6);box-shadow:0 0 22px #ffd84d38,inset 0 0 14px #ffd84d2e}.cameraModeSwitch button.disabled,.cameraModeSwitch button:disabled{opacity:.32;cursor:not-allowed;filter:grayscale(.6);box-shadow:none}.hudToast{position:absolute;top:116px;left:50%;z-index:7;display:grid;gap:4px;padding:14px 24px;transform:translate(-50%);border:1px solid rgba(255,218,75,.55);background:#141004d6;text-align:center;box-shadow:0 0 22px #ffda4b47;animation:toastIn .4s ease-out,toastOut .4s ease-in 1.8s forwards}.hudToast span{color:#ffd84d;letter-spacing:.32em;font-size:11px}.hudToast strong{color:#fff7b5;font-size:22px;letter-spacing:.04em}.hudToast small{color:#d8e8ed;font-size:12px}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-10px)}}.fullscreenFlash{position:absolute;inset:0;pointer-events:none}.skillFlash{z-index:6;background:radial-gradient(circle at 50% 50%,rgba(255,240,110,.7) 0%,rgba(255,200,70,.3) 30%,transparent 65%),linear-gradient(180deg,rgba(255,200,70,.18),transparent 35%,transparent 65%,rgba(255,200,70,.18));animation:skillFlashAnim .9s ease-out forwards}@keyframes skillFlashAnim{0%{opacity:0}10%{opacity:1}35%{opacity:.7}to{opacity:0}}.skillBurst{position:absolute;inset:0;z-index:7;pointer-events:none;display:grid;place-items:center}.skillBurstRing{position:absolute;width:100px;height:100px;border-radius:50%;border:4px solid rgba(255,220,110,.85);box-shadow:0 0 60px #ffc84699 inset,0 0 80px #ffc84699;animation:skillBurstRingAnim .9s cubic-bezier(.18,.9,.3,1) forwards}.skillBurstRing--two{border-color:#ff823cb3;animation-delay:.12s}.skillBurstRing--three{border-color:#78e6ffb3;animation-delay:.24s}@keyframes skillBurstRingAnim{0%{transform:scale(.2);opacity:0;border-width:8px}20%{opacity:1}to{transform:scale(7);opacity:0;border-width:1px}}.centerBanner{position:absolute;left:50%;transform:translate(-50%);pointer-events:none;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif}.skillNameBanner{top:38%;z-index:8;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:4px;padding:14px 38px;background:linear-gradient(135deg,#ff8a2466,#ffdc5a52);border:1px solid rgba(255,220,100,.85);border-radius:20px;box-shadow:0 0 60px #ffc85ab3,inset 0 0 30px #ffe6824d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);letter-spacing:.18em;animation:skillNameAnim 1.2s cubic-bezier(.18,.9,.3,1) forwards}.skillNameLabel{color:#ffe8a8;font-size:13px}.skillNameBanner strong{color:#fffbe2;font-size:38px;text-shadow:0 0 14px rgba(255,200,80,.95),0 3px 0 #2a0e02,0 6px 16px rgba(0,0,0,.6);line-height:1}.skillNameWeapon{color:#ffe8a8;font-size:12px;letter-spacing:.22em}@keyframes skillNameAnim{0%{opacity:0;transform:translate(-50%,-10%) scale(.6) rotate(-3deg)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.15) rotate(2deg)}35%{transform:translate(-50%,-50%) scale(1) rotate(0)}85%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(-50%,-80%) scale(.95)}}.hitMarker{--hit-color: rgba(255, 255, 255, .55);position:absolute;top:50%;left:50%;z-index:4;width:76px;height:76px;transform:translate(-50%,-50%) rotate(45deg);pointer-events:none;animation:hitMarkerAnim .32s ease-out forwards}.hitMarker:before,.hitMarker:after{position:absolute;content:"";background:var(--hit-color);box-shadow:0 0 12px var(--hit-color)}.hitMarker:before{top:50%;left:-8px;width:calc(100% + 16px);height:2px;transform:translateY(-50%)}.hitMarker:after{top:-8px;left:50%;width:2px;height:calc(100% + 16px);transform:translate(-50%)}.hitMarker.miss:before,.hitMarker.miss:after{box-shadow:none}@keyframes hitMarkerAnim{0%{opacity:.9;transform:translate(-50%,-50%) rotate(45deg) scale(.55)}60%{opacity:.5;transform:translate(-50%,-50%) rotate(45deg) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(1.18)}}.gameShell .reticle,.gameShell .hitMarker{pointer-events:none}.countdownOverlay{position:absolute;inset:0;z-index:9;pointer-events:none;display:grid;place-items:center}.countdownNumber{width:1em;height:1em;display:flex;align-items:center;justify-content:center;line-height:1;--countdown-nudge-x: 10px;font-family:Kenney Future,Bebas Neue,Oswald,Arial Black,sans-serif;font-size:220px;font-weight:900;letter-spacing:0;color:#fff7d8;text-shadow:0 0 24px rgba(255,217,87,.95),0 0 56px rgba(255,154,60,.7),0 6px 0 #2a1a05,0 12px 24px rgba(0,0,0,.6);animation:countdownPop .7s cubic-bezier(.18,.9,.3,1) forwards}.countdownOverlay.go .countdownNumber{color:#d4ffd9;font-size:240px;text-shadow:0 0 30px rgba(96,255,170,1),0 0 80px rgba(120,255,200,.85),0 6px 0 #053219,0 14px 28px rgba(0,0,0,.6);animation:countdownGoPop .7s cubic-bezier(.18,.9,.3,1) forwards}.countdownRing{position:absolute;width:320px;height:320px;border-radius:50%;border:3px solid rgba(255,217,87,.55);animation:countdownRing .7s ease-out forwards;box-shadow:0 0 60px #ffc85a66 inset,0 0 60px #ffc85a66}.countdownOverlay.go .countdownRing{border-color:#60ffaab3;box-shadow:0 0 80px #60ffaa8c inset,0 0 80px #60ffaa8c}@keyframes countdownPop{0%{opacity:0;transform:translate(var(--countdown-nudge-x)) scale(2.2)}20%{opacity:1;transform:translate(var(--countdown-nudge-x)) scale(.9)}35%{transform:translate(var(--countdown-nudge-x)) scale(1.05)}60%{transform:translate(var(--countdown-nudge-x)) scale(1)}to{opacity:0;transform:translate(var(--countdown-nudge-x)) scale(.85)}}@keyframes countdownGoPop{0%{opacity:0;transform:translate(var(--countdown-nudge-x)) scale(.4) rotate(-6deg)}18%{opacity:1;transform:translate(var(--countdown-nudge-x)) scale(1.25) rotate(2deg)}40%{transform:translate(var(--countdown-nudge-x)) scale(1) rotate(-1deg)}to{opacity:0;transform:translate(var(--countdown-nudge-x)) scale(1.6) rotate(0)}}@keyframes countdownRing{0%{transform:scale(.4);opacity:0}20%{opacity:.95}to{transform:scale(1.4);opacity:0}}.damagePopups{position:absolute;inset:0;z-index:5;pointer-events:none}.damagePopup{position:absolute;transform:translate(-50%,-50%);font-family:Kenney Future,Bebas Neue,Oswald,Arial Black,sans-serif;font-size:28px;font-weight:800;letter-spacing:.04em;color:#ffe6a6;text-shadow:0 0 8px rgba(255,200,90,.85),0 2px 0 #1c0e02,0 4px 10px rgba(0,0,0,.55);animation:damagePopup .9s cubic-bezier(.2,.8,.4,1) forwards;white-space:nowrap}.damagePopup.critical{font-size:44px;color:#fff2c2;text-shadow:0 0 16px rgba(255,220,80,1),0 0 32px rgba(255,130,50,.95),0 3px 0 #2a0e02,0 8px 20px rgba(0,0,0,.65);animation:damageCriticalPopup .95s cubic-bezier(.18,.9,.3,1) forwards}@keyframes damagePopup{0%{opacity:0;transform:translate(-50%,-10%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}35%{transform:translate(-50%,-55%) scale(1)}to{opacity:0;transform:translate(-50%,-160%) scale(.85)}}@keyframes damageCriticalPopup{0%{opacity:0;transform:translate(-50%) scale(.4) rotate(-10deg)}18%{opacity:1;transform:translate(-50%,-55%) scale(1.4) rotate(4deg)}35%{transform:translate(-50%,-55%) scale(1.05) rotate(-2deg)}to{opacity:0;transform:translate(-50%,-200%) scale(.95) rotate(0)}}.comboCounter{position:absolute;top:clamp(108px,14vh,160px);left:50%;transform:translate(-50%);z-index:5;pointer-events:none;display:grid;grid-template-columns:auto auto auto;align-items:baseline;gap:6px;padding:8px 14px;background:linear-gradient(135deg,#ff8a2459,#ff468240);border:1px solid rgba(255,200,100,.7);border-radius:14px;box-shadow:0 0 20px #ffa04680,inset 0 0 20px #ffc8642e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.12em;animation:comboPop .4s cubic-bezier(.18,.9,.3,1)}.comboCounter .comboLabel{color:#ffd476;font-size:13px}.comboCounter strong{color:#fffae8;font-size:38px;text-shadow:0 0 12px rgba(255,220,110,.95),0 2px 0 #2a0e02;line-height:1}.comboCounter .comboHit{color:#ffe9aa;font-size:13px}@keyframes comboPop{0%{transform:translate(-50%) scale(.6);opacity:0}60%{transform:translate(-50%) scale(1.15);opacity:1}to{transform:translate(-50%) scale(1);opacity:1}}.comboCounter--good{background:linear-gradient(135deg,#78c8ff52,#2878c838);border-color:#78c8ffb3}.comboCounter--great{background:linear-gradient(135deg,#8cf0c852,#28c88238);border-color:#8cf0c8d9}.comboCounter--amazing{background:linear-gradient(135deg,#ffdc6e5c,#ff8c3c42);border-color:#ffdc6ef2;box-shadow:0 0 26px #ffc85a8c}.comboCounter--perfect{background:linear-gradient(135deg,#ff8a2466,#ff46824d);border-color:#ffc864;box-shadow:0 0 32px #ff8250b3}.comboCounter--insane{background:linear-gradient(135deg,#dc50dc73,#ff468259);border-color:#ffc8ff;box-shadow:0 0 38px #dc64dcd9;animation:comboInsanePulse .7s ease-in-out infinite alternate,comboPop .4s cubic-bezier(.18,.9,.3,1)}@keyframes comboInsanePulse{0%{box-shadow:0 0 22px #dc64dc80;transform:translate(-50%) scale(1)}to{box-shadow:0 0 48px #ff82dc;transform:translate(-50%) scale(1.06)}}.screenShake{position:absolute;inset:0;z-index:0;pointer-events:none}.screenShake--light{animation:screenShakeLight .22s linear}.screenShake--heavy{animation:screenShakeHeavy .5s ease-out}.gameShell{position:relative}.gameShell:has(.screenShake--light){animation:screenShakeLight .22s linear}.gameShell:has(.screenShake--heavy){animation:screenShakeHeavy .5s ease-out}@keyframes screenShakeLight{0%{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(2px,-3px)}60%{transform:translate(-2px,1px)}80%{transform:translate(1px,-1px)}to{transform:translate(0)}}@keyframes screenShakeHeavy{0%{transform:translate(0) rotate(0)}10%{transform:translate(-7px,4px) rotate(-.4deg)}22%{transform:translate(6px,-5px) rotate(.3deg)}35%{transform:translate(-5px,3px) rotate(-.2deg)}48%{transform:translate(4px,-2px) rotate(.2deg)}62%{transform:translate(-3px,2px) rotate(-.1deg)}78%{transform:translate(2px,-1px) rotate(0)}to{transform:translate(0) rotate(0)}}.lowHpVignette{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(220,30,50,.32) 90%),linear-gradient(180deg,rgba(140,20,30,.18),transparent 35%,transparent 65%,rgba(140,20,30,.18));animation:lowHpPulse 1.4s ease-in-out infinite alternate}.lowHpVignette--critical{background:radial-gradient(ellipse at center,transparent 35%,rgba(255,30,60,.55) 95%),linear-gradient(180deg,rgba(180,20,40,.32),transparent 25%,transparent 75%,rgba(180,20,40,.32));animation:lowHpPulseCritical .7s ease-in-out infinite alternate}@keyframes lowHpPulse{0%{opacity:.5}to{opacity:1}}@keyframes lowHpPulseCritical{0%{opacity:.65;filter:brightness(1)}to{opacity:1;filter:brightness(1.3)}}.battleStartFlash{z-index:8;transform-origin:50% 50%;background:radial-gradient(circle at 50% 50%,rgba(255,247,216,.6) 0%,rgba(255,217,87,.32) 28%,transparent 62%),radial-gradient(circle at 50% 50%,transparent 58%,rgba(255,200,90,.38) 88%,rgba(180,95,30,.5) 100%);mix-blend-mode:screen;animation:battleStartFlash .55s cubic-bezier(.18,.9,.3,1) forwards}@keyframes battleStartFlash{0%{opacity:0;transform:scale(.35)}20%{opacity:1;transform:scale(1)}60%{opacity:.45;transform:scale(1.35)}to{opacity:0;transform:scale(1.7)}}.minionSummonVignette{position:absolute;inset:0;z-index:7;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 24%,rgba(8,6,18,.78) 78%),linear-gradient(180deg,#140c209e,#0806126b 60%,#140c209e);mix-blend-mode:multiply;animation:minionSummonVignette 1.6s ease-out forwards}@keyframes minionSummonVignette{0%{opacity:0}18%{opacity:1}72%{opacity:.85}to{opacity:0}}.minionSummonBanner{top:26%;z-index:9;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 26px;border:1px solid rgba(180,120,220,.7);color:#f3d7ff;background:linear-gradient(180deg,#280e3ceb,#0e0616f0);text-shadow:0 0 14px rgba(170,110,220,.7);letter-spacing:.22em;box-shadow:0 0 26px #783cc88c,inset 0 0 18px #8c5adc40;animation:minionSummonBanner 1.6s cubic-bezier(.18,.9,.3,1) forwards}.minionSummonBanner span{font-size:clamp(24px,3vw,38px);font-weight:900;letter-spacing:.28em}.minionSummonBanner small{font-size:11px;letter-spacing:.32em;color:#d3aef0}@keyframes minionSummonBanner{0%{opacity:0;transform:translate(-50%) translateY(-14px) scale(.9)}18%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}78%{opacity:1;transform:translate(-50%) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%) translateY(8px) scale(.95)}}.staggerFlash{z-index:7;background:radial-gradient(circle at 50% 38%,rgba(255,240,160,.45) 0%,rgba(255,200,90,.28) 30%,rgba(255,120,70,.16) 55%,transparent 80%);mix-blend-mode:screen;animation:staggerFlashFade .7s ease-out forwards}@keyframes staggerFlashFade{0%{opacity:0}18%{opacity:1}to{opacity:0}}.staggerBanner{top:30%;z-index:9;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 28px;border:1px solid rgba(255,224,96,.85);color:#fff5cf;background:linear-gradient(180deg,#4e2406e6,#281204eb);text-shadow:0 0 18px rgba(255,200,90,.85);letter-spacing:.22em;box-shadow:0 0 28px #ffc85073,inset 0 0 18px #ffe0602e}.staggerBanner span{font-size:clamp(28px,3.4vw,44px);font-weight:900;letter-spacing:.3em}.staggerBanner small{font-size:12px;letter-spacing:.3em;color:#ffe88a}.staggerBanner.on{opacity:1;filter:drop-shadow(0 0 24px rgba(255,220,90,.85))}.staggerBanner:not(.on){opacity:.55;filter:drop-shadow(0 0 8px rgba(255,220,90,.3))}.clearSkyFlash{position:absolute;inset:0;z-index:9;pointer-events:none;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,1) 0%,rgba(255,248,200,.95) 20%,rgba(180,232,255,.7) 45%,rgba(125,199,237,.45) 65%,transparent 90%);mix-blend-mode:screen;animation:clearSkyFlash 1.6s cubic-bezier(.2,.8,.2,1) forwards}@keyframes clearSkyFlash{0%{opacity:0}6%{opacity:1}40%{opacity:.65}to{opacity:0}}.clearSkyShockwave{position:absolute;left:50%;top:50%;width:60vmin;height:60vmin;margin:-30vmin 0 0 -30vmin;z-index:9;pointer-events:none;border:3px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 60px #fff8c8d9,inset 0 0 40px #b4e8ff99;transform:scale(.05);opacity:0;animation:clearSkyShockwave 1.4s cubic-bezier(.1,.9,.2,1) forwards}@keyframes clearSkyShockwave{0%{transform:scale(.05);opacity:0}10%{opacity:1}to{transform:scale(3.4);opacity:0}}.clearSkyRays{position:absolute;inset:-10%;z-index:8;pointer-events:none;background:repeating-conic-gradient(from 0deg at 50% 30%,transparent 0deg,rgba(255,248,220,.18) 4deg,transparent 8deg,transparent 14deg);mix-blend-mode:screen;opacity:0;animation:clearSkyRays 1.8s ease-out forwards}@keyframes clearSkyRays{0%{opacity:0;transform:scale(.6) rotate(0)}20%{opacity:.9}to{opacity:0;transform:scale(1.3) rotate(35deg)}}.contactToast{--toast-accent: #ff7596;position:absolute;left:26px;bottom:clamp(220px,30vh,320px);z-index:6;display:inline-grid;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;padding:8px 14px 8px 10px;width:clamp(260px,28vw,360px);border:1px solid var(--toast-accent);background:linear-gradient(135deg,#081018d9,#240e16eb);box-shadow:0 0 20px color-mix(in oklab,var(--toast-accent) 50%,transparent),inset 0 0 16px color-mix(in oklab,var(--toast-accent) 18%,transparent);pointer-events:none;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Noto Sans JP,sans-serif;letter-spacing:.06em;animation:contactToastEnter .36s cubic-bezier(.18,.9,.3,1)}@keyframes contactToastEnter{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.contactToastIcon{display:grid;place-items:center;width:36px;height:36px;color:var(--toast-accent);font-size:24px;text-shadow:0 0 10px color-mix(in oklab,var(--toast-accent) 80%,transparent)}.contactToastBody{display:grid;gap:2px;min-width:0}.contactToastBody small{color:color-mix(in oklab,var(--toast-accent) 75%,#fff 25%);font-size:10px;letter-spacing:.18em}.contactToastBody strong{color:#fff5f8;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contactToastTimer{color:var(--toast-accent);font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;font-size:18px;font-weight:800;letter-spacing:.04em;text-shadow:0 0 10px color-mix(in oklab,var(--toast-accent) 80%,transparent)}.itemToast{--toast-accent: #ffd76a;position:absolute;top:80px;left:50%;z-index:6;display:inline-grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:10px 18px 10px 14px;transform:translate(-50%);border:1px solid var(--toast-accent);border-radius:14px;background:linear-gradient(135deg,#081018d9,#142432eb);box-shadow:0 0 24px color-mix(in oklab,var(--toast-accent) 60%,transparent),inset 0 0 18px color-mix(in oklab,var(--toast-accent) 18%,transparent);pointer-events:none;animation:itemToastAnim 1.8s cubic-bezier(.18,.9,.3,1) forwards}.itemToastIcon{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:color-mix(in oklab,var(--toast-accent) 18%,transparent);color:var(--toast-accent);font-size:26px;text-shadow:0 0 12px color-mix(in oklab,var(--toast-accent) 80%,transparent)}.itemToastBody{display:grid;gap:2px;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.16em}.itemToastBody strong{color:#fff8e2;font-size:17px;text-shadow:0 0 10px color-mix(in oklab,var(--toast-accent) 70%,transparent)}.itemToastBody span{color:#d8e2ec;font-size:11px}@keyframes itemToastAnim{0%{opacity:0;transform:translate(-50%,-22px) scale(.92)}12%{opacity:1;transform:translate(-50%) scale(1.06)}20%{transform:translate(-50%) scale(1)}82%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-16px) scale(.96)}}.damageFlash{--flash-strength: .6;z-index:6;background:radial-gradient(ellipse at center,transparent 30%,rgba(220,30,50,calc(var(--flash-strength) * .55)) 95%),linear-gradient(180deg,rgba(255,60,80,calc(var(--flash-strength) * .4)),transparent 30%,transparent 70%,rgba(255,60,80,calc(var(--flash-strength) * .4)));animation:damageFlashAnim .48s ease-out forwards}@keyframes damageFlashAnim{0%{opacity:0}10%{opacity:1}to{opacity:0}}.healFlash{z-index:6;background:radial-gradient(ellipse at center,transparent 30%,rgba(120,255,180,.35) 95%),linear-gradient(180deg,rgba(255,232,130,.32),transparent 28%,transparent 72%,rgba(120,255,180,.28));animation:healFlashAnim .7s ease-out forwards}.reloadFlash{position:absolute;left:50%;top:50%;width:64px;height:64px;margin-left:-32px;margin-top:-32px;z-index:6;pointer-events:none;border:2px solid #ffe15a;border-radius:50%;box-shadow:0 0 14px #ffe15a8c,inset 0 0 14px #ffe15a59;opacity:0;animation:reloadFlashAnim .5s ease-out forwards}@keyframes reloadFlashAnim{0%{opacity:0;transform:scale(.45)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(2.4)}}@keyframes healFlashAnim{0%{opacity:0;transform:scale(.95)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.criticalFlash{z-index:6;background:radial-gradient(circle at center,transparent 35%,rgba(255,220,80,.34) 80%),linear-gradient(180deg,transparent 38%,rgba(255,200,70,.22) 50%,transparent 62%);mix-blend-mode:screen;animation:criticalFlashAnim .3s ease-out forwards}@keyframes criticalFlashAnim{0%{opacity:0;transform:scale(.96)}10%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.06)}}.blockedIndicator{position:absolute;top:56%;left:50%;z-index:6;transform:translate(-50%,-50%);padding:6px 16px;border:1px solid rgba(120,200,255,.85);background:#14324cb3;color:#b9e4ff;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;font-size:22px;letter-spacing:.32em;text-shadow:0 0 14px rgba(120,200,255,.95);pointer-events:none;animation:blockedAnim .6s ease-out forwards}@keyframes blockedAnim{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}35%{transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-120%) scale(.95)}}.barrierWarning{position:absolute;top:14%;right:4%;z-index:6;padding:6px 14px;border:1px solid rgba(120,200,255,.85);background:#14324c8c;color:#cdebff;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;font-size:12px;letter-spacing:.28em;pointer-events:none;animation:barrierWarnPulse .7s ease-in-out infinite alternate}@keyframes barrierWarnPulse{0%{box-shadow:0 0 8px #78c8ff66;opacity:.8}to{box-shadow:0 0 24px #78c8fff2;opacity:1}}.reloadIndicator{position:absolute;top:56%;left:50%;z-index:6;display:grid;grid-template-columns:auto;justify-items:center;gap:10px;padding:16px 36px;transform:translate(-50%,-50%);border:2px solid rgba(255,220,110,.95);background:linear-gradient(135deg,#3c2808eb,#140e04f2);color:#ffe88e;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.36em;font-size:22px;pointer-events:none;box-shadow:0 0 42px #ffc846a6,inset 0 0 22px #ffdc6e2e;animation:reloadAnim .18s ease-out,reloadPulse .7s ease-in-out infinite alternate;text-shadow:0 0 10px rgba(255,220,110,.95),0 2px 0 #2a1605}.reloadBar{position:relative;width:280px;height:10px;background:#281c08f2;border:1px solid rgba(255,220,110,.7);overflow:hidden}.reloadBar i{display:block;height:100%;background:linear-gradient(90deg,#ffe88e,#fff5b8,#ffe88e);background-size:200% 100%;box-shadow:0 0 18px #ffe88e;transition:width .04s linear;animation:reloadBarShine 1s linear infinite}@keyframes reloadAnim{0%{opacity:0;transform:translate(-50%,calc(-50% + 12px)) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes reloadPulse{0%{box-shadow:0 0 24px #ffc84673,inset 0 0 14px #ffdc6e1f}to{box-shadow:0 0 56px #ffc846d9,inset 0 0 26px #ffdc6e52}}@keyframes reloadBarShine{0%{background-position:0% 50%}to{background-position:200% 50%}}.reloadPrompt{position:absolute;top:44%;left:50%;z-index:6;display:grid;justify-items:center;gap:6px;padding:14px 32px;transform:translate(-50%,-50%);border:2px solid rgba(255,110,130,.95);background:linear-gradient(135deg,#460c16eb,#14040af2);color:#ffb6c2;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;pointer-events:none;box-shadow:0 0 36px #ff5a6ea6,inset 0 0 22px #ff5a6e2e;animation:reloadPromptPulse .55s ease-in-out infinite alternate,reloadPromptEnter .18s ease-out}.reloadPromptKick{font-size:28px;letter-spacing:.32em;color:#fff7c2;text-shadow:0 0 14px rgba(255,110,130,.95),0 2px 0 #2a040a}.reloadPromptHint{font-size:12px;letter-spacing:.22em;color:#ffd6dc}@keyframes reloadPromptPulse{0%{box-shadow:0 0 16px #ff5a6e66,inset 0 0 14px #ff5a6e1a}to{box-shadow:0 0 56px #ff6e82,inset 0 0 28px #ff5a6e57}}@keyframes reloadPromptEnter{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.enemyChargeWarning{position:absolute;top:22%;left:50%;z-index:6;display:grid;gap:6px;padding:8px 18px;transform:translate(-50%);border:1px solid rgba(255,130,70,.85);background:#3c1010d9;color:#ffc678;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.32em;font-size:14px;pointer-events:none;box-shadow:0 0 24px #ff783c8c;animation:enemyChargePulse .5s ease-in-out infinite alternate}.enemyChargeBar{position:relative;width:220px;height:6px;background:#140804f2;border:1px solid rgba(255,130,70,.6);overflow:hidden}.enemyChargeBar i{display:block;height:100%;background:linear-gradient(90deg,#ff8a3c,#ffd476,#ff6a40);box-shadow:0 0 12px #ffae5a;transition:width .04s linear}@keyframes enemyChargePulse{0%{box-shadow:0 0 8px #ff783c66;transform:translate(-50%) scale(1)}to{box-shadow:0 0 32px #ff783cf2;transform:translate(-50%) scale(1.04)}}.slowVignette{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(80,220,180,.28) 95%),linear-gradient(180deg,rgba(60,200,160,.15),transparent 32%,transparent 68%,rgba(60,200,160,.15));animation:slowPulse 1.4s ease-in-out infinite alternate}@keyframes slowPulse{0%{opacity:.55}to{opacity:1}}.dashOverlay{position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(ellipse at center,transparent 38%,rgba(120,220,255,.18) 92%),repeating-linear-gradient(115deg,transparent 0 24px,rgba(120,220,255,.12) 24px 26px),repeating-linear-gradient(-115deg,transparent 0 30px,rgba(180,240,255,.08) 30px 32px);animation:dashLines .32s linear infinite;mix-blend-mode:screen}@keyframes dashLines{0%{background-position:0 0,0 0,0 0}to{background-position:0 0,-120px 0,120px 0}}.weaponStatus--low{border-color:#ffc85ad9;box-shadow:0 0 18px #ffb43c73;animation:weaponLowPulse .8s ease-in-out infinite alternate}.weaponStatus--low strong{color:#ffe09a;text-shadow:0 0 10px rgba(255,200,90,.85)}.weaponStatus--empty{border-color:#ff6e82f2;box-shadow:0 0 22px #ff5a6e8c;animation:weaponEmptyPulse .45s ease-in-out infinite alternate}.weaponStatus--empty strong{color:#ff9aa6;text-shadow:0 0 12px rgba(255,90,110,.95)}@keyframes weaponLowPulse{0%{box-shadow:0 0 8px #ffb43c40}to{box-shadow:0 0 22px #ffc85ad9}}@keyframes weaponEmptyPulse{0%{box-shadow:0 0 8px #ff5a6e4d}to{box-shadow:0 0 28px #ff6e82f2}}.skillStatus--ready{border-color:#ffdc6ef2;box-shadow:0 0 24px #ffc8468c,inset 0 0 18px #ffdc6e2e;animation:skillStatusReadyPulse 1.2s ease-in-out infinite alternate}.skillStatus--ready strong{color:#fff7c2;text-shadow:0 0 12px rgba(255,220,110,.85)}.skillStatus--ready small{color:#fff7c2;font-weight:700}.segmentedMeter--ready i{background:linear-gradient(90deg,#ffe16a,#fff8c2,#ffe16a);box-shadow:0 0 20px #ffdc6ed9;animation:meterReadyShimmer 1.6s linear infinite}@keyframes skillStatusReadyPulse{0%{box-shadow:0 0 14px #ffc84659,inset 0 0 10px #ffdc6e1f}to{box-shadow:0 0 32px #ffc846d9,inset 0 0 22px #ffdc6e47}}@keyframes meterReadyShimmer{0%{background-position:0% 50%;filter:brightness(1)}50%{filter:brightness(1.25)}to{background-position:100% 50%;filter:brightness(1)}}.skillReadyToast{position:absolute;top:clamp(260px,32vh,320px);left:26px;width:clamp(230px,26vw,330px);z-index:6;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:10px 16px 10px 12px;border:1px solid rgba(255,220,110,.85);border-radius:12px;background:linear-gradient(135deg,#3c1c08eb,#281406f2);box-shadow:0 0 28px #ffc8468c,inset 0 0 18px #ffdc6e38;pointer-events:none;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.16em;animation:skillReadyToastAnim 2.2s cubic-bezier(.18,.9,.3,1) forwards}.skillReadyKey{display:grid;place-items:center;width:38px;height:38px;border:2px solid rgba(255,220,110,.95);border-radius:8px;background:#ffc8462e;color:#fff7c2;font-size:18px;font-weight:800;text-shadow:0 0 10px rgba(255,220,110,.8);animation:skillReadyKeyPulse .7s ease-in-out infinite alternate}.skillReadyBody{display:grid;gap:2px}.skillReadyBody small{color:#ffe9aa;font-size:11px}.skillReadyBody strong{color:#fff7c2;font-size:18px;text-shadow:0 0 10px rgba(255,220,110,.85)}@keyframes skillReadyToastAnim{0%{opacity:0;transform:translate(-28px) scale(.94)}10%{opacity:1;transform:translate(0) scale(1.05)}18%{transform:translate(0) scale(1)}82%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-8px) scale(.97)}}@keyframes skillReadyKeyPulse{0%{transform:scale(1);box-shadow:0 0 8px #ffc84680}to{transform:scale(1.08);box-shadow:0 0 18px #ffdc6ef2}}.bossIntro{position:absolute;top:clamp(260px,32vh,320px);left:26px;z-index:7;display:grid;justify-items:start;gap:4px;width:clamp(230px,26vw,330px);padding:10px 16px 12px;border:1px solid rgba(255,220,110,.85);border-radius:12px;background:linear-gradient(135deg,#3c1c08eb,#281406f2);box-shadow:0 0 28px #ffc8468c,inset 0 0 18px #ffdc6e38;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;font-family:Kenney Future,Bebas Neue,Oswald,sans-serif;letter-spacing:.16em;animation:skillReadyToastAnim 2.2s cubic-bezier(.18,.9,.3,1) forwards}.bossIntroLabel{color:#ffd476;font-size:11px;letter-spacing:.42em}.bossIntroName{color:#fff8e2;font-size:30px;text-shadow:0 0 18px rgba(255,200,90,.95),0 0 36px rgba(255,90,110,.55),0 3px 0 #2a0408,0 6px 16px rgba(0,0,0,.6);line-height:1.05}.bossIntroTrait{color:#ffe9aa;font-size:12px;letter-spacing:.3em}.bossIntroThreat{display:inline-flex;gap:4px;margin-top:4px;font-size:14px;color:#5a2a30}.bossIntroThreat b{font-weight:800}.bossIntroThreat b.filled{color:#ffd476;text-shadow:0 0 8px rgba(255,200,90,.85)}@keyframes bossIntroAnim{0%{opacity:0;transform:translate(-12px);clip-path:inset(0 100% 0 0)}10%{opacity:1;clip-path:inset(0 0 0 0);transform:translate(0)}85%{opacity:1;clip-path:inset(0 0 0 0);transform:translate(0)}to{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(0)}}@media(max-width:900px){.homeShell,.gridShell,.loadoutShell,.settingsShell,.resultShell,.gameShell{min-height:100%;height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.titleBlock{top:12%}.mainMenu{top:42%;left:16px;width:calc(100% - 32px)}.missionPreview{position:relative;right:auto;bottom:auto;width:calc(100% - 32px);margin:76vh 16px 24px}.pilotLog{display:none}.battleHud{position:relative;display:grid;gap:10px;padding:12px;background:#07111a}.playerStatus,.bossBar,.scorePanel,.missionPanel,.enemyBookButton,.radarPanel,.weaponStatus,.skillStatus{position:relative;inset:auto;width:100%}.bossBar{order:-1}.reticle{display:none}.enemyGrid{grid-template-columns:1fr;height:auto;max-height:none}.enemyCard{height:360px}.characterGrid .enemyCard{height:470px}.gridShell{overflow:auto}.loadoutLayout,.stageDetailLayout{grid-template-columns:1fr;height:auto;overflow:visible}.stageDetailPreview{height:320px}.loadoutShell,.settingsShell,.resultShell{overflow:auto;padding:20px 16px}.storyLayout{height:auto}}.debugOverlay{position:fixed;top:14px;right:14px;z-index:999;min-width:200px;padding:10px 12px;background:#020c14d9;border:1px solid rgba(40,217,255,.55);color:#cfeaf3;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.02em;pointer-events:none;box-shadow:0 0 14px #28d9ff2e}.debugOverlay header{display:flex;justify-content:space-between;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid rgba(40,217,255,.32);color:#28d9ff;font-weight:700;letter-spacing:.18em}.debugOverlay .debugLabel{color:#ffd84d}.debugOverlay table{border-collapse:collapse;width:100%}.debugOverlay th{text-align:left;font-weight:500;color:#6cdcff;padding:1px 8px 1px 0}.debugOverlay td{text-align:right;color:#f3f8fb;padding:1px 0 1px 8px;font-variant-numeric:tabular-nums}.weaponPreviewShell{position:fixed;inset:0;display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr 360px;grid-template-areas:"header header" "canvas controls";background:#03101a;color:#cfeaf3;font-family:inherit}.weaponPreviewHeader{grid-area:header;padding:14px 22px;border-bottom:1px solid rgba(40,217,255,.45);background:linear-gradient(90deg,#081a24f2,#02080ef2)}.weaponPreviewHeader h1{margin:0;color:#28d9ff;font-size:22px;letter-spacing:.36em}.weaponPreviewHeader small{display:block;margin-top:4px;color:#6cdcff;font-size:11px;letter-spacing:.18em}.weaponPreviewCanvas{grid-area:canvas;position:relative;min-height:0}.weaponPreviewCanvas canvas{display:block;width:100%;height:100%}.weaponPreviewControls{grid-area:controls;padding:18px 20px;border-left:1px solid rgba(40,217,255,.35);background:#041018eb;overflow-y:auto}.weaponPreviewMeta{display:grid;gap:4px;padding-bottom:10px;border-bottom:1px solid rgba(40,217,255,.32)}.weaponPreviewMeta strong{color:#fffbe2;font-size:18px;letter-spacing:.18em}.weaponPreviewMeta em{color:#6cdcff;font-style:normal;font-size:11px;letter-spacing:.22em}.weaponPreviewStats{margin:12px 0;padding:0;list-style:none;display:grid;gap:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.weaponPreviewStats li{display:flex;justify-content:space-between;padding:3px 8px;background:#08162099;border:1px solid rgba(40,217,255,.22)}.weaponPreviewStats span{color:#6cdcff}.weaponPreviewStats b{color:#f3f8fb;font-weight:500}.weaponPreviewHint{margin:8px 0 16px;color:#94c2cf;font-size:11px;letter-spacing:.06em;line-height:1.6}.weaponPreviewSwitcher{display:grid;gap:6px;padding-top:12px;border-top:1px solid rgba(40,217,255,.32)}.weaponPreviewSwitcher span{color:#6cdcff;font-size:11px;letter-spacing:.32em}.weaponPreviewSwitcherButtons{display:grid;gap:4px}.weaponPreviewSwitcherButtons button{padding:8px 12px;border:1px solid rgba(40,217,255,.45);background:#04101899;color:#d4e5ed;font-size:12px;letter-spacing:.16em;text-align:left;cursor:pointer}.weaponPreviewSwitcherButtons button:hover{background:#28d9ff2e}.weaponPreviewSwitcherButtons button.selected{border-color:#ffdc6ed9;color:#fff7c2;background:linear-gradient(90deg,#524818d9,#1e373d99)}.weaponPreviewActions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.weaponPreviewActions button,.weaponPreviewActions a{flex:1;padding:8px 12px;border:1px solid rgba(40,217,255,.45);background:#041018b3;color:#d4e5ed;font-size:11px;letter-spacing:.16em;text-align:center;text-decoration:none;cursor:pointer}.weaponPreviewActions button:hover,.weaponPreviewActions a:hover{background:#28d9ff2e}.weaponPreviewExit{color:#ffd84d!important;border-color:#ffda4b99!important}
