/* Haikyu Tier List spezifische Styles - Höchste Spezifität um alle Konflikte zu überschreiben */

/* WICHTIG: Layout-Override für Tier List - Professionelles Responsive Design */
html body .tier-list-container#characters-tier-list {
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

/* Neue Tabellen-Struktur CSS mit höchster Priorität */
html body .tier-list-container#characters-tier-list .tier-table-container {
  margin-top: 20px !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  /* Volle Seitenbreite für Tier List, aber auf gleicher horizontalen Position */
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  position: relative !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  height: auto !important;
  max-height: none !important;
}

html body .tier-list-container#characters-tier-list .tier-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: rgba(34, 24, 36, 0.8) !important;
  border-radius: 12px !important;
  overflow: visible !important;
  border: 2px solid rgba(255, 255, 255, 0.2) !important;
  display: table !important;
  table-layout: fixed !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4) !important;
  /* Responsive Mindestbreite */
  min-width: 100% !important;
}

/* Explizite Tabellen-Struktur mit höchster Priorität */
html body .tier-list-container#characters-tier-list .tier-table thead {
  display: table-header-group !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
}

html body .tier-list-container#characters-tier-list .tier-table tbody {
  display: table-row-group !important;
}

html body .tier-list-container#characters-tier-list .tier-table tr {
  display: table-row !important;
}

/* Sticky header row */
html body .tier-list-container#characters-tier-list .tier-table thead tr {
  display: table-row !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 101 !important;
}

html body .tier-list-container#characters-tier-list .tier-table th,
html body .tier-list-container#characters-tier-list .tier-table td {
  display: table-cell !important;
  vertical-align: top !important;
}

/* Force center alignment for all tier cells (overrides generic td rule) */
html body .tier-list-container#characters-tier-list .tier-table td.tier-cell {
  vertical-align: middle !important;
  text-align: center !important;
  font-weight: 800 !important;
}

/* Tabellen-Header mit höchster Priorität */
html body .tier-list-container#characters-tier-list .tier-header {
  background: rgba(255, 255, 255, 0.1) !important;
  color: rgb(255, 255, 255) !important;
  padding: 15px 20px !important;
  text-align: center !important;
  font-weight: bold !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2) !important;
  display: table-cell !important;
  /* Explizite Breite für erste Spalte */
  width: 35px !important;
  min-width: 35px !important;
  max-width: 35px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 102 !important;
}

html body .tier-list-container#characters-tier-list .role-header {
  background: rgba(255, 255, 255, 0.1) !important;
  color: rgb(255, 255, 255) !important;
  padding: 15px 20px !important;
  text-align: center !important;
  font-weight: bold !important;
  font-size: 16px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  border-bottom: 2px solid rgba(255, 255, 255, 0.2) !important;
  border-left: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
  display: table-cell !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 102 !important;
}

/* Tabellen-Zeilen mit höchster Priorität */
html body .tier-list-container#characters-tier-list .tier-row {
  border-bottom: 2px solid rgba(255, 255, 255, 0.15) !important;
  display: table-row !important;
  transition: none !important;
  cursor: default !important;
  user-select: none !important;
}

/* Hover-Effekte entfernt - nicht auswählbar */
/* html body .tier-list-container#characters-tier-list .tier-row:hover {
  background: rgba(255, 255, 255, 0.08) !important;
} */

html body .tier-list-container#characters-tier-list .tier-row:last-child {
  border-bottom: none !important;
}

/* Separator-Reihen zwischen den Tiers - Prydwen.gg Design */
html body .tier-list-container#characters-tier-list .separator-row {
  display: table-row !important;
  background: transparent !important;
}

html body .tier-list-container#characters-tier-list .separator-row td {
  padding: 12px 0 !important;
  border: none !important;
  background: transparent !important;
}

html body .tier-list-container#characters-tier-list .separator-row .section-separator {
  margin: 0 !important;
  opacity: 1 !important;
}

html body .tier-list-container#characters-tier-list .separator-row .section-separator:hover {
  opacity: 1 !important;
}

