:root{color:#dbe7ee;font-synthesis:none;background:#070e15;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit;cursor:pointer;background:#172c39;border:1px solid #375364;border-radius:4px;min-height:44px;padding:9px 12px}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline-offset:2px;outline:2px solid #8df3cd}select:focus-visible{outline-offset:2px;outline:2px solid #8df3cd}[hidden]{display:none!important}.tactic{height:100dvh;min-height:360px;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;max-width:1800px;margin:auto;display:flex}header{background:#101d28;border-bottom:1px solid #29414f;align-items:center;gap:24px;min-height:90px;padding:14px 24px;display:flex}.brand b{letter-spacing:3px;font-size:25px}.brand b span{color:#80dbc4;font-weight:400}.brand small{color:#76909e;letter-spacing:1.8px;margin-top:8px;font-size:9px;display:block}.telemetry{flex:1;justify-content:center;gap:25px;display:flex}.telemetry span{letter-spacing:1px;color:#8ba4b3;white-space:nowrap;font-size:9px}.telemetry b{color:#dbecee;margin-top:4px;font:600 21px ui-monospace,monospace;display:block}.transport{gap:7px;display:flex}.transport button:first-child{background:#346b60;border-color:#74c3a9}main{flex:1;min-height:0;display:flex}.field{flex:1;min-width:0;position:relative;overflow:hidden}.map{touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0}.map canvas{display:block}.map-label{pointer-events:none;letter-spacing:2px;color:#a1b6c1;font-size:11px;position:absolute;top:14px;left:20px}.map-label span{letter-spacing:1px;color:#6b8a9a;margin-top:5px;font-size:8px;display:block}.camera{gap:4px;display:flex;position:absolute;bottom:14px;left:16px}.camera button{background:#101f2be8;padding:7px 11px;font-size:12px}aside{background:#101d28;border-left:1px solid #29414f;flex-shrink:0;width:286px;padding:18px;overflow:auto}.section-title{letter-spacing:1.7px;color:#91aaba;justify-content:space-between;margin-bottom:14px;font-size:10px;display:flex}.tools{grid-template-columns:1fr 1fr;gap:7px;display:grid}.tools button{text-align:left;min-height:100px;padding:12px 10px;position:relative}.tools button.active{background:#22483f;border-color:#9ce8c5}.tools strong{margin:8px 0;font-size:12px;display:block}.tools button>span:not(.tool-number){letter-spacing:.5px;color:#91abb9;font-size:8px;display:block}.tool-number{color:#7895a5;font-size:9px}.tools b{color:#afe6c9;margin-top:9px;font-size:12px;display:block}.inspector{border-top:1px solid #29414f;min-height:150px;margin-top:20px;padding-top:12px}.inspector h2{font-size:15px;font-weight:500}.inspector h2 small{float:right;color:#8cbaac;font-size:11px}.inspector p,.brief p{color:#91aab8;font-size:12px;line-height:1.6}.inspector label{margin:12px 0;font-size:11px;display:block}.inspector select{width:100%;margin-top:5px}.actions{gap:8px;display:flex}.upgrades{gap:6px;display:grid}.upgrades button{text-transform:capitalize;justify-content:space-between;align-items:center;font-size:11px;display:flex}.upgrades span{font-family:ui-monospace,monospace}.message{color:#e6d194;min-height:35px;margin-top:10px;font-size:11px;line-height:1.5}.brief{border-top:1px solid #29414f;padding-top:15px}.brief>b{letter-spacing:2px;color:#8ba4b3;font-size:9px}.brief .warning{color:#d0c193}footer{letter-spacing:1px;color:#71919f;border-top:1px solid #29414f;justify-content:space-between;align-items:center;gap:14px;padding:8px 20px;font-size:9px;display:flex}footer button{min-height:44px;font-size:11px}.overlay{text-align:center;background:#102330f5;border:1px solid #527c83;width:min(440px,85%);padding:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 80px #0008}.overlay span{letter-spacing:3px;color:#88d9bc;font-size:11px}.overlay h1{font-size:26px}.overlay p{color:#a0bac7;font-size:12px;line-height:1.5}.portrait{z-index:10;text-align:center;background:#0a1724f8;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.portrait b{font-size:25px}.portrait p{color:#9fb5c1}@media (max-width:1100px){header{gap:12px;min-height:76px;padding:9px 14px}.brand b{font-size:19px}.brand small{letter-spacing:.5px;font-size:7px}.telemetry{gap:15px}.telemetry b{font-size:18px}aside{width:250px;padding:12px}.transport button{padding:8px;font-size:12px}.map-label{top:8px}}@media (max-width:850px) and (orientation:landscape){header{gap:10px;min-height:58px;padding:5px 10px}.brand small{display:none}.brand b{letter-spacing:1px;font-size:15px}.telemetry{gap:12px}.telemetry span{font-size:7px}.telemetry b{margin-top:2px;font-size:15px}.transport{gap:4px}.transport button{padding:5px 8px;font-size:11px}aside{width:205px;padding:9px}.section-title{margin-bottom:7px;font-size:8px}.tools{gap:4px}.tools button{min-height:67px;padding:6px}.tools strong{margin:3px 0;font-size:10px}.tools b{margin-top:4px}.tools button>span:not(.tool-number){font-size:7px}.inspector{min-height:0;margin-top:10px;padding-top:4px}.inspector h2{font-size:13px}.inspector p{font-size:10px}.brief{display:none}footer{padding:3px 10px;font-size:8px}footer button{min-height:44px;padding:4px 8px}.map-label{font-size:9px;left:10px}.map-label span{font-size:7px}.camera{gap:2px;bottom:6px;left:8px}.camera button{padding:5px 8px;font-size:10px}}button,select{min-width:44px}.pause-indicator{color:#a9e7ce;letter-spacing:1px;pointer-events:none;background:#142e37e8;border:1px solid #5d8b86;padding:8px 10px;font-size:10px;position:absolute;top:14px;right:14px}.menu-shell{background:radial-gradient(at 80% 10%,#1c3d4c 0,#0000 55%),#0b1220;flex-direction:column;min-height:100dvh;display:flex;position:relative;overflow:hidden}.menu-header{background:0 0;border-bottom:1px solid #34505c;justify-content:space-between;padding:28px 5vw;display:flex}.wordmark{color:#eaf1f7;letter-spacing:4px;font-size:25px;font-weight:700;text-decoration:none}.wordmark span{color:#51d5ed;font-weight:300}.menu-header>span{color:#849ba8;letter-spacing:2px;font-size:10px}.menu-hero{flex:1;max-width:1000px;padding:8vh 9vw;position:relative}.eyebrow{letter-spacing:3px;color:#8cd9c6;font-size:11px}.menu-hero h1,.campaign-view h1,.settings-view h1{letter-spacing:-2px;margin:28px 0;font-size:clamp(30px,5vw,64px);font-weight:500;line-height:1.1}.intro{color:#9eb2c0;max-width:490px;line-height:1.7}.menu-actions{flex-wrap:wrap;gap:10px;margin:36px 0;display:flex}.menu-actions button{padding:14px 22px}.primary{background:#306d63;border-color:#8ed7bd}.campaign-score{color:#9eb2c0;font-size:13px}.campaign-score strong{color:#eaf1f7;font:24px ui-monospace,monospace}.menu-decoration{color:#536a7d0c;pointer-events:none;font-size:45vw;font-weight:900;line-height:1;position:absolute;bottom:-4vw;right:-4vw}.menu-shell footer{margin-top:auto;padding:20px 5vw}.campaign-view,.settings-view{width:100%;max-width:1200px;margin:0 auto;padding:28px 5vw}.campaign-view h1,.settings-view h1{font-size:36px}.mission-list{grid-template-columns:1fr 1fr;gap:14px;margin:30px 0;display:grid}.mission-card{text-align:left;background:#142531cc;align-items:center;gap:18px;padding:24px;display:flex}.mission-card h2{margin:0 0 10px;font-size:19px;font-weight:500}.mission-card p{color:#97afbd;font-size:12px;line-height:1.6}.mission-card small{color:#8cd9c6;font-size:11px}.mission-index{color:#51d5ed;font:30px ui-monospace,monospace}.settings-view{max-width:680px}.settings-view label{border-bottom:1px solid #29414f;align-items:center;gap:20px;padding:22px 0;font-size:14px;display:flex}.settings-view input[type=range]{accent-color:#51d5ed;flex:1;min-width:60px;min-height:44px}.settings-view input[type=checkbox]{accent-color:#51d5ed;width:26px;height:26px}.settings-view output{color:#8cd9c6;min-width:45px}.settings-view p{color:#9eb2c0;font-size:13px;line-height:1.7}.loading{place-items:center;height:100dvh;font-size:22px;display:grid}.save-notice{z-index:30;color:#ffcfac;pointer-events:none;background:#472d27;border:1px solid #e59c69;padding:12px;font-size:12px;position:fixed;bottom:12px;left:12px;right:12px}.tools button{min-height:82px}.tools strong{margin:5px 0}.tools b{margin-top:5px}.score{color:#8cd9c6!important;font-size:20px!important}@media (max-width:700px){.mission-list{grid-template-columns:1fr}.menu-header{padding:16px}.menu-header>span{display:none}.menu-hero{padding:28px 7vw}.menu-actions{flex-direction:column;max-width:400px}.menu-hero h1{font-size:40px}.settings-view label{gap:10px;font-size:12px}.menu-shell footer{font-size:8px}.mission-card{padding:16px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{color:#eaf1f7;background:#0b1220}button,select{background:linear-gradient(#263747,#1a2a39);border-color:#405a6d;border-radius:6px;transition:background .12s,border-color .12s;box-shadow:inset 0 1px #ffffff07}button:hover{background:#304b60;border-color:#51d5ed}button:focus-visible{outline-offset:3px;outline:2px solid #51d5ed}select:focus-visible{outline-offset:3px;outline:2px solid #51d5ed}input:focus-visible{outline-offset:3px;outline:2px solid #51d5ed}button:disabled{opacity:.45}header{background:linear-gradient(#192a38,#111e2c);border-bottom-color:#3a5264}.brand b span{color:#51d5ed}.brand small{color:#9eb3c1}.telemetry span{color:#a3b6c4}.telemetry b{color:#eaf1f7}.transport button:first-child,.primary{background:#204e59;border-color:#51d5ed}.field{background:#0b1220;box-shadow:inset 0 0 70px #0005}.map-label{color:#c0d2de;background:#0b1220cc;border-left:2px solid #51d5ed;border-radius:0 3px 3px 0;padding:7px 9px}.map-label span{color:#94aabd}.camera{background:#0b1220b8;border:1px solid #344b5d;border-radius:7px;padding:4px}.camera button{background:#1a2b3bec;border-color:#405a6d}.pause-indicator{color:#c6f2fb;background:#142a3be8;border-color:#51d5ed}aside{scrollbar-color:#536a7d #142330;background:linear-gradient(90deg,#142330,#101e2b);border-left-color:#405a6d}.section-title{color:#c1d2df}.section-title span{color:#829bad}.tools button{background:linear-gradient(135deg,#213443,#182735);border-color:#3a5063;min-height:86px;padding:9px 9px 9px 49px;overflow:hidden}.tools button.active{background:#204352;border-color:#51d5ed;box-shadow:inset 3px 0 #51d5ed}.tool-icon{object-fit:contain;pointer-events:none;width:38px;height:38px;position:absolute;top:50%;left:7px;transform:translateY(-50%)}.tools .tool-number{color:#a3b6c4;font:9px ui-monospace,monospace}.tools strong{overflow-wrap:anywhere;margin:4px 0;font-size:11px;line-height:1.25}.tools button>span:not(.tool-number){color:#b2c2ce;letter-spacing:0;font-size:8px}.tools b{color:#9de4ac;margin-top:4px}.inspector{border-top-color:#405a6d;scroll-margin-top:12px}.inspector h2{color:#eaf1f7;line-height:1.4}.inspector p,.brief p{color:#b3c4d1}.inspector h2 small{color:#51d5ed}.inspector button{min-height:44px}.upgrades button{gap:10px;padding:10px}.valid{color:#9de4ac!important}.invalid{color:#ffb098!important}.message{color:#f0d39d}.brief>b{color:#a3b6c4}footer{color:#98afc0;background:#101d2a;border-top-color:#3a5264}.overlay{background:linear-gradient(145deg,#223b4df7,#101f2dfc);border-color:#51d5ed;border-radius:8px;box-shadow:0 20px 90px #000a}.overlay span{color:#51d5ed}.overlay p{color:#bfd0dc}.overlay button{margin:4px}.menu-shell{background:radial-gradient(at 85% 5%,#1e4058 0,#0000 52%),linear-gradient(150deg,#111e2d,#0b1220)}.menu-header{border-bottom-color:#3a5264}.eyebrow,.mission-card small{color:#51d5ed}.mission-card{background:linear-gradient(120deg,#203748cc,#142330cc);border-color:#405a6d}.mission-card p,.menu-hero .intro,.campaign-score{color:#b0c3d0}.menu-decoration{color:#536a7d12}.settings-view label{border-bottom-color:#405a6d}.settings-view p{color:#b0c3d0}.settings-view input[type=checkbox]{min-width:44px;min-height:44px}.save-notice{line-height:1.6}@media (min-width:1400px){aside{width:310px}.tools button{min-height:88px}.tool-icon{width:44px;height:44px;left:7px}.tools button{padding-left:57px}.tools strong{font-size:12px}}@media (max-width:1100px){.tools button{padding:8px 6px 8px 44px}.tool-icon{width:33px;height:33px;left:6px}.tools strong{font-size:10px}.tools button>span:not(.tool-number){font-size:7px}.map-label{max-width:calc(100% - 160px);font-size:9px}.camera{gap:3px}.camera button{padding:7px 9px}}@media (max-width:950px) and (orientation:landscape){aside{width:220px;padding:10px}.tools{gap:5px}.tools button{min-height:76px;padding:6px 5px 6px 38px}.tool-icon{width:29px;height:29px;left:5px}.tools strong{font-size:10px}.tools b{font-size:11px}.tool-number{font-size:8px}.inspector p{font-size:11px}.camera{gap:2px;padding:2px;bottom:5px;left:5px}.camera button{min-width:44px;min-height:44px;padding:5px 6px}.telemetry{gap:10px}.transport button{min-height:44px}.map-label span{display:none}}@media (max-height:500px) and (orientation:landscape){header{min-height:56px;padding:5px 9px}.brand small{display:none}.brand b{letter-spacing:1px;font-size:14px}.telemetry span{font-size:7px}.telemetry b{font-size:15px}.transport{gap:4px}.transport button{padding:5px 7px;font-size:11px}footer{padding:3px 10px}.tools button{min-height:72px}.section-title{font-size:9px}.brief{display:none}.map-label{padding:5px 7px;top:6px;left:6px}.inspector{margin-top:12px;padding-top:8px}.inspector h2{font-size:13px}.camera button{font-size:10px}}@media (prefers-reduced-motion:reduce){button,select{transition:none}}.wave-intel{background:#152b38;border-bottom:1px solid #405a6d;align-items:center;gap:16px;min-height:46px;padding:9px 24px;font-size:12px;display:flex}.wave-intel strong{color:#51d5ed;flex-shrink:0}.wave-intel span{color:#cad7df;line-height:1.4}.field-help{z-index:3;background:#102330f5;border:1px solid #405a6d;border-radius:6px;max-width:min(410px,90%);font-size:12px;position:absolute;top:74px;left:20px}.field-help summary{cursor:pointer;color:#a7dfe9;min-height:44px;padding:13px}.field-help ol{max-height:45vh;padding:0 24px 10px 34px;line-height:1.6;overflow:auto}.field-help li{margin-bottom:9px}.overlay{max-height:94%;overflow:auto}@media (max-width:950px) and (orientation:landscape){.wave-intel{gap:8px;min-height:40px;padding:5px 10px;font-size:10px}.wave-intel strong{flex-shrink:1;max-width:180px}.field-help{top:45px;left:10px}.field-help summary{padding:10px;font-size:10px}}.tactic{min-height:0;overflow:hidden}.tactic header,.tactic footer{flex-shrink:0}.tactic main{position:relative}.tactic aside{flex-direction:column;gap:10px;display:flex}.tactic .section-title{margin:0}.tactic .tools{order:2}.tactic .inspector{border-top:0;border-bottom:1px solid #405a6d;flex-shrink:0;order:1;margin:0;padding:0 0 12px}.tactic .message{order:0;min-height:0;margin:0}.tactic .message:empty{display:none}.tactic .brief{order:3}.tools strong{overflow-wrap:normal;word-break:normal;white-space:nowrap}.tools button{padding-left:40px}.tool-icon{width:29px;height:29px;left:5px}.tools strong{font-size:11px}.inspector-toggle{display:none}.tactic .overlay{z-index:6}.tactic .actions{z-index:1;background:#142330;padding:6px 0;position:sticky;bottom:0}.tactic .actions button{flex:1}.inspector h2{margin:5px 0 8px}.inspector p{margin:7px 0}.wave-intel{flex-shrink:0}.camera{z-index:2}.field-help{z-index:3}.field-help[open]{max-height:calc(100% - 54px);overflow:auto}.field-help[open] ol{max-height:none}.tactic .overlay button{min-height:44px}.tactic footer>span{white-space:nowrap}@media (min-width:951px){.tactic aside{width:300px}.tactic .tools button{min-height:78px}.tactic .inspector{z-index:2;background:#142330;position:sticky;top:-18px}.tactic .inspector:has(.actions){padding-bottom:4px}.tactic .tools strong{font-size:11px}.tactic .tool-icon{width:29px;height:29px}}@media (max-width:950px) and (orientation:landscape){.tactic header{gap:9px;height:56px;min-height:56px;padding:4px 8px}.tactic .brand{flex-shrink:0}.tactic .brand small{display:none}.tactic .brand b{letter-spacing:0;font-size:14px}.tactic .telemetry{justify-content:center;gap:13px}.tactic .telemetry span{letter-spacing:0;font-size:8px}.tactic .telemetry b{margin-top:1px;font-size:15px}.tactic .transport button{white-space:nowrap;padding:5px 8px;font-size:11px}.tactic .wave-intel{gap:9px;min-height:34px;padding:4px 9px;font-size:10px}.tactic .wave-intel strong{flex-shrink:0;max-width:180px}.tactic main{flex-direction:column}.tactic .field{min-height:0}.tactic aside{border-top:1px solid #405a6d;border-left:0;flex-direction:row;gap:5px;width:100%;height:74px;padding:5px 6px;display:flex;overflow:visible}.tactic .section-title,.tactic .brief{display:none}.tactic .tools{scrollbar-width:thin;overscroll-behavior-x:contain;flex:1;order:0;gap:5px;min-width:0;padding-bottom:2px;display:flex;overflow:auto hidden}.tactic .tools button{flex:0 0 112px;min-height:58px;padding:5px 5px 5px 35px}.tactic .tool-icon{width:27px;height:27px;left:4px}.tactic .tool-number,.tactic .tools button>span:not(.tool-number){display:none}.tactic .tools strong{margin:3px 0;font-size:10px}.tactic .tools b{margin:3px 0;font-size:11px}.tactic .inspector-toggle{flex:0 0 84px;order:1;padding:5px;font-size:11px;display:block}.tactic .inspector{z-index:5;scrollbar-width:thin;background:#142330fa;border:1px solid #51d5ed;border-radius:7px;width:300px;max-width:calc(100% - 12px);max-height:calc(100% - 82px);margin:0;padding:10px;display:none;position:absolute;bottom:78px;right:6px;overflow:auto;box-shadow:0 4px 25px #0008}.tactic.inspector-open .inspector{display:block}.tactic .inspector h2{font-size:13px}.tactic .inspector p{font-size:11px;line-height:1.4}.tactic .inspector label{margin:6px 0}.tactic .upgrades{grid-template-columns:repeat(3,1fr);gap:4px}.tactic .upgrades button{flex-direction:column;gap:4px;padding:7px 2px;font-size:10px;display:flex}.tactic .message{z-index:3;pointer-events:none;background:#142330e8;border-radius:4px;max-width:calc(100% - 326px);padding:6px 9px;font-size:10px;position:absolute;bottom:82px;left:8px}.tactic .camera{bottom:5px;left:5px}.tactic .camera button{min-width:44px;padding:5px;font-size:10px}.tactic .map-label{letter-spacing:0;padding:4px 6px;font-size:9px;top:4px;left:5px}.tactic .map-label span{display:none}.tactic .field-help{max-width:calc(100% - 12px);top:31px;left:5px}.tactic .field-help summary{padding:10px;font-size:10px}.tactic .pause-indicator{letter-spacing:0;padding:6px;font-size:9px;top:4px;right:5px}.tactic footer{justify-content:flex-end;gap:7px;height:48px;min-height:48px;padding:2px 7px}.tactic footer>span{margin-right:auto;font-size:8px}.tactic footer>span:nth-child(2){display:none}.tactic footer button{padding:5px 8px;font-size:10px}.tactic .overlay{flex-wrap:wrap;place-content:center;align-items:center;gap:4px 12px;width:auto;max-height:none;padding:12px 20px;display:flex;position:fixed;top:8px;bottom:8px;left:8px;right:8px;overflow:auto;transform:none}.tactic .overlay h1{width:100%;margin:5px 0;font-size:22px}.tactic .overlay p{width:100%;margin:3px 0;font-size:11px}.tactic .overlay .score{font-size:18px!important}.tactic .overlay>span{width:100%;font-size:10px}.tactic .overlay button{margin:4px 0}}@media (max-width:700px) and (orientation:landscape){.tactic .brand{display:none}.tactic .telemetry{justify-content:flex-start;gap:12px}.tactic .telemetry span:nth-child(5){display:none}.tactic .wave-intel strong{max-width:145px}.tactic .wave-intel{font-size:9px}.tactic footer>span{display:none}.tactic .inspector{width:280px}.tactic .message{max-width:calc(100% - 304px)}}.selection-cancel{display:none}@media (max-width:950px) and (orientation:landscape){.tactic.choosing .selection-cancel{flex:0 0 64px;order:2;padding:5px;font-size:11px;display:block}.tactic .inspector-toggle{flex-basis:72px}.tactic .field-help[open]{width:310px}.tactic .overlay{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom));padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}}@media (min-width:951px){.tactic aside>*{flex-shrink:0}.tactic .inspector{top:0}.tactic .message{padding:4px 0}}@media (max-width:950px) and (orientation:landscape){.tactic .inspector.placement h2{display:none}.tactic .inspector.placement p{margin:4px 0;line-height:1.3}.tactic .inspector.placement .actions{padding:4px 0}}.save-notice{align-items:center;gap:12px;padding:8px 12px;display:flex}.save-notice span{flex:1}.save-notice button{pointer-events:auto;flex-shrink:0;min-width:44px;min-height:44px;padding:4px;font-size:20px}
