:root{color-scheme:dark;--bg:#080e19;--mint:#c6f88c;--cyan:#7cded9;--text:#f2f6f4;--dim:#8f9ea9;--line:rgba(161,203,215,.16);--panel:rgba(10,21,33,.81);font-family:"Pretendard","Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overflow:hidden;font-size:14px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;transition:background .18s,transform .18s,border-color .18s}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button:hover:not(:disabled){filter:brightness(1.13)}button:active:not(:disabled){transform:translateY(1px)}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}button kbd{font-family:inherit}.hidden{display:none!important}#universe{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,12,20,.74),transparent 67%),linear-gradient(0deg,rgba(5,12,20,.5),transparent 30%)}body.in-game .vignette{background:linear-gradient(0deg,rgba(5,12,20,.85),transparent 24%)}.topbar{position:fixed;z-index:10;top:0;left:0;right:0;height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 4.2%;border-bottom:1px solid var(--line);background:linear-gradient(rgba(6,14,23,.55),rgba(6,14,23,.12))}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);font-size:16px;font-weight:750;letter-spacing:-.6px}.brand>svg{width:39px;height:39px;fill:none;stroke:var(--mint);stroke-width:1.2}.brand .dot{fill:var(--mint);stroke:none}.brand small{display:block;font-family:ui-monospace,monospace;font-size:8px;letter-spacing:2px;color:var(--dim);margin-top:5px;font-weight:400}.utilities{display:flex;align-items:center;gap:9px}.save-label{color:var(--dim);font-size:11px;margin-right:16px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(13,28,41,.38);border-radius:50%;font-size:16px}.icon-button.muted{color:#6d7d8c}.menu{position:relative;height:100dvh;min-height:660px;padding:0 6.8%;display:flex;align-items:center}.hero{position:relative;width:535px;padding-bottom:10px;z-index:2;margin-top:72px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--mint);display:flex;align-items:center;gap:10px}.pulse-dot,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #a3d872;flex-shrink:0}.hero h1{font-size:clamp(44px,4.5vw,71px);line-height:1.2;letter-spacing:-3.9px;font-weight:720;margin:28px 0 22px}.hero em,.ending em{color:var(--mint);font-style:normal}.hero-copy{color:#aab8c4;font-size:14px;line-height:1.9;font-weight:400;margin:0 0 31px}.setup-label{display:flex;justify-content:space-between;align-items:center;color:#d2dbde;font-size:11px;margin-bottom:12px}.setup-label span:last-child{font-size:9px;letter-spacing:1.8px;color:#627b8d;font-family:ui-monospace,monospace}.player-select{display:flex;gap:10px}.player-option{position:relative;flex:1;display:flex;align-items:center;gap:13px;padding:18px 15px;border:1px solid #314350;border-radius:5px;background:rgba(10,23,35,.68);text-align:left}.player-option.selected{border-color:var(--mint);background:rgba(128,167,97,.09)}.mode-icon{font-family:ui-monospace,monospace;font-size:23px;font-weight:300;color:#6b8294}.selected .mode-icon{color:var(--mint)}.player-option strong{display:block;font-size:14px;font-weight:650}.player-option small{display:block;color:var(--dim);font-size:10px;margin-top:5px;white-space:nowrap}.player-option i{width:6px;height:6px;border-radius:50%;border:1px solid #3a5260;position:absolute;right:11px;top:11px}.player-option.selected i{background:var(--mint);border-color:var(--mint)}.difficulty{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--dim);margin:17px 0 22px}.difficulty>div{border:1px solid var(--line);border-radius:4px;padding:3px;display:flex;gap:3px}.difficulty button{background:transparent;padding:5px 11px;border-radius:2px;color:#8295a5;font-size:10px}.difficulty button.selected{background:#263a40;color:#def4dc}.difficulty small{font-size:10px;color:#6e8495}.launch-row{display:flex;gap:12px}.primary{background:var(--mint);color:#182516;display:flex;justify-content:space-between;align-items:center;gap:35px;padding:19px 24px;border-radius:4px;font-size:15px;font-weight:750;min-width:215px}.primary span{font-size:25px;font-weight:400;line-height:1}.launch-row .primary{flex:1}.secondary{display:flex;align-items:center;justify-content:center;gap:20px;background:rgba(32,53,64,.6);border:1px solid #415663;border-radius:4px;padding:14px 22px;font-size:13px;font-weight:600}.text-button{background:none;padding:0;color:var(--dim);font-size:11px}.hero>.text-button{margin-top:18px}.text-button span{margin-left:10px}.menu-keys{display:flex;gap:16px;margin-top:16px;min-height:18px}.key-zone{font-size:9px;color:#708594;display:flex;align-items:center;gap:5px}.key-zone b{font-family:ui-monospace,monospace;font-weight:400;color:#a5b8c2;border-bottom:1px solid #36505c;padding:1px 3px}.planet-label{position:absolute;left:70%;top:58%;display:flex;align-items:center;gap:17px;z-index:1}.reticle{width:34px;height:34px;border:1px solid #b2f1df6e;border-radius:50%;display:grid;place-items:center;font-size:23px;font-weight:200;color:#b2f1df}.planet-label span,.planet-label small{display:block;font-size:10px;color:#98bcbf}.planet-label strong{display:block;font-size:34px;font-weight:300;letter-spacing:7px;line-height:1.5}.planet-label small{font-size:9px;letter-spacing:.5px}.orbit-note{position:absolute;right:7%;bottom:20%;font-size:11px;letter-spacing:1px;color:#93acb8;display:flex;align-items:center;gap:10px}.orbit-note .pulse-dot{width:4px;height:4px}.menu-footer{position:absolute;bottom:0;left:6.8%;right:6.8%;height:87px;display:flex;align-items:center;gap:38px;border-top:1px solid var(--line)}.menu-footer>span{font-size:10px;color:#8399a8;display:flex;gap:10px;align-items:center}.menu-footer b{font-family:ui-monospace,monospace;font-size:20px;letter-spacing:1px;font-weight:300;color:#c2d3dc}.menu-footer>small{margin-left:auto;color:#7c929e;font-size:10px;display:flex;gap:13px}.menu-footer i{color:var(--mint);font-style:normal}.glass{background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-radius:7px}.route{display:none;gap:15px;align-items:center}.route span{width:24px;height:24px;font:10px ui-monospace,monospace;border:1px solid #405362;border-radius:50%;display:grid;place-items:center;position:relative;color:#768c9b}.route span:not(:last-child):after{content:"";position:absolute;left:27px;top:11px;width:10px;height:1px;background:#354954}.route span.done{background:var(--mint);color:#0c2114;border-color:var(--mint)}.route span.current{border-color:var(--mint);color:var(--mint);box-shadow:0 0 16px #b8e78026}body.in-game .route{display:flex}body.in-game .topbar{height:76px;padding:0 28px}.hud{position:fixed;inset:76px 0 0;pointer-events:none}.hud button{pointer-events:auto}.mission-panel{position:absolute;left:24px;top:22px;width:232px;padding:19px 18px}.mission-panel .eyebrow{font:9px ui-monospace,monospace;letter-spacing:1px;justify-content:space-between}.mission-panel h2{font-size:22px;letter-spacing:-.6px;margin:16px 0 7px}.mission-panel p{font-size:11px;line-height:1.6;color:#8fa4b4;margin:0}.mission-progress{display:flex;justify-content:space-between;padding:19px 0 16px;border-bottom:1px solid var(--line);font-size:10px;color:#9bb2c1}.mission-progress strong{color:#d5e0e4;font-weight:500}.clue-heading{display:flex;justify-content:space-between;font-size:10px;margin-top:16px;color:#94a9b6}.clue-heading small{color:var(--mint);font-family:monospace}.clue-slots{display:flex;gap:5px;margin-top:11px}.clue-slots span{height:29px;flex:1;border:1px solid #334955;display:grid;place-items:center;color:#627b8b;border-radius:3px;font:13px ui-monospace,monospace}.clue-slots .found{color:var(--mint);border-color:#728f5d;background:#a6d77712}.order-status{margin-top:16px;padding-top:13px;border-top:1px solid var(--line);font-size:10px;color:var(--cyan)}.fleet-panel{position:absolute;top:22px;right:24px;width:202px}.fleet-heading{display:flex;justify-content:space-between;margin-bottom:12px;color:#c7d9e1;font-size:11px}.fleet-heading small{font-size:9px;color:#89a2b0;font-family:monospace}.ship-card{display:flex;gap:10px;align-items:center;padding:12px 11px;margin-top:6px;background:rgba(9,22,35,.82);border:1px solid var(--line);border-radius:4px}.ship-card.destroyed{opacity:.35}.ship-icon{width:30px;height:31px;color:var(--cyan);flex-shrink:0}.ship-icon svg{width:100%;height:100%;fill:#172e3c;stroke:currentColor;stroke-width:1.2}.ship-details{flex:1;min-width:0}.ship-name{font-size:11px;display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.ship-name small{font:8px ui-monospace,monospace;color:var(--mint)}.bar{height:3px;background:#263b49;overflow:hidden;border-radius:5px;margin-top:4px}.bar>span{display:block;height:100%;background:var(--mint);transition:width .15s}.bar.shield{height:2px}.bar.shield>span{background:var(--cyan)}.ship-health{font:8px ui-monospace,monospace;color:#7294a8;display:block;text-align:right;margin-top:5px}.bottom-hud{position:absolute;bottom:16px;left:24px;right:24px}.pilot-panels{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px;pointer-events:none}.pilot-panel{padding:12px 14px;border:1px solid var(--line);background:rgba(9,22,35,.86);border-radius:5px;min-width:225px;pointer-events:auto}.pilot-label{display:flex;gap:9px;align-items:center;font-size:10px;color:#93a9b5;margin-bottom:10px}.pilot-label b{font-family:monospace;letter-spacing:1px;color:var(--mint)}.pilot-panel.p2 .pilot-label b{color:#9bc2ff}.pilot-abilities{display:flex;gap:7px}.ability{background:#132735;border:1px solid #344a58;border-radius:4px;padding:6px 9px;display:flex;gap:8px;align-items:center;min-width:86px;font-size:10px;text-align:left}.ability kbd{font:11px ui-monospace,monospace;padding:3px;min-width:19px;color:var(--mint);border:1px solid #5b7665;border-radius:2px;text-align:center}.ability small{display:block;color:#6f929e;font:8px ui-monospace,monospace;margin-top:3px}.ability.ready small{color:var(--mint)}.tactics{width:max-content;margin:0 auto;padding:11px 15px}.tactic-title{font-size:9px;color:#a8bfcc;display:flex;justify-content:space-between;margin-bottom:10px}.tactic-title span{font-size:8px;color:#627e8f}.tactic-buttons{display:flex;gap:7px}.tactic-buttons button{min-width:130px;padding:10px 15px;position:relative;background:#122533;border:1px solid #2a4556;border-radius:4px;text-align:left}.tactic-buttons .active{border-color:#b6e286;background:rgba(142,181,106,.1)}.tactic-buttons kbd{float:left;font-size:10px;line-height:25px;color:#78929b;margin-right:12px}.tactic-buttons span{display:block;font-size:11px}.tactic-buttons small{display:block;font-size:8px;margin-top:3px;color:#7692a1}.tactic-buttons .active span,.tactic-buttons .active kbd{color:var(--mint)}.battle-footer{display:flex;justify-content:space-between;margin-top:14px;font-size:9px;color:#7e98a8;letter-spacing:.2px}.battle-footer b{margin:0 9px;font-weight:400;color:#405a6b}.battle-footer i{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--mint);margin:0 5px 2px 0}#elapsed{font-family:monospace}.toast{position:absolute;left:50%;top:25px;transform:translateX(-50%);padding:11px 22px;max-width:460px;background:#172e3bec;border:1px solid #668d89;border-radius:4px;font-size:12px;color:#c6f2de;z-index:20;text-align:center}.modal-layer{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(3,9,16,.65);backdrop-filter:blur(9px);padding:24px}.modal{width:min(610px,100%);max-height:90dvh;overflow:auto;padding:35px 38px;background:rgba(11,25,39,.96);box-shadow:0 30px 120px #0006}.modal .eyebrow{font-size:9px;letter-spacing:2px}.modal h2{font-size:30px;line-height:1.3;letter-spacing:-1px;margin:18px 0 12px}.modal p{font-size:13px;line-height:1.8;color:#a5bbc8}.modal .primary{width:100%;margin-top:25px;padding:16px 20px}.modal .secondary{width:100%;margin-top:10px}.modal .text-button{display:block;margin:18px auto 0}.modal-close{float:right;background:none;font-size:25px;color:#a1b3bd;padding:0 0 5px 10px}.briefing-map{display:flex;align-items:center;gap:10px;margin:24px 0;border-bottom:1px solid var(--line);padding-bottom:23px}.briefing-map span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid #3f5968;font:11px monospace;color:#6d8798}.briefing-map span.active{border-color:var(--mint);color:var(--mint)}.briefing-map i{height:1px;width:30px;background:#355164}.briefing-tips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.briefing-tips>div{border:1px solid var(--line);padding:14px;border-radius:4px}.briefing-tips strong{font-size:11px;color:var(--mint)}.briefing-tips p{margin:6px 0 0;font-size:10px;line-height:1.7}.keyboard-guide{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.keyboard-side{background:#0b1723;border:1px solid var(--line);padding:18px;border-radius:5px}.keyboard-side h3{font-size:12px;font-weight:600;margin:0 0 16px;color:var(--mint)}.keyboard-side.right h3{color:#9bc2ff}.key-rows{display:grid;gap:5px;margin-bottom:15px;justify-content:center}.key-rows>div{display:flex;gap:5px;justify-content:center}.key-rows kbd,.ability-keys kbd{width:29px;height:28px;display:inline-grid;place-items:center;border:1px solid #4d6877;border-bottom-width:3px;border-radius:4px;background:#203642;font:12px monospace}.keyboard-side.right kbd{border-color:#486685}.ability-keys{font-size:10px;color:#aac0cb;display:flex;flex-direction:column;gap:8px}.ability-keys>span{display:flex;align-items:center;gap:8px}.ability-keys kbd{width:25px;height:24px}.help-details{border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px;font-size:11px;color:#93adbd}.help-details b{color:#d3e6ed;font-weight:500}.clue-reward{display:flex;align-items:center;gap:20px;margin:22px 0;padding:21px;background:linear-gradient(110deg,#b2ef8817,#4fc6d509);border:1px solid #789e6055;border-radius:5px}.clue-digit{font:48px ui-monospace,monospace;color:var(--mint);border:1px solid #779b67;width:76px;height:82px;display:grid;place-items:center;border-radius:4px}.clue-reward strong{font-size:13px;display:block;color:var(--mint);margin:5px 0}.clue-reward p{font-size:11px;margin:0}.reward-label{font-size:11px;color:#a8becb;margin:22px 0 11px}.upgrade-options{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.upgrade-option{text-align:left;background:#102637;border:1px solid #345368;border-radius:5px;padding:14px 12px}.upgrade-option.selected{background:#adcf7f15;border-color:var(--mint)}.upgrade-option b{font-size:12px;display:block;color:#d3e3e8}.upgrade-option span{display:block;color:#88a5b6;font-size:10px;line-height:1.6;margin-top:7px}.upgrade-option.selected b{color:var(--mint)}.fraction-equation{display:flex;align-items:center;justify-content:center;gap:18px;margin:28px 0;padding:23px 10px;border:1px solid var(--line);border-radius:5px;background:#081722;font-size:23px;color:#6d8a98}.fraction{display:inline-flex;flex-direction:column;align-items:center;font:28px ui-monospace,monospace;color:var(--mint);gap:8px;min-width:42px}.fraction>span:first-child{border-bottom:2px solid #89ad6a;padding:0 9px 8px}.answer-row{display:flex;align-items:center;justify-content:center;gap:17px;color:#bad0da}.answer-fraction{display:flex;flex-direction:column;gap:9px;align-items:center}.answer-fraction input{width:78px;height:43px;border:1px solid #476275;border-radius:4px;background:#0d2030;color:#e2efdc;font:21px monospace;text-align:center}.answer-fraction i{height:2px;width:90px;background:#7a9bab}.answer-note{font-size:10px;text-align:center;color:#819cab;margin-top:20px}.puzzle-feedback{min-height:24px;font-size:12px;line-height:1.6;color:#f0c88b;text-align:center;margin-top:17px}.fraction-hint{padding:15px;background:#b0d9870c;border:1px solid #718c5755;border-radius:5px;font-size:11px;line-height:1.8;color:#bfd2bd;margin-top:15px}.ending{position:relative;z-index:2;min-height:100dvh;padding:clamp(145px,18vh,210px) 8% 70px;max-width:650px}.ending h1{font-size:clamp(55px,6vw,86px);line-height:1.14;letter-spacing:-4px;margin:28px 0}.ending p{font-size:15px;line-height:1.9;color:#afc2ca}.ending-coordinate{display:flex;flex-direction:column;gap:9px;border-left:2px solid var(--mint);padding-left:17px;margin:32px 0}.ending-coordinate span{font-size:10px;color:#80a5a8;letter-spacing:1px}.ending-coordinate strong{font-size:17px;font-weight:500}.ending>.primary{margin-top:30px;width:270px}.ending>small{display:block;color:#79949e;font-size:10px;margin-top:28px}#ending-stats{color:#8ba8b3;font-size:12px}.touch-controls{display:none}
@media(min-height:930px){.hero{margin-top:30px}.hero h1{margin-top:34px;margin-bottom:27px}.hero-copy{margin-bottom:36px}.player-option{padding-top:21px;padding-bottom:21px}}
@media(max-height:780px) and (min-width:900px){.topbar{height:76px}.menu{min-height:590px}.hero{width:500px;margin-top:48px;padding-bottom:25px}.hero h1{font-size:48px;margin:19px 0 14px;letter-spacing:-2.6px}.hero-copy{font-size:12px;margin-bottom:20px;line-height:1.7}.player-option{padding:14px 13px}.difficulty{margin:12px 0 16px}.primary{padding:15px 20px}.hero>.text-button{margin-top:13px}.menu-keys{margin-top:11px}.menu-footer{height:60px}.mission-panel{width:210px;padding:15px}.mission-panel h2{font-size:20px}.fleet-panel{width:180px}.ship-card{padding:9px}.pilot-panels{margin-bottom:10px}.pilot-panel{padding:9px 11px}.tactics{padding:9px 12px}.tactic-buttons button{padding:7px 12px}.tactic-title{margin-bottom:7px}.bottom-hud{bottom:12px}.battle-footer{margin-top:9px}}
@media(max-width:1000px){.save-label{display:none}.hero{width:470px}.hero h1{font-size:50px}.planet-label{left:74%;top:51%}.planet-label strong{font-size:27px}.planet-label small{max-width:100px;line-height:1.5}.orbit-note{display:none}.menu-footer{gap:20px}.menu-footer>small{font-size:9px}.menu-footer>span{font-size:9px;gap:6px}.menu-footer b{font-size:16px}.route{gap:9px}.route span{width:19px;height:19px;font-size:8px}.route span:not(:last-child):after{left:21px;width:5px;top:8px}.mission-panel{width:190px;left:15px;top:15px;padding:14px}.mission-panel h2{font-size:18px}.fleet-panel{right:15px;top:15px;width:163px}.ship-icon{width:23px}.ship-name{font-size:10px}.ship-card{padding:9px}.bottom-hud{left:15px;right:15px}.pilot-panel{min-width:205px}.tactic-buttons button{min-width:113px}.pilot-panels{margin-bottom:9px}}
@media(max-width:700px){body{overflow:auto}.topbar{height:74px;padding:0 20px}.brand{font-size:14px}.brand>svg{width:31px}.utilities{gap:6px}.icon-button{width:29px;height:29px}.menu{padding:105px 24px 100px;min-height:100dvh;height:auto;display:block}.hero{width:100%;margin:0;padding:0;max-width:500px}.hero h1{font-size:45px;letter-spacing:-2.7px;margin:24px 0 20px}.hero-copy{font-size:12px;margin-bottom:26px}.player-select{gap:8px}.player-option{padding:16px 11px;gap:9px}.player-option small{font-size:8px}.player-option strong{font-size:12px}.mode-icon{font-size:18px}.difficulty{gap:8px}.difficulty small{font-size:8px}.planet-label,.orbit-note{display:none}.vignette{background:linear-gradient(90deg,#05101dea,#05101d77)}.menu-footer{left:24px;right:24px;height:65px;gap:17px}.menu-footer>small{display:none}.menu-footer>span{font-size:8px;gap:5px}.menu-footer b{font-size:15px}.menu-keys{flex-wrap:wrap;gap:10px}.launch-row{flex-direction:column}.launch-row .primary{min-height:53px}.launch-row .secondary{padding:10px}.hero>.text-button{margin-top:19px}.modal-layer{padding:15px}.modal{padding:26px 23px;max-height:92dvh}.modal h2{font-size:25px}.keyboard-guide{gap:8px}.keyboard-side{padding:13px 10px}.keyboard-side h3{font-size:11px}.help-details{font-size:10px}.briefing-map{gap:6px}.briefing-map i{width:18px}.briefing-tips{gap:7px}.briefing-tips>div{padding:11px}.fraction-equation{gap:12px}.fraction{font-size:25px;min-width:30px}.upgrade-option{padding:12px 9px}.upgrade-option b{font-size:10px}.upgrade-option span{font-size:9px}body.in-game{overflow:hidden}body.in-game .topbar{padding:0 13px;height:60px}body.in-game .brand{font-size:11px;gap:7px}body.in-game .brand>svg{width:24px}body.in-game .brand small{font-size:6px;letter-spacing:1px}body.in-game .route{display:none}.hud{inset:60px 0 0}.mission-panel{left:10px;top:10px;width:155px;padding:10px}.mission-panel h2{font-size:15px;margin:11px 0 5px}.mission-panel .eyebrow{font-size:7px}.mission-panel p{font-size:9px}.mission-progress{padding:11px 0;font-size:8px}.clue-heading{font-size:8px;margin-top:10px}.clue-slots{gap:3px;margin-top:8px}.clue-slots span{height:23px;font-size:10px}.order-status{font-size:8px;padding-top:9px;margin-top:10px}.fleet-panel{right:10px;top:10px;width:137px}.fleet-heading{font-size:9px;margin-bottom:7px}.ship-card{gap:6px;padding:7px}.ship-icon{width:18px;height:25px}.ship-name{font-size:9px;margin-bottom:5px}.ship-name small{font-size:7px}.ship-health{font-size:6px}.bottom-hud{bottom:12px;left:10px;right:10px}.pilot-panels{display:none}.tactics{padding:8px;width:100%;max-width:360px}.tactic-title{font-size:8px}.tactic-buttons{gap:5px}.tactic-buttons button{min-width:0;flex:1;padding:9px 8px}.tactic-buttons span{font-size:9px}.tactic-buttons small{font-size:7px}.tactic-buttons kbd{margin-right:7px}.battle-footer{font-size:7px;line-height:1.6}.battle-footer b{margin:0 3px}.toast{top:230px;font-size:10px;padding:9px 13px;width:80%;max-width:300px}.ending{padding:130px 28px 40px;min-height:100dvh}.ending h1{font-size:61px}.ending p{font-size:12px}.ending>.primary{width:240px}.ending .eyebrow{font-size:8px}.ending-coordinate strong{font-size:15px}}
@media(pointer:coarse){.touch-controls{position:absolute;display:flex;bottom:135px;left:15px;right:15px;align-items:end;justify-content:space-between;pointer-events:none}.touch-controls button{touch-action:none;background:#1c3549cc;border:1px solid #56778999;border-radius:8px;padding:12px;color:#c8ebdc}.dpad{display:grid;grid-template-columns:repeat(3,40px);gap:4px}.dpad button{padding:10px}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.touch-controls>div:last-child{display:flex;gap:6px}.touch-controls>div:last-child button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.menu-learning-links{display:flex;align-items:center;gap:25px;margin-top:18px;flex-wrap:wrap}.menu-learning-links #fraction-practice{color:var(--mint)}
@media(max-height:780px) and (min-width:900px){.menu-learning-links{margin-top:13px}}
@media(max-width:700px){.menu-learning-links{gap:15px;margin-top:19px}.menu-learning-links .text-button{font-size:10px}}

.strategy-note{margin-top:14px;padding:11px 0;border-bottom:1px solid var(--line)}.strategy-note strong{font-size:10px;color:#d8eda5;font-weight:650}.mission-panel .strategy-note p{font-size:10px;line-height:1.65;margin-top:6px;color:#94aebe}.mission-panel .mission-progress{padding-bottom:12px}.ship-name b{font:8px ui-monospace,monospace;color:#97b8a2;margin-left:3px}.target-panel{margin-top:11px;padding:12px;background:#1f1c2bdd;border:1px solid #b16c8a55;border-radius:5px}.target-heading span{font-size:8px;color:#c09daf;display:block;margin-bottom:6px}.target-heading b{font-size:11px;font-weight:600;display:block;margin-bottom:9px}.target-panel .bar>span{background:#e49b9d}.target-panel p{font-size:9px;line-height:1.6;color:#c2b3c5;margin:9px 0 0}.battle-systems{position:absolute;top:18px;left:50%;transform:translateX(-50%);width:min(400px,36vw)}.coop-status{padding:10px 14px;background:#0e2131d9;border:1px solid #6496b63b;border-radius:5px}.coop-counters{display:flex;gap:14px;justify-content:space-between;font-size:9px;color:#a9c5d8}.coop-counters b{color:#c6f88c;font:14px ui-monospace,monospace;margin-left:4px}.coop-status p{margin:7px 0 0;color:#83a3b7;font-size:8px;text-align:center;line-height:1.5}.beacon-status{display:flex;gap:8px;margin-bottom:7px}.beacon-status>div{flex:1;background:#142836e8;border:1px solid #507d94;border-radius:5px;padding:8px 11px;display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;font-size:9px;color:#9fc9df}.beacon-status strong{font-size:9px;color:#a5ccdf;font-weight:500}.beacon-status .bar{width:100%;margin-top:1px}.beacon-status .secured{border-color:#8dbd65;background:#233729e8}.beacon-status .secured strong{color:#c6f88c}.hud .toast{top:116px;font-size:11px}.operation-plan{background:#0c1e2d;border:1px solid #385465;border-radius:6px;padding:17px 18px;margin:20px 0}.operation-numbers{display:flex;gap:16px;align-items:center;font-size:10px;color:#8ca8bc;padding-bottom:14px;border-bottom:1px solid var(--line)}.operation-numbers b{color:#d9edc8;font-weight:600;margin-left:4px}.operation-threat{margin-top:14px;display:flex;gap:12px;align-items:baseline;font-size:11px}.operation-threat span{color:#b18e92;white-space:nowrap}.operation-threat strong{color:#e6c1ae;font-weight:500}.operation-tactic{margin-top:13px}.operation-tactic>span{font-size:10px;color:#98cdd0}.modal .operation-tactic p{font-size:12px;color:#c1d6df;margin:6px 0 0;line-height:1.75;word-break:keep-all}.operation-goal{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;font-size:10px;color:#bddc9b;line-height:1.6}.operation-plan+.briefing-map{margin:18px 0;padding-bottom:17px}.tactical-guide{border-top:1px solid var(--line);margin-top:19px;padding-top:5px}.tactical-guide h3{font-size:13px;color:#c6f88c;margin:18px 0 8px}.modal .tactical-guide p{font-size:11px;line-height:1.8;margin:7px 0}.tactical-guide b{color:#c3ddeb;font-weight:600}.modal .tactical-guide .tactical-key-reminder{color:#b1ce9b;margin-top:16px}
@media(max-height:780px) and (min-width:900px){.strategy-note{margin-top:9px;padding:8px 0}.mission-panel .strategy-note p{font-size:9px;margin-top:4px}.mission-panel .clue-heading{margin-top:11px}.mission-panel .order-status{margin-top:11px;padding-top:10px}.operation-plan{padding:13px 16px;margin:15px 0}.operation-numbers{padding-bottom:10px}.operation-threat{margin-top:10px}.operation-tactic{margin-top:10px}.modal .operation-tactic p{font-size:11px}.battle-systems{top:15px}.target-panel{padding:10px;margin-top:8px}}
@media(max-width:1000px){.battle-systems{width:32vw}.coop-counters{gap:6px;font-size:8px}.coop-counters b{font-size:12px;margin-left:2px}.coop-status{padding:8px 9px}.coop-status p{font-size:7px}.beacon-status>div{padding:7px;font-size:8px}.beacon-status strong{font-size:8px}.hud .toast{max-width:340px}}
@media(max-width:700px){.strategy-note{margin-top:8px;padding:8px 0}.strategy-note strong{font-size:8px}.mission-panel .strategy-note p{font-size:8px;line-height:1.6}.target-panel{padding:8px;margin-top:7px}.target-heading b{font-size:9px}.target-heading span{font-size:7px}.target-panel p{font-size:8px}.ship-name b{font-size:7px}.battle-systems{top:auto;bottom:126px;width:calc(100% - 32px)}.coop-status{padding:7px 9px}.coop-counters{font-size:8px}.coop-status p{font-size:7px;margin-top:4px}.beacon-status{margin-bottom:5px}.hud .toast{top:330px;font-size:9px;padding:8px 10px}.operation-plan{padding:12px;margin:16px 0}.operation-numbers{gap:12px;font-size:9px;padding-bottom:11px}.operation-threat{font-size:10px;margin-top:11px;gap:9px}.operation-tactic>span{font-size:9px}.modal .operation-tactic p{font-size:11px}.operation-goal{font-size:9px}.menu-footer{gap:14px}.menu-footer>span{font-size:7px}}

/* A visible invitation to learn, before the first battle. */
#help-button{width:auto;padding:0 12px;font-size:11px;white-space:nowrap}
.flight-practice{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;margin-top:15px;background:linear-gradient(110deg,#12342fdd,#12283cd9);border:1px solid #6a9a7666;border-radius:6px;color:#dbeed8}
.flight-practice:hover{border-color:#b8e78e;background:#1a3d37}.flight-practice .practice-icon{font-size:25px;color:var(--mint)}.flight-practice>span:nth-child(2){flex:1}.flight-practice b{font-size:13px;font-weight:600;display:block}.flight-practice small{font-size:10px;line-height:1.6;color:#9cbeb5;display:block;margin-top:4px}.menu-keys{flex-wrap:wrap;row-gap:8px}.menu-keys .key-zone b{font-size:9px}.menu-learning-links{margin-top:13px;gap:22px}
.first-flight-rules{display:grid;gap:8px;margin:20px 0}.first-flight-rules p{margin:0;padding:10px 13px;border-left:2px solid #719e7a;background:#0a1c2b;font-size:12px}.first-flight-rules b{display:block;color:#d4edbd;font-size:13px;margin-bottom:2px}.modal .intro-safe{font-size:12px;color:#a6c3c7}.tactical-guide summary{cursor:pointer;font-size:12px;color:#c6f88c;padding:12px 0;line-height:1.7}.tactical-guide summary:hover{color:white}.guide-core b{font-weight:500;color:#c7e4cd}
#school-feedback{font-size:12px;color:#badf9c;text-align:center;line-height:1.5}
@media(max-height:800px) and (min-width:900px){.hero-copy{margin-bottom:13px}.hero h1{font-size:44px;line-height:1.18;margin-top:15px;margin-bottom:12px}.hero{margin-top:37px}.flight-practice{padding:10px 13px;margin-top:10px}.flight-practice small{font-size:9px}.menu-learning-links{margin-top:10px}.menu-keys{margin-top:9px}.menu-footer{height:48px}}
@media(max-width:700px){#help-button{font-size:10px;padding:0 8px}.flight-practice{padding:12px}.flight-practice b{font-size:12px}.flight-practice small{font-size:9px}.menu-learning-links{gap:18px}.first-flight-rules p{font-size:11px}#school-feedback{font-size:10px}}

.briefing-reminder{display:grid;gap:7px;padding:12px 14px;border-radius:5px;background:#152b2a;color:#bfdba8;font-size:11px;line-height:1.6}.briefing-reminder b{font-size:12px;color:#d7ead7}.briefing-reminder .p2{color:#f3cd8f}.briefing-controls{margin-top:16px}.briefing-controls summary{cursor:pointer;color:#9cb4be;font-size:11px;text-align:center;padding:4px}.briefing-controls[open] summary{margin-bottom:12px}