/* Tier-Zellen (erste Spalte) - Schmaler wie bei Prydwen.gg - VERSTÄRKT */
html body .tier-list-container#characters-tier-list .tier-cell {
  padding: 8px 12px !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-weight: bold !important;
  font-size: 14px !important;
  color: rgb(255, 255, 255) !important;
  border-right: 2px solid rgba(255, 255, 255, 0.2) !important;
  /* VERSTÄRKTE Breiten-Regeln */
  width: 35px !important;
  min-width: 35px !important;
  max-width: 35px !important;
  /* Zusätzliche Eigenschaften um Breite zu erzwingen */
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  display: table-cell !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}

/* Zusätzliche Regel für erste Spalte mit höchster Spezifität */
html body .tier-list-container#characters-tier-list .tier-table th:first-child,
html body .tier-list-container#characters-tier-list .tier-table td:first-child {
  width: 35px !important;
  min-width: 35px !important;
  max-width: 35px !important;
  box-sizing: border-box !important;
}

/* Tier-spezifische Farben - Verbesserte Gradients */
html body .tier-list-container#characters-tier-list .tier-cell.s-plus {
  background: linear-gradient(135deg, #FF69B4, #FF1493) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  display: table-cell !important;
  vertical-align: middle !important;
  text-align: center !important;
}

html body .tier-list-container#characters-tier-list .tier-cell.s {
  background: linear-gradient(135deg, #FFD700, #FFA500) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* Removed A+ tier styling (A+ tier removed) */

html body .tier-list-container#characters-tier-list .tier-cell.a {
  background: linear-gradient(135deg, #4ECDC4, #44A08D) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

html body .tier-list-container#characters-tier-list .tier-cell.b {
  background: linear-gradient(135deg, #A8E6CF, #7FCDCD) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

html body .tier-list-container#characters-tier-list .tier-cell.c {
  background: linear-gradient(135deg, #FFB6C1, #FFC0CB) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

html body .tier-list-container#characters-tier-list .tier-cell.d {
  background: linear-gradient(135deg, #DDA0DD, #E6E6FA) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

/* Rollen-Zellen - VERSTÄRKT Links und Oben ausgerichtet */
html body .tier-list-container#characters-tier-list .role-cell {
  padding: 10px !important;
  text-align: left !important;
  vertical-align: top !important;
  border-left: 1px solid rgba(255, 255, 255, 0.15) !important;
  min-height: 120px !important;
  display: table-cell !important;
  background: rgba(255, 255, 255, 0.02) !important;
  transition: background-color 0.3s ease !important;
  /* Gleichmäßige Spaltenbreite */
  width: calc((100% - 35px) / 5) !important;
  box-sizing: border-box !important;
  /* VERSTÄRKT: Oben Links Alignment */
  position: relative !important;
}

html body .tier-list-container#characters-tier-list .role-cell:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}

/* Character Grid in Rollen-Zellen - ENTFERNT wegen Konflikten */
/* html body .tier-list-container#characters-tier-list .role-cell .character-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  justify-content: center !important;
  align-items: flex-start !important;
  min-height: 160px !important;
  padding: 10px !important;
} */

/* Character Cards in der Tabelle - ENTFERNT wegen Konflikten */
/* html body .tier-list-container#characters-tier-list .role-cell .Character-UR,
html body .tier-list-container#characters-tier-list .role-cell .Character-SSR,
html body .tier-list-container#characters-tier-list .role-cell .Character-SR,
html body .tier-list-container#characters-tier-list .role-cell .Character-R,
html body .tier-list-container#characters-tier-list .role-cell .Character-N {
  position: relative !important;
  border-radius: 6px !important;
  padding: 8px !important;
  margin: 4px !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
} */

/* Separator-Styles mit höchster Priorität - Prydwen.gg Design */
html body .tier-list-container#characters-tier-list .section-separator {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  opacity: 1 !important;
  transition: opacity 0.3s ease !important;
  padding: 8px 0 !important;
}

html body .tier-list-container#characters-tier-list .section-separator:hover {
  opacity: 1 !important;
}

html body .tier-list-container#characters-tier-list .separator-line {
  flex: 1 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent) !important;
  transition: background 0.3s ease !important;
}

html body .tier-list-container#characters-tier-list .section-separator:hover .separator-line {
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent) !important;
}

html body .tier-list-container#characters-tier-list .section-label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  white-space: nowrap !important;
  padding: 0 15px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border: none !important;
}

html body .tier-list-container#characters-tier-list .chevron {
  color: rgba(255, 255, 255, 0.7) !important;
  font-size: 10px !important;
  font-weight: bold !important;
  transition: color 0.3s ease !important;
}

