/* Final responsive setup and battle polish */

@media (min-width: 801px) {
  .app-shell {
    width: min(97vw, 1500px) !important;
    max-width: 1500px !important;
  }

  .setup-panel {
    padding: 11px 13px 10px !important;
  }

  .roster-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 1px 7px 8px 1px;
  }

  .battle-panel:not([hidden]) {
    grid-template-columns: minmax(0, 1fr) 220px !important;
    gap: 11px !important;
  }
}

@media (min-width: 1500px) {
  .roster-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 801px) and (max-width: 1120px) {
  .roster-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.page-header {
  margin-bottom: 5px !important;
}

.lol-fan-notice {
  margin: -4px 0 7px !important;
  padding: 5px 9px !important;
  font-size: .61rem !important;
}

.team-preview-grid {
  gap: 10px !important;
  margin-bottom: 5px !important;
}

.team-preview {
  padding: 9px 10px !important;
}

.team-preview-title {
  margin-bottom: 6px !important;
}

.team-slot-hint {
  margin: -2px 0 6px !important;
}

.match-options {
  gap: 9px !important;
  margin-bottom: 7px !important;
}

.option-card {
  padding: 8px 9px !important;
}

.option-heading {
  margin-bottom: 5px !important;
}

.arena-option {
  min-height: 43px !important;
  padding: 6px 8px !important;
}

.champion-final-card {
  min-height: 0 !important;
  padding: 9px !important;
  border-radius: 13px !important;
}

.champion-final-card .fighter-card-header {
  margin-bottom: 5px;
}

.champion-final-card .fighter-badge {
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

.champion-final-card .fighter-heading-copy h3 {
  font-size: .79rem;
  line-height: 1.18;
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.champion-final-card .fighter-role {
  font-size: .64rem;
}

.champion-final-card .champion-class-row {
  gap: 4px;
  margin: 2px 0 6px;
}

.champion-final-card .combat-chip {
  padding: 2px 6px;
  font-size: .55rem;
}

.champion-final-card .fighter-summary {
  min-height: 0 !important;
  margin-bottom: 6px;
  font-size: .65rem;
  line-height: 1.35;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.champion-final-card .skill-preview,
.champion-final-card .ultimate-preview {
  grid-template-columns: 31px minmax(0, 1fr) !important;
  gap: 7px !important;
  margin-bottom: 6px !important;
  padding: 7px !important;
  border-radius: 10px;
}

.champion-final-card .lol-spell-icon {
  width: 31px !important;
  height: 31px !important;
  border-radius: 6px;
}

.champion-final-card .skill-line {
  margin-bottom: 2px;
  font-size: .67rem;
}

.champion-final-card .skill-line span {
  font-size: .58rem;
}

.champion-final-card .skill-description {
  font-size: .61rem;
  line-height: 1.32;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.champion-final-card .ability-details {
  margin-bottom: 6px;
  padding: 4px 0;
}

.champion-final-card .ability-details summary {
  font-size: .64rem;
}

.champion-final-card .team-buttons {
  gap: 5px;
}

.champion-final-card .team-buttons button {
  min-height: 29px !important;
  padding: 4px 6px !important;
  font-size: .65rem !important;
}

.setup-actions {
  position: relative;
  z-index: 4;
  margin-top: 6px !important;
  border-top: 1px solid rgba(161, 183, 214, .16);
  background: linear-gradient(180deg, rgba(4, 13, 21, .82), rgba(4, 13, 21, .98));
  padding-top: 7px !important;
}

.champion-final-slot {
  min-height: 50px !important;
  grid-template-columns: 34px minmax(0, 1fr) 20px !important;
  padding: 6px 7px !important;
}

.champion-final-slot .team-slot-portrait {
  width: 34px;
  height: 34px;
}

.champion-final-slot .team-slot-copy strong {
  font-size: .64rem;
}

.champion-final-slot .team-slot-copy small {
  font-size: .55rem;
}

.game-card {
  overflow: hidden;
}

.battle-tools {
  padding: 2px;
}

.battle-tools .viewer-controls button {
  min-height: 40px;
}

.match-summary {
  display: grid !important;
  grid-template-columns: 1fr !important;
}

.match-summary span {
  border-radius: 9px !important;
  line-height: 1.35;
}

@media (max-width: 800px) {
  .roster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .champion-final-card .fighter-summary,
  .champion-final-card .skill-description {
    -webkit-line-clamp: 3;
  }
}

@media (max-width: 560px) {
  .roster-grid {
    grid-template-columns: 1fr !important;
  }

  .champion-final-card .fighter-heading-copy h3 {
    font-size: .86rem;
  }
}
