:root{
  --bg:#05080d;--panel:#0a1118;--panel-2:#0e1720;--line:#1e2c38;--line-strong:#345065;
  --text:#eef6fb;--muted:#8ea2b1;--ally:#62d6ff;--enemy:#ff7468;--accent:#ffbb45;--green:#61e08b;
  --shadow:0 18px 50px rgba(0,0,0,.38)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#12202d 0,#070b10 42%,#030507 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{overflow-x:hidden}
button,input,select{font:inherit}
button{border:0}
.app-shell{width:min(1500px,100%);margin:auto;padding:10px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:rgba(7,12,17,.88);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:10px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid var(--line-strong);border-radius:13px;background:linear-gradient(145deg,#172b39,#0a1118);color:var(--accent);font-weight:950;letter-spacing:-.06em}.brand strong,.brand span{display:block}.brand strong{font-size:15px;letter-spacing:.08em}.brand span{margin-top:2px;color:var(--muted);font-size:8px;letter-spacing:.18em}.top-actions{display:flex;align-items:center;gap:7px}.icon-btn,.pill-btn{height:40px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:#0d1720;cursor:pointer}.icon-btn{width:40px}.pill-btn{padding:0 13px;font-size:11px;font-weight:850}
.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px}.battle-console{min-width:0}.scoreboard{display:grid;grid-template-columns:1fr 180px 1fr;gap:8px;margin-bottom:8px}.base-score,.round-card{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:rgba(8,14,20,.92)}.side-title{display:flex;align-items:center;gap:8px}.side-title strong{font-size:12px;letter-spacing:.05em}.side-title small{margin-left:auto;color:var(--muted);font-size:8px;letter-spacing:.15em}.right-score .side-title{justify-content:flex-end}.right-score .side-title small{margin:0 auto 0 0}.side-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 13px currentColor}.side-dot.ally{color:var(--ally);background:var(--ally)}.side-dot.enemy{color:var(--enemy);background:var(--enemy)}.destruction-row,.ammo-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:9px}.destruction-row span,.ammo-row span{color:var(--muted)}.destruction-row b{font-size:15px}.destruction-meter{height:8px;margin-top:4px;overflow:hidden;border-radius:999px;background:#030609}.destruction-meter i{display:block;width:0;height:100%;transition:width .35s}.left-score .destruction-meter i{margin-left:auto;background:linear-gradient(90deg,#1689b5,var(--ally))}.right-score .destruction-meter i{background:linear-gradient(90deg,var(--enemy),#b33131)}.round-card{display:grid;place-items:center;text-align:center}.round-card small{color:var(--accent);font-size:8px;letter-spacing:.18em}.round-card strong{margin:3px 0;font-size:12px}.round-card span{color:var(--muted);font-size:8px;letter-spacing:.14em}
.game-frame{position:relative;min-height:560px;aspect-ratio:16/8.7;overflow:hidden;border:1px solid var(--line-strong);border-radius:18px;background:#071019;box-shadow:var(--shadow)}#renderCanvas{display:block;width:100%;height:100%;outline:0;touch-action:none}.cinema-bars::before,.cinema-bars::after{content:"";position:absolute;left:0;right:0;z-index:2;height:12px;background:linear-gradient(#020305,transparent)}.cinema-bars::before{top:0}.cinema-bars::after{bottom:0;transform:rotate(180deg)}.wind-hud,.impact-hud,.status-message{position:absolute;z-index:4;border:1px solid rgba(255,255,255,.14);background:rgba(4,8,12,.78);backdrop-filter:blur(6px)}.wind-hud{top:13px;left:50%;display:flex;align-items:center;gap:7px;transform:translateX(-50%);padding:7px 10px;border-radius:999px}.wind-hud span,.impact-hud small{color:var(--muted);font-size:8px;letter-spacing:.13em}.wind-hud strong{font-size:11px}.wind-hud i{color:var(--accent);font-style:normal;font-size:16px}.impact-hud{right:12px;top:12px;display:grid;gap:2px;min-width:145px;padding:8px 10px;border-radius:12px;text-align:right}.impact-hud strong{font-size:11px}.impact-hud span{color:var(--accent);font-size:9px}.status-message{left:50%;bottom:15px;transform:translateX(-50%);padding:8px 12px;border-radius:999px;color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.1em;opacity:0;transition:opacity .2s}.status-message.show{opacity:1}.loading-overlay{position:absolute;inset:0;z-index:20;display:none;place-items:center;align-content:center;gap:10px;background:#050a0f}.loading-overlay.active{display:grid}.loading-overlay strong{font-size:12px;letter-spacing:.14em}.loading-overlay span{color:var(--muted);font-size:10px}.loader-ring{width:46px;height:46px;border:3px solid rgba(255,187,69,.14);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}
.overlay{position:absolute;inset:0;z-index:10;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(1,4,7,.76);backdrop-filter:blur(10px)}.overlay.active{display:flex}.overlay-card{width:min(720px,100%);max-height:100%;overflow:auto;padding:22px;border:1px solid var(--line-strong);border-radius:18px;background:rgba(8,14,20,.97);box-shadow:var(--shadow)}.overlay-card.compact{width:min(470px,100%);text-align:center}.start-card h1{margin:7px 0 9px;font-size:clamp(30px,5vw,54px);line-height:.95;letter-spacing:-.05em}.overlay h2{margin:5px 0 8px}.overlay p{color:var(--muted);line-height:1.55}.eyebrow{color:var(--accent);font-size:9px;letter-spacing:.2em}.field-label{display:block;margin:14px 0 6px;color:var(--muted);font-size:10px}.text-input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:11px;outline:none;color:var(--text);background:#071019}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,187,69,.1)}.mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0 16px}.mode-option{padding:12px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:#0d1720;cursor:pointer;text-align:left}.mode-option span,.mode-option strong,.mode-option small{display:block}.mode-option span{margin-bottom:7px;font-size:25px}.mode-option strong{font-size:11px}.mode-option small{margin-top:3px;color:var(--muted);font-size:9px}.mode-option.active{border-color:var(--accent);background:rgba(255,187,69,.08)}.primary-btn,.secondary-btn{min-height:46px;padding:0 16px;border-radius:12px;cursor:pointer;font-size:11px;font-weight:950;letter-spacing:.05em}.primary-btn{width:100%;color:#171006;background:linear-gradient(135deg,#ffd168,var(--accent))}.secondary-btn{border:1px solid var(--line);color:var(--text);background:#0d1720}.secondary-btn.wide{width:100%}.control-hint{margin-bottom:0!important;text-align:center;font-size:9px}.online-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.online-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.online-grid section{padding:14px;border:1px solid var(--line);border-radius:13px;background:#0c151d}.online-grid h3{margin:0}.code-input{text-transform:uppercase;letter-spacing:.28em;text-align:center;font-weight:900}.room-status{min-height:26px;margin-top:12px;color:var(--accent);font-size:10px;text-align:center}.waiting-card{display:grid;justify-items:center;gap:8px}.room-code{padding:10px 16px;border:1px dashed var(--accent);border-radius:12px;color:var(--accent);background:rgba(255,187,69,.07);font-size:27px;font-weight:950;letter-spacing:.2em}.waiting-card>span{color:var(--muted);font-size:10px}.result-badge{display:inline-flex;padding:7px 11px;border-radius:999px;color:#171006;background:var(--accent);font-size:9px;font-weight:950;letter-spacing:.12em}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.result-stats div{padding:11px 5px;border:1px solid var(--line);border-radius:11px;background:#0b151d}.result-stats span,.result-stats strong{display:block}.result-stats span{color:var(--muted);font-size:8px}.result-stats strong{margin-top:3px;font-size:18px}.result-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.aim-console{display:grid;grid-template-columns:1.15fr 1.5fr .8fr;gap:9px;margin-top:9px}.weapon-panel,.aim-panel,.fire-panel{padding:11px;border:1px solid var(--line);border-radius:15px;background:rgba(8,14,20,.94)}.section-label{margin-bottom:8px;color:var(--muted);font-size:8px;letter-spacing:.15em}.weapon-list{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.weapon-btn{padding:9px 5px;border:1px solid var(--line);border-radius:11px;color:var(--text);background:#0d1720;cursor:pointer}.weapon-btn span,.weapon-btn strong,.weapon-btn small{display:block}.weapon-btn span{font-size:20px}.weapon-btn strong{margin-top:3px;font-size:9px}.weapon-btn small{margin-top:2px;color:var(--muted);font-size:7px}.weapon-btn.active{border-color:var(--accent);background:rgba(255,187,69,.08)}.weapon-btn:disabled{opacity:.38;cursor:not-allowed}.aim-panel{display:grid;grid-template-columns:1fr 185px;gap:10px;align-items:center}.aim-panel>.section-label{grid-column:1/-1;margin:0}.aim-pad{position:relative;height:115px;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:radial-gradient(circle at 16% 83%,rgba(255,187,69,.12),transparent 44%),#070d13;touch-action:none}.aim-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:20px 20px}.aim-pad::before{content:"";position:absolute;left:16%;bottom:17%;width:11px;height:11px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px var(--accent)}.aim-line{position:absolute;left:16%;bottom:21%;width:44%;height:3px;transform-origin:0 50%;transform:rotate(-45deg);border-radius:999px;background:linear-gradient(90deg,var(--accent),rgba(255,187,69,.18))}.aim-knob{position:absolute;left:50%;top:25%;display:grid;place-items:center;width:34px;height:34px;border:2px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);color:var(--accent);background:#111820;box-shadow:0 5px 18px rgba(0,0,0,.4);cursor:grab}.angle-mark{position:absolute;color:var(--muted);font-size:7px}.angle-15{right:8px;bottom:9px}.angle-45{right:38%;top:48%}.angle-80{left:21%;top:7px}.aim-values{display:grid;gap:6px}.aim-values div{display:flex;align-items:center;justify-content:space-between;padding:8px;border:1px solid var(--line);border-radius:10px;background:#0b151d}.aim-values span{color:var(--muted);font-size:7px}.aim-values strong{font-size:10px}.fire-panel{display:grid;gap:7px}.fire-btn{min-height:100px;border:1px solid #b77519;border-radius:14px;color:#171006;background:linear-gradient(145deg,#ffd46b,#ef9e23);cursor:pointer;box-shadow:inset 0 -8px 18px rgba(151,81,0,.25)}.fire-btn span,.fire-btn strong,.fire-btn small{display:block}.fire-btn span{font-size:27px}.fire-btn strong{font-size:16px;letter-spacing:.08em}.fire-btn small{margin-top:3px;font-size:8px}.fire-btn:disabled{filter:grayscale(.8);opacity:.45;cursor:not-allowed}.turn-note{color:var(--muted);font-size:8px;line-height:1.45;text-align:center}
.side-panel{display:grid;align-content:start;gap:9px}.panel-card{padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(8,14,20,.9)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.section-heading span{color:var(--muted);font-size:9px;letter-spacing:.13em}.section-heading b{color:var(--accent);font-size:8px}.building-list{display:grid;gap:6px}.building-row{display:grid;grid-template-columns:31px 1fr auto;align-items:center;gap:7px;padding:8px;border:1px solid var(--line);border-radius:10px;background:#0b151d}.building-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:rgba(255,187,69,.07)}.building-row strong,.building-row small{display:block}.building-row strong{font-size:9px}.building-row small{margin-top:2px;color:var(--muted);font-size:7px}.building-hp{min-width:36px;text-align:right;font-size:9px}.hp-mini{grid-column:2/-1;height:5px;overflow:hidden;border-radius:999px;background:#04070a}.hp-mini i{display:block;height:100%;background:linear-gradient(90deg,var(--green),#a4f48d);transition:width .25s}.rules-list{margin:0;padding-left:17px;color:var(--muted);font-size:9px;line-height:1.6}.quality-card label{display:block;margin-bottom:6px;color:var(--muted);font-size:8px}.quality-card select{width:100%;padding:9px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:#071019}.online-info p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}
.modal{position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;padding:15px;background:rgba(0,0,0,.76);backdrop-filter:blur(9px)}.modal.open{display:flex}.modal-dialog{width:min(620px,100%);max-height:90vh;overflow:hidden;border:1px solid var(--line-strong);border-radius:17px;background:#081018;box-shadow:var(--shadow)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:15px;border-bottom:1px solid var(--line)}.modal-header small{color:var(--accent);font-size:8px;letter-spacing:.17em}.modal-header h2{margin:3px 0 0}.leaderboard-content{max-height:570px;overflow:auto;padding:10px}.rank-row{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:9px;padding:10px;border-bottom:1px solid var(--line)}.rank-num{color:var(--accent);font-weight:900}.rank-info strong,.rank-info small{display:block}.rank-info small{margin-top:2px;color:var(--muted);font-size:8px}.rank-score{font-weight:900}.empty-state{padding:28px 14px;text-align:center;color:var(--muted)}
@media(max-width:1180px){.battle-layout{grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.app-shell{padding:6px}.scoreboard{grid-template-columns:1fr 118px 1fr}.base-score{padding:8px}.game-frame{min-height:410px;aspect-ratio:16/10}.aim-console{grid-template-columns:1fr}.aim-panel{grid-template-columns:1fr 165px}.fire-panel{grid-template-columns:1fr 1fr;align-items:center}.fire-btn{grid-row:span 2;min-height:90px}.side-panel{grid-template-columns:1fr 1fr}.mode-grid{grid-template-columns:1fr}.mode-option{display:grid;grid-template-columns:36px 1fr;column-gap:7px;align-items:center}.mode-option span{grid-row:span 2;margin:0}.online-grid{grid-template-columns:1fr}.overlay{align-items:flex-start;overflow:auto}.overlay-card{margin:auto 0}.pill-btn{font-size:0;width:40px;padding:0}.pill-btn::after{content:"🏆";font-size:15px}}
@media(max-width:560px){.brand strong{font-size:12px}.brand span{font-size:7px}.brand-mark{width:38px;height:38px}.scoreboard{grid-template-columns:1fr 90px 1fr;gap:4px}.side-title strong{max-width:82px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.side-title small{display:none}.destruction-row,.ammo-row{font-size:7px}.destruction-row b{font-size:12px}.round-card{padding:6px}.round-card strong{font-size:8px}.round-card small,.round-card span{font-size:6px}.game-frame{min-height:340px;aspect-ratio:10/8}.wind-hud{top:7px;padding:5px 7px}.impact-hud{right:6px;top:7px;min-width:115px;padding:6px}.aim-panel{grid-template-columns:1fr}.aim-values{grid-template-columns:repeat(3,1fr)}.aim-values div{display:grid;text-align:center}.weapon-btn small{display:none}.weapon-btn{padding:8px 3px}.fire-panel{grid-template-columns:1fr}.fire-btn{grid-row:auto;min-height:78px}.side-panel{grid-template-columns:1fr}.result-actions{grid-template-columns:1fr}.room-code{font-size:22px}.top-actions{gap:4px}.icon-btn{width:36px;height:36px}}

/* v5 — selectable 3D regions, local-territory camera and base relocation */
.map-select-wrap{margin:4px 0 16px}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.map-option{padding:12px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:#0d1720;cursor:pointer;text-align:left}.map-option span,.map-option strong,.map-option small{display:block}.map-option span{margin-bottom:7px;font-size:25px}.map-option strong{font-size:11px}.map-option small{margin-top:3px;color:var(--muted);font-size:9px}.map-option.active{border-color:var(--green);background:rgba(97,224,139,.08);box-shadow:inset 0 0 0 1px rgba(97,224,139,.08)}
.map-hud{position:absolute;z-index:4;top:12px;left:12px;display:grid;gap:1px;min-width:125px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(4,8,12,.78);backdrop-filter:blur(6px)}.map-hud span{color:var(--muted);font-size:7px;letter-spacing:.14em}.map-hud strong{font-size:10px}.map-hud small{color:var(--green);font-size:8px}.relocate-btn{border-color:rgba(97,224,139,.42);color:#c9ffda}.relocate-btn span{float:right;color:var(--green)}.relocate-btn:disabled{opacity:.4;cursor:not-allowed;filter:grayscale(.8)}
@media(max-width:850px){.map-grid{grid-template-columns:1fr}.map-option{display:grid;grid-template-columns:36px 1fr;column-gap:7px;align-items:center}.map-option span{grid-row:span 2;margin:0}}
@media(max-width:560px){.map-hud{left:6px;top:7px;min-width:96px;padding:6px 7px}.map-hud span{font-size:6px}.map-hud strong{font-size:8px}.map-hud small{font-size:7px}}

/* v6 realistic environment and nuclear cinematic */
.nuclear-flash{position:absolute;inset:0;z-index:12;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 58%,#fff 0,#fffbe2 12%,rgba(255,179,65,.96) 34%,rgba(255,83,24,.46) 58%,transparent 82%);mix-blend-mode:screen}
.nuclear-flash.active{animation:nuclearFlash 2.2s ease-out forwards}
@keyframes nuclearFlash{0%{opacity:1;filter:brightness(2.6)}8%{opacity:1}32%{opacity:.46}100%{opacity:0;filter:brightness(1)}}
.weapon-btn.nuclear-weapon{border-color:rgba(255,210,55,.34);background:linear-gradient(145deg,rgba(63,68,24,.64),rgba(18,25,19,.95))}.weapon-btn.nuclear-weapon.active{border-color:#f4dc45;background:rgba(244,220,69,.13);box-shadow:inset 0 0 24px rgba(244,220,69,.09)}
.weapon-btn.nuclear-weapon span{filter:drop-shadow(0 0 7px rgba(244,220,69,.55))}
@media(max-width:760px){.weapon-list{grid-template-columns:repeat(2,1fr)}}

/* v7 — Indonesian missile roster, salvo controls and mobile-first console */
html{height:100%;-webkit-text-size-adjust:100%}
body{min-height:100%;min-height:100dvh;overscroll-behavior-y:none;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)}
button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.weapon-list{grid-template-columns:repeat(5,minmax(0,1fr))}
.weapon-btn.hypersonic-weapon{border-color:rgba(93,211,255,.34);background:linear-gradient(145deg,rgba(21,49,62,.78),rgba(12,20,27,.96))}
.weapon-btn.hypersonic-weapon.active{border-color:#72dcff;background:rgba(76,199,242,.13);box-shadow:inset 0 0 24px rgba(75,202,245,.08)}
.weapon-btn.hypersonic-weapon span{filter:drop-shadow(0 0 8px rgba(105,220,255,.56))}
.salvo-selector{display:grid;gap:6px;padding:8px;border:1px solid var(--line);border-radius:11px;background:#0b151d}
.salvo-selector>span{color:var(--muted);font-size:7px;letter-spacing:.13em;text-align:center}
.salvo-selector>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.salvo-btn{min-height:34px;border:1px solid var(--line);border-radius:9px;color:var(--text);background:#101d27;cursor:pointer;font-size:8px;font-weight:900}
.salvo-btn.active{border-color:var(--accent);color:#171006;background:var(--accent)}
.salvo-btn:disabled{opacity:.35;cursor:not-allowed}
.mobile-control-tabs{display:none}

@media(max-width:760px){
  body{background:#04070b}
  .app-shell{width:100%;padding:4px}
  .topbar{position:sticky;top:env(safe-area-inset-top);z-index:22;margin-bottom:4px;padding:6px 8px;border-radius:11px}
  .brand{gap:7px}.brand-mark{width:34px;height:34px;border-radius:10px}.brand strong{font-size:11px}.brand span{font-size:6px}
  .top-actions{gap:3px}.icon-btn,.pill-btn{width:34px;height:34px;border-radius:9px}.pill-btn{padding:0}
  .battle-layout{display:block}.side-panel{display:none}
  .scoreboard{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);gap:3px;margin-bottom:4px}
  .base-score,.round-card{padding:6px 7px;border-radius:10px}.side-title{gap:5px}.side-dot{width:7px;height:7px}
  .destruction-row,.ammo-row{margin-top:4px}.destruction-meter{height:6px;margin-top:2px}
  .game-frame{min-height:300px;height:clamp(310px,47dvh,500px);aspect-ratio:auto;border-radius:12px}
  .map-hud,.impact-hud{backdrop-filter:none}.wind-hud{backdrop-filter:none}
  .mobile-control-tabs{position:sticky;bottom:0;z-index:18;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px;padding:4px;border:1px solid var(--line);border-radius:12px;background:rgba(5,10,15,.96);box-shadow:0 -8px 26px rgba(0,0,0,.3)}
  .mobile-control-tab{min-height:43px;border:1px solid transparent;border-radius:9px;color:var(--muted);background:transparent;font-size:10px;font-weight:850}
  .mobile-control-tab span{margin-right:3px}.mobile-control-tab.active{border-color:var(--line-strong);color:var(--text);background:#10202b}
  .aim-console{display:block;margin-top:5px}
  .aim-console>.weapon-panel,.aim-console>.aim-panel,.aim-console>.fire-panel{display:none;min-height:218px;padding:9px;border-radius:12px}
  .aim-console[data-mobile-panel="weapons"]>.weapon-panel{display:block}
  .aim-console[data-mobile-panel="aim"]>.aim-panel{display:grid}
  .aim-console[data-mobile-panel="fire"]>.fire-panel{display:grid}
  .weapon-list{grid-template-columns:1fr 1fr;gap:6px}
  .weapon-btn{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;min-height:62px;padding:7px 8px;text-align:left}
  .weapon-btn span{grid-row:1/3;display:grid;place-items:center;font-size:22px}.weapon-btn strong{margin:0;font-size:9px}.weapon-btn small{display:block;margin:1px 0 0;font-size:7px;white-space:normal}
  .aim-panel{grid-template-columns:1fr!important;align-content:start}.aim-panel>.section-label{display:none}
  .aim-pad{height:158px;border-radius:11px}.aim-knob{width:42px;height:42px}
  .aim-values{grid-template-columns:repeat(4,1fr);gap:4px}.aim-values div{display:grid;gap:2px;min-height:45px;padding:6px 3px;text-align:center}.aim-values strong{font-size:9px}.aim-values span{font-size:6px}
  .fire-panel{grid-template-columns:1fr 1fr;align-content:start;gap:6px}
  .salvo-selector{grid-column:1/-1}.fire-btn{grid-column:1/-1;min-height:88px;border-radius:12px}.fire-btn span{font-size:24px}.fire-btn strong{font-size:15px}
  .fire-panel>.secondary-btn{min-height:43px;padding:0 8px;font-size:9px}.turn-note{grid-column:1/-1}
  .overlay{padding:8px}.overlay-card{padding:15px;border-radius:14px}.start-card h1{font-size:34px}.mode-grid,.map-grid{gap:6px}.mode-option,.map-option{padding:9px}
  .status-message{bottom:9px;max-width:90%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}

@media(max-width:430px) and (orientation:portrait){
  .game-frame{height:43dvh;min-height:285px;max-height:410px}
  .scoreboard{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr)}
  .left-score .ammo-row span,.right-score .ammo-row span{display:none}
  .impact-hud{min-width:102px}.impact-hud small{display:none}
  .map-hud{min-width:88px}.wind-hud span{display:none}
  .weapon-btn{min-height:58px}.aim-console>.weapon-panel,.aim-console>.aim-panel,.aim-console>.fire-panel{min-height:205px}
}

@media(max-width:950px) and (orientation:landscape) and (max-height:640px){
  html,body{height:100%;overflow:hidden}
  .app-shell{height:100dvh;display:flex;flex-direction:column;padding:3px}
  .topbar{position:relative;top:auto;flex:0 0 auto;margin-bottom:3px;padding:3px 7px;min-height:40px}
  .brand-mark{width:31px;height:31px}.brand span{display:none}.top-actions .icon-btn,.top-actions .pill-btn{width:31px;height:31px}
  .battle-layout{flex:1;min-height:0}
  .battle-console{height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,35vw);grid-template-rows:auto 42px minmax(0,1fr);gap:4px}
  .scoreboard{grid-column:1/-1;grid-row:1;margin:0;min-height:48px}.base-score,.round-card{padding:4px 7px}.destruction-row,.ammo-row{margin-top:2px}.destruction-meter{height:4px}
  .game-frame{grid-column:1;grid-row:2/4;width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;border-radius:10px}
  .mobile-control-tabs{position:relative;bottom:auto;grid-column:2;grid-row:2;margin:0;padding:3px;border-radius:9px}
  .mobile-control-tab{min-height:34px;font-size:8px}
  .aim-console{grid-column:2;grid-row:3;height:100%;min-height:0;margin:0;overflow:hidden}
  .aim-console>.weapon-panel,.aim-console>.aim-panel,.aim-console>.fire-panel{height:100%;min-height:0;overflow:auto;padding:7px;border-radius:9px}
  .weapon-list{grid-template-columns:1fr 1fr}.weapon-btn{min-height:50px;padding:5px 6px}.weapon-btn span{font-size:18px}.weapon-btn small{font-size:6px}
  .aim-pad{height:min(31dvh,155px)}.aim-values div{min-height:35px;padding:3px}.fire-btn{min-height:62px}.fire-panel>.secondary-btn{min-height:36px}.turn-note{font-size:7px}
  .wind-hud{top:5px}.map-hud,.impact-hud{top:5px}.map-hud{left:5px}.impact-hud{right:5px}
  .overlay-card{max-height:94dvh}.start-card{width:min(760px,100%)}.start-card h1{font-size:28px}.start-card p{margin:5px 0;font-size:10px}.field-label{margin:7px 0 4px}.mode-grid{grid-template-columns:repeat(3,1fr);margin:7px 0}.map-grid{grid-template-columns:repeat(3,1fr)}.mode-option,.map-option{display:block;padding:7px}.mode-option span,.map-option span{font-size:18px}.mode-option small,.map-option small{display:none}.primary-btn{min-height:38px}
}

@media(max-width:950px) and (orientation:landscape) and (max-height:640px){
  .mobile-control-tabs{display:grid}
  .aim-console{display:block}
  .aim-console>.weapon-panel,.aim-console>.aim-panel,.aim-console>.fire-panel{display:none;height:100%;min-height:0;overflow:auto;padding:7px;border-radius:9px}
  .aim-console[data-mobile-panel="weapons"]>.weapon-panel{display:block}
  .aim-console[data-mobile-panel="aim"]>.aim-panel{display:grid;grid-template-columns:1fr}
  .aim-console[data-mobile-panel="fire"]>.fire-panel{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:5px}
  .aim-panel>.section-label{display:none}.aim-values{grid-template-columns:repeat(4,1fr);gap:3px}.aim-values div{display:grid;min-height:34px;padding:3px;text-align:center}
  .weapon-btn{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;text-align:left}.weapon-btn span{grid-row:1/3}.weapon-btn strong{margin:0}.weapon-btn small{display:block;margin:0}
  .salvo-selector{grid-column:1/-1}.fire-btn{grid-column:1/-1}.fire-panel>.secondary-btn{min-height:35px;padding:0 6px;font-size:8px}.turn-note{grid-column:1/-1}
}