html body .tier-list-container#characters-tier-list .section-separator:hover .chevron {
  color: rgba(255, 255, 255, 0.9) !important;
}

html body .tier-list-container#characters-tier-list .label-text {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, 0.8) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

/* Responsive Design mit höchster Priorität */
@media (max-width: 1200px) {
  html body .tier-list-container#characters-tier-list .tier-table {
    font-size: 14px !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-header,
  html body .tier-list-container#characters-tier-list .role-header {
    padding: 12px 15px !important;
    font-size: 14px !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-cell {
    padding: 8px 12px !important;
    font-size: 14px !important;
    /* Breite auch in responsive beibehalten */
    width: 35px !important;
    min-width: 35px !important;
    max-width: 35px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 12px 15px !important;
  }
  
  html body .tier-list-container#characters-tier-list .section-label {
    padding: 0 15px !important;
  }
  
  html body .tier-list-container#characters-tier-list .label-text {
    font-size: 14px !important;
  }
  
  /* Responsive Navbar-Berücksichtigung */
  html body .tier-list-container#characters-tier-list .tier-table-container {
    width: 100% !important; /* Volle Breite auf gleicher Position */
    margin-left: 0 !important;
  }
}

@media (max-width: 768px) {
  html body .tier-list-container#characters-tier-list .tier-table-container {
    margin: 10px -10px !important;
    /* Mobile: Volle Breite ohne Navbar-Berücksichtigung */
    width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-table {
    font-size: 12px !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-header,
  html body .tier-list-container#characters-tier-list .role-header {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-cell {
    padding: 6px 10px !important;
    font-size: 12px !important;
    /* Breite auch in mobile beibehalten */
    width: 35px !important;
    min-width: 35px !important;
    max-width: 35px !important;
  }
  
  html body .tier-list-container#characters-tier-list .section-separator {
    gap: 15px !important;
  }
  
  html body .tier-list-container#characters-tier-list .section-label {
    padding: 0 10px !important;
  }
  
  html body .tier-list-container#characters-tier-list .label-text {
    font-size: 12px !important;
  }
  
  html body .tier-list-container#characters-tier-list .chevron {
    font-size: 12px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 8px 10px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell .character-grid {
    gap: 4px !important;
  }
  
  /* Mobile Region Toggle */
  html body .tier-list-container#characters-tier-list .region-toggle {
    flex-direction: column !important;
    align-items: center !important;
  }
  
  html body .tier-list-container#characters-tier-list .region-btn {
    width: 200px !important;
  }
}

