:root{color-scheme:dark;--ink:#051122;--panel:rgba(7,19,35,.88);--line:rgba(125,190,222,.24);--cyan:#6cf4ff;--gold:#ffd48a;--white:#eff8ff;--mint:#86e6c1;--danger:#ff6375}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071423;color:var(--white);font-family:system-ui,'Tajawal','Segoe UI',Arial,sans-serif;overscroll-behavior:none;touch-action:none}button,input,a{font:inherit}button{cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
.app{position:fixed;inset:0;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 30%,#24435a 0%,#061321 75%)}
#scene{position:absolute;inset:0;width:100%;height:100%;display:block} .app:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,9,24,.23),transparent 25%,transparent 70%,rgba(4,13,25,.28)),repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(255,255,255,.007) 5px);z-index:1}
.hud{position:absolute;inset:0;z-index:3;pointer-events:none}.hud>*,.hud .toptools{pointer-events:auto}.topbar{position:absolute;top:calc(10px + env(safe-area-inset-top));left:calc(14px + env(safe-area-inset-left));right:calc(14px + env(safe-area-inset-right));height:55px;display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:10;direction:ltr}
.brand{display:flex;align-items:center;gap:10px;min-width:0;border:1px solid rgba(127,202,229,.28);background:linear-gradient(112deg,rgba(12,35,57,.96),rgba(10,25,44,.82));border-radius:16px;padding:8px 13px;box-shadow:0 8px 26px rgba(0,0,0,.3)}.brand .shield{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(150deg,#2d637c,#0c3246);border:1px solid #66d8ef8a;font-size:20px}.brand b{font-size:clamp(12px,1.35vw,16px);font-weight:1000;letter-spacing:1.4px;color:#fff;white-space:nowrap}.brand small{display:block;color:#8db9ca;font-size:10px;margin-top:2px;text-align:left}
.toptools{display:flex;align-items:center;justify-content:flex-end;gap:7px}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:6px 12px;border:1px solid rgba(114,188,219,.4);border-radius:11px;background:linear-gradient(165deg,rgba(22,54,78,.97),rgba(9,26,46,.94));color:#e8f9ff;text-decoration:none;font-weight:800;font-size:12px;white-space:nowrap;box-shadow:0 4px 13px #0004}.pill.gold{border-color:#d9be7199;color:#ffe3ae}.pill.emergency{color:#ffdee4;border-color:#ff667d99;background:linear-gradient(145deg,#7a2939,#451827);box-shadow:0 0 18px #f4416340}.pill:hover,.controlbtn:hover{filter:brightness(1.17)}.pill:active,.controlbtn:active{transform:scale(.96)}.status{font-size:11px;font-weight:800;color:#86e6c1;background:#0a2432aa;padding:7px;border-radius:8px;white-space:nowrap}
.headnote{position:absolute;top:calc(74px + env(safe-area-inset-top));left:31%;right:30%;text-align:center;color:#ecf6ff;letter-spacing:.2px;font-size:clamp(10px,1.15vw,13px);font-weight:700;text-shadow:0 2px 12px #06121f;pointer-events:none}.cash{position:absolute;right:calc(14px + env(safe-area-inset-right));top:calc(77px + env(safe-area-inset-top));width:min(255px,28vw);padding:12px 13px;border:1px solid rgba(255,217,144,.37);border-radius:17px;background:linear-gradient(155deg,rgba(9,27,44,.93),rgba(12,26,46,.82));box-shadow:0 12px 32px #0005;backdrop-filter:blur(15px)}.cash b{display:block;color:#ffe4a0;font-size:clamp(12px,1.45vw,17px);white-space:nowrap}.cash small{display:block;color:#b2c4d2;font-size:clamp(8px,1vw,11px);line-height:1.8}.cash .net{color:#7af2c2}.field-panel{position:absolute;left:calc(14px + env(safe-area-inset-left));top:calc(77px + env(safe-area-inset-top));display:flex;gap:12px;align-items:center;padding:10px 13px;color:#a6c9e0;font-size:11px;background:rgba(6,22,39,.85);border:1px solid rgba(123,208,232,.31);border-radius:13px;backdrop-filter:blur(10px);direction:rtl}.field-panel b{color:#e8fbff;font-size:13px;margin-inline-start:3px}
.mission{position:absolute;top:calc(113px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);min-width:215px;width:min(285px,28vw);display:flex;flex-direction:column;gap:6px;padding:9px 12px;border:1px solid rgba(112,202,232,.24);border-radius:15px;background:rgba(7,25,43,.72);backdrop-filter:blur(12px);text-align:center;pointer-events:none}.mission-line{display:flex;align-items:center;justify-content:space-between;gap:6px;direction:rtl}.mission-line b{color:#ffd48e;font-size:11px;letter-spacing:1px}.mission-line span{font-size:10px;color:#b1cfdf}.health-track{height:6px;border-radius:9px;background:#213244;overflow:hidden}.health-fill{height:100%;width:100%;border-radius:9px;background:linear-gradient(90deg,#18b484,#a7f2b1);transition:width .35s}.mission-count{font-size:10px;color:#a3c6cf}
.radar-wrap{position:absolute;left:calc(14px + env(safe-area-inset-left));bottom:calc(14px + env(safe-area-inset-bottom));width:min(25.5vw,39vh,220px);aspect-ratio:1;overflow:hidden;border-radius:50%;border:2px solid rgba(98,241,189,.62);box-shadow:0 0 0 6px rgba(5,26,31,.43),0 0 40px #05b98e30,0 12px 30px #000b;background:#06292c;z-index:4;transition:width .24s,transform .24s}canvas#radar{width:100%;height:100%;display:block}.radar-wrap:after{content:'';position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 19px #000b;pointer-events:none}.radar-label{position:absolute;top:6px;left:0;right:0;text-align:center;color:#b7ffe0;font-size:clamp(9px,1vw,12px);font-weight:900;letter-spacing:1.5px;text-shadow:0 1px 5px #031e20;pointer-events:none}
.controls{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));right:calc(14px + env(safe-area-inset-right));display:grid;grid-template-columns:repeat(3,56px);grid-template-rows:repeat(3,43px);gap:7px;z-index:5;direction:ltr;touch-action:none}.controlbtn{background:linear-gradient(148deg,#284967,#0d253c);border:1px solid #7fbaca91;color:#effaff;font-weight:900;font-size:12px;border-radius:13px;box-shadow:inset 0 1px 0 #ffffff27,0 7px 14px #0006;touch-action:none;user-select:none}.controlbtn.camera{grid-column:1;grid-row:1;background:linear-gradient(148deg,#24677c,#16364f)}.controlbtn.up{grid-column:2;grid-row:1}.controlbtn.down{grid-column:2;grid-row:3}.controlbtn.left{grid-column:1;grid-row:2}.controlbtn.right{grid-column:3;grid-row:2}.controlbtn.fire{grid-column:2;grid-row:2;border:2px solid #ffb4a8;border-radius:100px;background:radial-gradient(circle at 35% 20%,#ff9a91,#e44854 45%,#a3163b);box-shadow:0 0 25px #ff52665e,inset 0 2px 3px #ffffff84,0 8px 15px #0009;font-size:14px;letter-spacing:1px;color:white}.controlbtn.fire:disabled{opacity:.65;filter:grayscale(.8)}
.target-card{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(315px,34vw);padding:10px 12px;text-align:center;border-radius:15px;border:1px solid #459fbc7b;background:linear-gradient(145deg,rgba(10,33,53,.92),rgba(9,25,43,.86));box-shadow:0 9px 24px #0006;pointer-events:none;backdrop-filter:blur(12px)}.target-card strong{display:block;color:#b0f8ef;font-size:13px}.target-card span{display:block;color:#b9d5de;font-size:11px;margin-top:3px}.target-card .ready{color:#ffd98a;font-weight:900}
.cam-overlay{position:absolute;left:50%;top:50%;width:95px;height:95px;transform:translate(-50%,-50%);border:2px solid #7ff8e2aa;border-radius:50%;box-shadow:0 0 16px #65efd43d;pointer-events:none}.cam-overlay:before,.cam-overlay:after{content:'';position:absolute;background:#abffe9;left:50%;top:50%;transform:translate(-50%,-50%)}.cam-overlay:before{width:41px;height:2px}.cam-overlay:after{width:2px;height:41px}
.message{position:absolute;top:22%;left:50%;transform:translateX(-50%);width:min(490px,54vw);padding:11px 15px;border-radius:12px;border:1px solid #73b9be;background:#081f35e9;text-align:center;font-size:clamp(11px,1.15vw,15px);font-weight:900;opacity:0;transition:opacity .25s;pointer-events:none;z-index:12;box-shadow:0 8px 22px #0006}.message.show{opacity:1}
.observer{background:radial-gradient(ellipse at 50% 35%,#133b46 0%,#061c2d 65%,#050e19)}.observer #scene{display:none!important}.observer .cash,.observer .controls,.observer .field-panel,.observer .target-card,.observer .emergency,.observer .mission,.observer .cam-overlay{display:none!important}.observer .headnote{top:calc(87px + env(safe-area-inset-top));left:12%;right:12%;font-size:clamp(11px,1.3vw,15px);color:#c4e0e4}.observer .radar-wrap{left:50%;top:53%;bottom:auto;transform:translate(-50%,-50%);width:min(67vh,48vw,520px);box-shadow:0 0 0 8px rgba(7,36,44,.6),0 0 65px #13b68a34,0 16px 45px #000a}.observer .radar-label{font-size:clamp(12px,1.4vw,16px);top:10px}.observer-footer{position:absolute;bottom:calc(24px + env(safe-area-inset-bottom));left:12%;right:12%;font-size:clamp(10px,1.2vw,13px);text-align:center;color:#8fbac5;pointer-events:none}.public-stats{position:absolute;right:calc(26px + env(safe-area-inset-right));top:45%;transform:translateY(-50%);display:flex;flex-direction:column;gap:13px;width:min(175px,17vw);pointer-events:none}.public-stats div{background:rgba(8,32,47,.78);border:1px solid #4c847c5b;border-radius:14px;padding:10px 12px}.public-stats span{display:block;color:#88b7b8;font-size:10px}.public-stats b{display:block;font-size:21px;color:#d8fff3;margin-top:4px}.observer .public-stats{display:flex}.public-stats{display:none}
.demo-banner{position:absolute;bottom:2px;left:50%;transform:translateX(-50%);font-size:9px;color:#c1ab7f;pointer-events:none;white-space:nowrap}.demo-only{display:none}.is-demo .demo-only{display:inline-flex}.hide{display:none!important}
.portrait-cover{display:none;position:absolute;inset:0;z-index:30;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;padding:24px;background:linear-gradient(150deg,#092942,#071523)}.portrait-cover svg{width:80px;height:80px;color:#75e7db}.portrait-cover strong{font-size:23px;color:#ffe0a0}.portrait-cover small{font-size:13px;color:#acc9d5}.gate{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(ellipse at 50% 20%,#1c4b5f,#061522 80%)}.gate-card{width:min(430px,95vw);padding:25px;background:linear-gradient(135deg,#12304a,#091e32);border:1px solid #69bbbf75;border-radius:24px;display:grid;gap:15px;text-align:center;box-shadow:0 18px 60px #000a}.gate h1{font-size:23px;margin:0;color:#ffe4ac}.gate p{color:#bed6df;font-size:13px;margin:0;line-height:1.75}.gate input{width:100%;padding:13px;background:#071c2d;border:1px solid #48899a;color:white;border-radius:13px;letter-spacing:3px;text-align:center;font-size:20px}.gate button{background:linear-gradient(140deg,#287b8c,#14516c);border:1px solid #84e8e7;border-radius:12px;padding:12px;color:white;font-weight:900}.gate-error{min-height:15px;color:#ff8888;font-size:12px}
@media(orientation:portrait) and (max-width:1024px){.portrait-cover{display:flex}}
@media(max-height:520px){.topbar{height:43px;top:4px}.brand{padding:4px 9px}.brand .shield{width:27px;height:27px;font-size:15px}.brand b{font-size:11px}.brand small{font-size:9px}.pill{min-height:31px;padding:4px 8px;font-size:10px}.status{font-size:9px;padding:5px}.cash{top:53px;padding:7px 9px}.cash b{font-size:12px}.cash small{font-size:9px;line-height:1.35}.field-panel{top:54px;padding:7px 8px;font-size:10px}.headnote{top:62px;font-size:10px}.mission{top:55px;padding:6px 9px;min-width:175px;width:23vw;gap:3px}.mission-line b,.mission-line span{font-size:9px}.mission-count{font-size:9px}.radar-wrap{width:min(24vw,40vh,164px)}.controls{grid-template-columns:repeat(3,47px);grid-template-rows:repeat(3,34px);gap:5px}.controlbtn{font-size:10px;border-radius:10px}.controlbtn.fire{font-size:11px}.target-card{width:190px;padding:6px}.target-card strong{font-size:10px}.target-card span{font-size:9px}.target-card .ready{display:none}.observer .radar-wrap{width:min(64vh,47vw,385px)}.observer .headnote{top:56px}.observer-footer{bottom:14px}}
@media(max-width:850px) and (orientation:landscape){.topbar{left:6px;right:6px}.toptools{gap:4px}.brand{padding:4px 7px}.brand b{font-size:9px}.brand small{font-size:8px}.brand .shield{display:none}.pill{min-height:28px;padding:4px 6px;font-size:9px}.status{display:none}.cash{width:178px;right:6px;top:44px;padding:7px 8px}.cash small{font-size:8px}.field-panel{top:44px;left:6px;padding:6px 8px}.mission{top:48px;min-width:125px;width:20vw;padding:4px;gap:3px}.mission-line b,.mission-line span{font-size:8px}.mission-count{font-size:8px}.headnote{display:none}.radar-wrap{left:7px;bottom:7px;width:min(23vw,37vh,128px)}.controls{right:7px;bottom:7px;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,33px);gap:4px}.controlbtn{font-size:9px}.target-card{width:clamp(130px,25vw,190px);bottom:8px;padding:5px}.target-card strong{font-size:9px}.target-card span{display:none}.observer .radar-wrap{width:min(64vh,50vw,310px)}.observer .headnote{display:block;top:48px}.public-stats{right:10px}.public-stats div{padding:6px}.public-stats b{font-size:14px}.public-stats span{font-size:9px}.observer-footer{bottom:9px}}


/* V68: uncompromising mobile-first mission layout, no overlapping controls */
.mission{width:min(330px,30vw);gap:4px}
.alert-badge{font-weight:900;font-size:10px;color:#b8e9dd;text-align:center;border-radius:9px;padding:4px;background:#0a3a3c88;white-space:nowrap}
.alert-badge.critical{color:#ffe9e1;background:#a42d42b5;animation:alarmPulse 0.8s ease-in-out infinite alternate}
@keyframes alarmPulse{from{box-shadow:0 0 0 #ff485100}to{box-shadow:0 0 14px #ff48518c}}
.facility-mini{font-size:10px;letter-spacing:.2px;color:#baddd6;white-space:nowrap}
.notification-test{font-weight:900;background:linear-gradient(160deg,#8e3745,#441b30);color:#fff8e7;border:1px solid #ffce9d;border-radius:8px;padding:5px 6px;font-size:9px;pointer-events:auto}
.mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:6px;pointer-events:auto}
.mini-actions button{background:linear-gradient(140deg,#1c5872,#123047);border:1px solid #6ca8bd85;color:#dffaff;border-radius:8px;padding:6px 3px;font-size:10px;font-weight:900;touch-action:manipulation;min-width:0}
.upgrade-panel{position:absolute;inset:0;background:#030a17c9;display:grid;place-items:center;z-index:40;pointer-events:auto;overflow:auto;padding:18px}
.upgrade-box{position:relative;width:min(550px,88vw);max-height:min(92vh,660px);overflow:auto;border:1px solid #6bcad1;background:linear-gradient(145deg,#16384c,#08192e);border-radius:20px;padding:17px 20px;box-shadow:0 20px 55px #000b;color:#e7f9ff}
.upgrade-box h2{font-size:20px;margin:0 0 5px;color:#ffe0a8}.upgrade-box p{font-size:12px;color:#a9cedc;line-height:1.65;margin:0 0 12px}
.upgradeItem{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 5px;border-bottom:1px solid #68afcb38;direction:rtl}
.upgradeItem b{display:block;font-size:13px}.upgradeItem small{display:block;font-size:11px;color:#a9c5d3;margin-top:3px}
.upgradeItem button{border-radius:9px;border:1px solid #d0b26a;background:#3d4c52;color:#ffe5a3;padding:8px;font-size:11px;font-weight:900;white-space:nowrap}
.upgradeItem button:disabled{opacity:.45;cursor:default}
.xclose{position:absolute;left:10px;top:9px;font-size:23px;background:#102b41;border:1px solid #79a9bd;border-radius:10px;padding:1px 10px;color:#fff;cursor:pointer}
.facility-panel{position:absolute;left:50%;top:51%;transform:translate(-50%,-50%);z-index:14;pointer-events:auto;max-width:360px;width:min(85vw,360px);border:1px solid #6ac1c3;background:#092a3ae8;padding:18px;border-radius:18px;box-shadow:0 18px 40px #0009}
.facility-panel h3{font-size:17px;color:#ffe2a4;margin:8px 0}.facility-panel p{font-size:12px;color:#d4eaf0;line-height:1.6}
.observer .facility-panel,.observer .upgrade-panel,.observer .notification-test{display:none!important}
@media(max-height:650px){
 .mission{top:53px;padding:5px 7px;width:min(260px,27vw);min-width:155px;gap:2px}
 .alert-badge{font-size:8px;padding:2px}.facility-mini{font-size:8px}
 .notification-test{padding:3px;font-size:8px}
 .target-card{padding:6px;bottom:6px}.mini-actions{gap:3px;margin-top:3px}
 .mini-actions button{font-size:8px;padding:4px 1px}.target-card strong{font-size:10px}
}
@media(max-width:850px) and (orientation:landscape){
 .mission{width:min(190px,23vw);left:49%;top:45px}
 .facility-mini{display:none}.mission-count{display:none}
 .target-card{width:min(175px,25vw)}
 .mini-actions button{font-size:8px;padding:4px 1px}
 .observer .headnote{top:42px}
 .upgrade-box{padding:12px 15px}.upgrade-box h2{font-size:15px}
 .upgradeItem{padding:6px 0}.upgradeItem b{font-size:11px}.upgradeItem small{font-size:9px}.upgradeItem button{padding:6px;font-size:9px}
}


/* ============================================================
   ZANGAR SKY GUARD V69 — COMMAND HQ LAYOUT
   A clear central view, realistic edge-mounted command consoles,
   phone/tablet/desktop landscape, no floating cards over the tank.
   ============================================================ */
:root{--hq-glass:rgba(6,22,35,.92);--hq-edge:#52869a;--hq-light:#71dbe3}
.app .topbar{top:calc(6px + env(safe-area-inset-top));left:calc(9px + env(safe-area-inset-left));right:calc(9px + env(safe-area-inset-right));height:44px;gap:7px;align-items:start}
.app .brand{min-height:40px;border:1px solid #688a967f;background:linear-gradient(145deg,#123244ef,#071825f2);border-radius:12px;padding:6px 10px;box-shadow:inset 0 1px 0 #d4ffff24,0 4px 20px #030a1699}
.app .brand .shield{height:29px;width:29px;font-size:15px}
.app .brand b{font-size:clamp(10px,1.15vw,14px);letter-spacing:1px}
.app .brand small{font-size:9px}
.app .toptools{gap:5px;flex-wrap:nowrap}
.app .toptools .pill{min-height:37px;padding:7px 10px;border-radius:10px;font-size:clamp(9px,.9vw,11px)}
.app .toptools #status{max-width:100px;text-overflow:ellipsis;overflow:hidden}
.app .headnote{display:none}
.app .mission{top:calc(58px + env(safe-area-inset-top));left:calc(10px + env(safe-area-inset-left));right:auto;transform:none;width:clamp(158px,21vw,242px);min-width:0;padding:8px 10px;gap:5px;z-index:7;text-align:initial;direction:rtl;background:linear-gradient(143deg,#092335f2,#071822ed);border:1px solid #6ca0b255;box-shadow:inset 0 1px 0 #e4ffff17,0 10px 25px #0005}
.app .mission::before{content:'◈  MISSION OPERATIONS';display:block;text-align:left;direction:ltr;letter-spacing:1.25px;color:#71cde4;font-weight:900;font-size:9px;margin-bottom:2px}
.app .mission-line b,.app .mission-line span{font-size:clamp(9px,.85vw,11px)}
.app .mission-count{font-size:9px}
.app .facility-mini{font-size:9px}
.app .alert-badge{background:#11453f7d}
.app .field-panel{left:calc(10px + env(safe-area-inset-left));top:calc(199px + env(safe-area-inset-top));background:#071d2cf0;border:1px solid #6ca0b255;border-radius:9px;padding:6px 10px;gap:8px;font-size:10px;box-shadow:0 5px 20px #020a1480}
.app .field-panel b{font-size:12px}
.app .radar-wrap{left:calc(12px + env(safe-area-inset-left));bottom:calc(12px + env(safe-area-inset-bottom));width:min(21vw,35vh,204px);min-width:90px;box-shadow:0 0 0 5px #071925b8,0 0 32px #05b98e24,0 8px 25px #000a;border-color:#54c9ad;z-index:5}
.app .radar-wrap .radar-label{font-size:clamp(8px,1vw,11px);letter-spacing:1.2px}
.app .commandDock{position:absolute;top:calc(58px + env(safe-area-inset-top));right:calc(9px + env(safe-area-inset-right));bottom:calc(8px + env(safe-area-inset-bottom));width:clamp(160px,22.5vw,232px);display:flex;flex-direction:column;justify-content:space-between;gap:7px;z-index:10;pointer-events:auto;background:linear-gradient(120deg,#0b2536e8,#091723ef);border:1px solid #648e9d91;border-radius:14px;padding:9px;box-shadow:inset 0 1px 0 #ecffff1a,-8px 8px 30px #040d1c91;direction:rtl}
.app .commandDock::before{content:'TACTICAL • CONTROL';font:900 9px system-ui,sans-serif;letter-spacing:1.5px;text-align:center;color:#87cbdc;direction:ltr;line-height:12px;display:block;flex:0 0 auto}
.app .commandDock .cash,.app .commandDock .target-card,.app .commandDock .controls{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin:0!important;min-width:0!important;flex:0 0 auto}
.app .commandDock .cash{background:#092135;border:1px solid #c8ad6b69;border-radius:9px;padding:7px 8px;box-shadow:none;backdrop-filter:none}
.app .commandDock .cash b{font-size:clamp(11px,1vw,14px);white-space:normal;line-height:1.25}
.app .commandDock .cash small{font-size:clamp(8px,.67vw,10px);line-height:1.35}
.app .commandDock .cash small:last-child{display:none}
.app .commandDock .target-card{display:block;border-radius:9px;border:1px solid #4ba4a976;background:#091d2ddc;padding:7px 6px;box-shadow:none;backdrop-filter:none;pointer-events:auto}
.app .commandDock .target-card strong{font-size:clamp(9px,.9vw,12px);white-space:normal;line-height:1.3}
.app .commandDock .target-card span{font-size:9px;line-height:1.2;margin-top:2px}
.app .commandDock .mini-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:6px}
.app .commandDock .mini-actions button{min-height:29px;font-size:clamp(8px,.73vw,10px);padding:4px 2px;background:#14374c;border-color:#609ab1ad;border-radius:6px}
.app .commandDock .controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(3,clamp(33px,7vh,49px))!important;gap:4px;direction:ltr;z-index:1;background:linear-gradient(150deg,#122e3b,#071825);border:1px solid #517e8e;padding:5px;border-radius:12px;box-shadow:inset 0 2px 8px #010712bb}
.app .commandDock .controlbtn{font-size:clamp(11px,1vw,14px);border-radius:9px;box-shadow:inset 0 1px 1px #ffffff28,0 3px 6px #0006}
.app .commandDock .controlbtn.fire{font-size:clamp(10px,.95vw,13px);border-radius:100%}
.app .commandDock .controlbtn.camera{font-size:clamp(9px,.85vw,11px)}
.app .commandDock .target-card .ready{color:#99b8d0}
/* Radar-only observers never see the military controls or tank */
.app.observer .commandDock,.app.observer .field-panel,.app.observer .mission{display:none!important}
.app.observer .radar-wrap{left:48%;top:53%;bottom:auto;transform:translate(-50%,-50%);width:min(66vh,48vw,460px)}
.app.observer .headnote{display:block;top:calc(70px + env(safe-area-inset-top));left:18%;right:18%;font-size:clamp(11px,1.15vw,15px)}
.app.observer .public-stats{display:flex}
.app.observer .observer-footer{bottom:calc(13px + env(safe-area-inset-bottom))}
@media(max-height:620px) and (orientation:landscape){
 .app .topbar{top:calc(4px + env(safe-area-inset-top));height:36px}
 .app .brand{padding:4px 7px;min-height:34px}
 .app .brand b{font-size:10px}.app .brand small{font-size:8px}.app .brand .shield{display:none}
 .app .toptools .pill{font-size:9px;min-height:32px;padding:4px 7px}
 .app .status{display:none}
 .app .mission{top:calc(47px + env(safe-area-inset-top));padding:5px 7px;gap:2px;width:clamp(140px,21vw,210px)}
 .app .mission::before{font-size:8px;line-height:10px}
 .app .mission-line b,.app .mission-line span{font-size:9px}
 .app .mission-count,.app .facility-mini{display:none}
 .app .alert-badge{padding:2px;font-size:8px}
 .app .field-panel{top:calc(139px + env(safe-area-inset-top));padding:5px 7px;font-size:9px}
 .app .field-panel b{font-size:10px}
 .app .radar-wrap{width:min(20vw,32vh,165px)}
 .app .commandDock{top:calc(46px + env(safe-area-inset-top));width:clamp(158px,22vw,198px);gap:3px;padding:6px}
 .app .commandDock::before{font-size:8px;line-height:10px}
 .app .commandDock .cash{padding:5px 6px}
 .app .commandDock .cash b{font-size:10px}
 .app .commandDock .cash small{font-size:8px}
 .app .commandDock .target-card{padding:5px 5px}
 .app .commandDock .target-card strong{font-size:9px}
 .app .commandDock .target-card span{display:none}
 .app .commandDock .mini-actions{margin-top:4px;gap:3px}
 .app .commandDock .mini-actions button{min-height:26px;font-size:8px;padding:2px}
 .app .commandDock .controls{grid-template-rows:repeat(3,clamp(29px,7.8vh,41px))!important;gap:3px;padding:4px}
 .app.observer .radar-wrap{width:min(68vh,49vw,335px)}
 .app.observer .headnote{top:calc(46px + env(safe-area-inset-top))}
}
@media(max-height:390px) and (orientation:landscape){
 .app .commandDock{padding:4px;gap:2px}
 .app .commandDock .cash small{display:none}
 .app .commandDock .target-card{padding:3px 4px}
 .app .commandDock .mini-actions button{min-height:24px}
 .app .commandDock .controls{grid-template-rows:repeat(3,30px)!important}
 .app .mission{width:145px}.app .alert-badge{display:none}
 .app .field-panel{top:calc(126px + env(safe-area-inset-top))}
}
@media(min-height:760px) and (orientation:landscape){
 .app .mission{width:220px}.app .field-panel{top:202px}
 .app .radar-wrap{width:min(22vw,30vh,220px)}
}
@media(max-width:720px) and (orientation:landscape){
 .app .commandDock{width:min(26vw,172px)}
 .app .radar-wrap{width:min(19vw,32vh,136px)}
 .app .mission{width:min(24vw,160px)}
 .app .toptools .pill{font-size:8px;padding:4px 5px}
 .app .commandDock .controlbtn.fire{font-size:9px}
}


/* V69 HQ: physical telemetry panel fills extra room on taller tablets. */
.app .stationTelemetry{display:flex;flex:1;min-height:0;flex-direction:column;gap:9px;justify-content:center;align-items:stretch;margin:2px 0;padding:10px 9px;border-radius:10px;background:linear-gradient(165deg,#0b2934b7,#081a29ca);border:1px solid #4d819280;box-shadow:inset 0 0 22px #010b16b3;pointer-events:none}
.app .stationHeading{font:800 clamp(8px,.72vw,10px) system-ui,sans-serif;color:#83aebc;letter-spacing:1.2px;direction:ltr;text-align:center}
.app .stationBars{display:flex;justify-content:space-between;align-items:end;height:23px;gap:3px;direction:ltr}
.app .stationBars i{flex:1;background:linear-gradient(0deg,#176774,#7bdcce);height:65%;border:1px solid #89d7c24c;border-radius:2px;box-shadow:0 0 10px #31a39e4f}
.app .stationBars i:nth-child(3n){height:100%;background:linear-gradient(0deg,#176774,#9bf1d7)}
.app .stationBars i:nth-child(4n){height:35%;background:linear-gradient(0deg,#aa753a,#e2cf83)}
.app .commandDock .controls{margin-top:0!important}
@media(max-height:620px) and (orientation:landscape){.app .stationTelemetry{display:none}}
.app .message{top:calc(66px + env(safe-area-inset-top));width:min(370px,38vw);padding:7px 10px;font-size:11px;min-height:24px;border-radius:9px}
@media(max-height:620px) and (orientation:landscape){.app .message{top:calc(44px + env(safe-area-inset-top));max-width:320px;width:min(45vw,320px);font-size:9px;padding:5px}}


/* V70 REALISTIC HQ • Public radar & in-radar command sign-in */
.war-entry{position:absolute;left:calc(10px + env(safe-area-inset-left));top:48%;transform:translateY(-50%);z-index:9;width:clamp(145px,20vw,260px);border:1px solid #79a69b88;border-radius:17px;background:linear-gradient(155deg,#102b36f5,#061722fa);padding:15px 12px;text-align:center;box-shadow:inset 0 1px 0 #d1f9ed24,0 13px 30px #0008;direction:rtl;pointer-events:auto}
.war-label{display:block;font:800 clamp(8px,.75vw,11px) system-ui,sans-serif;color:#80bdba;letter-spacing:1px;direction:ltr;margin-bottom:10px}
.enter-war{display:block;width:100%;min-height:48px;border-radius:12px;border:1px solid #f5d28a;background:linear-gradient(155deg,#72562c,#243f4a);color:#ffe8a6;font-weight:1000;font-size:clamp(12px,1.35vw,16px);box-shadow:inset 0 1px 0 #fff4cb62,0 8px 22px #0006}
.enter-war:active{transform:scale(.97)}.war-entry small{display:block;color:#b4d2d2;font-size:clamp(9px,.9vw,11px);line-height:1.5;margin-top:9px}
.app:not(.observer) .war-entry{display:none!important}
.war-gate{position:absolute;inset:0;z-index:35;display:grid;place-items:center;background:#020e1ad9;backdrop-filter:blur(8px);padding:12px;pointer-events:auto}
.war-gate-card{position:relative;display:grid;gap:9px;max-width:min(380px,90vw);width:100%;border:1px solid #71baa4;border-radius:20px;background:linear-gradient(145deg,#193d4b,#081b2b);box-shadow:0 26px 70px #000b;padding:19px 24px;direction:rtl}
.war-gate-card h2{text-align:center;font-size:20px;color:#ffe5a5;margin:0}.war-gate-card p{text-align:center;color:#d1e8e9;font-size:12px;line-height:1.6;margin:0}.war-gate-card label{font-size:11px;color:#b4d9d4;font-weight:800}
.war-gate-card input{background:#061826;border:1px solid #6ba9aa;color:white;border-radius:11px;padding:11px;text-align:center;font-size:20px;letter-spacing:4px;min-height:41px;width:100%}
.war-submit{color:#0c2028;background:linear-gradient(150deg,#ffe2a4,#b8d5c8);border:0;padding:11px;border-radius:11px;font-weight:1000}.war-error{font-size:11px;min-height:15px;color:#ffb7a3;text-align:center}.war-close{position:absolute;left:10px;top:9px;border-radius:9px;background:#1a3d48;border:1px solid #689aa1;color:white;font-size:23px;line-height:25px;width:31px;height:31px}.war-gate-icon{font-size:27px;color:#9af1d8;text-align:center}
.optics-controls{position:absolute;top:calc(55px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:9;gap:5px;display:flex;pointer-events:auto;direction:ltr}
.optics-controls button{border:1px solid #8ccab1;background:#061d2cdd;color:#b0ffdf;border-radius:8px;padding:7px 11px;font-size:10px;box-shadow:0 5px 14px #0005}
.app.observer .optics-controls{display:none!important}
.app.observer .observer-footer{left:16%;right:16%;font-size:clamp(9px,.9vw,11px)}
.app.observer .radar-wrap{left:50%;width:min(66vh,47vw,465px)}
@media(max-height:620px) and (orientation:landscape){
 .war-entry{width:min(19vw,178px);padding:8px 7px;border-radius:12px;top:53%}.war-label{font-size:7px;margin-bottom:5px}.enter-war{min-height:35px;font-size:11px}.war-entry small{font-size:8px;margin-top:5px}
 .war-gate-card{padding:12px 18px;gap:5px;max-width:365px}.war-gate-card h2{font-size:16px}.war-gate-card p{font-size:10px;line-height:1.4}.war-gate-card input{min-height:33px;font-size:17px;padding:6px}.war-submit{padding:8px}
 .optics-controls{top:calc(43px + env(safe-area-inset-top))}.optics-controls button{padding:4px 8px;font-size:9px}
 .app.observer .public-stats{right:6px;width:clamp(103px,15.5vw,150px)}.app.observer .public-stats div{padding:5px 7px}
 .app.observer .radar-wrap{width:min(68vh,48vw,365px)}
}
@media(max-width:720px) and (orientation:landscape){.war-entry{width:18vw}.war-entry small{font-size:7px}.war-label{font-size:6.5px}}
@media(min-height:760px) and (orientation:landscape){.war-entry{top:49%}}
