:root{--ink:#111a17;--panel:rgba(13,23,19,.91);--line:rgba(217,230,210,.19);--paper:#f0f0df;--muted:#aebdac;--amber:#f6b24e;--mint:#95c797;--red:#ef7657;font-family:Arial,'Segoe UI',sans-serif;color:var(--paper);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#111a17}button,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,select:focus-visible{outline:2px solid #ffe2a6;outline-offset:4px}button{color:inherit;border:1px solid var(--line);background:var(--panel)}.hidden{display:none!important}#world{display:block;width:100%;height:100%;touch-action:none}#game-ui{position:fixed;inset:0;pointer-events:none}#game-ui button,#game-ui select{pointer-events:auto}#game-ui.menu-open{background:linear-gradient(90deg,rgba(7,16,12,.9) 0%,rgba(7,16,12,.7) 26%,transparent 58%)}.topbar{position:absolute;top:18px;left:22px;right:22px;height:78px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(12px);display:flex;align-items:center;padding:0 22px;gap:26px;border-radius:5px}.brand{display:flex;align-items:center;gap:12px;min-width:203px}.tankmark{width:38px}.tankmark svg{width:100%;fill:var(--amber)}.tankmark circle{fill:var(--ink)}.brand b{font-size:20px;letter-spacing:-.5px}.brand em{font-style:normal;color:var(--amber)}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:5px;color:var(--muted)}.brand small span{color:var(--amber);letter-spacing:0;margin-left:5px}.mission{border-left:1px solid var(--line);padding-left:24px;margin-right:auto}.mission>span{font:10px 'Courier New',monospace;color:var(--amber);letter-spacing:1.8px}.mission strong{display:block;font-size:15px;margin:5px 0}.mission-line{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.mission-line i{width:5px;height:5px;background:var(--mint);border-radius:50%}.topstats{display:flex;gap:28px}.topstats div{min-width:58px}.topstats small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-bottom:6px}.topstats b{font:23px 'Courier New',monospace;letter-spacing:1px}.topactions{display:flex;gap:6px}.icon-button{width:37px;height:37px;font-size:18px;border-radius:3px}.icon-button:hover,.help-button:hover{background:#324235}.menu-panel{position:absolute;left:6%;top:17%;width:355px;pointer-events:auto}.edition{font:10px 'Courier New',monospace;letter-spacing:2.4px;color:var(--muted);margin-bottom:12px}.menu-panel h1{font-family:Impact,'Arial Black',Arial,sans-serif;font-size:80px;line-height:.9;font-weight:900;letter-spacing:1px;margin:0;text-shadow:0 4px 0 #182217}.menu-panel h1>span{display:block;color:var(--amber);font-size:110px;position:relative;letter-spacing:-3px;margin-top:4px}.title-3d{font:700 23px 'Arial Black',Arial;letter-spacing:-1px;vertical-align:middle;display:inline-block;transform:rotate(-90deg);margin-left:0;color:var(--paper)}.title-rule{width:58px;height:3px;background:var(--amber);margin:22px 0}.menu-panel h2{font-size:23px;line-height:1.35;letter-spacing:-.5px;margin:0 0 10px}.menu-description{font-size:13px;color:#c1cbbd;line-height:1.7;margin:0 0 20px;max-width:325px}.menu-description strong{color:#f4c57b}.start-button{width:100%;height:54px;border:0;border-radius:3px;background:var(--amber);color:#182319;display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 6px 28px #0004}.start-button b{font-size:13px;letter-spacing:.8px}.start-button:hover{background:#ffca78;transform:translateY(-1px)}.setup-row{display:flex;gap:12px;margin-top:16px}.setup-row label{width:50%;font-size:10px;color:var(--muted);letter-spacing:1px}.setup-row select{display:block;width:100%;margin-top:7px;padding:8px 10px;font-size:12px;color:var(--paper);background:#17281f;border:1px solid var(--line);border-radius:3px}.help-button{margin:12px 0 17px;width:100%;height:32px;text-align:left;font-size:12px;border:0;background:transparent;padding:0}.help-button>span:last-child{float:right;color:var(--amber)}.menu-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;font-size:9px;letter-spacing:.8px;color:var(--muted)}.menu-bottom b{color:var(--paper);font-family:monospace}.intro-note{position:absolute;bottom:100px;right:6%;display:flex;align-items:center;gap:14px;border-left:2px solid var(--amber);background:#101c14cc;padding:14px 20px}.intro-note strong,.intro-note span{display:block}.intro-note strong{font-size:15px;font-weight:500;margin-bottom:5px}.intro-note div span{font-size:11px;color:var(--muted)}.key{border:1px solid #b8c2a3;background:#b8c2a314;display:inline-grid;place-items:center;width:31px;height:31px;line-height:1;font:18px 'Courier New',monospace;color:var(--amber);border-radius:3px}.key.big{width:41px;height:45px;font-size:25px}.hud{position:absolute;bottom:45px;left:22px;right:22px;height:72px;background:var(--panel);border:1px solid var(--line);display:flex;gap:32px;align-items:center;padding:0 24px;backdrop-filter:blur(8px);border-radius:4px}.hud small{font-size:9px;letter-spacing:1.3px;color:var(--muted)}.bars{display:flex;gap:5px;margin-top:9px}.bars i{height:7px;width:32px;background:#344236;border-radius:1px}.bars i.on{background:var(--mint)}.base-integrity .bars i.on{background:var(--amber)}.reload{flex:1;max-width:200px;margin-left:auto}.reload>div{display:flex;justify-content:space-between}.reload b{font:10px monospace;letter-spacing:1px;color:var(--amber)}.reload-track{height:3px;background:#3d4839;margin-top:10px}.reload-track i{background:var(--amber);width:100%;height:3px}.view-button{display:flex;align-items:center;gap:13px;background:transparent;border:0;border-left:1px solid var(--line);padding-left:24px;text-align:left}.view-button small{display:block;font-size:8px}.view-button b{display:block;font-size:13px;margin-top:5px}.view-button>span:last-child{color:var(--amber);font-size:20px;margin-left:14px}.view-button:hover b{color:var(--amber)}.control-strip{position:absolute;bottom:15px;left:22px;right:22px;display:flex;justify-content:center;gap:25px;color:#d4dbc7;font-size:10px;text-shadow:0 1px 3px #000}.control-strip kbd{font:10px 'Courier New',monospace;color:var(--amber);margin-right:4px}.minimap-panel{position:absolute;right:23px;top:116px;padding:10px;background:var(--panel);border:1px solid var(--line);border-radius:4px;width:166px}.minimap-panel>div{display:flex;justify-content:space-between;font:9px 'Courier New',monospace;color:var(--muted);padding-bottom:9px}.minimap-panel strong{font-size:8px;letter-spacing:.5px}.minimap-panel canvas{display:block;width:144px;height:144px;background:#111b16;border:1px solid #405144}.minimap-panel footer{display:flex;justify-content:space-between;font-size:7px;color:var(--muted);padding-top:8px}.minimap-panel footer span{display:flex;gap:3px;align-items:center}.dot{display:inline-block;width:4px;height:4px;border-radius:50%}.ally{background:var(--mint)}.enemy{background:var(--red)}.base{background:var(--amber)}.toast{position:absolute;top:116px;left:50%;transform:translateX(-50%);font-size:13px;letter-spacing:.2px;background:#111d16e8;padding:10px 18px;border-left:2px solid var(--amber);opacity:0;transition:opacity .2s;max-width:50vw;text-align:center}.toast.show{opacity:1}.wave-label{position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);background:#0d1c16de;border:1px solid var(--line);padding:16px 30px;text-align:center;letter-spacing:2px;font-size:24px;color:var(--amber)}.dialog-backdrop{position:absolute;inset:0;background:#06120db8;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;pointer-events:auto}.dialog{width:520px;max-height:90dvh;overflow:auto;background:#13231b;border:1px solid #536449;padding:32px;border-radius:7px;box-shadow:0 25px 100px #0006}.dialog>span{font:10px monospace;color:var(--amber);letter-spacing:2px}.dialog h2{font-size:28px;margin:15px 0 20px}.dialog p{font-size:14px;line-height:1.65;color:#c9d1c1}.dialog ul{padding-left:18px;color:#c7cfbc;font-size:13px;line-height:1.75}.dialog dl{display:grid;grid-template-columns:115px 1fr;gap:10px;font-size:13px}.dialog dt{font-family:monospace;color:var(--amber)}.dialog dd{margin:0;color:#d2d9c7}.dialog-buttons,#dialog-buttons{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}#dialog-buttons button{padding:12px 18px;background:#243a2b;border-radius:3px;font-size:13px}#dialog-buttons button:first-child{background:var(--amber);color:#1b2319;border-color:var(--amber);font-weight:700}.result-stats{display:flex;gap:30px;border:1px solid #536449;padding:16px;margin-top:16px}.result-stats span{font-size:12px;color:var(--muted)}.result-stats b{display:block;color:var(--amber);font:28px monospace;margin-top:7px}.version{position:absolute;right:25px;bottom:4px;font:8px monospace;color:#c6ceb18c}.menu-open .hud,.menu-open .control-strip,.menu-open .minimap-panel{display:none}.menu-open .mission{opacity:.65}.menu-open .topstats{visibility:hidden}.cockpit-ui{position:absolute;inset:0;pointer-events:none}.optic-top{position:absolute;top:29%;left:50%;transform:translateX(-50%);font:10px monospace;letter-spacing:2px;color:#c2d8ae;text-shadow:0 1px 4px #000}.optic-top span{padding:0 30px;color:var(--amber)}.optic-top b{font-size:8px}.reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:78px;height:78px;border:1px solid #d3e5b985;border-radius:50%;filter:drop-shadow(0 1px 1px #000);opacity:.85}.reticle:before,.reticle:after{content:'';position:absolute;background:#d3e5b9;left:50%;top:50%;transform:translate(-50%,-50%)}.reticle:before{height:1px;width:104px}.reticle:after{width:1px;height:104px}.reticle i{position:absolute;inset:31px;background:#131e12;border:1px solid #e9deab;border-radius:50%;z-index:1}.reticle b{position:absolute;left:36px;top:53px;height:14px;width:4px;border-left:1px solid #d3e5b9;border-right:1px solid #d3e5b9}.cockpit-data{position:absolute;left:50%;top:73%;transform:translateX(-50%);display:flex;gap:40px;text-align:center;text-shadow:0 1px 4px #000}.cockpit-data small{display:block;color:#b8cfae;font:8px monospace;letter-spacing:1px;margin-bottom:6px}.cockpit-data b{font:18px monospace;letter-spacing:1px;color:#e5cb8f}.glass-grain{position:absolute;inset:28% 20% 25%;box-shadow:inset 0 0 50px #22382155;border-radius:22px;background:linear-gradient(115deg,transparent 15%,#deefcf09 16%,transparent 35%)}#damage-overlay{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 100px 50px #d02b1680;opacity:0}.touch-controls{display:none;position:absolute;bottom:24px;left:18px;right:18px;justify-content:space-between;align-items:flex-end}.touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none;background:#15281bce;border:1px solid #a0b69780;color:#e5e9d9;border-radius:8px;min-width:40px;min-height:40px}.touch-controls button:active{background:#5f744bdc}.dpad{position:relative;width:136px;height:136px;display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:2px}.dpad button{font-size:15px}.up{grid-column:2;grid-row:1}.down{grid-column:2;grid-row:3}.left{grid-column:1;grid-row:2}.right{grid-column:3;grid-row:2}.dpad div{grid-column:2;grid-row:2;background:#15251bbe;border-radius:50%;border:1px solid #71886855}.touch-right>div{display:flex;gap:5px;margin-bottom:12px}.fire-touch{background:#ae713bcc!important;width:100px;height:76px!important;border:1px solid #ffc177!important;margin-left:18px;border-radius:38px!important;font-size:12px}.fatal{position:fixed;inset:0;background:#142118;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;z-index:100}.fatal h1{font-size:28px;color:#f6b24e}.fatal p{max-width:640px;line-height:1.8}.fatal button{padding:14px 24px;color:#192316;background:#f6b24e}.cockpit-mode .minimap-panel{width:137px;top:111px}.cockpit-mode #minimap{width:115px;height:115px}
@media(max-width:1050px){.topbar{gap:16px;padding:0 15px}.brand{min-width:160px}.brand b{font-size:17px}.mission{padding-left:16px}.mission-line{display:none}.topstats{gap:16px}.topstats b{font-size:19px}.control-strip{gap:13px}.hud{gap:20px}.menu-panel{top:18%;left:5%}.intro-note{right:4%;bottom:60px}.hud .reload{max-width:120px}.view-button{padding-left:14px}.view-button>span:last-child{display:none}}
@media(max-height:760px) and (min-width:781px){.menu-panel{top:16%;width:320px}.edition{margin-bottom:8px}.menu-panel h1{font-size:61px}.menu-panel h1>span{font-size:88px}.title-rule{margin:15px 0}.menu-panel h2{font-size:20px}.menu-description{font-size:12px;margin-bottom:15px}.start-button{height:47px}.setup-row{margin-top:11px}.help-button{margin:8px 0}.intro-note{bottom:55px}.topbar{height:67px;top:12px}.minimap-panel{top:96px}}
@media(max-width:780px){.topbar{top:10px;left:10px;right:10px;height:60px;gap:10px;padding:0 12px}.brand{min-width:0;gap:7px;margin-right:auto}.brand b{font-size:15px}.tankmark{width:28px}.brand small{font-size:7px;letter-spacing:2px}.mission{display:none}.topstats{gap:12px}.topstats div{min-width:0}.topstats b{font-size:15px}.topstats small{font-size:7px;margin-bottom:4px}.topactions{gap:3px}.icon-button{width:30px;height:31px;font-size:16px}.topactions #fullscreen{display:none}.hud{left:10px;right:10px;bottom:auto;top:78px;height:46px;padding:0 12px;gap:17px}.hud small{font-size:7px;letter-spacing:.4px}.bars{gap:3px;margin-top:6px}.bars i{width:17px;height:4px}.reload{display:none}.view-button{margin-left:auto;padding-left:12px;gap:7px}.view-button .key{width:25px;height:26px;font-size:14px}.view-button small{display:none}.view-button b{font-size:10px;margin:0}.minimap-panel{top:136px;right:10px;width:112px;padding:7px}.minimap-panel strong{font-size:7px;letter-spacing:-.2px}.minimap-panel>div{gap:5px;font-size:8px;padding-bottom:6px}.minimap-panel canvas{width:96px;height:96px}.minimap-panel footer{font-size:6px}.cockpit-mode .minimap-panel{width:112px;top:136px}.cockpit-mode #minimap{width:96px;height:96px}.toast{top:130px;left:12px;transform:none;max-width:calc(100vw - 140px);font-size:11px;padding:8px 10px}.control-strip{display:none}.menu-panel{top:15%;left:6%;width:88%;max-width:380px}.menu-panel h1{font-size:63px}.menu-panel h1>span{font-size:88px}.menu-panel h2{font-size:21px}.title-rule{margin:19px 0}.menu-description{font-size:13px}.intro-note{display:none}.menu-open{background:linear-gradient(90deg,#07120bea,#07120bba 75%,#07120b80)!important}.menu-open .topstats{display:none}.menu-open .touch-controls{display:none!important}.touch-controls{display:flex}.cockpit-data{gap:22px;top:72%}.cockpit-data b{font-size:14px}.cockpit-data small{font-size:7px;letter-spacing:0}.optic-top{font-size:8px;top:34%;white-space:nowrap;letter-spacing:1px}.optic-top span{padding:0 15px}.glass-grain{inset:32% 6% 28%}.reticle{transform:translate(-50%,-50%) scale(.7)}.version{display:none}.dialog{padding:22px;width:460px}.dialog h2{font-size:24px}.dialog dl{grid-template-columns:96px 1fr;font-size:12px}.dialog p{font-size:13px}}
@media(max-height:540px){.topbar{height:48px;top:8px}.brand small{display:none}.menu-panel{top:70px;left:5%;max-width:330px}.menu-panel h1{font-size:36px;display:inline-block}.menu-panel h1>span{font-size:48px;display:inline-block;margin-left:12px}.title-3d{font-size:14px}.edition{font-size:8px}.title-rule{margin:10px 0}.menu-panel h2{font-size:17px;margin-bottom:5px}.menu-description{font-size:11px;line-height:1.45;margin-bottom:10px}.start-button{height:40px}.setup-row{margin-top:9px}.setup-row select{margin-top:4px;padding:5px}.help-button{margin:5px 0}.menu-bottom{padding-top:7px;font-size:8px}.intro-note{display:none}.hud{top:auto;bottom:9px;left:190px;right:180px;height:42px;padding:0 10px;gap:14px}.hud .base-integrity{display:none}.view-button b{font-size:10px}.hud small{font-size:7px}.hud .reload{display:none}.bars i{width:17px}.topstats b{font-size:17px}.control-strip{display:none}.touch-controls{display:flex;bottom:12px}.dpad{width:120px;height:120px;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(3,38px)}.touch-controls button{min-width:38px;min-height:38px}.minimap-panel,.cockpit-mode .minimap-panel{top:65px;width:104px;padding:7px}.minimap-panel canvas,.cockpit-mode #minimap{width:88px;height:88px}.toast{top:68px;max-width:50%}.cockpit-data{top:74%;gap:28px}.cockpit-data b{font-size:12px}.cockpit-data small{font-size:6px}.optic-top{top:27%}.dialog{max-height:94dvh;padding:18px}.dialog h2{font-size:22px;margin:8px 0}.dialog dl{gap:5px}.dialog p{margin:8px 0}.dialog-buttons,#dialog-buttons{margin-top:14px}.version{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}button:hover{transform:none!important}}
/* Cockpit telemetry sits on the roof, leaving the real 3D instrument cluster visible. */
@media(min-width:781px) and (min-height:541px){.cockpit-mode .hud{top:107px;bottom:auto;right:185px;height:55px;background:#111d17b5}.cockpit-mode .toast{top:174px}.cockpit-mode .control-strip{bottom:17px;background:#111d1799;padding:6px;border-radius:3px}.cockpit-mode .cockpit-data{top:68%}}
@media(max-width:380px){.topstats>div:first-child{display:none}.brand{min-width:103px}.brand b{font-size:14px;white-space:nowrap}.brand small{display:none}.tankmark{width:23px;flex-shrink:0}.topbar{gap:8px}.topstats{margin-left:auto}.hud{gap:9px}.view-button b{font-size:9px;white-space:nowrap}.hud .base-integrity small{font-size:6px}.toast{font-size:10px}}
@media(max-width:780px) and (max-height:700px){.menu-panel{top:88px}.edition{font-size:8px;margin-bottom:10px}.menu-panel h1{font-size:35px;display:inline-block}.menu-panel h1>span{font-size:48px;display:inline-block;margin-left:10px}.title-3d{font-size:13px}.title-rule{margin:13px 0}.menu-panel h2{font-size:18px;margin-bottom:7px}.menu-description{font-size:12px;line-height:1.5;margin-bottom:13px}.start-button{height:43px}.setup-row{margin-top:11px}.setup-row select{padding:6px;margin-top:5px}.help-button{margin:7px 0}.menu-bottom{padding-top:10px}}

/* v1.1.0 — language controls only; original scene and visual theme retained. */
.language-picker{height:37px;width:94px;flex-shrink:0;padding:0 7px;color:var(--paper);background:#17281f;border:1px solid var(--line);border-radius:3px;font:12px Arial,'Segoe UI',sans-serif;cursor:pointer;pointer-events:auto}
.dialog .language-picker{float:right;margin-top:-4px;margin-left:10px}
.fatal .language-picker{display:block;margin:0 auto 18px}
.help-button>span[data-i18n]{float:none;color:inherit}
.topactions{align-items:center}
@media(max-width:1050px) and (min-width:781px){.topbar{gap:13px}.brand{min-width:146px}.topstats{gap:12px}.language-picker{width:87px}.mission{min-width:132px}.topstats div{min-width:52px}}
@media(max-width:780px){.language-picker{width:82px;height:31px;font-size:11px}.topbar{padding:0 10px;gap:7px}.topactions #overview{display:none}.topstats>div:first-child{display:none}.brand{flex-shrink:0}.topstats small{letter-spacing:.6px}.menu-open .topactions #overview{display:block}.minimap-panel>div{gap:3px}.minimap-panel strong{font-size:6.5px}.minimap-panel footer{font-size:6px}.control-strip{flex-wrap:wrap}}
@media(max-width:400px){.topbar{padding:0 7px;gap:5px}.brand{min-width:0;gap:5px}.tankmark{width:22px}.brand b{font-size:13px;white-space:nowrap}.brand small{font-size:6px;letter-spacing:1px}.language-picker{width:78px;padding:0 4px}.topactions{gap:3px}.topactions #sound{display:none}.menu-open .topactions #sound{display:block}.topstats b{font-size:14px}.topstats small{font-size:6px}.dialog .language-picker{width:83px}}
@media(max-width:340px){.topstats{display:none}.brand b{font-size:13px}.brand{margin-right:auto}.menu-bottom{letter-spacing:.1px}}
@media(max-height:440px) and (min-width:781px){.menu-panel{top:66px}.menu-panel h2{font-size:16px}.menu-description{font-size:10px;margin-bottom:8px}.title-rule{margin:7px 0}.help-button{margin:4px 0}.menu-bottom{padding-top:6px}.setup-row{margin-top:7px}}
/* The play canvas is focusable for key controls, not an outlined form control. */
#world:focus{outline:none}