/* Modern responsive tuning for small devices */
@media (max-width: 480px) {
  /* Ensure header sidebar is hidden by default and overlays content when opened */
  #sidebar { display: none !important; position: fixed !important; top: 0 !important; left: 0 !important; width: 260px !important; height: 100vh !important; z-index: 9999 !important; }
  .hamburger { position: fixed !important; top: 10px !important; left: 10px !important; z-index: 10000 !important; }

  html body .tier-list-container#characters-tier-list .tier-table-container {
    margin: 0 !important;
    overflow-x: hidden !important;
  }

  /* Compact first column and distribute remaining width */
  html body .tier-list-container#characters-tier-list .tier-table th:first-child,
  html body .tier-list-container#characters-tier-list .tier-table td:first-child {
    width: 30px !important;
    min-width: 30px !important;
    max-width: 30px !important;
  }

  html body .tier-list-container#characters-tier-list .role-cell {
    width: calc((100% - 30px) / 5) !important;
    padding: 6px !important;
  }

  /* Fluid typography for headers */
  html body .tier-list-container#characters-tier-list .tier-header,
  html body .tier-list-container#characters-tier-list .role-header {
    font-size: clamp(10px, 2.8vw, 12px) !important;
    padding: 6px 6px !important;
  }

  /* Smaller cards while preserving rectangular aspect */
  html body .tier-list-container#characters-tier-list .Character-UR,
  html body .tier-list-container#characters-tier-list .Character-SSR,
  html body .tier-list-container#characters-tier-list .Character-SR {
    width: 100% !important;
    aspect-ratio: 5 / 7 !important;
    height: auto !important;
    flex-basis: auto !important;
  }

  /* Use CSS grid for consistent two-up layout */
  html body .tier-list-container#characters-tier-list .character-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 3px !important;
    padding: 3px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Tighter filter spacing on small screens */
  .filter-top-row { gap: 8px !important; flex-wrap: nowrap !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .filter-top-row::-webkit-scrollbar { display: none !important; }
  .number-filters, .rarity-filters { gap: 6px !important; }
  .number-filter-btn, .rarity-filter-btn { padding: 6px 8px !important; font-size: 11px !important; }

  /* Prevent category buttons from overflowing */
  .filter-bottom-row { gap: 8px !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .filter-bottom-row .category-filter-btn { min-width: auto !important; padding: 8px !important; font-size: 0 !important; }
  .filter-bottom-row .category-filter-btn img { margin: 0 !important; width: 18px !important; height: 18px !important; }
}

@media (max-width: 360px) {
  /* Icon-only role headers to save width */
  html body .tier-list-container#characters-tier-list .role-header {
    font-size: 0 !important;
    padding: 4px 4px !important;
  }
  html body .tier-list-container#characters-tier-list .role-header img {
    width: 12px !important;
    height: 12px !important;
    margin: 0 !important;
  }

  /* Further reduce first column */
  html body .tier-list-container#characters-tier-list .tier-table th:first-child,
  html body .tier-list-container#characters-tier-list .tier-table td:first-child {
    width: 26px !important;
    min-width: 26px !important;
    max-width: 26px !important;
  }
  html body .tier-list-container#characters-tier-list .role-cell {
    width: calc((100% - 26px) / 5) !important;
    padding: 4px !important;
  }

  /* Extra small cards fill grid columns */
  html body .tier-list-container#characters-tier-list .Character-UR,
  html body .tier-list-container#characters-tier-list .Character-SSR,
  html body .tier-list-container#characters-tier-list .Character-SR {
    width: 100% !important;
    aspect-ratio: 5 / 7 !important;
    height: auto !important;
    flex-basis: auto !important;
  }

  html body .tier-list-container#characters-tier-list .character-grid {
    gap: 2px !important;
    padding: 2px !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Filter-System CSS */
