*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#040913;color:#e6f6ff;font-family:Inter,Segoe UI,Noto Sans JP,sans-serif;touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;background:#0c2132a8;border:1px solid #7eb8ca50;padding:12px 18px;border-radius:4px;cursor:pointer;touch-action:none}button:hover{background:#18445dc9}button:focus-visible{outline:2px solid #68e7ef;outline-offset:4px}[hidden]{display:none!important}#space{display:block;width:100%;height:100%}header{position:absolute;inset:0 0 auto;display:flex;align-items:center;gap:24px;padding:20px max(24px,env(safe-area-inset-right)) 20px max(24px,env(safe-area-inset-left));background:linear-gradient(#050c18d9,transparent);pointer-events:none;z-index:3}.wordmark{font-size:19px;font-weight:800;letter-spacing:.23em}.wordmark span{display:block;font-size:8px;letter-spacing:.22em;margin-top:5px;color:#7c9caf}.stats{display:flex;margin-left:auto;gap:26px;font-size:11px;color:#8cabbe}.stats b{color:#f1faff;display:block;font-size:21px;font-variant-numeric:tabular-nums;letter-spacing:.05em}header button{pointer-events:auto;font-size:12px}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:7vw;background:linear-gradient(90deg,#040c19ed,#061222bc 45%,#050d1930);z-index:5}.brief{max-width:690px}.eyebrow{font-size:10px;letter-spacing:.22em;color:#71d8e1;font-weight:600}h1{font-size:clamp(40px,7vw,94px);letter-spacing:.045em;line-height:1;margin:23px 0 10px;font-weight:850}.subtitle{letter-spacing:.45em;font-size:14px;color:#aec6d7;margin-bottom:28px}.intro{line-height:1.9;font-size:15px;color:#c5d6e3}.instructions{display:flex;gap:20px;margin:26px 0;font-size:11px;color:#adc2d3}.instructions b{color:#67e1ec;display:block;letter-spacing:.15em;font-size:10px;margin-bottom:8px}.launch{display:flex;align-items:center;gap:22px}.primary{background:#8aeef1;color:#051722;border:0;font-weight:750;padding:16px 28px;min-width:180px}.primary:hover{background:#c2fbff}.primary span{margin-left:30px}.launch label{font-size:12px;color:#a8c4d7}input{accent-color:#76e0e8}#menuStatus,.note{font-size:11px;color:#92abba;line-height:1.6}.note{color:#6e8da4}.missionCard{border-left:1px solid #64bfd659;padding:22px 30px;min-width:190px;background:#07132355;transform:translateY(35px)}.missionCard>span{font-size:9px;letter-spacing:.2em;color:#85adb9}.missionCard h2{font-size:20px;letter-spacing:.12em}.missionCard p{font-size:12px;color:#a7becf;line-height:1.9}.missionCard strong{display:block;font-size:48px;font-weight:300;color:#8de7ec}.rule{height:1px;background:#82c8d32b;margin:22px 0}#reticle{position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);border:1px solid #a0f4efa6;border-radius:50%;box-shadow:0 0 12px #1cf5ee18;pointer-events:none}#reticle:before,#reticle:after{content:"";position:absolute;background:#bffdfa}#reticle:before{width:2px;height:8px;left:19px;top:-5px;box-shadow:0 40px #bffdfa}#reticle:after{height:2px;width:8px;top:19px;left:-5px;box-shadow:40px 0 #bffdfa}#reticle i{position:absolute;left:18px;top:18px;width:4px;height:4px;border-radius:50%;background:#d3ffff}#reticle.target{border-color:#ffb971;box-shadow:0 0 20px #ffb04b66}#targetHint{position:absolute;left:50%;top:calc(50% + 40px);transform:translate(-50%);font-size:10px;color:#aad5d6;letter-spacing:.16em;white-space:nowrap}#compass{position:absolute;left:50%;bottom:105px;transform:translate(-50%);width:220px;display:flex;justify-content:space-between;font-size:9px;color:#759dac;border-bottom:1px solid #7eb8ca50;padding-bottom:8px}#bearing{color:#c3dfe7}#heatPanel{position:absolute;bottom:32px;left:50%;transform:translate(-50%);width:240px}#heatPanel>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:9px;letter-spacing:.12em}.track{height:6px;background:#98dfe520;border:1px solid #7dc8d344}#heatFill{height:100%;width:0;background:#73e7e8;transition:background .2s}#heatPanel small{display:block;text-align:center;color:#91aebe;font-size:10px;margin-top:10px}#fire{position:absolute;right:max(30px,env(safe-area-inset-right));bottom:max(26px,env(safe-area-inset-bottom));height:114px;width:114px;border-radius:50%;border:1px solid #9ffff1a3;background:radial-gradient(#1c72834d,#0b273566);box-shadow:inset 0 0 0 7px #80dfe810,0 0 30px #34e8ef0b;display:flex;flex-direction:column;align-items:center;justify-content:center}#fire span{font-size:22px;font-weight:650;letter-spacing:.13em}#fire small{font-size:9px;margin-top:6px;color:#a1c8d4}#fire.active{background:#60dce578}#fire.locked{border-color:#ff775f;color:#ff9a7d;background:#611c2066}.leftControls{position:absolute;bottom:30px;left:max(24px,env(safe-area-inset-left));display:flex;flex-direction:column;gap:10px}.leftControls button{font-size:11px;padding:11px 14px;background:#0c213278}#flash{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px #e25242;opacity:0;z-index:4}.dialog{margin:auto;text-align:center;padding:35px;border:1px solid #74c7d349;background:#071422ef;max-width:480px}.dialog h2{font-size:32px;letter-spacing:.15em}.dialog p{font-size:12px;color:#aac5d4;line-height:1.8}.dialog button{display:block;margin:15px auto 0}.dialog strong{font-size:44px;font-weight:400;color:#8af0ed;font-variant-numeric:tabular-nums}#rotate{display:none;position:absolute;inset:0;background:#061120f5;z-index:10;align-items:center;justify-content:center;flex-direction:column;text-align:center;line-height:2.5;font-size:17px}#rotate small{font-size:12px;color:#95b5ca}.contact{position:absolute;color:#ffaf80;font-size:15px;transform:translate(-50%,-50%);pointer-events:none;text-shadow:0 1px 3px #000}.contact small{font-size:9px;margin-left:4px}@media(max-height:550px){header{padding:12px 20px;gap:15px}.wordmark{font-size:15px}.stats{gap:20px}.stats b{font-size:17px}.overlay{padding:60px 7vw 15px}.eyebrow{font-size:8px}h1{font-size:49px;margin:12px 0 6px}.subtitle{font-size:11px;margin:8px 0 14px}.intro{font-size:12px;line-height:1.6}.instructions{margin:16px 0;gap:18px;font-size:10px}.instructions b{margin-bottom:4px}.primary{padding:12px 22px}.note,#menuStatus{font-size:9px;margin:8px 0}.missionCard{padding:14px 22px;min-width:155px;transform:none}.missionCard strong{font-size:35px}.missionCard h2{font-size:17px}.rule{margin:12px 0}#fire{width:92px;height:92px;bottom:18px;right:22px}#heatPanel{bottom:19px;width:210px}#compass{bottom:88px}.leftControls{bottom:18px;gap:7px}.leftControls button{padding:9px 12px}.dialog{padding:18px 30px}.dialog h2{margin:10px 0}.dialog strong{font-size:32px}}@media(orientation:portrait)and (max-width:900px){#rotate{display:flex}}@media(max-width:760px){.missionCard{display:none}.brief{max-width:100%}.launch{gap:14px}.launch label{font-size:10px}}#fullscreen{position:relative;z-index:7;pointer-events:auto;white-space:nowrap}header:has(#fullscreen){z-index:7}#fullscreen:disabled{opacity:.6;cursor:default}#fullscreenNotice{position:fixed;top:70px;left:50%;transform:translate(-50%);z-index:20;max-width:90vw;width:460px;background:#142939f2;border:1px solid #9ad9e0;padding:14px 20px;font-size:12px;line-height:1.6;pointer-events:none}html:fullscreen,html:fullscreen body{width:100%;height:100%;margin:0}html:fullscreen #space{width:100%;height:100%}html{height:100%;width:100%}body{position:fixed;width:var(--view-width,100vw);height:var(--view-height,100dvh);overflow:hidden}#space{position:absolute;inset:0;width:100%!important;height:100%!important}#fire{bottom:calc(18px + env(safe-area-inset-bottom,0px));right:calc(22px + env(safe-area-inset-right,0px))}.leftControls{bottom:calc(18px + env(safe-area-inset-bottom,0px));left:calc(20px + env(safe-area-inset-left,0px))}#heatPanel{bottom:calc(18px + env(safe-area-inset-bottom,0px))}#compass{bottom:calc(90px + env(safe-area-inset-bottom,0px))}.overlay{overflow-y:auto;touch-action:pan-y}.dialog{flex-shrink:0}html:fullscreen body{width:var(--view-width,100vw);height:var(--view-height,100dvh)}@media(max-height:360px){.overlay{padding:58px 6vw 14px;align-items:flex-start}h1{font-size:36px;margin:8px 0}.subtitle{margin:4px 0 8px}.intro{font-size:11px;margin:8px 0}.instructions{margin:10px 0}.note{display:none}.primary{padding:10px 20px}.missionCard{display:none}#fire{width:80px;height:80px}#compass{bottom:82px}header{padding:9px 16px;gap:10px}header button{padding:8px 10px}.stats{gap:12px}}#fire,.leftControls{top:calc(78px + env(safe-area-inset-top,0px));bottom:auto}#heatPanel{top:calc(77px + env(safe-area-inset-top,0px));bottom:auto}#compass{top:calc(143px + env(safe-area-inset-top,0px));bottom:auto}header{padding-top:calc(12px + env(safe-area-inset-top,0px))}@media(max-height:550px){#fire,.leftControls,#heatPanel{top:calc(65px + env(safe-area-inset-top,0px))}#compass{top:calc(125px + env(safe-area-inset-top,0px));width:180px}}@media(max-height:360px){#fire,.leftControls{top:calc(60px + env(safe-area-inset-top,0px))}#heatPanel{top:calc(58px + env(safe-area-inset-top,0px));width:180px}#compass{display:none}.leftControls{gap:6px}.leftControls button{padding:8px 10px}}#hud{pointer-events:none}#hud button{pointer-events:auto}#reticle.firing{box-shadow:0 0 18px #6fffff99}#space{-webkit-touch-callout:none}#result{padding:12px max(12px,env(safe-area-inset-right));display:grid;place-items:center;justify-content:center;overflow:hidden}#result .dialog{zoom:.8;margin:0;max-height:calc((var(--view-height,100dvh) - 24px)*1.25);max-width:min(580px,calc((var(--view-width,100vw) - 32px)*1.25));overflow-y:auto;touch-action:pan-y}#navigationStatus{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);font-size:9px;letter-spacing:.12em;color:#8bb5c9;pointer-events:none;white-space:nowrap}header{gap:12px;padding:10px 16px}.stats{gap:16px}.stats b{font-size:17px}.wordmark{font-size:15px}.wordmark span{letter-spacing:.06em;font-size:9px}header button{padding:9px 12px}.hangarOptions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;max-width:660px}.hangarOptions label{display:flex;flex-direction:column;gap:4px;color:#9dbdce;font-size:10px}select{min-width:0;max-width:100%;border:1px solid #75bccc55;background:#0b2131;color:#e4f9ff;padding:8px 5px;border-radius:4px;font:inherit;touch-action:manipulation}select option{background:#0b2131;color:#e4f9ff}#recordSummary{font-size:11px;color:#8cdbd9;margin:10px 0}#combatReadout{position:absolute;top:70px;right:18px;display:flex;flex-direction:column;text-align:right;gap:6px;font-size:10px;color:#9cd4da;pointer-events:none}#comboValue{font-size:13px}.bursting{color:#ffe29a!important;text-shadow:0 0 12px #ffa536aa}#battleMessage{position:absolute;top:155px;left:50%;transform:translate(-50%);max-width:70%;width:max-content;text-align:center;font-size:12px;color:#ffe1ae;text-shadow:0 2px 4px #000;pointer-events:none}#battleMessage:not(:empty){padding:6px 10px;background:#0a1725bb;border-radius:4px}.contact{font-size:12px}.contact.charging,.torpedoContact{font-size:11px;font-weight:700;padding:4px 7px;background:#200b0bba;border:1px solid #ff947666;border-radius:4px}.torpedoContact{background:#291e09aa;border-color:#fce1a966}#result,#waveBreak{display:grid;place-items:center;justify-content:center;padding:56px 12px 8px;overflow:hidden}#result .dialog,#waveBreak .dialog{zoom:.8;margin:0;width:min(620px,calc((var(--view-width,100vw) - 32px)*1.25));max-width:none;max-height:calc((var(--view-height,100dvh) - 64px)*1.25);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:18px 24px}#result h2,#waveBreak h2{margin:7px 0;font-size:28px}#result .eyebrow,#waveBreak .eyebrow{margin:0 0 5px}#result strong{font-size:29px}#result p,#waveBreak p{margin:8px 0;font-size:12px}.resultActions{display:flex;justify-content:center;gap:10px}.resultActions button{margin:6px 0}.resultActions .primary{min-width:165px}#upgradeChoices{display:flex;gap:10px;margin:10px 0}#upgradeChoices button{flex:1;min-width:0;margin:0;padding:12px 8px;text-align:left}#upgradeChoices b{display:block;font-size:13px}#upgradeChoices small{display:block;margin-top:7px;font-size:11px;line-height:1.5;color:#afc9d8}#upgradeChoices button[aria-pressed=true]{border-color:#8eece9;background:#214454}#pauseMenu{z-index:8}#pauseMenu .dialog{max-height:calc(var(--view-height,100dvh) - 32px);overflow:auto;padding:14px 24px}@media(max-height:550px){#menu{padding:58px 6vw 12px;align-items:flex-start}.missionCard{display:none}#menu h1{font-size:38px;margin:7px 0}#menu .subtitle{margin:5px 0 8px}#menu .intro{font-size:11px;margin:6px 0}#menu .instructions{margin:9px 0;font-size:9px;gap:12px}.hangarOptions{margin-top:10px}#menu .note{display:none}#menuStatus{margin:5px 0}#combatReadout{top:64px}#battleMessage{top:135px;font-size:10px}#heatPanel{width:190px}#compass{top:117px}}@media(max-height:360px){header{gap:8px;padding:8px 12px}.stats{gap:12px;font-size:9px}.stats b{font-size:14px}.wordmark{font-size:12px}.wordmark span{font-size:8px}header button{font-size:10px;padding:8px}.hangarOptions{grid-template-columns:repeat(4,minmax(0,1fr))}#menu h1{font-size:30px}#menu .subtitle,#menu .intro{display:none}#menu .instructions{margin:5px 0 10px}#combatReadout{top:58px;font-size:9px}#comboValue{font-size:11px}#battleMessage{top:112px;max-width:60%}#heatPanel{width:170px}#heatPanel small{font-size:8px}#result .dialog,#waveBreak .dialog{padding:12px 18px}#navigationStatus{font-size:8px}}#career{font-size:10px;color:#9ac5d5;margin:5px 0;max-width:650px}#career summary{cursor:pointer;touch-action:manipulation;padding:4px 0}#career p{font-size:10px;line-height:1.7;margin:5px 0}#waveBreak.cruisePanel{position:absolute;inset:62px auto auto 50%;transform:translate(-50%);display:block;width:min(610px,calc(100% - 24px));padding:12px 16px;background:linear-gradient(135deg,#08162adb,#112d49bd);border:1px solid #75d3ff66;border-radius:8px;z-index:6;overflow:visible;pointer-events:auto;touch-action:pan-y;box-shadow:0 8px 36px #0005}#waveBreak.cruisePanel h2{font-size:14px;letter-spacing:.2em;margin:0;color:#9de6ff}#waveBreak.cruisePanel p{font-size:11px;margin:5px 0;color:#c3deef}#waveBreak.cruisePanel #upgradeChoices{margin:8px 0;gap:8px}#waveBreak.cruisePanel #upgradeChoices button{padding:10px;min-height:54px;background:#081e35b8}#waveBreak.cruisePanel #upgradeChoices button[aria-pressed=true]{background:#19566bbd;border-color:#a3ffff}#waveBreak.cruisePanel #upgradeChoices button:disabled{cursor:default;opacity:.7}#waveBreak.cruisePanel #upgradeChoices small{font-size:10px;margin-top:4px}#hud.cruising #heatPanel,#hud.cruising #compass,#hud.cruising #targetHint,#hud.cruising #reticle,#hud.cruising #combatReadout,#hud.cruising .leftControls{visibility:hidden}@media(max-height:360px){#waveBreak.cruisePanel{top:52px;padding:9px 12px}#waveBreak.cruisePanel h2{font-size:12px}#waveBreak.cruisePanel p{font-size:10px}#waveBreak.cruisePanel #upgradeChoices button{padding:8px;min-height:48px}#waveBreak.cruisePanel #upgradeChoices b{font-size:12px}}#waveBreak.cruisePanel{left:calc(50% + 45px);width:min(610px,calc(100% - 120px))}#hud.cruising .leftControls{visibility:visible}.contact.charging,.torpedoContact{transform:translate(-50%,calc(-100% - 26px));background:none;border:0;padding:0;font-size:11px;text-shadow:0 1px 4px #000,0 0 5px #000}.contact.charging:after{content:"";position:absolute;left:50%;top:calc(100% + 3px);height:15px;border-left:1px solid #ff9476}#battleMessage{top:auto;bottom:28px;max-width:56%;font-size:10px;background:none!important}.leftControls #center{min-width:144px;min-height:48px;padding:12px 14px;font-size:15px;font-weight:750;background:#143e50e6;border:2px solid #88eff0;border-radius:8px;box-shadow:0 0 12px #77e9e52a}#stageBanner{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);text-align:center;pointer-events:none;text-shadow:0 2px 8px #000;max-width:65%;z-index:2}#stageBanner b{display:block;font-size:clamp(22px,4vw,40px);letter-spacing:.18em;color:#d9ffff}#stageBanner span{display:block;font-size:12px;letter-spacing:.08em;margin-top:5px;color:#aee8ee}#hullPanel{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:180px;color:#a6f0e0;text-shadow:0 1px 4px #000;pointer-events:none}#hullPanel>div:first-child{display:flex;align-items:center;justify-content:space-between;font-size:11px}#hullPercent{font-size:22px}.hullTrack{height:9px;background:#06101ccc;border:1px solid #8dbeb955;position:relative;margin:4px 0}.hullTrack i{position:absolute;inset:0 auto 0 0;width:100%;background:currentColor}#hullTrail{background:#fff0bb}#hullCondition{font-size:10px}#damageReadout{display:block;font-size:17px;color:#ffb39f;min-height:21px;margin-top:3px}#hullPanel[data-severity=damaged]{color:#ffc477}#hullPanel[data-severity=critical]{color:#ff7866}#hullPanel[data-severity=critical] .hullTrack{box-shadow:0 0 12px #ff563b80}#hullPanel.hit{animation:hullHit .5s ease-out}@keyframes hullHit{0%,40%{filter:brightness(2.4)}to{filter:brightness(1)}}@media(max-height:360px){.leftControls #center{min-width:136px;min-height:44px;font-size:14px}#hullPanel{width:146px;bottom:10px}#hullPercent{font-size:18px}#stageBanner span{font-size:10px}#battleMessage{bottom:18px}}#lossTitle{position:absolute;left:50%;top:32%;transform:translate(-50%,-50%);font-weight:800;font-size:clamp(24px,5vw,52px);letter-spacing:.2em;color:#ffe3c0;text-shadow:0 0 25px #ff5e1688,0 3px 10px #000;pointer-events:none;z-index:4}#lossTitle small{display:block;font-size:11px;letter-spacing:.35em;text-align:center;margin-top:8px}#result{background:linear-gradient(110deg,#080f1eef,#301313c9)}#result .dialog{border-color:#e8a47766;background:linear-gradient(135deg,#111f31ee,#170e19ee);box-shadow:0 0 70px #d68e2520;width:min(720px,calc((var(--view-width,100vw) - 32px)*1.25))}.resultNumbers{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:14px;margin:15px 0}.resultNumbers>div{padding:12px 8px;border-bottom:2px solid #8bd9df55;background:#ffffff05}.resultNumbers span{display:block;font-size:11px;color:#a9c6d3;letter-spacing:.13em}#result .resultNumbers strong{font-size:36px;font-weight:800;display:block;margin-top:4px}#result .resultScore strong{color:#ffe2a3;font-size:43px}#resultRank{font-size:12px;color:#f0c786;letter-spacing:.25em;margin:8px 0}#result .resultActions{position:sticky;top:0;background:#111c29f5;padding:4px;z-index:1}#resultDescription{color:#d0e5ed!important}@media(max-height:400px){.resultNumbers{margin:8px 0;gap:7px}.resultNumbers>div{padding:7px 5px}#result .resultNumbers strong{font-size:27px}#result .resultScore strong{font-size:34px}#resultRank{font-size:10px}#result .dialog{padding:12px 18px}}.in-vr>:not(#space){display:none!important}#vrStart{border:1px solid #6df4e0;background:#103c49;color:#c1fff5;min-height:44px}#vrStart:disabled{opacity:.45}#vrStatus{font-size:11px;line-height:1.4;color:#a8ccd6;margin:8px 0}#showRanking{margin-top:10px;font-size:12px;padding:10px 16px;border-color:#82bfc6}#onlineRanking{z-index:30;background:#04101bea;display:block;padding:16px;overflow:auto;touch-action:pan-y}.rankingCard{max-width:800px;margin:auto;padding:18px;background:#0b1f30;border:1px solid #376779;border-radius:10px}.rankingHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:0;background:#0b1f30;z-index:1}.rankingHeader h2{font-size:20px;letter-spacing:.1em;margin:5px 0}.rankingCard p{font-size:12px;line-height:1.6}.rankingFilters{display:flex;gap:12px;margin:12px 0}.rankingFilters label{font-size:11px;display:flex;flex-direction:column;gap:5px;flex:1}.rankingTable{overflow-x:auto;touch-action:pan-x pan-y}.rankingTable table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.rankingTable th,.rankingTable td{padding:10px 6px;text-align:right;border-bottom:1px solid #2c4659}.rankingTable th:nth-child(2),.rankingTable td:nth-child(2){text-align:left;overflow-wrap:anywhere}.rankingTable tbody tr:first-child{color:#ffe4a0;background:#80603022}.rankingAccount{margin-top:16px;border-top:1px solid #3b6070;padding-top:12px}.rankingAccount a{color:#91eced;display:inline-block;font-size:12px;padding:8px 0;touch-action:manipulation}.rankingAccount button{font-size:12px;margin:5px;padding:10px}.rankingAccount small{display:block;line-height:1.6;color:#a6bac9;font-size:11px}.rankingAccount button:disabled{opacity:.45;cursor:default}.resultActions{flex-wrap:wrap}@media(max-height:400px){#onlineRanking{padding:6px}.rankingCard{padding:10px}.rankingHeader h2{font-size:17px}.rankingHeader button{padding:8px 14px}.rankingTable th,.rankingTable td{padding:7px 4px}}
