/* Nusantara Strike v23.7.17 — one in-arena Campaign HUD for desktop and mobile */
html,body{width:100%;height:100%;overflow:hidden!important}
body{min-height:100dvh!important}
.app-shell{width:100%!important;max-width:none!important;height:100dvh;min-height:0;display:flex;flex-direction:column;padding:8px!important;overflow:hidden}
.topbar{flex:0 0 auto;margin-bottom:6px!important}
.game-layout{display:block!important;flex:1;min-height:0;overflow:hidden}
.game-console{height:100%;min-height:0;display:grid!important;grid-template-rows:auto minmax(0,1fr);gap:0}
.mission-bar{grid-row:1;margin-bottom:6px!important}
.game-frame{grid-row:2;position:relative!important;width:100%;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;border-radius:16px}

html.cockpit-layout .game-layout{display:block!important;flex:1;min-height:0;overflow:hidden}
html.cockpit-layout .game-console{height:100%;min-height:0;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;gap:0!important}
html.cockpit-layout .mission-bar{grid-column:1!important;grid-row:1!important;margin-bottom:6px!important}
html.cockpit-layout #gameFrame{grid-column:1!important;grid-row:2!important;height:auto!important;min-height:0!important;max-height:none!important}
#renderCanvas{position:absolute;inset:0;width:100%!important;height:100%!important}

/* Overlay order: game controls live inside the 3D arena, menus remain above them. */
#controlConsole{position:absolute!important;left:50%;bottom:58px;z-index:24;width:min(1020px,calc(100% - 16px));max-height:min(44%,330px);margin:0!important;padding:0!important;transform:translateX(-50%);display:block!important;overflow:hidden;border:1px solid rgba(81,121,145,.72);border-radius:14px;background:linear-gradient(160deg,rgba(7,17,24,.96),rgba(5,12,17,.91));box-shadow:0 16px 38px rgba(0,0,0,.48);backdrop-filter:blur(15px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
#controlConsole .control-panel{display:none!important;width:100%;height:auto!important;min-height:0!important;max-height:min(42dvh,310px);overflow:auto;padding:10px 12px!important;border:0!important;border-radius:0!important;background:transparent!important;scrollbar-width:thin;overscroll-behavior:contain}
#controlConsole[data-mobile-panel="weapons"] [data-panel="weapons"],
#controlConsole[data-mobile-panel="gear"] [data-panel="gear"]{display:block!important}
#controlConsole[data-mobile-panel="fire"] [data-panel="fire"],
#controlConsole[data-mobile-panel="intel"] [data-panel="intel"]{display:grid!important}

#mobileTabs{position:absolute!important;left:50%;bottom:8px;z-index:25;width:min(760px,calc(100% - 16px));display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:4px;margin:0!important;padding:4px!important;border:1px solid rgba(81,121,145,.75)!important;border-radius:13px!important;background:rgba(5,13,19,.95)!important;box-shadow:0 10px 30px rgba(0,0,0,.48);backdrop-filter:blur(15px);transform:translateX(-50%)}
#mobileTabs .mobile-tab{display:grid;place-items:center;min-width:0;min-height:40px!important;padding:5px 4px;border:1px solid transparent;border-radius:9px;color:#9cb0bc;background:transparent;font-size:9px;font-weight:900;white-space:nowrap;cursor:pointer}
#mobileTabs .mobile-tab:hover,#mobileTabs .mobile-tab.active{border-color:rgba(255,186,70,.68);color:#fff;background:rgba(255,186,70,.13)}
#mobileTabs .hud-collapse-btn{color:var(--accent)}
.game-frame.hud-collapsed #controlConsole{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,14px)}
.game-frame.hud-collapsed #mobileTabs .hud-collapse-btn{background:rgba(88,214,144,.12);border-color:rgba(88,214,144,.5);color:var(--good)}