.new-filter-system {
  background: rgba(34, 24, 36, 0.8) !important;
  border-radius: 12px !important;
  padding: 20px !important;
  margin: 20px 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

.filter-top-row {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
  margin-bottom: 20px !important;
  flex-wrap: wrap !important;
}

.search-section {
  display: flex !important;
  align-items: center !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border-radius: 8px !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  overflow: hidden !important;
}

.search-input-new {
  background: transparent !important;
  border: none !important;
  padding: 10px 15px !important;
  color: rgb(230, 230, 230) !important;
  font-size: 14px !important;
  min-width: 200px !important;
}

.search-input-new::placeholder {
  color: rgba(230, 230, 230, 0.6) !important;
}

.search-input-new:focus {
  outline: none !important;
}

.clear-search-btn {
  background: rgba(255, 255, 255, 0.1) !important;
  border: none !important;
  color: rgb(230, 230, 230) !important;
  padding: 10px 12px !important;
  cursor: pointer !important;
  font-size: 16px !important;
  transition: all 0.3s ease !important;
}

.clear-search-btn:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.number-filters,
.rarity-filters {
  display: flex !important;
  gap: 8px !important;
}

.number-filter-btn,
.rarity-filter-btn {
  padding: 8px 12px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  color: rgb(230, 230, 230) !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  min-width: 40px !important;
}

.number-filter-btn:hover,
.rarity-filter-btn:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.number-filter-btn.active,
.rarity-filter-btn.active {
  background: #4A90E2 !important;
  border-color: #4A90E2 !important;
  color: white !important;
}

.school-filter {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.school-dropdown {
  padding: 8px 12px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  color: rgb(230, 230, 230) !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  min-width: 120px !important;
}

.school-dropdown:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.school-dropdown:focus {
  outline: none !important;
}

.reset-all-btn {
  padding: 8px 16px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  color: rgb(230, 230, 230) !important;
  cursor: pointer !important;
  font-size: 12px !important;
  transition: all 0.3s ease !important;
  margin-left: auto !important;
}

.reset-all-btn:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.filter-bottom-row {
  display: flex !important;
  gap: 15px !important;
  justify-content: center !important;
}

.category-filter-btn {
  padding: 12px 20px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 2px solid transparent !important;
  border-radius: 8px !important;
  color: rgb(230, 230, 230) !important;
  cursor: pointer !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: all 0.3s ease !important;
  min-width: 140px !important;
  text-align: center !important;
}

.category-filter-btn:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: rgba(255, 255, 255, 0.3) !important;
}

.category-filter-btn.active {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: #9B59B6 !important;
  color: #9B59B6 !important;
}

/* Region Toggle Styles - Angepasst an andere Filter */
.region-toggle-section {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 15px !important;
  margin-bottom: 20px !important;
}

.region-toggle {
  display: flex !important;
  gap: 8px !important;
}

.region-btn {
  padding: 8px 12px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-radius: 6px !important;
  color: rgb(230, 230, 230) !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  min-width: 80px !important;
  text-align: center !important;
}

.region-btn:hover {
  background: rgba(255, 255, 255, 0.2) !important;
}

.region-btn.active {
  background: #4A90E2 !important;
  border-color: #4A90E2 !important;
  color: white !important;
}

.region-description {
  font-size: 12px !important;
  color: rgba(230, 230, 230, 0.6) !important;
  margin: 0 !important;
  font-weight: 400 !important;
  margin-left: 15px !important;
}

/* Character Hover Tooltip */
.character-tooltip {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  background: rgba(34, 24, 36, 0.95) !important;
  color: rgb(230, 230, 230) !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  z-index: 1000 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: all 0.2s ease !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
  pointer-events: none !important;
}

.character-tooltip::before {
  content: '' !important;
  position: absolute !important;
  top: -5px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 0 !important;
  height: 0 !important;
  border-left: 5px solid transparent !important;
  border-right: 5px solid transparent !important;
  border-bottom: 5px solid rgba(34, 24, 36, 0.95) !important;
}

/* Character Card Hover Effects */
.Character-UR:hover .character-tooltip,
.Character-SSR:hover .character-tooltip,
.Character-SR:hover .character-tooltip,
.Character-R:hover .character-tooltip,
.Character-N:hover .character-tooltip {
  opacity: 1 !important;
  visibility: visible !important;
}

.Character-UR:hover,
.Character-SSR:hover,
.Character-SR:hover,
.Character-R:hover,
.Character-N:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4) !important;
}

/* Character Grid Layout - VERSTÄRKT Oben Links Ausrichtung */
html body .tier-list-container#characters-tier-list .character-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  min-height: 120px !important;
  padding: 5px !important;
  border: none !important;
  background: transparent !important;
  flex-direction: row !important;
  /* Responsive Breite - passt sich der Role Cell an */
  width: 100% !important;
  max-width: 100% !important;
  /* VERSTÄRKT: Oben Links Position */
  margin: 0 !important;
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  /* Wichtig für Table Cell Kompatibilität */
  box-sizing: border-box !important;
  /* Keine Border, kein Overflow */
  outline: none !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* Character Cards - Responsive Design */
html body .tier-list-container#characters-tier-list .Character-UR,
html body .tier-list-container#characters-tier-list .Character-SSR,
html body .tier-list-container#characters-tier-list .Character-SR,
html body .tier-list-container#characters-tier-list .Character-R,
html body .tier-list-container#characters-tier-list .Character-N {
  width: 80px !important;
  height: 112px !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  border-radius: 6px !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  border: 2px solid transparent !important;
  /* Flexbox Eigenschaften */
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  flex-basis: 80px !important;
  margin: 0 !important;
  /* Background Images */
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  /* Table Cell Kompatibilität */
  box-sizing: border-box !important;
}

/* Enforce rectangular aspect on all sizes */
html body .tier-list-container#characters-tier-list .Character-UR,
html body .tier-list-container#characters-tier-list .Character-SSR,
html body .tier-list-container#characters-tier-list .Character-SR {
  aspect-ratio: 5 / 7 !important;
  height: auto !important;
}

/* Background Images für verschiedene Rarities */
html body .tier-list-container#characters-tier-list .Character-UR {
  background-image: url('/Haikyu-FlyHigh/img/BackroundUR.png') !important;
  box-shadow: 0 3px 6px rgba(255, 68, 68, 0.3) !important;
}

