/* Arena y repetición: escenarios dominantes con consolas integradas. */
body:has(.fx-arena-select),body:has(.combate){overflow:hidden}
body:has(.fx-arena-select) .fx-world-nav,body:has(.combate) .fx-world-nav{
  position:fixed;z-index:520;top:1%;left:2%;right:2%;height:66px;display:flex!important;
  background:linear-gradient(#152938ed,#07131def)!important;
  border:12px solid transparent!important;
  border-image:url('../assets/ui-flow/panel_frame.webp') 110 fill / 12px / 0 stretch!important;
  box-shadow:0 8px 24px #0009;
}
body:has(.fx-arena-select) #principal,body:has(.combate) #principal{overflow:hidden!important}

/* Selección de rival: el ring es la pantalla; el equipo vive en un monitor. */
.fx-arena-select{
  position:fixed;inset:0;z-index:450;display:block!important;overflow:hidden;
  min-height:0!important;padding:0!important;margin:0!important;max-width:none!important;
  background:#050b18 var(--fx-steam-hub-bg) center/cover no-repeat;
}
.fx-arena-select::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,#0307133d 0%,transparent 50%,#030713a5 100%),linear-gradient(#0207117d,transparent 27%,transparent 70%,#020711a8);
}
.fx-arena-heading{
  position:absolute;z-index:5;top:8%;left:2%;right:2%;min-height:68px;margin:0;padding:8px 18px;
  border:11px solid transparent;border-image:url('../assets/ui-flow/panel_frame.webp') 110 fill / 11px / 0 stretch;
  background:#07131bd9;gap:12px;
}
.fx-arena-heading h1{font-size:clamp(22px,2.2vw,36px);text-shadow:0 0 12px #ff51dc80}
.fx-arena-heading>button{border:1px solid #65ddeb!important;background:#0b2b37de!important;border-radius:4px}
.fx-arena-heading .daily-combat-budget{background:#081824d9;border:1px solid #46788c;padding:7px 12px}
.fx-ring-stage{
  position:absolute!important;z-index:2;top:17%!important;left:1.5%!important;right:28%!important;bottom:3%!important;
  width:auto!important;height:auto!important;max-height:none!important;min-height:0!important;
  aspect-ratio:auto!important;background:var(--fx-combat-ring) center/cover no-repeat!important;
  border:0!important;border-radius:0!important;box-shadow:0 0 24px #020812ab!important;
}
.fx-ring-preview{
  position:absolute!important;z-index:4;top:17%!important;right:1.4%!important;bottom:3%!important;
  width:26%!important;height:auto!important;min-width:0!important;margin:0!important;
  display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:9px!important;
  padding:clamp(52px,8vh,90px) 2.4vw 3vh!important;border:0!important;border-radius:0!important;
  background:url('../assets/team-hangar/armory-console.webp') center/100% 100% no-repeat!important;
  box-shadow:none!important;filter:drop-shadow(0 8px 14px #000c);
}
.fx-ring-preview>div:first-child{min-height:0;overflow:auto;scrollbar-width:thin}
.fx-ring-preview h2{font-size:clamp(17px,1.5vw,25px);margin:3px 0 7px}
.fx-ring-preview p{font-size:clamp(11px,.88vw,15px);line-height:1.35}
.fx-ring-kit .kit{display:flex;flex-direction:column;gap:5px}
.fx-ring-kit .chip{background:#091726e8!important;border:1px solid #615281!important;border-radius:4px!important}
.fx-ring-fight{border:2px solid #ff7de5!important;border-radius:5px;background:linear-gradient(#7c3488,#321947)!important;box-shadow:0 0 14px #ff56e388,inset 0 0 10px #ff8de544}
.fx-arena-management{
  position:absolute;z-index:7;left:2.5%;bottom:3.5%;max-width:25%;max-height:46%;overflow:auto;
  margin:0!important;padding:8px 13px!important;border:1px solid #5adeef!important;
  background:#061624e8!important;box-shadow:0 0 14px #17dfff5c;
}
.fx-arena-management:not([open]){max-height:46px}

/* Repetición: el lienzo y el fondo llegan a todos los bordes de pantalla. */
.combate{
  position:fixed!important;inset:0;z-index:450;display:block!important;overflow:hidden;
  margin:0!important;padding:0!important;max-width:none!important;
  background:#020815 var(--battle-bg,var(--fx-mission-art)) center/cover no-repeat;
}
.combate::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#02071177,transparent 20%,transparent 72%,#020711a3)}
.combate>.escena{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important}
.combate .lienzo-caja{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;display:grid;place-items:center}
.combate #lienzo{
  position:relative!important;display:block!important;width:min(100vw,181.8vh)!important;height:auto!important;
  max-width:none!important;max-height:100vh!important;aspect-ratio:800/440;
  border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;
}
.combate #resultado{z-index:5}
.combate>.tactics-combat-summary{
  position:absolute;z-index:8;top:8%;left:2%;right:27%;min-height:55px;margin:0!important;
  padding:8px 16px!important;background:#081527e8!important;border:10px solid transparent!important;
  border-image:url('../assets/ui-flow/panel_frame.webp') 110 fill / 10px / 0 stretch!important;
  box-shadow:0 6px 15px #0009;
}
.combate .controles{
  position:absolute;z-index:8;left:2%;right:27%;bottom:2%;min-height:64px;margin:0!important;
  padding:8px 15px!important;display:flex;align-items:center;gap:6px;
  background:#081522e8!important;border:11px solid transparent!important;
  border-image:url('../assets/ui-flow/panel_frame.webp') 110 fill / 11px / 0 stretch!important;
}
.combate .controles button{flex:0 0 auto!important;background:#0c293a!important;border:1px solid #70dbed!important;border-radius:4px;color:#e9fdff!important}
.combate .controles button.on{background:#225673!important;box-shadow:0 0 10px #44dfff99}
.combate .controles .semilla{margin-left:auto;font-size:clamp(10px,.8vw,13px)}
.combate>.registro{
  position:absolute!important;z-index:8;top:17%!important;right:1.4%!important;bottom:2%!important;
  width:25%!important;height:auto!important;min-width:0!important;overflow:hidden!important;
  padding:clamp(50px,8vh,90px) 2.1vw 3vh!important;margin:0!important;display:flex!important;flex-direction:column;
  background:url('../assets/team-hangar/armory-console.webp') center/100% 100% no-repeat!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 7px 12px #000c);
}
.combate>.registro h3{font-size:clamp(12px,1vw,17px);line-height:1.25;margin:0 0 10px!important}
.combate #log{min-height:0;overflow:auto;scrollbar-width:thin;background:#06111bd4;border:1px solid #3e7180;padding:5px}

@media(max-width:900px){
  .fx-arena-heading{top:75px;left:1%;right:1%;flex-wrap:wrap}
  .fx-ring-stage{top:170px!important;right:1%!important;bottom:32%!important}
  .fx-ring-preview{top:auto!important;left:1%!important;right:1%!important;bottom:1%!important;width:auto!important;height:30%!important;padding:4% 6% 3%!important;flex-direction:row!important}
  .fx-ring-preview>div{width:49%;overflow:auto}.fx-arena-management{left:2%;bottom:33%;max-width:42%}
  .combate>.tactics-combat-summary{top:74px;right:2%}
  .combate>.registro{top:auto!important;left:2%!important;right:2%!important;bottom:0!important;width:auto!important;height:25%!important;padding:3% 6% 2%!important}
  .combate .controles{left:2%;right:2%;bottom:26%}
}
@media(max-width:600px){
  .fx-ring-stage{bottom:37%!important}.fx-ring-preview{height:35%!important;flex-direction:column!important}
  .fx-ring-preview>div{width:100%}.fx-arena-management{bottom:38%;max-width:60%}
  .combate>.tactics-combat-summary{top:72px;left:1%;right:1%;font-size:11px}
  .combate .controles{bottom:29%;left:1%;right:1%;padding:4px!important;min-height:48px}
  .combate>.registro{height:28%!important}
}