/* Desktop compact panels */
#controlConsole .section-label{margin:0 0 7px}
#controlConsole .weapon-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#controlConsole .weapon-btn{min-height:54px;padding:6px;grid-template-columns:30px 1fr auto}
#controlConsole .gear-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#controlConsole .gear-btn{min-height:54px;padding:6px}
#controlConsole .aim-panel{grid-template-columns:minmax(280px,1.35fr) minmax(260px,.8fr);grid-template-rows:auto minmax(0,1fr);gap:8px 12px;align-items:stretch}
#controlConsole .aim-panel>.section-label{grid-column:1/-1}
#controlConsole .aim-pad{height:190px;min-height:150px}
#controlConsole .mobile-angle-analog{min-height:150px}
#controlConsole .aim-values{align-content:stretch;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#controlConsole .aim-values div{min-height:58px;display:grid;align-content:center}
#controlConsole .fire-panel{grid-template-columns:minmax(250px,.85fr) minmax(260px,1fr);grid-template-rows:auto auto;gap:8px 10px;align-items:stretch}
#controlConsole .salvo-selector{grid-column:1;grid-row:1}
#controlConsole .fire-btn{grid-column:2;grid-row:1/3;min-height:122px}
#controlConsole .fire-quick-actions{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;gap:6px}
#controlConsole .turn-note{grid-column:1/-1;margin:0;padding:6px 8px;border-top:1px solid rgba(51,86,107,.7)}
#controlConsole .intel-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#controlConsole .panel-card{padding:9px;border-radius:11px}

/* Keep notifications above the in-arena controls. */
.game-frame>.status-message{top:12px;bottom:auto;z-index:30}
.game-frame>.stage-hud{z-index:29}
.game-frame>.overlay{z-index:40}
.game-frame>.loading-overlay{z-index:45}

@media(max-width:900px){
  .app-shell{padding:4px!important}
  .topbar{position:relative!important;top:auto!important;margin-bottom:4px!important}
  .mission-bar{margin-bottom:4px!important}
  #controlConsole{bottom:55px;width:calc(100% - 8px);max-height:48%;border-radius:11px}
  #mobileTabs{bottom:4px;width:calc(100% - 8px);gap:2px;padding:3px!important;border-radius:11px!important}
  #mobileTabs .mobile-tab{min-height:42px!important;font-size:8px;padding:4px 2px}
  #controlConsole .control-panel{max-height:calc(48dvh - 58px);padding:7px!important}
  #controlConsole .weapon-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  #controlConsole .gear-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  #controlConsole .aim-panel{grid-template-columns:minmax(140px,1fr) minmax(130px,.9fr);gap:6px}
  #controlConsole .aim-pad{height:145px;min-height:120px}
  #controlConsole .mobile-angle-analog{min-height:120px}
  #controlConsole .aim-values div{min-height:45px;padding:4px}
  #controlConsole .fire-panel{grid-template-columns:1fr 1fr}
  #controlConsole .fire-btn{min-height:104px}
  #controlConsole .intel-panel{grid-template-columns:1fr 1fr}
  #controlConsole .intel-rule-card{grid-column:1/-1}
}

@media(max-width:560px) and (orientation:portrait){
  .topbar{min-height:48px;padding:5px 7px!important}
  .brand span{display:none}
  .wallet-bar{display:none!important}
  .mission-bar{grid-template-columns:74px minmax(0,1fr) 74px!important}
  .mission-center small{display:none}
  #controlConsole{max-height:46%;bottom:54px}
  #mobileTabs{grid-template-columns:repeat(6,minmax(0,1fr))!important}
  #mobileTabs .mobile-tab{font-size:7px;min-height:43px!important}
  #controlConsole .control-panel{max-height:calc(46dvh - 56px)}
  #controlConsole .aim-panel{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  #controlConsole .aim-panel>.section-label{grid-column:1}
  #controlConsole .aim-pad{height:140px}
  #controlConsole .aim-values{grid-template-columns:repeat(4,minmax(0,1fr));grid-column:1}
  #controlConsole .aim-values div{min-height:40px}
  #controlConsole .fire-panel{grid-template-columns:1fr}
  #controlConsole .salvo-selector,#controlConsole .fire-btn,#controlConsole .fire-quick-actions,#controlConsole .turn-note{grid-column:1;grid-row:auto}
  #controlConsole .fire-btn{min-height:76px}
  #controlConsole .intel-panel{grid-template-columns:1fr}
  #controlConsole .intel-rule-card{display:none!important}
}