html body .tier-list-container#characters-tier-list .Character-SSR {
  background-image: url('/Haikyu-FlyHigh/img/BackroundSSR.png') !important;
  box-shadow: 0 3px 6px rgba(255, 215, 0, 0.3) !important;
}

html body .tier-list-container#characters-tier-list .Character-SR {
  background-image: url('/Haikyu-FlyHigh/img/BackroundSR.png') !important;
  box-shadow: 0 3px 6px rgba(153, 50, 204, 0.3) !important;
}

/* R und N Characters immer unsichtbar */
html body .tier-list-container#characters-tier-list .Character-R,
html body .tier-list-container#characters-tier-list .Character-N {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  pointer-events: none !important;
}

/* WICHTIG: display: none mit höchster Priorität überschreiben */
html body .tier-list-container#characters-tier-list .Character-UR[style*="display: none"],
html body .tier-list-container#characters-tier-list .Character-SSR[style*="display: none"],
html body .tier-list-container#characters-tier-list .Character-SR[style*="display: none"],
html body .tier-list-container#characters-tier-list .Character-R[style*="display: none"],
html body .tier-list-container#characters-tier-list .Character-N[style*="display: none"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
}

/* Zusätzliche Regel für hidden-by-filter Klasse */
html body .tier-list-container#characters-tier-list .Character-UR.hidden-by-filter,
html body .tier-list-container#characters-tier-list .Character-SSR.hidden-by-filter,
html body .tier-list-container#characters-tier-list .Character-SR.hidden-by-filter,
html body .tier-list-container#characters-tier-list .Character-R.hidden-by-filter,
html body .tier-list-container#characters-tier-list .Character-N.hidden-by-filter {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  pointer-events: none !important;
}

/* Hover-Effekte für Character Cards */
html body .tier-list-container#characters-tier-list .Character-UR:hover,
html body .tier-list-container#characters-tier-list .Character-SSR:hover,
html body .tier-list-container#characters-tier-list .Character-SR:hover,
html body .tier-list-container#characters-tier-list .Character-R:hover,
html body .tier-list-container#characters-tier-list .Character-N:hover {
  transform: translateY(-5px) scale(1.05) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4) !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
  z-index: 5 !important;
}

/* Character Images - Vollständige Ausfüllung des Grids */
html body .tier-list-container#characters-tier-list .Character-UR img,
html body .tier-list-container#characters-tier-list .Character-SSR img,
html body .tier-list-container#characters-tier-list .Character-SR img,
html body .tier-list-container#characters-tier-list .Character-R img,
html body .tier-list-container#characters-tier-list .Character-N img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 6px !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  z-index: 1 !important;
}

/* Character Grid Container - Border entfernt */
html body .tier-list-container#characters-tier-list td {
  border: none !important;
  padding: 5px !important;
}

/* Wichtig: Character Grid darf nicht über die Zelle hinausgehen */
html body .tier-list-container#characters-tier-list .role-cell {
  overflow: visible !important;
}

/* Responsive Design für bessere Character-Anordnung */
@media (max-width: 1200px) {
  html body .tier-list-container#characters-tier-list .character-grid {
    justify-content: center !important;
  }
}

@media (max-width: 768px) {
  html body .tier-list-container#characters-tier-list .region-toggle {
    flex-direction: column !important;
    align-items: center !important;
  }
  
  html body .tier-list-container#characters-tier-list .region-btn {
    width: 200px !important;
  }
}

/* Zusätzliche Regeln für bessere Character-Anordnung */
html body .tier-list-container#characters-tier-list .character-grid > * {
  flex-basis: 80px !important;
  flex-grow: 0 !important;
  flex-shrink: 0 !important;
  margin-bottom: 6px !important;
  margin-right: 6px !important;
  /* Wichtig für 2er-Reihen */
  width: 80px !important;
  max-width: 80px !important;
  min-width: 80px !important;
}

/* Sicherstellen dass Characters in 2er-Reihen angeordnet werden */
html body .tier-list-container#characters-tier-list .character-grid {
  align-content: flex-start !important;
  row-gap: 6px !important;
  column-gap: 6px !important;
  /* Mindestens 2 Characters nebeneinander mit kleineren Größen */
  max-width: calc(2 * 80px + 1 * 6px + 16px) !important;
  width: calc(2 * 80px + 1 * 6px + 16px) !important;
  /* Keine Border, kein Background */
  border: none !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Clearfix für Character Grid - behebt Float-Probleme in Table Cells */
