*{box-sizing:border-box}body{color:#edf2e7;background:#102b31;margin:0;font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,sans-serif}button{font:inherit;cursor:pointer;color:#e6ede3;background:#173c43;border:1px solid #ffffff29;border-radius:5px;padding:12px 16px;transition:background .15s,transform .15s}button:hover{background:#27555b}button:focus-visible{outline-offset:4px;outline:2px solid #f3cd87}button:disabled{opacity:.4;cursor:wait}button:active{transform:translateY(1px)}.accent{color:#1f302f;background:#d8b579;border-color:#e6c48d;font-weight:750}.accent:hover{background:#eccb96}button[aria-pressed=true]{background:#284a4c;border-color:#e0be85}#game{width:100vw;height:100dvh;min-height:640px;position:relative;overflow:hidden}#sea{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}header{pointer-events:none;background:linear-gradient(#092830e8,#0000);align-items:center;gap:28px;height:100px;padding:24px 34px;display:flex;position:absolute;inset:0 0 auto}header button{pointer-events:auto;margin-left:auto;padding:9px 13px;font-size:12px}.brand{align-items:center;gap:13px;display:flex}.brand>b{letter-spacing:-4px;color:#e4c495;border-right:1px solid #bdcfbb55;padding-right:18px;font-family:serif;font-size:43px;font-weight:400}.brand>span{letter-spacing:4px;font-size:22px;font-weight:650}.brand small{letter-spacing:1px;color:#b6cbc8;margin-top:5px;font-size:10px;font-weight:400;display:block}.tag{letter-spacing:2px;color:#b7ccc7;font-size:10px}.tag span{letter-spacing:.3px;color:#9fb8b6;margin-top:8px;font-size:10px;display:block}.mission{pointer-events:none;text-shadow:0 1px 8px #082d35;width:242px;position:absolute;top:127px;left:34px}.eyebrow{letter-spacing:3px;color:#d9bb87;font-size:10px;font-weight:600}h1{letter-spacing:-.8px;margin:16px 0 24px;font-family:serif;font-size:31px;font-weight:400;line-height:1.42}#phase{color:#cce6e2;border-top:1px solid #b2d1c330;border-bottom:1px solid #b2d1c330;padding:10px 0;font-size:13px}.score{justify-content:space-between;padding-top:10px;font-size:11px;display:flex}.score b{color:#f5d69c;margin-left:5px;font-size:23px;font-weight:500}.score small{color:#adc8c6;font-size:10px}.flagship{align-items:center;gap:10px;margin-top:18px;font-size:10px;display:flex}meter{width:180px;height:7px}meter::-webkit-meter-bar{background:#193e45;border:0}meter::-webkit-meter-optimum-value{background:#a5cab3}.objective{color:#abc9c7;margin-top:18px;font-size:11px;line-height:1.8}.clock{text-align:right;position:absolute;top:128px;right:34px}#clock{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:30px;display:block}#run-state{color:#c9deda;letter-spacing:2px;margin-top:6px;font-size:10px;display:block}#help{z-index:5;background:#102f36f2;border:1px solid #86aaa653;border-radius:7px;width:310px;padding:24px;font-size:12px;line-height:1.9;position:absolute;top:98px;right:34px;box-shadow:0 16px 40px #00151d66}#help small{color:#a8c3bf;font-size:10px}#notice{color:#e9ddb9;text-align:center;pointer-events:none;background:#163a40b8;border:1px solid #baceb92a;border-radius:30px;padding:10px 20px;font-size:12px;position:absolute;top:105px;left:50%;transform:translate(-50%)}.command-deck{background:#102c34ed;border:1px solid #9cbaac40;border-radius:9px;width:min(920px,100% - 40px);padding:14px 17px 8px;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #061f2680}.groups{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.group{text-align:left;background:#183941;padding:11px 14px;position:relative}.group .num{color:#e4c796;border:1px solid #d1bc8866;border-radius:3px;margin-right:10px;padding:2px 5px;font-size:10px}.group strong{font-size:14px;font-weight:500}.group em{float:right;color:#a4c4bf;font-size:11px;font-style:normal;line-height:22px}.hp-track{background:#041f2870;height:3px;margin-top:10px;display:block}.hp-fill{background:#91c8bd;height:3px;transition:width .2s;display:block}.group:nth-child(2) .hp-fill{background:#ebc888}.group:nth-child(3) .hp-fill{background:#b2bfd5}.group:nth-child(4) .hp-fill{background:#b4c88e}.commands{align-items:center;gap:8px;margin-top:12px;display:flex}.commands button{white-space:nowrap;padding:10px 13px;font-size:12px}.commands .divider{flex:1}kbd{font:inherit;opacity:.5;margin-left:10px}.hint{text-align:center;color:#87aaa9;margin:12px 0 3px;font-size:10px}.hint span{padding:0 14px}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;background:#061c26a6;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.overlay[hidden]{display:none}.brief{text-align:center;background:linear-gradient(140deg,#22434a,#0f2c35);border:1px solid #a2bca35e;border-radius:8px;width:450px;max-width:calc(100% - 32px);padding:40px;box-shadow:0 24px 80px #041821bb}.brief h2{margin:23px 0;font-family:serif;font-size:37px;font-weight:400}.brief p{color:#bdd2cb;font-size:13px;line-height:1.9}.brief-facts{color:#9ebeb8;border-block:1px solid #acc2b42c;justify-content:space-around;margin:27px 0;padding:20px 0;font-size:11px;display:flex}.brief-facts b{color:#ede1b9;margin-top:7px;font-size:18px;font-weight:400;display:block}#asset-status{font-size:11px}#start{width:100%;margin-top:12px}.brief .prototype-note{color:#90aeab;margin-bottom:0;font-size:10px}@media (width<=950px){.mission{width:185px;top:105px;left:22px}h1{margin:12px 0;font-size:24px}.objective{display:none}.score{display:block}.score span{margin:6px 0;display:block}.flagship{width:165px}header{padding:20px 22px}.commands{flex-wrap:wrap;gap:5px}.commands button{padding:10px;font-size:11px}.commands .divider{display:none}.hint{font-size:9px}.hint span{padding:0 5px}#notice{width:320px;top:90px}#help{right:22px}.clock{top:117px;right:22px}}@media (width<=600px){#game{min-height:620px}.tag{display:none}.brand>b{font-size:31px}.brand>span{font-size:17px}header{height:75px;padding:12px 16px}.mission{width:130px;top:100px;left:16px}.mission h1,.mission>.eyebrow,.objective,.flagship{display:none}#phase{margin:0;padding:6px 0;font-size:10px}.score{flex-direction:column;padding:2px 0;display:flex}.score b{font-size:19px}.clock{top:107px;right:16px}#clock{font-size:24px}#notice{width:calc(100% - 32px);padding:7px 12px;font-size:10px;top:73px}.command-deck{width:calc(100% - 20px);padding:9px;bottom:10px}.groups{gap:5px}.group{padding:9px 7px}.group .num{display:none}.group strong{font-size:12px}.group em{float:none;font-size:9px;line-height:17px;display:block}.hp-track{margin-top:6px}.commands{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.commands button{padding:10px 4px;font-size:10px}kbd,.hint{display:none}#help{width:calc(100% - 24px);top:72px;right:12px}.brief{padding:28px}.brief h2{font-size:32px}}.brief h2{word-break:keep-all;overflow-wrap:normal}[hidden]{display:none!important}#lesson{z-index:3;background:linear-gradient(150deg,#173c42f5,#102e35f2);border:1px solid #adbc9460;border-radius:9px;width:300px;padding:23px;position:absolute;top:119px;left:28px;box-shadow:0 12px 30px #061c2533}#lesson h1{word-break:keep-all;margin:15px 0 8px;font-size:25px;line-height:1.3}#lesson-title:focus{outline:none}.lesson-top{justify-content:space-between;align-items:center;gap:8px;display:flex}#lesson-safety{color:#b7dbbd;font-size:10px}#lesson-speaker{color:#a5bbb7;margin:0 0 17px;font-size:10px}#lesson-copy{color:#d7e3d9;word-break:keep-all;margin:0 0 14px;font-size:13px;line-height:1.8}#lesson-instruction{color:#f0d095;word-break:keep-all;margin:12px 0 6px;font-size:12px;line-height:1.7}#lesson-feedback{color:#bdcfc8;min-height:18px;margin:5px 0 10px;font-size:11px;line-height:1.6}.lesson-actions{gap:8px;display:grid}.lesson-actions button{white-space:normal;word-break:keep-all;padding:12px 8px;font-size:12px}#lesson-wrong{color:#bccdc5;background:#173a41}#formation-sketch{opacity:.85;height:62px}#formation-sketch svg{width:100%;height:100%}.group.expected{border-color:#edc985;box-shadow:0 0 0 2px #edc985}.group.expected .num{color:#ffe4ae}button:disabled{cursor:default}#map-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.map-label{letter-spacing:3px;color:#e7e7bf;text-shadow:0 2px 7px #112e22,0 0 5px #112e22;white-space:nowrap;font-size:12px;position:absolute;transform:translate(-50%,-50%)}.mission{text-align:right;width:185px;top:185px;left:auto;right:28px}.mission .score{flex-direction:column;gap:7px;display:flex}.mission .flagship{justify-content:flex-end}.mission meter{width:115px}#phase{font-size:11px}#notice{z-index:2;max-width:440px;font-size:11px;top:99px}.clock{top:119px;right:28px}#help{z-index:6;max-height:calc(100dvh - 180px);overflow:auto}#help details{font-size:11px}#help a{color:#eccb96}#terrain-credit{font-size:9px;line-height:1.5}.brief h2{word-break:keep-all}#retry{width:100%;margin-top:10px}#game.story-battle #lesson{opacity:.95}#game.story-battle #formation-sketch{display:none}@media (width<=1100px) and (width>=761px){#lesson{width:260px;padding:18px;left:20px}.mission{width:130px;right:20px}.mission .flagship{display:none}#lesson h1{font-size:22px}#lesson-copy{font-size:12px}.clock{right:20px}#notice{max-width:360px;top:89px}}@media (width<=760px){#game{min-height:720px}header{height:72px;padding:12px 16px}.tag{display:none}.brand>b{font-size:31px}.brand>span{font-size:17px}#sea{height:calc(100% - 425px);min-height:270px;top:65px}#map-labels{height:calc(100% - 425px);top:65px}#lesson{width:calc(100% - 20px);max-height:215px;padding:13px 16px;top:auto;bottom:177px;left:10px;overflow:auto}#lesson h1{margin:8px 0;font-size:20px}#lesson-speaker{display:none}#lesson-copy{margin:0 0 6px;font-size:12px;line-height:1.6}#lesson-instruction{margin:5px 0;font-size:11px}#lesson-feedback{min-height:0;margin:4px 0;font-size:10px}#formation-sketch{display:none}.lesson-actions{gap:7px;display:flex}.lesson-actions button{flex:1;padding:10px 6px;font-size:11px}.lesson-top .eyebrow{font-size:9px}.mission{text-align:left;width:100px;top:86px;left:16px;right:auto}.mission .score{gap:1px}.mission .score span{margin:0;font-size:9px}.mission .score b{font-size:16px}.mission #phase,.mission .flagship{display:none}.clock{top:85px;right:16px}#clock{font-size:22px}#notice{background:#12343b99;width:calc(100% - 30px);max-width:none;padding:5px 9px;font-size:9px;top:144px;left:50%}.command-deck{width:calc(100% - 20px);padding:9px;bottom:10px}.groups{gap:5px}.group{padding:8px 6px}.group .num{display:none}.group strong{font-size:12px}.group em{float:none;font-size:9px;line-height:17px;display:block}.commands{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;display:grid}.commands button{white-space:normal;padding:9px 3px;font-size:10px}.commands .divider,.hint{display:none}#help{width:calc(100% - 24px);top:72px;right:12px}.brief{padding:27px}.brief h2{font-size:31px}.brief-facts{margin:17px 0;padding:14px 0}.brief-facts b{font-size:13px}.map-label{letter-spacing:1px;font-size:10px}}#lesson{width:320px;padding:22px}#lesson h1{font-family:inherit;font-size:24px;font-weight:700;line-height:1.4}.next-action{border-top:1px solid #d9bd7959;border-bottom:1px solid #d9bd793d;margin:12px 0 16px;padding:14px 0 11px}.next-label{letter-spacing:1px;color:#ffda94;font-size:11px}#lesson-instruction{color:#fff1cf;margin:8px 0 13px;font-size:15px;line-height:1.6}#lesson-action{width:100%;min-height:50px;font-size:16px;font-weight:750}#lesson-action:not(:disabled):after{content:"  →"}#lesson-feedback{min-height:0;margin:10px 0 0}#lesson-copy{font-size:13px;line-height:1.75}#lesson-speaker{opacity:.7;margin:10px 0 0}#formation-sketch{height:46px;margin-top:10px}#lesson-wrong{text-underline-offset:3px;text-align:left;background:0 0;border:0;padding:8px 0;font-size:11px;text-decoration:underline}#lesson-wrong:hover{color:#ffdb99}.world-callout{z-index:2;white-space:nowrap;position:absolute;transform:translate(-50%,-100%);box-shadow:0 5px 16px #001e3360}.enemy-callout{color:#ffcab9;pointer-events:none;background:#512d2dec;border:1px solid #cc8477aa;border-radius:5px;padding:7px 12px;font-size:12px}.target-callout{color:#142d31;background:#f5cd82;border:2px solid #ffefc1;min-height:44px;padding:9px 14px;font-size:13px;font-weight:750}.target-callout:hover{background:#ffe5ae}.target-callout:after{content:"";border:7px solid #0000;border-top-color:#ffefc1;border-bottom:0;position:absolute;bottom:-10px;left:calc(50% - 7px)}.mission .enemy-composition,.mission .scale-note{color:#cbd9ce;margin-top:0;font-size:9px}.mission .score b{font-size:25px}#notice{background:#0a2931e8;border-color:#f5cd8270;max-width:390px;font-size:12px;font-weight:650}#game.guided #wings,#game.guided #retreat,#game.guided #fire{display:none}#game.guided .commands{justify-content:flex-end}#game.guided .hint{color:#d7cca9}#game.guided #pause:disabled{display:none}#lesson-action:focus-visible,.target-callout:focus-visible{outline-offset:4px;outline:3px solid #fff}@media (width<=1100px) and (width>=761px){#lesson{width:278px;padding:18px}#lesson h1{font-size:22px}#lesson-instruction{font-size:13px}#lesson-action{font-size:14px}.mission{width:150px}}@media (width<=760px){#sea,#map-labels{height:calc(100% - 445px)}#lesson{width:calc(100% - 20px);max-height:260px;padding:13px 16px;bottom:177px;left:10px}#lesson h1{margin:7px 0;font-size:19px}.next-action{margin:6px 0 8px;padding:6px 0 9px}.next-label{display:none}#lesson-instruction{margin:2px 0 8px;font-size:12px;line-height:1.5}#lesson-action{min-height:44px;font-size:14px}#lesson-copy{margin:0;font-size:11px;line-height:1.5}#lesson-feedback{margin-top:7px;font-size:11px}#lesson-wrong{padding:6px 0;font-size:10px}.mission{width:130px}.mission .score b{font-size:17px}.mission .enemy-composition,.mission .scale-note{display:none}#notice{font-size:10px;top:170px}.enemy-callout{padding:5px 8px;font-size:10px}.target-callout{min-height:40px;padding:7px 10px;font-size:11px}#game.guided #lesson{bottom:137px}#game.guided .command-deck{height:117px}#game.guided .commands{gap:6px;display:flex}#game.guided .commands button{flex:1}#game.guided #sea,#game.guided #map-labels{height:calc(100% - 390px)}}.mission .score small span{display:inline!important}@media (width<=760px){#notice{display:none}}#game.guided #notice{display:none}.mission{background:#102f36eb;border:1px solid #95b7ad38;border-radius:8px;width:215px;padding:12px}.mission .score{padding-top:8px}.mission .flagship{width:auto}@media (width<=1100px) and (width>=761px){.mission{width:165px}}@media (width<=760px){.mission{background:0 0;border:0;width:130px;padding:0}.mission .score{padding-top:2px}}#camera-mode{white-space:nowrap}#help-toggle{white-space:nowrap;margin-left:0}@media (width<=760px){header{gap:12px}header button{padding:8px;font-size:11px}#camera-mode{margin-left:auto}#map-labels{display:none}}#language-toggle{z-index:11;white-space:nowrap;margin-left:0;position:relative}.score>span>[data-i18n]{display:inline!important}:lang(en) .brand>span{letter-spacing:2px}:lang(en) .brand small{letter-spacing:0;white-space:nowrap}:lang(en) .group em{float:none;margin-top:4px;line-height:17px;display:block}:lang(en) .commands button{white-space:normal}:lang(en) .lesson-top .eyebrow{letter-spacing:1.2px}:lang(en) #run-state{letter-spacing:1px}@media (width<=1100px){header{gap:14px}.tag{display:none}}@media (width<=760px){header{gap:6px;padding:12px 10px}.brand{gap:6px}.brand>b{padding-right:7px;font-size:25px}.brand>span{font-size:15px}.brand small{font-size:8px}.brand{flex-shrink:0}header button{padding:8px 7px;font-size:10px}:lang(en) .brand small{white-space:normal;max-width:80px}:lang(en) .brief h2{font-size:29px}:lang(en) .brief{padding:24px}:lang(en) .brief p{line-height:1.65}:lang(en) .brief-facts b{font-size:12px}:lang(en) .brief-facts{gap:10px}:lang(en) #lesson{max-height:280px}:lang(en) #lesson h1{font-size:18px}:lang(en) #lesson-action{font-size:13px}:lang(en) .group strong{font-size:11px}:lang(en) .group em{font-size:8px;line-height:14px}}