@media(orientation:landscape) and (max-height:520px){
  .app-shell{padding:2px!important}
  .topbar{min-height:34px;padding:3px 6px!important;margin-bottom:2px!important}
  .brand-mark{width:30px;height:30px}
  .wallet-chip,.icon-btn,.pill-btn{min-height:30px!important;height:30px!important}
  .mission-bar{margin-bottom:2px!important}
  .mission-side,.mission-center{padding:3px 6px!important}
  #controlConsole{bottom:48px;max-height:56%;width:calc(100% - 6px)}
  #mobileTabs{bottom:2px;width:calc(100% - 6px)}
  #mobileTabs .mobile-tab{min-height:38px!important;font-size:7px}
  #controlConsole .control-panel{max-height:calc(56dvh - 52px);padding:5px!important}
  #controlConsole .weapon-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  #controlConsole .gear-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  #controlConsole .weapon-btn,#controlConsole .gear-btn{min-height:44px}
  #controlConsole .aim-panel{grid-template-columns:minmax(180px,1fr) minmax(180px,.8fr)}
  #controlConsole .aim-pad{height:112px;min-height:96px}
  #controlConsole .mobile-angle-analog{min-height:96px}
  #controlConsole .aim-values div{min-height:35px}
  #controlConsole .fire-btn{min-height:86px}
  #controlConsole .intel-panel{grid-template-columns:repeat(3,minmax(0,1fr))}
  #controlConsole .intel-rule-card{display:none!important}
}

/* v23.7.17 active Hero combat status */
.hero-status-list .army-row{border-left:3px solid rgba(84,214,151,.75)}
.hero-status-list .army-row.destroyed{border-left-color:rgba(255,92,92,.8)}
.intel-hero-card{min-height:0}
@media (max-width:700px){.hero-status-list .army-row{padding:.48rem}.hero-status-list .army-row small{font-size:.68rem}}

