/*
 * PokePark battle + world HUD repair, v2.18.5.
 *
 * This is the only terminal override for the screenshot regressions.  Older
 * battle layers stay untouched so the release remains atomically reversible.
 */

/* The arena renderer already paints the location.  The late v1 shell used to
   place a 72% navy sheet over it, which made every arena look grey. */
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"],
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-shell,
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-stage {
  background: transparent !important;
  filter: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"]::before,
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"]::after,
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-shell::before,
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-stage::before,
html[data-ui-revision="pokemon-next"] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-stage::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  opacity: 0 !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleMatchHeader,
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleTargets.is-matchup-summary {
  display: none !important;
}

/* The phase controller owns the hidden attribute.  Historical battle layers
   must never resurrect controls from another phase with display:...!important. */
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] [hidden] {
  display: none !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleLiveControls[hidden],
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #capturePanel[hidden] {
  display: none !important;
}

/* Dedicated raster resources keep Pokémon portraits reserved for actual
   Pokémon.  These bounds also undo the old global img { width:100% } rule. */
html[data-ui-revision="pokemon-next"] #battleHud[data-battle-skin="v2185"] .combat-skill-cost > img.battle-combat-raster {
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  max-width: 14px !important;
  object-fit: contain !important;
}

html[data-ui-revision="pokemon-next"] #battleHud[data-battle-skin="v2185"] :is(.combat-energy, .battle-vital, .battle-exp) img.battle-combat-raster {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  object-fit: contain !important;
}