html body .tier-list-container#characters-tier-list .character-grid::after {
  content: "" !important;
  display: table !important;
  clear: both !important;
}

/* Professionelle Responsive Design - Überschreibt alle vorherigen Media Queries */

/* Extra Large Screens - 3+ Characters nebeneinander (1400px+) */
@media (min-width: 1400px) {
  html body .tier-list-container#characters-tier-list .character-grid {
    max-width: calc(3 * 80px + 2 * 6px + 20px) !important;
    width: calc(3 * 80px + 2 * 6px + 20px) !important;
    padding: 12px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 20px !important;
  }
}

/* Large Screens - 2-3 Characters nebeneinander (1200px-1399px) */
@media (max-width: 1399px) and (min-width: 1200px) {
  html body .tier-list-container#characters-tier-list .character-grid {
    max-width: calc(2 * 80px + 1 * 6px + 20px) !important;
    width: calc(2 * 80px + 1 * 6px + 20px) !important;
    padding: 10px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 18px !important;
  }
}

/* Medium Screens - 2 Characters nebeneinander (992px-1199px) */
@media (max-width: 1199px) and (min-width: 992px) {
  html body .tier-list-container#characters-tier-list {
    padding: 0 15px !important;
  }
  
  html body .tier-list-container#characters-tier-list .character-grid {
    max-width: calc(2 * 64px + 1 * 6px + 16px) !important;
    width: calc(2 * 64px + 1 * 6px + 16px) !important;
    padding: 6px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 15px !important;
  }
  
  html body .tier-list-container#characters-tier-list .Character-UR,
  html body .tier-list-container#characters-tier-list .Character-SSR,
  html body .tier-list-container#characters-tier-list .Character-SR {
    width: 64px !important;
    aspect-ratio: 5 / 7 !important;
    height: auto !important;
    flex-basis: 64px !important;
  }
}

/* Small Screens - 2 Characters nebeneinander (768px-991px) */
@media (max-width: 991px) and (min-width: 768px) {
  html body .tier-list-container#characters-tier-list {
    padding: 0 10px !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-table-container {
    overflow-x: auto !important;
  }
  
  html body .tier-list-container#characters-tier-list .character-grid {
    max-width: calc(2 * 56px + 1 * 4px + 12px) !important;
    width: calc(2 * 56px + 1 * 4px + 12px) !important;
    padding: 4px !important;
    gap: 3px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 12px !important;
  }
  
  html body .tier-list-container#characters-tier-list .Character-UR,
  html body .tier-list-container#characters-tier-list .Character-SSR,
  html body .tier-list-container#characters-tier-list .Character-SR {
    width: 56px !important;
    aspect-ratio: 5 / 7 !important;
    height: auto !important;
    flex-basis: 56px !important;
  }
}

/* Mobile Screens - 2 Characters nebeneinander (bis 767px) */
@media (max-width: 767px) {
  html body .tier-list-container#characters-tier-list {
    padding: 0 2px !important;
  }
  
  html body .tier-list-container#characters-tier-list .tier-table-container {
    overflow-x: hidden !important;
  }
  
  html body .tier-list-container#characters-tier-list .character-grid {
    max-width: calc(2 * 40px + 1 * 2px + 6px) !important;
    width: calc(2 * 40px + 1 * 2px + 6px) !important;
    padding: 3px !important;
    gap: 2px !important;
  }
  
  html body .tier-list-container#characters-tier-list .role-cell {
    padding: 8px !important;
  }
  
  html body .tier-list-container#characters-tier-list .Character-UR,
  html body .tier-list-container#characters-tier-list .Character-SSR,
  html body .tier-list-container#characters-tier-list .Character-SR {
    width: 40px !important;
    aspect-ratio: 5 / 7 !important;
    height: auto !important;
    flex-basis: 40px !important;
    border-radius: 4px !important;
  }
  
  /* Shrink header text/icons on very small screens */
  html body .tier-list-container#characters-tier-list .role-header img {
    width: 14px !important;
    height: 14px !important;
    margin-right: 6px !important;
  }
  html body .tier-list-container#characters-tier-list .tier-header,
  html body .tier-list-container#characters-tier-list .role-header {
    padding: 6px 6px !important;
    font-size: 11px !important;
  }
}