/* v23.7.17 — Pusat Kendali Rudal langsung, tanpa menu Bidik terpisah */
#mobileTabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#controlConsole{bottom:190px;max-height:min(34%,270px)}
#controlConsole[data-mobile-panel="fire"] [data-panel="fire"],
#controlConsole[data-mobile-panel="intel"] [data-panel="intel"]{display:grid!important}
.missile-control-center{position:absolute;left:50%;bottom:58px;z-index:28;width:min(440px,calc(100% - 20px));min-height:124px;display:grid;grid-template-columns:minmax(178px,1fr) minmax(118px,.72fr) 82px;grid-template-rows:auto minmax(82px,1fr);gap:6px 8px;padding:8px;border:1px solid rgba(85,158,194,.78);border-radius:15px;background:linear-gradient(155deg,rgba(6,18,26,.97),rgba(3,10,15,.93));box-shadow:0 14px 38px rgba(0,0,0,.55),inset 0 0 28px rgba(58,166,214,.055);backdrop-filter:blur(14px);transform:translateX(-50%) translateY(10px);opacity:.24;pointer-events:none;transition:opacity .2s ease,transform .2s ease,border-color .2s ease,visibility .2s ease}
.game-frame.mission-active .missile-control-center{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.game-frame.cinematic .missile-control-center,.missile-control-center.disabled{opacity:.18;pointer-events:none}
.missile-control-center.aiming{border-color:rgba(255,186,70,.95);box-shadow:0 14px 38px rgba(0,0,0,.55),0 0 0 2px rgba(255,186,70,.18),inset 0 0 36px rgba(255,186,70,.08)}
.direct-control-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.12em}
.direct-control-head strong{overflow:hidden;color:var(--accent);font-size:7px;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}
.missile-control-center .direct-aim-pad{grid-column:1;grid-row:2;height:82px!important;min-height:82px!important;margin:0;border-color:rgba(75,142,177,.8);touch-action:none;cursor:crosshair;user-select:none}
.missile-control-center .direct-aim-pad:before{content:"TEKAN + GESER";position:absolute;left:10px;bottom:7px;color:rgba(219,236,244,.56);font-size:6px;font-weight:900;letter-spacing:.12em;pointer-events:none}
.missile-control-center .direct-control-readout{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.missile-control-center .direct-control-readout>div{display:grid;align-content:center;justify-items:center;min-width:0;padding:4px;border:1px solid rgba(56,96,119,.75);border-radius:9px;background:rgba(8,25,35,.82)}
.missile-control-center .direct-control-readout span{color:var(--muted);font-size:6px;letter-spacing:.08em}
.missile-control-center .direct-control-readout strong{max-width:100%;overflow:hidden;color:#fff;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.direct-fire-btn{grid-column:3;grid-row:2;display:grid;place-items:center;align-content:center;gap:2px;min-width:0;border:1px solid rgba(255,127,72,.86);border-radius:12px;background:linear-gradient(145deg,#ffb13d,#f26a3f);color:#190b04;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.28);touch-action:manipulation}
.direct-fire-btn span{font-size:20px}.direct-fire-btn strong{font-size:9px;font-weight:950;letter-spacing:.04em}
.direct-fire-btn:active{transform:translateY(1px)}
.direct-fire-btn:disabled,.missile-control-center.disabled .direct-fire-btn{filter:grayscale(.5);opacity:.45}
.game-frame.launcher-direct-aim #renderCanvas{cursor:grabbing}
.game-frame.launcher-direct-aim:after{content:"PUSAT KENDALI AKTIF";position:absolute;left:50%;top:56px;z-index:31;transform:translateX(-50%);padding:6px 10px;border:1px solid rgba(255,186,70,.7);border-radius:999px;background:rgba(4,12,17,.88);color:var(--accent);font-size:8px;font-weight:950;letter-spacing:.08em;pointer-events:none}

@media(max-width:900px){
  #controlConsole{bottom:174px;max-height:34%}
  .missile-control-center{bottom:55px;width:min(410px,calc(100% - 10px));min-height:112px;grid-template-columns:minmax(150px,1fr) minmax(106px,.7fr) 72px;grid-template-rows:auto minmax(72px,1fr);padding:6px;gap:5px}
  .missile-control-center .direct-aim-pad{height:72px!important;min-height:72px!important}
  .direct-fire-btn span{font-size:17px}.direct-fire-btn strong{font-size:8px}
}
@media(max-width:560px) and (orientation:portrait){
  #controlConsole{bottom:165px;max-height:36%}
  .missile-control-center{bottom:54px;min-height:104px;grid-template-columns:minmax(130px,1.25fr) minmax(92px,.8fr) 64px;grid-template-rows:auto 66px;border-radius:12px}
  .missile-control-center .direct-aim-pad{height:66px!important;min-height:66px!important}
  .direct-control-head span{font-size:6px}.direct-control-head strong{font-size:5.5px}
  .missile-control-center .direct-control-readout span{font-size:5px}.missile-control-center .direct-control-readout strong{font-size:9px}
}
@media(orientation:landscape) and (max-height:520px){
  #controlConsole{bottom:145px;max-height:38%}
  .missile-control-center{bottom:48px;width:min(400px,calc(100% - 8px));min-height:92px;grid-template-columns:minmax(145px,1.2fr) minmax(105px,.75fr) 68px;grid-template-rows:14px 66px;padding:5px}
  .missile-control-center .direct-aim-pad{height:66px!important;min-height:66px!important}
  .direct-control-head{font-size:5.5px}.direct-control-head strong{font-size:5.5px}
  .direct-fire-btn span{font-size:16px}
}

/* v23.7.17 — firefight HUD: no oversized direct fire button, compact Salvo panel */
.missile-control-center{width:min(360px,calc(100% - 18px));min-height:112px;grid-template-columns:minmax(176px,1.15fr) minmax(116px,.75fr);grid-template-rows:auto minmax(76px,1fr);gap:5px 7px;padding:7px}
.missile-control-center .direct-aim-pad{grid-column:1;grid-row:2;height:76px!important;min-height:76px!important}
.missile-control-center .direct-control-readout{grid-column:2;grid-row:2;gap:4px}
.missile-control-center .direct-control-readout>div{min-height:34px;padding:3px;border-radius:8px}
.missile-control-center .direct-control-readout span{font-size:5px}
.missile-control-center .direct-control-readout strong{font-size:9px}
.direct-fire-btn{display:none!important}
#controlConsole{bottom:176px;max-height:min(32%,210px)}
#controlConsole[data-mobile-panel="fire"]{width:min(560px,calc(100% - 16px));max-height:150px}
#controlConsole .fire-panel{grid-template-columns:minmax(250px,1fr) 126px;grid-template-rows:auto auto;gap:5px 7px;align-items:center;padding:7px 9px!important}
#controlConsole .salvo-selector{grid-column:1;grid-row:1;padding:6px 8px;min-height:54px}
#controlConsole .salvo-selector>span{font-size:7px;letter-spacing:.08em}
#controlConsole .variable-salvo .salvo-stepper{grid-template-columns:30px 56px 30px 42px;gap:3px;margin-top:3px}
#controlConsole .salvo-step-btn,#controlConsole .salvo-input,#controlConsole .salvo-max-btn{height:30px;min-height:30px;padding:0;border-radius:7px;font-size:9px}
#controlConsole .salvo-stock-hint{display:none}
#controlConsole .fire-btn{grid-column:2;grid-row:1;min-height:54px!important;height:54px;padding:5px;border-radius:9px}
#controlConsole .fire-btn span{font-size:16px}
#controlConsole .fire-btn strong{font-size:9px}
#controlConsole .fire-btn small{font-size:5px;line-height:1.1}
#controlConsole .fire-quick-actions{display:none!important}
#controlConsole .turn-note{grid-column:1/-1;grid-row:2;padding:4px 6px;font-size:6px;line-height:1.25;text-align:center}
.game-frame.combat-live .stage-hud:after{content:"● PERTEMPURAN AKTIF";display:block;margin-top:3px;color:#ff7b54;font-size:6px;font-weight:950;letter-spacing:.08em}

@media(max-width:900px){
  .missile-control-center{bottom:54px;width:min(340px,calc(100% - 8px));min-height:100px;grid-template-columns:minmax(158px,1.15fr) minmax(104px,.75fr);grid-template-rows:auto 68px;padding:5px}
  .missile-control-center .direct-aim-pad{height:68px!important;min-height:68px!important}
  #controlConsole{bottom:160px;max-height:150px}
  #controlConsole[data-mobile-panel="fire"]{width:min(500px,calc(100% - 8px))}
  #controlConsole .fire-panel{grid-template-columns:minmax(210px,1fr) 112px;padding:5px 6px!important}
  #controlConsole .fire-btn{height:50px;min-height:50px!important}
}
@media(max-width:560px) and (orientation:portrait){
  .missile-control-center{bottom:53px;width:calc(100% - 8px);min-height:94px;grid-template-columns:minmax(150px,1.25fr) minmax(94px,.75fr);grid-template-rows:auto 62px}
  .missile-control-center .direct-aim-pad{height:62px!important;min-height:62px!important}
  #controlConsole{bottom:153px;max-height:142px}
  #controlConsole .fire-panel{grid-template-columns:minmax(188px,1fr) 102px}
  #controlConsole .salvo-selector{min-height:48px;padding:4px 6px}
  #controlConsole .variable-salvo .salvo-stepper{grid-template-columns:28px 48px 28px 38px}
  #controlConsole .fire-btn{height:48px;min-height:48px!important}
  #controlConsole .turn-note{font-size:5.5px}
}
@media(orientation:landscape) and (max-height:520px){
  .missile-control-center{bottom:47px;width:min(330px,calc(100% - 8px));min-height:84px;grid-template-columns:minmax(145px,1.2fr) minmax(100px,.75fr);grid-template-rows:12px 60px;padding:4px}
  .missile-control-center .direct-aim-pad{height:60px!important;min-height:60px!important}
  #controlConsole{bottom:137px;max-height:126px}
  #controlConsole[data-mobile-panel="fire"]{width:min(470px,calc(100% - 6px))}
  #controlConsole .fire-panel{grid-template-columns:minmax(210px,1fr) 108px;padding:4px!important}
  #controlConsole .salvo-selector{min-height:45px;padding:3px 5px}
  #controlConsole .fire-btn{height:45px;min-height:45px!important}
  #controlConsole .turn-note{display:none}
}


/* v23.7.17 — compact command box beneath GARUDA operation information */
.missile-control-center{
  left:10px!important;
  top:72px!important;
  right:auto!important;
  bottom:auto!important;
  width:224px!important;
  min-height:82px!important;
  grid-template-columns:minmax(128px,1fr) 72px!important;
  grid-template-rows:14px 56px!important;
  gap:4px 6px!important;
  padding:5px!important;
  border-radius:10px!important;
  transform:translateY(6px)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.42)!important;
  backdrop-filter:blur(9px)!important;
}
.game-frame.mission-active .missile-control-center{transform:translateY(0)!important}
.direct-control-head{font-size:5.5px!important;letter-spacing:.08em!important}
.direct-control-head strong{font-size:5px!important;max-width:118px!important}
.missile-control-center .direct-aim-pad{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  height:56px!important;
  min-height:56px!important;
  border-radius:8px!important;
}
.missile-control-center .direct-aim-pad:before{left:6px!important;bottom:4px!important;font-size:4.5px!important}
.missile-control-center .aim-knob{width:24px!important;height:24px!important;font-size:11px!important}
.missile-control-center .angle-mark{font-size:4.5px!important}
.missile-control-center .direct-control-readout{
  grid-column:2!important;
  grid-row:2!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:3px!important;
}
.missile-control-center .direct-control-readout>div{min-height:25px!important;padding:2px!important;border-radius:6px!important}
.missile-control-center .direct-control-readout span{font-size:4px!important;letter-spacing:.04em!important}
.missile-control-center .direct-control-readout strong{font-size:7px!important}

/* Salvo remains available but uses a small independent box. */
#controlConsole[data-mobile-panel="fire"]{
  left:auto!important;
  right:10px!important;
  bottom:56px!important;
  width:326px!important;
  max-width:calc(100% - 20px)!important;
  max-height:96px!important;
  transform:none!important;
  border-radius:10px!important;
}
#controlConsole .fire-panel{
  grid-template-columns:minmax(178px,1fr) 100px!important;
  grid-template-rows:54px!important;
  gap:5px!important;
  padding:5px!important;
}
#controlConsole .salvo-selector{min-height:0!important;height:54px!important;padding:4px 5px!important;border-radius:7px!important}
#controlConsole .salvo-selector>span{font-size:5px!important}
#controlConsole .variable-salvo .salvo-stepper{grid-template-columns:24px 42px 24px 34px!important;gap:2px!important;margin-top:2px!important}
#controlConsole .salvo-step-btn,#controlConsole .salvo-input,#controlConsole .salvo-max-btn{height:25px!important;min-height:25px!important;font-size:7px!important;border-radius:5px!important}
#controlConsole .fire-btn{grid-column:2!important;grid-row:1!important;height:54px!important;min-height:54px!important;padding:3px!important;border-radius:7px!important}
#controlConsole .fire-btn span{font-size:13px!important}
#controlConsole .fire-btn strong{font-size:7px!important}
#controlConsole .fire-btn small{font-size:4.5px!important}
#controlConsole .turn-note{display:none!important}