/* Dark-theme inheritance previously painted important copy white on the pale
   fighter, capture and result cards.  These cards have their own light skin. */
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-fighter-identity > header > b {
  color: #153e52 !important;
  -webkit-text-fill-color: #153e52 !important;
  text-shadow: none !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-copy > b,
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleDecision .battle-result-copy > b {
  color: #173f54 !important;
  -webkit-text-fill-color: #173f54 !important;
  background: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-copy > em,
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleDecision .battle-result-copy > em,
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-reward-drop > span > b,
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .battle-reward-drop > span > small {
  color: #4c7080 !important;
  -webkit-text-fill-color: #4c7080 !important;
  text-shadow: none !important;
  opacity: 1 !important;
}

/* Six deliberate item wells.  Empty slots are quiet equipment sockets rather
   than six repeated backpacks and never grow phantom black quantity badges. */
html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(46px, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(46px, 1fr)) !important;
  gap: 6px !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button {
  position: relative !important;
  width: auto !important;
  min-width: 46px !important;
  max-width: none !important;
  height: auto !important;
  min-height: 46px !important;
  padding: 3px !important;
  overflow: visible !important;
  border: 1px solid rgba(36, 133, 171, .24) !important;
  border-radius: 12px !important;
  background: rgba(250, 254, 255, .94) !important;
  box-shadow: inset 0 1px 0 #fff !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button > span:first-child {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  min-height: 38px !important;
  margin: auto !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .battle-quick-raster {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button.is-empty-slot {
  border-style: dashed !important;
  border-color: rgba(67, 131, 157, .28) !important;
  background: rgba(226, 240, 246, .58) !important;
  opacity: 1 !important;
  filter: none !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button.is-empty-slot .combat-item-empty-art {
  width: 31px !important;
  height: 31px !important;
  opacity: .72 !important;
  filter: saturate(.72) !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button.is-empty-slot > b,
html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button.is-empty-slot > .combat-cooldown {
  display: none !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button > b {
  right: -4px !important;
  bottom: -4px !important;
  min-width: 23px !important;
  height: 19px !important;
  padding: 0 5px !important;
  display: grid !important;
  place-items: center !important;
  border: 2px solid #f7fdff !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #173f55 !important;
  box-shadow: 0 3px 7px rgba(6, 39, 55, .22) !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button.is-disabled:not(.is-empty-slot) {
  opacity: .68 !important;
  filter: saturate(.74) !important;
}

/* All available Poké Balls wrap into a compact selector.  No native horizontal
   scrollbar, clipped final ball or half-visible exit action. */
html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] {
  height: clamp(184px, 24dvh, 218px) !important;
  min-height: clamp(184px, 24dvh, 218px) !important;
  max-height: clamp(184px, 24dvh, 218px) !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #capturePanel.combat-capture-panel {
  display: grid !important;
  grid-template-columns: 174px minmax(0, 1fr) 116px !important;
  grid-template-rows: minmax(0, 1fr) !important;
  grid-template-areas: "copy balls cancel" !important;
  align-items: stretch !important;
  gap: 10px !important;
  min-width: 0 !important;
  padding: 10px !important;
  overflow: hidden !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-copy { grid-area: copy !important; }
html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-cancel { grid-area: cancel !important; }

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #captureBalls.combat-capture-balls {
  grid-area: balls !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(44px, 1fr)) !important;
  grid-auto-rows: minmax(72px, 1fr) !important;
  align-content: start !important;
  align-items: stretch !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 1px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-width: none !important;
  scroll-snap-type: none !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #captureBalls.combat-capture-balls::-webkit-scrollbar {
  display: none !important;
}

html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #captureBalls.combat-capture-balls > button {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 72px !important;
  padding: 4px 3px !important;
  grid-template-rows: 38px 12px 11px 10px !important;
  gap: 1px !important;
  overflow: hidden !important;
  border: 1px solid rgba(43, 132, 168, .2) !important;
  border-radius: 11px !important;
  background: rgba(248, 253, 255, .88) !important;
  scroll-snap-align: none !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-balls .capture-ball-icon {
  width: 38px !important;
  height: 38px !important;
  margin: auto !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-balls > button:disabled {
  opacity: .78 !important;
  filter: saturate(.82) !important;
}

html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-balls > button.is-selected {
  border-color: #1e9dd0 !important;
  background: linear-gradient(180deg, #fafdff, #dff5fc) !important;
  box-shadow: inset 0 0 0 2px rgba(29, 157, 208, .18), 0 5px 12px rgba(6, 91, 126, .12) !important;
}

/* Restore the 2.17 desktop navigation geometry while keeping the current PNG
   artwork and JS behaviour. */
@media (min-width: 761px) {
  html[data-ui-revision="pokemon-next"] .game-screen .world-rail:not(.is-desktop-menu-open) {
    display: none !important;
  }

  html[data-ui-revision="pokemon-next"] .game-screen .desktop-dock {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-template-columns: repeat(5, var(--desktop-action-size, 78px)) !important;
    flex-direction: row !important;
    left: auto !important;
    right: max(16px, env(safe-area-inset-right)) !important;
    top: auto !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    transform: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    pointer-events: none !important;
  }

  html[data-ui-revision="pokemon-next"] .game-screen .desktop-dock::before {
    content: none !important;
    display: none !important;
  }

  html[data-ui-revision="pokemon-next"] .game-screen .desktop-dock > button {
    pointer-events: auto !important;
  }
}

@media (max-width: 760px) {
  html[data-ui-revision="pokemon-next"] .game-screen .desktop-dock {
    display: none !important;
  }

  html[data-ui-revision="pokemon-next"] .game-screen .mobile-dock {
    display: grid !important;
  }

  html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems {
    grid-template-columns: repeat(3, minmax(44px, 1fr)) !important;
    grid-template-rows: repeat(2, minmax(44px, 1fr)) !important;
    gap: 5px !important;
  }

  html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] #battleQuickItems .combat-item-button {
    min-width: 44px !important;
    min-height: 44px !important;
  }

  html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] {
    height: min(278px, 45dvh) !important;
    min-height: min(278px, 45dvh) !important;
    max-height: min(278px, 45dvh) !important;
  }

  html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #capturePanel.combat-capture-panel {
    grid-template-columns: minmax(0, 1fr) 112px !important;
    grid-template-rows: 42px minmax(0, 1fr) !important;
    grid-template-areas: "copy cancel" "balls balls" !important;
    gap: 6px 8px !important;
    padding: 8px !important;
  }

  html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #captureBalls.combat-capture-balls {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(64px, 1fr) !important;
    gap: 4px !important;
  }

  html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] #captureBalls.combat-capture-balls > button {
    min-width: 0 !important;
    min-height: 64px !important;
    grid-template-rows: 34px 10px 10px 9px !important;
    padding: 3px 2px !important;
  }

  html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-balls .capture-ball-icon {
    width: 33px !important;
    height: 33px !important;
  }

  html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .combat-capture-balls b {
    overflow: hidden !important;
    font-size: 7px !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html[data-game-theme] body.is-battling #battleHud[data-battle-skin="v2185"] .capture-throw {
    bottom: calc(min(278px, 45dvh) + max(12px, env(safe-area-inset-bottom))) !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) and (min-height: 600px) {
  html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="capture"] {
    height: 292px !important;
    min-height: 292px !important;
    max-height: 292px !important;
  }
}

@media (max-width: 900px) and (max-height: 650px) and (orientation: landscape) {
  html[data-ui-revision="pokemon-next"][data-game-theme] body.is-battling #battleHud[data-battle-ui="2.9.9"][data-battle-skin="v2185"] #battleCommandDeck[data-view="combat"] #battleLiveControls[data-mobile-layout="native-v28"] .combat-utility-panel {
    transform: translateY(-10px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-ui-revision="pokemon-next"] #battleHud[data-battle-skin="v2185"] *,
  html[data-ui-revision="pokemon-next"] .desktop-dock * {
    scroll-behavior: auto !important;
  }
}