@media(max-width:700px){
  .missile-control-center{left:6px!important;top:61px!important;width:204px!important;min-height:76px!important;grid-template-columns:minmax(116px,1fr) 66px!important;grid-template-rows:12px 52px!important;padding:4px!important}
  .missile-control-center .direct-aim-pad{height:52px!important;min-height:52px!important}
  #controlConsole[data-mobile-panel="fire"]{right:6px!important;bottom:52px!important;width:292px!important;max-width:calc(100% - 12px)!important}
  #controlConsole .fire-panel{grid-template-columns:minmax(160px,1fr) 92px!important}
}
@media(orientation:landscape) and (max-height:520px){
  .missile-control-center{left:5px!important;top:52px!important;width:190px!important;min-height:68px!important;grid-template-columns:minmax(108px,1fr) 60px!important;grid-template-rows:11px 47px!important;padding:3px!important}
  .missile-control-center .direct-aim-pad{height:47px!important;min-height:47px!important}
  .missile-control-center .direct-control-readout>div{min-height:21px!important}
  #controlConsole[data-mobile-panel="fire"]{right:5px!important;bottom:46px!important;width:270px!important;max-height:82px!important}
  #controlConsole .fire-panel{grid-template-columns:minmax(148px,1fr) 84px!important;grid-template-rows:47px!important;padding:3px!important}
  #controlConsole .salvo-selector,#controlConsole .fire-btn{height:47px!important;min-height:47px!important}
}

/* v23.7.17 — every feature panel is anchored directly above its menu button */
#controlConsole{
  left:var(--panel-anchor-x,50%)!important;
  right:auto!important;
  bottom:58px!important;
  transform:translateX(-50%)!important;
  max-width:calc(100% - 16px)!important;
  overflow:visible!important;
}
#controlConsole:after{
  content:"";
  position:absolute;
  left:var(--panel-caret-x,50%);
  bottom:-7px;
  width:12px;
  height:12px;
  border-right:1px solid rgba(81,121,145,.82);
  border-bottom:1px solid rgba(81,121,145,.82);
  background:rgba(5,13,19,.97);
  transform:translateX(-50%) rotate(45deg);
  pointer-events:none;
}
.game-frame.hud-collapsed #controlConsole{transform:translate(-50%,14px)!important}
.game-frame.hud-collapsed #controlConsole:after{display:none}
#controlConsole[data-mobile-panel="weapons"]{width:min(980px,calc(100% - 16px))!important;max-height:min(42%,300px)!important}
#controlConsole[data-mobile-panel="gear"]{width:min(860px,calc(100% - 16px))!important;max-height:min(38%,250px)!important}
#controlConsole[data-mobile-panel="fire"]{width:min(326px,calc(100% - 16px))!important;max-height:96px!important}
#controlConsole[data-mobile-panel="intel"]{width:min(900px,calc(100% - 16px))!important;max-height:min(44%,310px)!important}
#controlConsole .control-panel{border-radius:12px!important}

/* Hero status stays in Intel; remove floating battlefield labels. */
.hero-status-list{position:relative}

@media(max-width:700px){
  #controlConsole{bottom:52px!important;max-width:calc(100% - 10px)!important}
  #controlConsole[data-mobile-panel="weapons"],
  #controlConsole[data-mobile-panel="gear"],
  #controlConsole[data-mobile-panel="intel"]{width:calc(100% - 10px)!important;max-height:42%!important}
  #controlConsole[data-mobile-panel="fire"]{width:min(292px,calc(100% - 10px))!important}
}
@media(orientation:landscape) and (max-height:520px){
  #controlConsole{bottom:46px!important}
  #controlConsole[data-mobile-panel="weapons"],
  #controlConsole[data-mobile-panel="gear"],
  #controlConsole[data-mobile-panel="intel"]{max-height:54%!important}
  #controlConsole[data-mobile-panel="fire"]{width:min(270px,calc(100% - 8px))!important;max-height:82px!important}
}


/* v23.7.17 — clean centered feature panels and text-free missile control */
.direct-control-head{justify-content:flex-start!important}
.direct-control-head strong,#directAimHint{display:none!important}
.missile-control-center .direct-aim-pad:before{content:none!important;display:none!important}
#controlConsole{
  left:50%!important;
  right:auto!important;
  bottom:58px!important;
  transform:translateX(-50%)!important;
  margin:0!important;
}
#controlConsole:after{display:none!important}
.game-frame.hud-collapsed #controlConsole{transform:translate(-50%,14px)!important}
#controlConsole[data-mobile-panel="weapons"]{width:min(980px,calc(100% - 18px))!important}
#controlConsole[data-mobile-panel="gear"]{width:min(860px,calc(100% - 18px))!important}
#controlConsole[data-mobile-panel="fire"]{width:min(326px,calc(100% - 18px))!important}
#controlConsole[data-mobile-panel="intel"]{width:min(900px,calc(100% - 18px))!important}
.hero-loadout-actions,.crew-visibility-control{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hero-loadout-actions button,.crew-visibility-control button,.progress-card button[data-hero-unequip],.progress-card button[data-crew-toggle]{min-height:38px}
.crew-visibility-control{grid-column:1/-1;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:rgba(13,30,40,.72);justify-content:space-between}
.crew-visibility-control span{color:var(--muted);font-size:9px}
.crew-visibility-control strong{color:var(--accent);font-size:10px}
.hero-slot-empty{border-style:dashed!important;opacity:.9}
.hero-slot-empty .hero-machine-name{color:var(--muted)}
@media(max-width:700px){
  #controlConsole{left:50%!important;right:auto!important;bottom:52px!important;transform:translateX(-50%)!important}
  #controlConsole[data-mobile-panel="weapons"],#controlConsole[data-mobile-panel="gear"],#controlConsole[data-mobile-panel="intel"]{width:calc(100% - 10px)!important}
  #controlConsole[data-mobile-panel="fire"]{width:min(292px,calc(100% - 10px))!important}
  .crew-visibility-control{align-items:flex-start;flex-direction:column}
}
@media(orientation:landscape) and (max-height:520px){
  #controlConsole{bottom:46px!important}
  #controlConsole[data-mobile-panel="fire"]{width:min(270px,calc(100% - 8px))!important}
}

/* v23.7.17 — equip/unequip controls and clear formation management */
.hero-slot-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:10px 0 14px;
}
.hero-slot-summary{min-height:126px!important}
.hero-slot-summary button,.unequip-buy,[data-hero-unequip],[data-cosmetic-reset]{
  border-color:rgba(255,111,91,.62)!important;
  background:rgba(94,28,25,.72)!important;
  color:#ffd8d1!important;
}
.hero-slot-summary button:hover,.unequip-buy:hover,[data-hero-unequip]:hover,[data-cosmetic-reset]:hover{
  background:rgba(132,38,31,.88)!important;
}
.crew-visibility-control>div{display:grid;gap:3px}
.crew-visibility-control button{width:auto!important;min-width:190px}
@media(max-width:760px){
  .hero-slot-grid{grid-template-columns:1fr}
  .hero-slot-summary{min-height:auto!important}
  .crew-visibility-control button{width:100%!important;min-width:0}
}

/* Final centering rule: same specificity as legacy per-panel positioning. */
#controlConsole[data-mobile-panel]{
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  margin-left:0!important;
  margin-right:0!important;
}
.game-frame.hud-collapsed #controlConsole[data-mobile-panel]{transform:translate(-50%,14px)!important}
@media(max-width:700px){
  #controlConsole[data-mobile-panel]{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
}
@media(orientation:landscape) and (max-height:520px){
  #controlConsole[data-mobile-panel]{left:50%!important;right:auto!important;transform:translateX(-50%)!important}
}
