/* ==========================================================================
   NBA INTELLIGENCE DASHBOARD - VERCEL DARK DESIGN SYSTEM (Geist Aesthetic)
   ========================================================================== */

:root {
  --bg-root: #000000;
  --bg-surface: #0a0a0a;
  --bg-surface-hover: #121212;
  --bg-surface-elevated: #171717;
  --bg-subtle: rgba(255, 255, 255, 0.03);
  --bg-highlight: rgba(255, 255, 255, 0.06);

  --border-subtle: rgba(255, 255, 255, 0.08);
  --border-medium: rgba(255, 255, 255, 0.15);
  --border-active: rgba(255, 255, 255, 0.35);

  --text-primary: #ededed;
  --text-secondary: #a1a1a1;
  --text-tertiary: #666666;
  --text-inverse: #000000;

  --accent-white: #ffffff;
  --accent-blue: #0070f3;
  --accent-cyan: #06b6d4;

  --stat-hot: #10b981;       /* Emerald */
  --stat-hot-bg: rgba(16, 185, 129, 0.12);
  --stat-hot-border: rgba(16, 185, 129, 0.3);

  --stat-cold: #ef4444;      /* Red/Rose */
  --stat-cold-bg: rgba(239, 68, 68, 0.12);
  --stat-cold-border: rgba(239, 68, 68, 0.3);

  --stat-breakout: #38bdf8;  /* Sky Blue */
  --stat-breakout-bg: rgba(56, 189, 248, 0.12);
  --stat-breakout-border: rgba(56, 189, 248, 0.3);

  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 12px;

  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: 'Geist Mono', 'JetBrains Mono', Menlo, Consolas, monospace;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background-color: var(--bg-root);
  color: var(--text-primary);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-x: hidden;
}

/* Ambient Radial Glow */
.ambient-glow {
  position: fixed;
  top: -200px;
  left: 50%;
  transform: translateX(-50%);
  width: 900px;
  height: 500px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.035) 0%, rgba(0, 0, 0, 0) 70%);
  pointer-events: none;
  z-index: 0;
}

/* Header & Sticky Navigation */
.navbar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(0, 0, 0, 0.92);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: none;
}

/* NBA Brand Logo - Top Left spanning both Tier 1 & Tier 2 Navigation Levels */
.nav-banner-container {
  display: flex !important;
  flex-direction: row !important;
  position: absolute;
  left: max(24px, calc((100% - 1400px) / 2 + 24px));
  top: 16px;
  height: 70px;
  width: auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  z-index: 120;
  padding: 0 !important;
  margin: 0 !important;
}

.brand-banner-link,
.nav-banner-link {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
  height: 68px;
  width: auto;
  text-decoration: none;
  cursor: pointer;
  padding: 4px 6px !important;
  border-radius: 8px;
  border: 2px solid transparent;
  opacity: 0.45;
  transition: opacity 0.2s ease, transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.brand-banner-link:hover,
.nav-banner-link:hover,
#nav-nba-logo-link:hover,
#nav-wnba-logo-link:hover {
  opacity: 0.9;
  transform: scale(1.04);
}

#nav-nba-logo-link:not(.active):hover,
#nav-wnba-logo-link:not(.active):hover,
.brand-banner-link:not(.active):hover,
.nav-banner-link:not(.active):hover {
  border-color: rgba(251, 191, 36, 0.35);
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.25);
}

#nav-nba-logo-link.active,
#nav-wnba-logo-link.active,
.brand-banner-link.active,
.nav-banner-link.active {
  opacity: 1 !important;
  border: 2px solid #fbbf24 !important;
  background: rgba(251, 191, 36, 0.12) !important;
  box-shadow: 0 0 16px rgba(251, 191, 36, 0.6), inset 0 0 8px rgba(251, 191, 36, 0.18) !important;
  transform: scale(1.02);
}

#nav-nba-logo-link.active:hover,
#nav-wnba-logo-link.active:hover,
.brand-banner-link.active:hover,
.nav-banner-link.active:hover {
  opacity: 1 !important;
  border: 2px solid #fbbf24 !important;
  box-shadow: 0 0 20px rgba(251, 191, 36, 0.75), inset 0 0 10px rgba(251, 191, 36, 0.25) !important;
  transform: scale(1.04);
}

.nba-banner-link.active .brand-banner-img {
  filter: drop-shadow(0 2px 10px rgba(29, 66, 138, 0.65));
}

.wnba-banner-link.active .brand-banner-img {
  filter: drop-shadow(0 2px 10px rgba(255, 105, 0, 0.65));
}

.brand-banner-img,
.nav-brand-banner,
.nav-banner-img,
.nav-nba-logo,
.wnba-brand-banner {
  display: block !important;
  height: 56px !important;
  width: auto !important;
  max-height: 56px !important;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.6));
  transition: filter 0.15s ease;
}

/* HoopsVault Brand Anchor Link in Universal Nav Banner */
.hoopsvault-banner-link {
  opacity: 0.95 !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  padding: 3px 5px !important;
  margin-right: 2px !important;
  border-radius: 8px;
}

.hoopsvault-banner-link:hover {
  opacity: 1 !important;
  border-color: rgba(2, 235, 252, 0.5) !important;
  background: rgba(2, 235, 252, 0.08) !important;
  box-shadow: 0 0 16px rgba(2, 235, 252, 0.35), inset 0 0 8px rgba(2, 235, 252, 0.12) !important;
  transform: scale(1.05);
}

.hoopsvault-brand-img {
  display: block !important;
  height: 48px !important;
  width: 48px !important;
  max-height: 48px !important;
  max-width: 48px !important;
  object-fit: contain;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.8));
  transition: transform 0.2s ease, filter 0.2s ease;
}

.hoopsvault-banner-link:hover .hoopsvault-brand-img {
  filter: drop-shadow(0 0 12px rgba(2, 235, 252, 0.6));
}

/* HoopsVault Custom Spinning Wheel Loader */
.vault-spinner {
  display: inline-block;
  width: 36px;
  height: 36px;
  background: url('assets/hoopsvault_mark.png') no-repeat center center;
  background-size: contain;
  animation: vaultWheelSpin 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  filter: drop-shadow(0 0 8px rgba(2, 235, 252, 0.4));
}

@keyframes vaultWheelSpin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.vercel-logo {
  width: 20px;
  height: 18px;
  color: #ffffff;
}

.vercel-logo.small {
  width: 14px;
  height: 12px;
}

.brand-title {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text-primary);
}

.brand-accent {
  color: var(--text-secondary);
  font-weight: 500;
}

.badge-tag {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 6px;
  background: var(--bg-subtle);
  border: 1px solid var(--border-medium);
  border-radius: 4px;
  color: var(--text-secondary);
}

/* Universal Filter & Date Selector Capsules (Morning Recap Style) */
.date-selector-wrapper,
.filter-selector-wrapper,
.metric-dropdown-wrapper {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.date-selector-wrapper:hover,
.filter-selector-wrapper:hover,
.metric-dropdown-wrapper:hover {
  border-color: var(--border-medium);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.03);
}

.nav-icon-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 0.7rem;
  cursor: pointer;
  padding: 2px 5px;
  border-radius: 4px;
  transition: all 0.15s;
  line-height: 1;
  height: 24px;
  width: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nav-icon-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.calendar-picker {
  height: 24px;
  border-radius: 12px;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  padding: 0 8px;
  background: #141414;
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  color-scheme: dark;
  outline: none;
  cursor: pointer;
  transition: border-color 0.2s;
}

.calendar-picker:hover, .calendar-picker:focus {
  border-color: var(--border-medium);
}

.date-label,
.filter-label,
.dropdown-label {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-right: 2px;
  white-space: nowrap;
}

.dropdown-select,
.filter-select,
.metric-select-dropdown {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-primary);
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  height: 100%;
}

.dropdown-select option,
.filter-select option,
.metric-select-dropdown option {
  background: #121212;
  color: #ededed;
}

/* Nav Right & Sync Badge */
.nav-right {
  display: flex;
  align-items: center;
  gap: 14px;
}

.sync-status {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  color: var(--text-secondary);
  font-family: var(--font-mono);
}

.status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--stat-hot);
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
  animation: pulse-glow 2s infinite;
}

@keyframes pulse-glow {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  font-family: var(--font-sans);
}

.btn-subtle {
  background: var(--bg-surface);
  color: var(--text-primary);
  border: 1px solid var(--border-subtle);
}

.btn-subtle:hover {
  background: var(--bg-surface-hover);
  border-color: var(--border-medium);
}

/* Matchups & Scores Controls: Unified Height (36px), Rounded Edges (20px), Font & Size */
.btn-toggle-scores {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fbbf24;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
  user-select: none;
}

.btn-toggle-scores:hover {
  background: rgba(245, 158, 11, 0.22);
  border-color: rgba(245, 158, 11, 0.6);
  transform: translateY(-1px);
}

.btn-toggle-scores.scores-visible {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.35);
  color: #34d399;
}

.btn-toggle-scores.scores-visible:hover {
  background: rgba(16, 185, 129, 0.22);
  border-color: rgba(16, 185, 129, 0.6);
  transform: translateY(-1px);
}

/* Top 10 Plays Button */
.btn-top10 {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 0 14px;
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.btn-top10:hover {
  background: rgba(239, 68, 68, 0.24);
  border-color: rgba(239, 68, 68, 0.55);
  color: #ffffff;
  transform: translateY(-1px);
}

.btn-top10.active {
  background: #ef4444;
  color: #ffffff;
  border-color: #dc2626;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.4);
}

/* Autoplay Toggle Button (Unified Height 36px, Rounded Edges 20px) */
.btn-toggle-autoplay {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  background: rgba(148, 163, 184, 0.12);
  border: 1px solid rgba(148, 163, 184, 0.35);
  color: #cbd5e1;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
  user-select: none;
}

.btn-toggle-autoplay:hover {
  background: rgba(148, 163, 184, 0.22);
  border-color: rgba(148, 163, 184, 0.6);
  transform: translateY(-1px);
}

.btn-toggle-autoplay.autoplay-active {
  background: rgba(14, 165, 233, 0.15);
  border-color: rgba(14, 165, 233, 0.45);
  color: #38bdf8;
  box-shadow: 0 0 10px rgba(14, 165, 233, 0.2);
}

.btn-toggle-autoplay.autoplay-active:hover {
  background: rgba(14, 165, 233, 0.25);
  border-color: rgba(14, 165, 233, 0.7);
  transform: translateY(-1px);
}

/* Search Team Bar */
.search-input-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
}

.search-input-wrapper .search-icon {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-tertiary);
  pointer-events: none;
  width: 15px;
  height: 15px;
}

.input-search,
#matchup-search {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  padding: 0 14px 0 38px;
  border-radius: 20px;
  outline: none;
  transition: all 0.15s ease;
  width: 290px;
}

.input-search:focus,
#matchup-search:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.15);
  background: var(--bg-surface-hover);
}

.input-search::placeholder,
#matchup-search::placeholder {
  color: var(--text-tertiary);
  font-family: var(--font-sans);
  font-size: 0.82rem;
}



/* Tabs Navigation Strip - Tier 1 & Tier 2 Unified */
.tabs-container,
.nav-tier1-container,
.nav-tier2-container {
  max-width: 1400px;
  margin: 0 auto;
  padding-left: 116px !important;
  padding-right: 24px;
  background: transparent;
  overflow: visible;
  box-sizing: border-box;
}

.nav-tier1-container {
  border-top: none !important;
  padding-top: 16px !important;
  padding-bottom: 0 !important;
}

.nav-tier2-container {
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  padding-top: 5px !important;
  padding-bottom: 0 !important;
}

.nav-tier2-with-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.team-selector-bar,
.page-controls-bar,
.page-filters-bar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .team-selector-bar,
  .page-controls-bar,
  .page-filters-bar {
    justify-content: flex-start;
  }
}


.tabs-nav, .nav-tier1, .nav-tier2 {
  display: flex;
  gap: 6px;
  padding: 0;
  margin: 0;
  overflow-x: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
}

.tabs-nav::-webkit-scrollbar,
.nav-tier1::-webkit-scrollbar,
.nav-tier2::-webkit-scrollbar {
  display: none !important; /* Chrome / Safari / Opera / Edge */
  width: 0 !important;
  height: 0 !important;
}

.tab-btn, .tier1-btn, .tier2-btn {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  color: var(--text-secondary) !important;
  font-family: var(--font-sans) !important;
  font-size: 0.81rem !important;
  font-weight: 500 !important;
  padding: 8px 8px !important;
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  flex: 0 0 170px !important;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease, background-color 0.15s ease;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  gap: 6px;
  text-decoration: none;
  white-space: nowrap;
  border-radius: 4px !important;
  box-shadow: none !important;
  line-height: 1.2;
}

.tab-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  text-align: center;
  font-size: 0.95rem;
}

.tab-btn:hover, .tier1-btn:hover, .tier2-btn:hover {
  color: var(--text-primary) !important;
  background: rgba(255, 255, 255, 0.05) !important;
}

.tab-btn.active, .tier1-btn.active, .tier2-btn.active {
  color: #fbbf24 !important;
  font-weight: 600 !important;
  background: transparent !important;
}

.tab-btn.active::after, .tier1-btn.active::after, .tier2-btn.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 6px;
  right: 6px;
  height: 2px;
  background: #fbbf24;
  box-shadow: 0 0 8px rgba(251, 191, 36, 0.6);
  border-radius: 2px 2px 0 0;
}

/* Main Content Layout */
.main-content {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
  padding: 16px 24px 60px;
  flex: 1;
  position: relative;
  z-index: 1;
}

.tab-panel {
  display: none;
  animation: fadeIn 0.25s ease-out;
}

.tab-panel.active {
  display: block;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Briefing Hero Header */
.briefing-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 28px;
  flex-wrap: wrap;
  gap: 16px;
}

.subtitle-tag {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--text-secondary);
  margin-bottom: 6px;
}

.hero-title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: var(--text-primary);
}

.hero-desc {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-top: 6px;
  max-width: 700px;
  line-height: 1.5;
}

.briefing-filters-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.briefing-filters-group .date-selector-wrapper {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 20px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.briefing-filters-group .date-selector-wrapper:hover {
  border-color: var(--border-medium);
}

.briefing-filters-group .date-label {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-right: 2px;
  white-space: nowrap;
}

.briefing-filters-group .dropdown-select {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 500;
  color: var(--text-primary);
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  height: 100%;
}

.briefing-filters-group .calendar-picker {
  height: 24px;
  border-radius: 12px;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  padding: 0 8px;
  background: #141414;
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  color-scheme: dark;
  outline: none;
  cursor: pointer;
}

.briefing-filters-group .nav-icon-btn {
  height: 24px;
  width: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 0.65rem;
}

.quick-stats-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.stat-pill {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  padding: 6px 12px;
  border-radius: 20px;
  font-size: 0.75rem;
  color: var(--text-secondary);
  font-family: var(--font-mono);
}

.stat-pill strong {
  color: var(--text-primary);
  font-weight: 600;
}

/* Section Containers */
.section-container {
  margin-bottom: 32px;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.section-title {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.section-hint {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
}

/* Scoreboard Grid & Cards */
.scoreboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

.game-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 14px 16px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.game-card:hover {
  background: var(--bg-surface-hover);
  border-color: var(--border-medium);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}

.game-header-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 0.7rem;
  font-family: var(--font-mono);
  color: var(--text-tertiary);
}

.status-badge-final {
  background: rgba(255, 255, 255, 0.05);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 600;
  color: var(--text-secondary);
}

.status-badge-final.playin-status-badge {
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.3);
  color: #c084fc;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.game-card.playin-game-card {
  border-left: 2px solid rgba(168, 85, 247, 0.6);
}

.game-card.playin-game-card:hover {
  border-left-color: #c084fc;
  box-shadow: 0 4px 20px -4px rgba(168, 85, 247, 0.2);
}

.team-matchup-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 0;
  gap: 12px;
}

.team-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

.team-logo-slot {
  width: 24px;
  height: 24px;
  min-width: 24px;
  max-width: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.team-abbr {
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-secondary);
}

.team-abbr.winner {
  color: var(--text-primary);
}

.team-name-sub {
  font-size: 0.75rem;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-score-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-shrink: 0;
  margin-left: auto;
}

.team-score {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--text-secondary);
  min-width: 2.2rem;
  text-align: right;
}

.team-score.winner {
  color: var(--text-primary);
  font-weight: 700;
}

.game-card-footer {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  font-size: 0.7rem;
  color: var(--text-tertiary);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.game-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.yt-corner-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ff0000;
  opacity: 0.75;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
}

.yt-corner-icon:hover {
  opacity: 1;
  transform: scale(1.2);
  filter: drop-shadow(0 0 6px rgba(255, 0, 0, 0.8));
}

.yt-corner-icon svg {
  width: 16px;
  height: 16px;
  display: block;
}

/* Recap 3-Column Highlights Grid */
.recap-insights-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 20px;
}

/* Glass Card Base */
.glass-card {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  overflow: hidden;
  transition: border-color 0.2s;
}

.glass-card:hover {
  border-color: var(--border-medium);
}

.card-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--border-subtle);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.card-header.border-hot {
  border-left: 3px solid var(--stat-hot);
}

.card-header.border-cold {
  border-left: 3px solid var(--stat-cold);
}

.card-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.card-icon {
  font-size: 1.1rem;
}

.card-header h3 {
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.sub-label {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  display: block;
}

.card-tag {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  background: var(--bg-subtle);
  color: var(--text-secondary);
}

.card-body {
  padding: 12px 16px;
}

/* List Items within Cards */
.performer-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  transition: background 0.15s, border-color 0.15s;
  border-radius: 6px;
  cursor: pointer;
}

.performer-item:last-child {
  border-bottom: none;
}

.performer-item:hover {
  background: var(--bg-surface-hover);
}

.performer-item:hover .player-name-text {
  color: #38bdf8;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.performer-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rank-badge {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-tertiary);
  width: 16px;
}

/* Player Avatar Image */
.player-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
}

.player-avatar-small {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

/* Team Logo Images */
.team-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
  flex-shrink: 0;
}

.team-logo-small {
  width: 18px;
  height: 18px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 4px;
}

.player-identity {
  display: flex;
  flex-direction: column;
}

.player-name-text {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-primary);
}

.player-meta-text {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  display: flex;
  align-items: center;
  gap: 4px;
}

.stat-numeric-pill {
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  text-align: right;
}

.stat-sub-detail {
  font-size: 0.65rem;
  color: var(--text-secondary);
  font-weight: 400;
  display: block;
}

/* State Badges */
.badge {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
  letter-spacing: 0.04em;
}

.badge-hot {
  background: var(--stat-hot-bg);
  color: var(--stat-hot);
  border: 1px solid var(--stat-hot-border);
}

.badge-cold {
  background: var(--stat-cold-bg);
  color: var(--stat-cold);
  border: 1px solid var(--stat-cold-border);
}

.badge-breakout {
  background: var(--stat-breakout-bg);
  color: var(--stat-breakout);
  border: 1px solid var(--stat-breakout-border);
}

/* Hot / Cold Trend Grid */
.trends-split-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 24px;
}

.trend-player-card {
  padding: 12px;
  margin-bottom: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.15s;
}

.trend-player-card:hover {
  background: var(--bg-surface-hover);
  border-color: var(--border-medium);
}

.trend-metrics {
  display: flex;
  align-items: center;
  gap: 14px;
}

.metric-delta {
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 700;
}

.metric-delta.positive {
  color: var(--stat-hot);
}

.metric-delta.negative {
  color: var(--stat-cold);
}

.sparkline-container {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 24px;
}

.spark-bar {
  width: 5px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 1px;
  transition: height 0.3s;
}

.spark-bar.hot {
  background: var(--stat-hot);
}

.spark-bar.cold {
  background: var(--stat-cold);
}

/* Data Tables */
.table-card {
  margin-top: 10px;
}

.table-responsive {
  overflow-x: auto;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.825rem;
  text-align: right;
}

.data-table th {
  padding: 12px 14px;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-tertiary);
  border-bottom: 1px solid var(--border-subtle);
  background: #080808;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.data-table th.align-left,
.data-table td.align-left {
  text-align: left;
}

.data-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
  transition: background 0.1s;
}

.data-table tbody tr:hover {
  background: var(--bg-surface-hover);
}

.data-table td {
  padding: 10px 14px;
  font-family: var(--font-mono);
  color: var(--text-secondary);
  white-space: nowrap;
}

.data-table td.player-col {
  font-family: var(--font-sans);
  font-weight: 600;
  color: var(--text-primary);
}

.table-player-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.table-team-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.data-table td.highlight-pts {
  color: var(--text-primary);
  font-weight: 700;
}

/* TS% & Metrics coloring */
.ts-elite { color: var(--stat-hot); font-weight: 600; }
.ts-good { color: #a3e635; }
.ts-avg { color: var(--text-secondary); }
.ts-poor { color: var(--stat-cold); }

.pm-pos { color: var(--stat-hot); }
.pm-neg { color: var(--stat-cold); }

/* Table Search Input */
.table-controls {
  display: flex;
  align-items: center;
}

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.search-icon {
  position: absolute;
  left: 10px;
  color: var(--text-tertiary);
}

.input-search {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 7px 12px 7px 32px;
  color: var(--text-primary);
  font-size: 0.8rem;
  outline: none;
  width: 220px;
  transition: all 0.2s;
}

.input-search:focus {
  border-color: var(--border-active);
  width: 280px;
}

/* Season Leaders Grid */
.leaders-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
}

/* Footer */
.footer {
  margin-top: auto;
  border-top: 1px solid var(--border-subtle);
  background: #000000;
  padding: 20px 24px;
}

.footer-content {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.75rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  flex-wrap: wrap;
  gap: 12px;
}

.footer-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .nav-container {
    flex-direction: column;
    align-items: flex-start;
  }
  .briefing-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .trends-split-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   HISTORICAL LAB & COMPARISON EXTENSIONS
   ========================================================================== */

/* Nav Back Link */
.nav-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--text-secondary);
  text-decoration: none;
  font-size: 0.825rem;
  font-weight: 500;
  padding: 6px 14px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  transition: all 0.2s;
}

.nav-back-link:hover {
  color: var(--text-primary);
  border-color: var(--border-medium);
  background: var(--bg-surface-hover);
}

.footer-link {
  color: var(--text-secondary);
  text-decoration: none;
}

.footer-link:hover {
  color: var(--text-primary);
}

/* Autocomplete Search Dropdowns */
.search-autocomplete-box {
  position: relative;
  min-width: 320px;
}

.search-input-wrapper.wide {
  width: 100%;
}

.input-search.wide {
  width: 100%;
  padding-left: 34px;
}

.input-search.wide:focus {
  width: 100%;
}

.autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #0d0d0d;
  border: 1px solid var(--border-medium);
  border-radius: 8px;
  max-height: 340px;
  overflow-y: auto;
  z-index: 200;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.85);
  display: none;
}

.autocomplete-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  cursor: pointer;
  transition: background 0.15s;
}

.autocomplete-item:hover {
  background: var(--bg-surface-hover);
}

.autocomplete-item.no-results {
  color: var(--text-tertiary);
  font-size: 0.8rem;
  justify-content: center;
  padding: 16px;
  cursor: default;
}

.search-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.search-info {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.search-name {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text-primary);
}

.search-meta {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
}

/* Quick Select Star Chips */
.quick-chips-row, .rivalry-presets {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.quick-chip-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  margin-right: 4px;
}

.chip-btn, .preset-btn {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  font-size: 0.775rem;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s;
}

.chip-btn:hover, .preset-btn:hover {
  border-color: var(--border-medium);
  color: var(--text-primary);
  background: var(--bg-surface-hover);
}

.chip-btn.active {
  background: var(--text-primary);
  color: var(--text-inverse);
  border-color: var(--text-primary);
  font-weight: 600;
}

/* Player Hero Bio Card */
.player-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(470px, 1.25fr);
  gap: 28px;
  padding: 24px;
  margin-bottom: 24px;
  align-items: center;
  background: linear-gradient(135deg, rgba(20, 20, 20, 0.8) 0%, rgba(10, 10, 10, 0.95) 100%);
}

@media (max-width: 1060px) {
  .player-hero-card {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.player-hero-left {
  display: flex;
  gap: 24px;
  align-items: center;
  min-width: 0;
}

.headshot-wrapper {
  position: relative;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.hero-avatar {
  width: 170px;
  height: 170px;
  min-width: 170px;
  min-height: 170px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 3px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8);
  transition: all 0.3s ease;
  cursor: pointer;
}

.hero-avatar:hover {
  transform: scale(1.03);
  border-color: rgba(56, 189, 248, 0.6);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 24px rgba(56, 189, 248, 0.4);
}

.hero-year-badge {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 6px;
  letter-spacing: 0.05em;
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  text-align: center;
  line-height: 1;
}

.hero-year-badge.clickable-timelapse-badge {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  user-select: none;
  transition: all 0.2s ease;
}

#hero-year-text {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.hero-year-badge.clickable-timelapse-badge:hover {
  background: rgba(56, 189, 248, 0.25);
  border-color: #38bdf8;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.35);
  color: #fff;
}

.hero-timelapse-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 12px;
  height: 12px;
  line-height: 1;
  color: #38bdf8;
  flex-shrink: 0;
  transition: transform 0.15s ease, color 0.15s ease;
}

.hero-timelapse-icon svg {
  display: block;
  width: 8px;
  height: 8px;
}

.hero-year-badge.clickable-timelapse-badge:hover .hero-timelapse-icon {
  transform: scale(1.15);
  color: #fff;
}

.active-badge {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 800;
  padding: 3px 12px;
  border-radius: 6px;
  letter-spacing: 0.05em;
  white-space: nowrap;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
  transition: all 0.3s ease;
}

.badge-active {
  background: #22c55e;
  color: #000000;
  box-shadow: 0 0 12px rgba(34, 197, 94, 0.35);
}

.badge-retired {
  background: rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.badge-hof {
  background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%);
  color: #000000;
  font-weight: 900;
  box-shadow: 0 0 14px rgba(251, 191, 36, 0.5);
  border: 1px solid #fef08a;
}

.player-hero-details {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.player-hero-name-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  margin-bottom: 2px;
}

.player-hero-name {
  font-size: 1.55rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--text-primary);
  margin: 0;
  white-space: nowrap;
}

.hero-info-line {
  font-family: var(--font-sans, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif);
  font-size: 0.85rem;
  color: var(--text-secondary);
  line-height: 1.45;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.hero-info-line strong {
  font-family: inherit;
  font-size: inherit;
  color: var(--text-primary);
  font-weight: 600;
}

.hero-info-line span {
  font-family: inherit;
  font-size: inherit;
}

.hero-info-line .meta-dot {
  color: var(--text-tertiary);
  margin: 0 2px;
}

.hero-peak-stats {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.peak-pill {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  font-size: 0.7rem;
  color: var(--text-secondary);
  font-family: var(--font-mono);
}

.peak-pill strong {
  color: #38bdf8;
}

.player-hero-right {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  min-width: 0;
}

.stat-hero-cell,
.hero-stat-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
  padding: 6px 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.2s ease;
  min-width: 0;
}

.stat-hero-cell.has-top-rank,
.hero-stat-card.has-top-rank {
  border-color: rgba(234, 179, 8, 0.3);
  background: rgba(234, 179, 8, 0.03);
}

.stat-cell-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 2px;
  white-space: nowrap;
}

.all-time-rank-tag {
  font-size: 0.58rem;
  font-family: var(--font-mono);
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 4px;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  white-space: nowrap !important;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  line-height: 1.15;
}

.all-time-rank-tag.gold {
  background: rgba(234, 179, 8, 0.18);
  border: 1px solid rgba(234, 179, 8, 0.5);
  color: #facc15;
}

.all-time-rank-tag.cyan {
  background: rgba(56, 189, 248, 0.18);
  border: 1px solid rgba(56, 189, 248, 0.5);
  color: #38bdf8;
}

.all-time-rank-tag.emerald {
  background: rgba(16, 185, 129, 0.18);
  border: 1px solid rgba(16, 185, 129, 0.5);
  color: #34d399;
}

.all-time-rank-tag.subtle {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #e2e8f0;
}

.cell-label {
  font-size: 0.62rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--text-tertiary);
  letter-spacing: 0.04em;
}

.cell-val {
  font-size: 1.05rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.2;
}

.cell-sub {
  font-size: 0.65rem;
  font-family: var(--font-mono);
  color: #38bdf8;
  margin-top: 1px;
}

/* ================= Collapsible Sections & Basketball Possession Arrow (Trophy Case Template) ================= */
.collapsible-card {
  padding: 22px 24px;
  margin-bottom: 24px;
  box-sizing: border-box;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.collapsible-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  flex-wrap: wrap;
  cursor: pointer;
  user-select: none;
  border-radius: 8px;
  transition: background 0.15s ease;
}

.collapsible-header:hover {
  background: rgba(255, 255, 255, 0.02);
}

/* Basketball Scoreboard Possession Arrow Button */
.poss-arrow-btn {
  background: linear-gradient(180deg, #151518 0%, #09090b 100%);
  border: 1px solid rgba(239, 68, 68, 0.45);
  color: #ef4444;
  width: 36px;
  height: 32px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.25), inset 0 1px 2px rgba(255, 255, 255, 0.05);
}

.poss-arrow-btn:hover {
  background: linear-gradient(180deg, #200808 0%, #120303 100%);
  border-color: #f87171;
  color: #ff453a;
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.5), inset 0 0 4px rgba(239, 68, 68, 0.3);
  transform: scale(1.06);
}

.poss-arrow-svg {
  width: 16px;
  height: 16px;
  fill: #ef4444;
  color: #ef4444;
  filter: drop-shadow(0 0 4px #ef4444) drop-shadow(0 0 2px rgba(239, 68, 68, 0.8));
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), filter 0.2s ease;
}

.poss-arrow-svg path {
  fill: #ef4444;
}

.poss-arrow-btn:hover .poss-arrow-svg,
.poss-arrow-btn:hover .poss-arrow-svg path {
  fill: #ff453a;
  filter: drop-shadow(0 0 6px #ff453a) drop-shadow(0 0 3px #ff8888);
}

.collapsible-card.is-collapsed .poss-arrow-svg {
  transform: rotate(-90deg);
}

.collapsible-card.is-collapsed .poss-arrow-btn {
  border-color: rgba(239, 68, 68, 0.25);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.1);
  opacity: 0.85;
}

.collapsible-body {
  transition: opacity 0.25s ease, max-height 0.25s ease;
}

.collapsible-card.is-collapsed .collapsible-body {
  display: none !important;
}

.collapsible-card.is-collapsed {
  margin-bottom: 16px;
}

.collapsible-card.is-collapsed .collapsible-header,
.collapsible-card.is-collapsed .accolades-card-header,
.collapsible-card.is-collapsed .chart-header-row,
.collapsible-card.is-collapsed .seasons-header-row {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

/* Season Table Card - Unified Border & Header */
.seasons-table-card {
  margin-bottom: 32px;
  padding: 0;
  overflow: hidden;
}

.seasons-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  gap: 14px;
}

.section-hint-pill {
  font-size: 0.7rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  padding: 2px 8px;
  border-radius: 9999px;
}

.seasons-omitted-notice {
  margin-top: 6px;
  padding: 4px 10px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: #94a3b8;
  background: rgba(56, 189, 248, 0.06);
  border-left: 2px solid #38bdf8;
  border-radius: 0 4px 4px 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  line-height: 1.35;
}

/* Complete Season-by-Season Statistics Table - Tightened Spacing */
#player-seasons-table {
  width: 100%;
  table-layout: auto;
  font-size: 0.775rem;
}

#player-seasons-table th {
  padding: 8px 3px;
  font-size: 0.675rem;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

#player-seasons-table th .sort-icon {
  font-size: 0.65rem;
  margin-left: 1px;
  opacity: 0.6;
}

#player-seasons-table td {
  padding: 6px 3px;
  font-size: 0.75rem;
  white-space: nowrap;
  vertical-align: middle;
}

/* Complete Season-by-Season Statistics Table - W/L Championship Trophy Column */
#player-seasons-table .champ-col,
#player-seasons-table th.champ-col {
  width: 52px;
  min-width: 52px;
  max-width: 56px;
  padding: 8px 4px !important;
  text-align: center;
  vertical-align: middle;
}

.champ-trophy-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 0.8rem;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(250, 204, 21, 0.45));
  vertical-align: middle;
  cursor: default;
  margin: 0 auto;
}

#player-seasons-table .badge-team {
  padding: 1px 3px;
  font-size: 0.66rem;
}

#player-seasons-table .totals-badge {
  padding: 2px 4px;
  font-size: 0.66rem;
}

/* Yellow box for Career Highs in Season-by-Season Table */
.stat-high-box {
  display: inline-block;
  color: #facc15 !important;
  border: 1px solid #facc15;
  background: rgba(250, 204, 21, 0.12);
  border-radius: 3px;
  padding: 0 3px;
  margin: -1px -4px;
  font-weight: 700;
  box-sizing: border-box;
  line-height: normal;
}

/* Career Accolades & Pedigree Card */
.career-accolades-card {
  margin-bottom: 24px;
  padding: 22px 24px;
}

.accolades-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}

.accolades-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.accolades-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.hof-badge-active {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.25), rgba(202, 138, 4, 0.15));
  border: 1px solid rgba(234, 179, 8, 0.6);
  color: #fef08a;
  padding: 6px 14px;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 0 16px rgba(234, 179, 8, 0.2);
}

.hof-badge-subtle {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text-tertiary);
  padding: 5px 12px;
  border-radius: 9999px;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: var(--font-mono);
}

/* Pedigree & Draft Strip */
.hero-pedigree-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.hero-pedigree-strip .pedigree-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 0.74rem;
  flex: 0 1 auto;
  min-width: 0;
}

.hero-pedigree-strip .pedigree-chip-icon {
  font-size: 0.85rem;
}

.hero-pedigree-strip .pedigree-chip-label {
  color: var(--text-tertiary);
  font-weight: 600;
  font-family: var(--font-mono);
  font-size: 0.71rem;
}

.hero-pedigree-strip .pedigree-chip-val {
  color: #f8fafc;
  font-weight: 700;
  font-size: 0.75rem;
}

.accolades-pedigree-strip {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}

.pedigree-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px 14px;
  font-size: 0.775rem;
  flex: 1 1 auto;
  min-width: 260px;
}

.pedigree-chip-icon {
  font-size: 1rem;
}

.pedigree-chip-label {
  color: var(--text-tertiary);
  font-weight: 600;
  font-family: var(--font-mono);
}

.pedigree-chip-val {
  color: var(--text-primary);
  font-weight: 700;
}

/* Accolades Main Grid */
.accolades-main-grid,
.record-book-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 10px;
}

.accolades-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 14px;
}

/* ==================== REALISTIC TROPHY CASE SHOWCASE ==================== */

.trophy-case-summary-pill {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 9999px;
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.4);
  color: #fef08a;
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.15);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  letter-spacing: 0.02em;
}

.trophy-case-tile {
  position: relative;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.035) 0%, rgba(12, 14, 20, 0.94) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 10px 8px 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  height: 168px;
  box-sizing: border-box;
  overflow: hidden;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), 
              border-color 0.25s ease, 
              box-shadow 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  cursor: default;
}

.trophy-case-tile:hover {
  transform: translateY(-4px);
}

/* Ambient Radial Top Spotlight */
.trophy-spotlight {
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 150px;
  height: 130px;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.65;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.trophy-case-tile:hover .trophy-spotlight {
  opacity: 1;
  transform: translateX(-50%) scale(1.18);
}

/* Spotlight Colors by Award Tier */
.trophy-case-tile.award-gold {
  --trophy-glow: rgba(250, 204, 21, 0.5);
  --trophy-spotlight: rgba(234, 179, 8, 0.24);
  --trophy-border-glow: rgba(250, 204, 21, 0.45);
}
.trophy-case-tile.award-cyan {
  --trophy-glow: rgba(56, 189, 248, 0.5);
  --trophy-spotlight: rgba(56, 189, 248, 0.22);
  --trophy-border-glow: rgba(56, 189, 248, 0.45);
}
.trophy-case-tile.award-silver {
  --trophy-glow: rgba(226, 232, 240, 0.4);
  --trophy-spotlight: rgba(203, 213, 225, 0.18);
  --trophy-border-glow: rgba(203, 213, 225, 0.38);
}
.trophy-case-tile.award-bronze {
  --trophy-glow: rgba(249, 115, 22, 0.45);
  --trophy-spotlight: rgba(249, 115, 22, 0.2);
  --trophy-border-glow: rgba(249, 115, 22, 0.4);
}
.trophy-case-tile.award-emerald {
  --trophy-glow: rgba(52, 211, 153, 0.45);
  --trophy-spotlight: rgba(16, 185, 129, 0.2);
  --trophy-border-glow: rgba(52, 211, 153, 0.4);
}
.trophy-case-tile.award-orange {
  --trophy-glow: rgba(249, 115, 22, 0.5);
  --trophy-spotlight: rgba(249, 115, 22, 0.22);
  --trophy-border-glow: rgba(249, 115, 22, 0.45);
}

.trophy-case-tile .trophy-spotlight {
  background: radial-gradient(ellipse at 50% 35%, var(--trophy-spotlight, rgba(250, 204, 21, 0.2)), transparent 70%);
}

.trophy-case-tile:hover {
  border-color: var(--trophy-border-glow, rgba(250, 204, 21, 0.45));
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.6), 
              0 0 20px var(--trophy-spotlight, rgba(234, 179, 8, 0.18)),
              inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

/* Trophy Display Stage */
.trophy-stage {
  position: relative;
  width: 100%;
  height: 68px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
  perspective: 700px;
  flex-shrink: 0;
}

.realistic-trophy-svg {
  width: 52px;
  height: 52px;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.65));
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), 
              filter 0.35s ease;
  will-change: transform, filter;
}

.trophy-case-tile:hover .realistic-trophy-svg {
  transform: translateY(-4px) scale(1.08);
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.8)) 
          drop-shadow(0 0 12px var(--trophy-glow, rgba(250, 204, 21, 0.5)));
}

/* Light Sweep / Shimmer Across Stage on Hover */
.trophy-stage::after {
  content: '';
  position: absolute;
  top: 0;
  left: -70%;
  width: 50%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.32), transparent);
  transform: skewX(-25deg);
  pointer-events: none;
  opacity: 0;
}

.trophy-case-tile:hover .trophy-stage::after {
  animation: trophySpecularSweep 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes trophySpecularSweep {
  0% { left: -70%; opacity: 0; }
  35% { opacity: 0.9; }
  100% { left: 150%; opacity: 0; }
}

/* Pedestal Plinth Base */
.trophy-pedestal {
  width: 100%;
  height: 72px;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 4px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 4px 10px rgba(0, 0, 0, 0.35);
  transition: border-color 0.25s ease, background 0.25s ease;
  flex-shrink: 0;
}

.trophy-case-tile:hover .trophy-pedestal {
  background: rgba(0, 0, 0, 0.7);
  border-color: rgba(255, 255, 255, 0.12);
}

/* Plinth Count Typography */
.trophy-count-pill {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
}

.trophy-case-tile.award-gold .trophy-count-pill {
  background: linear-gradient(180deg, #FFFDE7 0%, #FEE500 45%, #F59E0B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 4px rgba(234, 179, 8, 0.3));
}

.trophy-case-tile.award-cyan .trophy-count-pill {
  background: linear-gradient(180deg, #F0FDFA 0%, #38BDF8 45%, #0284C7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 1px 4px rgba(56, 189, 248, 0.3));
}

.trophy-case-tile.award-silver .trophy-count-pill {
  background: linear-gradient(180deg, #FFFFFF 0%, #E2E8F0 45%, #94A3B8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.trophy-case-tile.award-bronze .trophy-count-pill {
  background: linear-gradient(180deg, #FFEDD5 0%, #FB923C 45%, #C2410C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.trophy-case-tile.award-emerald .trophy-count-pill {
  background: linear-gradient(180deg, #ECFDF5 0%, #34D399 45%, #059669 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.trophy-case-tile.award-orange .trophy-count-pill {
  background: linear-gradient(180deg, #FFF7ED 0%, #FB923C 45%, #EA580C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Plinth Label */
.trophy-label {
  font-size: 0.64rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  text-align: center;
  color: var(--text-secondary);
  margin-top: 3px;
  line-height: 1.15;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.trophy-case-tile.award-gold .trophy-label {
  color: #FEF08A;
}
.trophy-case-tile.award-cyan .trophy-label {
  color: #BAE6FD;
}
.trophy-case-tile.award-silver .trophy-label {
  color: #E2E8F0;
}
.trophy-case-tile.award-bronze .trophy-label {
  color: #FED7AA;
}
.trophy-case-tile.award-emerald .trophy-label {
  color: #A7F3D0;
}
.trophy-case-tile.award-orange .trophy-label {
  color: #FED7AA;
}

/* Multiplier Pips & Compact Sub-Badges */
.trophy-sub-decorations {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin-top: 3px;
}

.trophy-star-badge {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 800;
  color: #FEF08A;
  background: rgba(234, 179, 8, 0.15);
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: 9999px;
  padding: 1px 6px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

/* Championship Compact Info Row */
.trophy-champ-compact-row {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin-top: 3px;
  max-width: 100%;
}

.trophy-ring-badge {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 800;
  color: #FEF08A;
  background: rgba(234, 179, 8, 0.15);
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: 9999px;
  padding: 1px 5px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.trophy-champ-logos-inline {
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

.trophy-champ-mini-logo {
  width: 14px;
  height: 14px;
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.6));
}

.trophy-champ-mini-more {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--text-tertiary);
}

@media (max-width: 640px) {
  .accolades-grid {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 10px;
  }
  .trophy-case-tile {
    height: 154px;
    padding: 8px 6px 6px;
  }
  .trophy-stage {
    height: 60px;
  }
  .realistic-trophy-svg {
    width: 44px;
    height: 44px;
  }
  .trophy-pedestal {
    height: 66px;
    padding: 3px 4px;
  }
  .trophy-count-pill {
    font-size: 1.05rem;
  }
  .trophy-label {
    font-size: 0.6rem;
  }
}

.accolade-tile {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.accolade-tile:hover {
  transform: translateY(-2px);
}

.accolade-tile-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.accolade-icon {
  font-size: 1.15rem;
}

.trophy-champ-logos {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
  vertical-align: middle;
}

.trophy-team-logo {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
  vertical-align: middle;
}

.accolade-count {
  font-family: var(--font-mono);
  font-size: 1rem;
  font-weight: 800;
}

.accolade-title {
  font-size: 0.7rem;
  font-weight: 600;
  color: var(--text-secondary);
  line-height: 1.25;
}

/* Accolade Theme Variants */
.accolade-tile.has-award.award-gold {
  background: rgba(234, 179, 8, 0.07);
  border-color: rgba(234, 179, 8, 0.35);
  box-shadow: inset 0 0 12px rgba(234, 179, 8, 0.05);
}
.accolade-tile.has-award.award-gold .accolade-count {
  color: #facc15;
}
.accolade-tile.has-award.award-gold .accolade-title {
  color: #fef08a;
}

.accolade-tile.has-award.award-cyan {
  background: rgba(56, 189, 248, 0.07);
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: inset 0 0 12px rgba(56, 189, 248, 0.05);
}
.accolade-tile.has-award.award-cyan .accolade-count {
  color: #38bdf8;
}
.accolade-tile.has-award.award-cyan .accolade-title {
  color: #bae6fd;
}

.accolade-tile.has-award.award-silver {
  background: rgba(203, 213, 225, 0.07);
  border-color: rgba(203, 213, 225, 0.35);
}
.accolade-tile.has-award.award-silver .accolade-count {
  color: #e2e8f0;
}

.accolade-tile.has-award.award-bronze {
  background: rgba(245, 158, 11, 0.07);
  border-color: rgba(245, 158, 11, 0.35);
}
.accolade-tile.has-award.award-bronze .accolade-count {
  color: #f59e0b;
}

.accolade-tile.has-award.award-emerald {
  background: rgba(16, 185, 129, 0.07);
  border-color: rgba(16, 185, 129, 0.35);
}
.accolade-tile.has-award.award-emerald .accolade-count {
  color: #34d399;
}

.accolade-tile.has-award.award-orange {
  background: rgba(249, 115, 22, 0.07);
  border-color: rgba(249, 115, 22, 0.35);
}
.accolade-tile.has-award.award-orange .accolade-count {
  color: #fb923c;
}

.accolade-tile.has-award.award-purple {
  background: rgba(168, 85, 247, 0.07);
  border-color: rgba(168, 85, 247, 0.35);
}
.accolade-tile.has-award.award-purple .accolade-count {
  color: #c084fc;
}

/* Accolade Zero State */
.accolade-tile.zero-award {
  opacity: 0.55;
}
.accolade-tile.zero-award .accolade-count {
  color: var(--text-tertiary);
  font-weight: 500;
}

/* All-Time Franchise Record Tile Custom Styling */
.accolade-tile.franchise-record-tile {
  min-height: 84px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.franchise-header-left {
  display: flex;
  align-items: center;
  gap: 6px;
}

.franchise-cat-badge {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  line-height: 1.2;
}

.franchise-record-tile.award-gold .franchise-cat-badge {
  background: rgba(234, 179, 8, 0.16);
  border-color: rgba(234, 179, 8, 0.45);
  color: #fef08a;
}

.franchise-record-tile.award-cyan .franchise-cat-badge {
  background: rgba(56, 189, 248, 0.16);
  border-color: rgba(56, 189, 248, 0.45);
  color: #bae6fd;
}

.franchise-record-tile.award-emerald .franchise-cat-badge {
  background: rgba(16, 185, 129, 0.16);
  border-color: rgba(16, 185, 129, 0.45);
  color: #a7f3d0;
}

.franchise-record-tile.award-purple .franchise-cat-badge {
  background: rgba(168, 85, 247, 0.16);
  border-color: rgba(168, 85, 247, 0.45);
  color: #e9d5ff;
}

.franchise-record-tile.award-orange .franchise-cat-badge {
  background: rgba(249, 115, 22, 0.16);
  border-color: rgba(249, 115, 22, 0.45);
  color: #fed7aa;
}

.franchise-rank-badge {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--text-tertiary);
}

.franchise-record-tile.award-gold .franchise-rank-badge { color: #facc15; }
.franchise-record-tile.award-cyan .franchise-rank-badge { color: #38bdf8; }
.franchise-record-tile.award-emerald .franchise-rank-badge { color: #34d399; }
.franchise-record-tile.award-purple .franchise-rank-badge { color: #c084fc; }
.franchise-record-tile.award-orange .franchise-rank-badge { color: #fb923c; }

.franchise-record-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 5px;
}

.franchise-record-team {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--text-secondary);
  line-height: 1.2;
}

.franchise-record-stat {
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--text-primary);
}

/* Player Lab Single Game Career Highs Grid */
.career-highs-lab-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 12px;
  padding: 16px 20px 20px;
}

.career-high-lab-tile {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.career-high-lab-tile:hover {
  transform: translateY(-3px);
  border-color: rgba(234, 179, 8, 0.4);
  background: rgba(234, 179, 8, 0.06);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
}

.career-high-lab-tile.has-high::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #eab308, #f59e0b, #ef4444);
}

.ch-lab-tile-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 2px;
}

.ch-lab-icon {
  font-size: 1.15rem;
}

.ch-lab-unit {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  color: var(--text-tertiary);
  letter-spacing: 0.5px;
}

.ch-lab-val {
  font-family: 'Outfit', sans-serif;
  font-size: 1.85rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.1;
  margin: 4px 0 2px;
}

.career-high-lab-tile.has-high .ch-lab-val {
  background: linear-gradient(135deg, #ffffff 40%, #fbbf24 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.ch-lab-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.ch-lab-footer {
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ch-lab-date {
  font-size: 0.72rem;
  font-weight: 700;
  color: #38bdf8;
}

.ch-lab-matchup {
  font-size: 0.68rem;
  color: var(--text-tertiary);
}

.ch-lab-card-action {
  width: 100%;
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, 0.08);
}

.btn-collect-career-high {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 100%;
  padding: 5px 8px;
  font-size: 0.72rem;
  font-weight: 800;
  font-family: 'Outfit', sans-serif;
  color: #fff;
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.25), rgba(147, 51, 234, 0.35));
  border: 1px solid rgba(147, 51, 234, 0.5);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  text-decoration: none;
}

.btn-collect-career-high:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.45), rgba(147, 51, 234, 0.6));
  border-color: #a855f7;
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.5);
  transform: translateY(-1px);
}

.ch-card-badge-vault {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 4px 6px;
  font-size: 0.7rem;
  font-weight: 800;
  font-family: 'Outfit', sans-serif;
  color: #fbbf24;
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.2s ease;
}

.ch-card-badge-vault:hover {
  background: rgba(234, 179, 8, 0.22);
  border-color: #fbbf24;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.4);
}

/* Trajectory Chart Card */
.chart-container-card {
  margin-bottom: 24px;
  padding: 22px 24px;
}

#trajectory-chart-section .accolades-card-header {
  align-items: flex-start;
}

#trajectory-chart-section .accolades-card-header .header-right-group {
  align-self: flex-start;
  margin-top: 0 !important;
}

.chart-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.chart-title-line {
  display: flex;
  align-items: center;
  gap: 14px;
}

#chart-title.fixed-title {
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  flex-shrink: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin: 0;
}

.chart-high-low-badges {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 12px;
  padding: 0 4px;
}

.chart-hl-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 6px;
  font-size: 0.725rem;
  font-family: var(--font-mono);
  letter-spacing: 0.01em;
}

.chart-hl-badge strong {
  font-weight: 700;
}

.chart-hl-badge .hl-season {
  font-size: 0.68rem;
  opacity: 0.85;
}

/* Green for HIGH, Orange for LOW with clean outline & fill */
.chart-hl-badge.peak-badge {
  background: rgba(34, 197, 94, 0.12);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #4ade80;
}

.chart-hl-badge.low-badge {
  background: rgba(249, 115, 22, 0.12);
  border: 1px solid rgba(249, 115, 22, 0.35);
  color: #fb923c;
}

.chart-controls-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.stat-mode-pill-group, .type-pill-group {
  display: flex;
  background: var(--bg-surface-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  padding: 2px;
  gap: 2px;
}

.metric-dropdown-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--bg-surface-elevated);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 6px;
  padding: 3px 10px;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.08);
}

.dropdown-label {
  font-size: 0.7rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.metric-select-dropdown {
  background: transparent;
  color: #38bdf8;
  border: none;
  font-family: var(--font-mono);
  font-size: 0.775rem;
  font-weight: 700;
  cursor: pointer;
  outline: none;
  padding: 2px 4px;
}

.metric-select-dropdown option {
  background: #111111;
  color: #ededed;
  font-family: var(--font-mono);
  padding: 6px;
}

.metric-select-dropdown.title-metric-select {
  background: var(--bg-surface-elevated);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 6px;
  color: #38bdf8;
  font-family: var(--font-sans);
  font-size: 1.05rem;
  font-weight: 700;
  padding: 3px 28px 3px 10px;
  cursor: pointer;
  outline: none;
  transition: all 0.2s ease;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2338bdf8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
}

.metric-select-dropdown.title-metric-select:hover {
  border-color: #38bdf8;
  background-color: rgba(56, 189, 248, 0.12);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
}

.metric-select-dropdown.title-metric-select:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.25);
}

.metric-select-dropdown.title-metric-select option,
.metric-select-dropdown.title-metric-select optgroup {
  background: #0f172a;
  color: var(--text-primary);
  font-size: 0.85rem;
  font-family: var(--font-sans);
  font-weight: 600;
}

.stat-mode-pill-group {
  background: rgba(56, 189, 248, 0.08);
  border-color: rgba(56, 189, 248, 0.25);
}

.mode-toggle-btn, .metric-toggle-btn, .type-toggle-btn, .compare-metric-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 0.725rem;
  font-weight: 600;
  padding: 4px 9px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: var(--font-mono);
  white-space: nowrap;
}

.mode-toggle-btn:hover, .metric-toggle-btn:hover, .type-toggle-btn:hover, .compare-metric-btn:hover {
  color: var(--text-primary);
}

.mode-toggle-btn.active {
  background: #38bdf8;
  color: #000000;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(56, 189, 248, 0.3);
}

.metric-toggle-btn.active, .type-toggle-btn.active, .compare-metric-btn.active {
  background: #ffffff;
  color: #000000;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.chart-body {
  padding: 20px;
  height: 360px;
}

.canvas-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.badge-team {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 6px;
  background: var(--bg-subtle);
  border: 1px solid var(--border-subtle);
  border-radius: 4px;
  color: var(--text-primary);
}

.highlight-col {
  color: var(--text-primary) !important;
}

.highlight-cell {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.02);
}

/* ================= 3-PLAYER COMPARISON LAB ================= */
.comparison-slots-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 900px) {
  .comparison-slots-grid {
    grid-template-columns: 1fr;
  }
}

.slot-card {
  padding: 16px;
  position: relative;
}

.slot-badge {
  position: absolute;
  top: 12px;
  right: 14px;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
}

.slot-1 { background: rgba(56, 189, 248, 0.15); color: #38bdf8; border: 1px solid rgba(56, 189, 248, 0.3); }
.slot-2 { background: rgba(244, 63, 94, 0.15); color: #f43f5e; border: 1px solid rgba(244, 63, 94, 0.3); }
.slot-3 { background: rgba(251, 191, 36, 0.15); color: #fbbf24; border: 1px solid rgba(251, 191, 36, 0.3); }

.slot-search-wrap {
  margin-bottom: 12px;
  margin-top: 6px;
}

.slot-search-input {
  width: 100%;
  padding-left: 12px;
}

.slot-active-player {
  display: flex;
  gap: 12px;
  align-items: center;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 6px;
  padding: 10px 12px;
}

.slot-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.slot-info {
  display: flex;
  flex-direction: column;
}

.slot-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
}

.slot-span {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  margin-bottom: 4px;
}

.slot-stat-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.slot-stat {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--text-secondary);
}

.slot-stat strong {
  color: var(--text-primary);
}

.empty-slot-msg {
  padding: 20px;
  text-align: center;
  color: var(--text-tertiary);
  font-size: 0.8rem;
  font-family: var(--font-mono);
}

/* Comparison Charts Grid */
.comparison-charts-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 20px;
  margin-bottom: 32px;
  align-items: stretch;
}

@media (max-width: 960px) {
  .comparison-charts-grid {
    grid-template-columns: 1fr;
  }
}

.chart-card-half {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.chart-card-half .card-header {
  flex-shrink: 0;
}

.chart-card-half .chart-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 420px;
  padding: 16px 20px 20px;
  box-sizing: border-box;
}

.chart-card-half .canvas-wrapper {
  flex: 1;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 360px;
}

.chart-card-half .canvas-wrapper canvas {
  position: absolute;
  left: 0;
  top: 0;
  width: 100% !important;
  height: 100% !important;
}

.radar-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  min-height: 420px;
  padding: 14px 16px 20px;
  flex: 1;
  height: 100%;
  box-sizing: border-box;
}

/* Horizontal Player Labeling Bar */
.spider-legend-bar {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  margin-bottom: 12px;
  flex-wrap: wrap;
  position: relative;
  z-index: 10;
  flex-shrink: 0;
}

.spider-legend-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px 6px 8px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  user-select: none;
}

.spider-legend-chip:hover,
.spider-legend-chip.is-active {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--slot-color, #38bdf8);
  box-shadow: 0 4px 20px -2px var(--slot-glow, rgba(56, 189, 248, 0.3));
  transform: translateY(-2px);
}

.spider-legend-avatar-wrap {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  border: 2px solid var(--slot-color, #38bdf8);
  background: rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
}

.spider-legend-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.spider-legend-meta {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
  text-align: left;
}

.spider-legend-name {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  color: #ededed;
  display: flex;
  align-items: center;
  gap: 6px;
  letter-spacing: -0.01em;
}

.spider-legend-slot-badge {
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  background: var(--slot-color, #38bdf8);
  color: #0b0c10;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.spider-legend-sub {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: #a1a1a1;
}

/* Spider Visual Area & Side Tooltip Container */
.spider-content-area {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex: 1;
  position: relative;
  min-height: 340px;
  overflow: visible;
}

.radar-wrapper {
  width: 100%;
  max-width: 340px;
  height: 330px;
  position: relative;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

/* When side tooltip is active, shift radar slightly left so both sit side-by-side with zero overlap! */
.spider-content-area.has-tooltip .radar-wrapper {
  transform: translateX(-110px);
}

/* Floating / Docked Side Tooltip Popup that NEVER covers the visual */
.spider-hover-tooltip {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 230px;
  background: rgba(14, 14, 18, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  box-shadow: 0 12px 36px -4px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(16px);
  padding: 12px 14px;
  pointer-events: none;
  z-index: 100;
  animation: spiderTooltipSideIn 0.22s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes spiderTooltipSideIn {
  from {
    opacity: 0;
    transform: translateY(-50%) translateX(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(-50%) translateX(0) scale(1);
  }
}

@media (max-width: 900px) {
  .spider-content-area {
    flex-direction: column;
    align-items: center;
  }
  .spider-content-area.has-tooltip .radar-wrapper {
    transform: none;
  }
  .spider-hover-tooltip {
    position: static;
    transform: none;
    width: 100%;
    max-width: 320px;
    margin-top: 14px;
    animation: none;
  }
}

.spider-tt-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.spider-tt-avatar-wrap {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid #38bdf8;
  background: rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.spider-tt-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.spider-tt-info {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}

.spider-tt-name {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
}

.spider-tt-sub {
  font-family: var(--font-mono);
  font-size: 10.5px;
  color: #a1a1a1;
}

.spider-tt-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.08);
  margin-bottom: 8px;
}

.spider-tt-metrics-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.spider-tt-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 1px 0;
}

.spider-tt-row.is-leader .spider-tt-metric-name {
  color: #ffffff;
  font-weight: 600;
}

.spider-tt-row-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.spider-tt-metric-name {
  font-family: var(--font-sans);
  font-size: 11px;
  color: #a1a1a1;
}

.spider-tt-val-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.spider-tt-metric-val {
  font-family: var(--font-mono);
  font-size: 11.5px;
  font-weight: 700;
  color: #ededed;
}

.spider-tt-rank-pill {
  font-family: var(--font-mono);
  font-size: 9.5px;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #a1a1a1;
}

.spider-tt-rank-pill.rank-1 {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.4);
  color: #fbbf24;
}

.spider-tt-rank-pill.rank-2 {
  background: rgba(148, 163, 184, 0.12);
  border-color: rgba(148, 163, 184, 0.28);
  color: #cbd5e1;
}

.spider-tt-rank-pill.rank-3 {
  background: rgba(217, 119, 6, 0.10);
  border-color: rgba(217, 119, 6, 0.22);
  color: #d97706;
}

.spider-tt-bar-track {
  width: 100%;
  height: 2.5px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 2px;
  overflow: hidden;
}

.spider-tt-bar-fill {
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Matrix Table */
.matrix-table th {
  text-align: center;
}

.matrix-table th.align-left {
  text-align: left;
}

.matrix-table td {
  text-align: center;
}

.matrix-table td.font-bold {
  text-align: left;
  font-family: var(--font-sans);
  color: var(--text-primary);
}

.matrix-leader {
  color: #10b981 !important;
  background: rgba(16, 185, 129, 0.08);
  border-radius: 4px;
}

/* ================= TOP 20 ALL-TIME LEADERS ================= */
.mode-toggle-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.mode-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
}

.pill-toggle {
  display: flex;
  background: var(--bg-surface-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 3px;
  gap: 3px;
}

.pill-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
}

.pill-btn.active {
  background: #ffffff;
  color: #000000;
}

.divisor-badge {
  display: inline-block;
  color: #fbbf24;
  font-weight: 800;
  margin-left: 3px;
  font-size: 1.1em;
  line-height: 1;
  cursor: help;
}

.categories-bar {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
}

.career-categories-wrapper {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 24px;
}

/* ================= Career Leaders Collapsible Stat Categories ================= */
.cat-groups-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 4px 6px 10px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.cat-groups-toolbar-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cat-groups-toolbar-title {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #94a3b8;
  text-transform: uppercase;
}

.cat-groups-toolbar-hint {
  font-size: 0.7rem;
  color: #64748b;
}

.cat-groups-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cat-toolbar-btn {
  font-family: 'Outfit', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  color: #cbd5e1;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 4px 12px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
  outline: none;
}

.cat-toolbar-btn:hover {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.45);
  color: #38bdf8;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.2);
}

.cat-group-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 10px 14px 14px 14px;
  transition: background 0.2s ease, border-color 0.2s ease, padding 0.2s ease, box-shadow 0.2s ease;
}

.cat-group-section:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.025);
}

.cat-group-section.has-active.is-collapsed {
  border-color: rgba(56, 189, 248, 0.4);
  background: rgba(56, 189, 248, 0.03);
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.08);
}

/* ==================== Universal Player Position Badges ==================== */
.pos-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 1px 0;
  width: 28px;
  min-width: 28px;
  max-width: 28px;
  box-sizing: border-box;
  text-align: center;
  border-radius: 4px;
  text-transform: uppercase;
  font-family: 'Geist Mono', monospace;
  vertical-align: middle;
  margin-left: 4px;
  line-height: 1.2;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-secondary);
  flex-shrink: 0;
}

.pos-badge.pos-pg {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.3);
}

.pos-badge.pos-sg {
  color: #c084fc;
  background: rgba(192, 132, 252, 0.12);
  border-color: rgba(192, 132, 252, 0.3);
}

.pos-badge.pos-sf {
  color: #34d399;
  background: rgba(52, 211, 153, 0.12);
  border-color: rgba(52, 211, 153, 0.3);
}

.pos-badge.pos-pf {
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.12);
  border-color: rgba(251, 191, 36, 0.3);
}

.pos-badge.pos-c {
  color: #f43f5e;
  background: rgba(244, 63, 94, 0.12);
  border-color: rgba(244, 63, 94, 0.3);
}

.pos-badge.pos-dual {
  width: auto !important;
  min-width: 38px !important;
  max-width: none !important;
  padding: 1px 5px !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.02em !important;
}

.pos-pill-lg {
  width: auto !important;
  min-width: unset !important;
  max-width: unset !important;
  white-space: nowrap !important;
  font-size: 0.82rem;
  padding: 3px 10px;
  border-radius: 6px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  line-height: 1.2;
}

/* Player Height Badges */
.height-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.82rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
  font-family: var(--font-mono);
  letter-spacing: 0.3px;
}

.height-pill-lg {
  font-size: 0.85rem;
  padding: 4px 10px;
  border-radius: 8px;
  margin-left: 8px;
  vertical-align: middle;
}

/* Player Lifespan & Age Strip */
.hero-lifespan-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  margin-bottom: 8px;
}

.lifespan-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  padding: 4px 12px;
  border-radius: 8px;
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.lifespan-alive {
  background: rgba(16, 185, 129, 0.08);
  border-color: rgba(16, 185, 129, 0.28);
  color: #e2e8f0;
}

.lifespan-deceased {
  background: rgba(148, 163, 184, 0.08);
  border-color: rgba(148, 163, 184, 0.25);
  color: #cbd5e1;
}

.lifespan-icon {
  font-size: 0.95rem;
}

.lifespan-label {
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--text-tertiary);
  letter-spacing: 0.3px;
}

.lifespan-val {
  font-weight: 800;
  color: #fff;
}

.lifespan-divider {
  color: rgba(255, 255, 255, 0.2);
  margin: 0 2px;
}

.lifespan-age-text {
  font-weight: 700;
  color: var(--accent-cyan, #38bdf8);
  font-family: var(--font-mono);
}

.lifespan-deceased .lifespan-age-text {
  color: #f1f5f9;
}

.lifespan-status-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.lifespan-status-dot.alive {
  background: #10b981;
  box-shadow: 0 0 6px rgba(16, 185, 129, 0.8);
}

.lifespan-status-dot.deceased {
  background: #94a3b8;
  box-shadow: 0 0 5px rgba(148, 163, 184, 0.5);
}

.lifespan-tag {
  font-size: 0.68rem;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 4px;
  margin-left: 4px;
  letter-spacing: 0.5px;
}

.alive-tag {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.4);
}

.deceased-tag {
  background: rgba(148, 163, 184, 0.2);
  color: #e2e8f0;
  border: 1px solid rgba(148, 163, 184, 0.4);
}

/* Quick Collect Modal Overlay - Always in front of all modals, including box score modals */
#quick-collect-modal,
.quick-collect-modal {
  z-index: 2000000 !important;
}
#quick-collect-modal .card-detail-backdrop,
.quick-collect-modal .card-detail-backdrop {
  z-index: 2000001 !important;
}
#quick-collect-modal .card-detail-panel,
#quick-collect-panel,
.quick-collect-modal .card-detail-panel {
  position: relative !important;
  z-index: 2000002 !important;
}

/* Toast notifications - always visible above all modals */
.card-toast,
.history-card-toast {
  z-index: 2000050 !important;
}

/* Box Score Career High (Gold) vs Near Career High (Silver) Highlights */
.ch-table-stat-badge {
  display: inline-block !important;
  min-width: 24px !important;
  margin: 0 !important;
  padding: 2px 6px !important;
  border-radius: 5px !important;
  font-weight: 800 !important;
  text-align: center !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  vertical-align: middle !important;
}

.ch-table-stat-badge.gold,
.is-career-high-stat.is-matched-high,
.ch-table-stat-badge:not(.silver) {
  background: rgba(234, 179, 8, 0.25) !important;
  border: 1.5px solid #eab308 !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.45) !important;
}

.ch-table-stat-badge.silver {
  background: rgba(203, 213, 225, 0.20) !important;
  border: 1.5px solid #cbd5e1 !important;
  color: #f8fafc !important;
  box-shadow: 0 0 10px rgba(203, 213, 225, 0.35) !important;
}

/* ================= GEIST SKELETON SHIMMER SYSTEM (ZERO-CLS) ================= */

@keyframes geist-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.skeleton-shimmer {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.03) 100%
  );
  background-size: 200% 100%;
  animation: geist-shimmer 1.8s ease-in-out infinite;
  border-radius: var(--radius-sm, 6px);
  pointer-events: none;
  user-select: none;
}

.skeleton-box {
  display: inline-block;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.03) 100%
  );
  background-size: 200% 100%;
  animation: geist-shimmer 1.8s ease-in-out infinite;
  border-radius: var(--radius-sm, 6px);
  pointer-events: none;
}

.skeleton-circle {
  display: inline-block;
  border-radius: 50% !important;
  flex-shrink: 0;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.03) 100%
  );
  background-size: 200% 100%;
  animation: geist-shimmer 1.8s ease-in-out infinite;
  pointer-events: none;
}

.skeleton-pill {
  display: inline-block;
  border-radius: 9999px !important;
  height: 20px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.03) 100%
  );
  background-size: 200% 100%;
  animation: geist-shimmer 1.8s ease-in-out infinite;
  pointer-events: none;
}

.skeleton-text {
  display: block;
  height: 12px;
  margin: 4px 0;
  border-radius: 4px;
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.03) 0%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.03) 100%
  );
  background-size: 200% 100%;
  animation: geist-shimmer 1.8s ease-in-out infinite;
  pointer-events: none;
}

/* Skeleton Table Rows */
tr.skeleton-row {
  pointer-events: none;
}

tr.skeleton-row td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  vertical-align: middle;
}

.skeleton-player-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Skeleton Scoreboard Cards (Matches 100% with .scoreboard-card) */
.skeleton-scoreboard-card {
  background: var(--bg-surface, #0f0f12);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 148px;
  box-sizing: border-box;
  pointer-events: none;
}

.skeleton-scoreboard-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.skeleton-scoreboard-team {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Skeleton Podium Cards (Matches 100% with .podium-card) */
.skeleton-podium-card {
  background: var(--bg-surface, #0f0f12);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 230px;
  box-sizing: border-box;
  pointer-events: none;
  gap: 12px;
}

/* ==========================================================================
   HIGH-DENSITY RESPONSIVE TABLES & STICKY IDENTITY COLUMNS (ITEM 3)
   ========================================================================== */

/* Sticky Identity Columns (Column 1: Rank, Column 2: Player) */
.table-sticky-identity {
  position: relative;
}

.table-sticky-identity th:nth-child(1),
.table-sticky-identity td:nth-child(1) {
  position: sticky !important;
  left: 0 !important;
  z-index: 3 !important;
  background: #09090b !important;
  border-right: none !important;
}

.table-sticky-identity th:nth-child(2),
.table-sticky-identity td:nth-child(2) {
  position: sticky !important;
  left: var(--sticky-col1-w, 56px) !important;
  z-index: 3 !important;
  background: #09090b !important;
  box-shadow: 4px 0 12px -2px rgba(0, 0, 0, 0.75) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Header Cells have higher z-index so scrolling body cells pass beneath */
.table-sticky-identity thead th:nth-child(1),
.table-sticky-identity thead th:nth-child(2) {
  z-index: 6 !important;
  background: #050507 !important;
}

/* Keep sticky column backgrounds matched on row hover */
.table-sticky-identity tbody tr:hover td:nth-child(1),
.table-sticky-identity tbody tr:hover td:nth-child(2) {
  background: #18181b !important;
}

/* Table Density Tiers */
.table-density-compact th,
.table-density-compact td,
.density-compact th,
.density-compact td {
  padding: 6px 10px !important;
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
}

.table-density-compact .table-player-cell,
.density-compact .table-player-cell,
.table-density-compact .player-table-cell,
.density-compact .player-table-cell,
.table-density-compact .skeleton-player-cell,
.density-compact .skeleton-player-cell {
  gap: 7px !important;
}

.table-density-compact .table-player-cell img,
.density-compact .table-player-cell img,
.table-density-compact .player-avatar,
.density-compact .player-avatar,
.table-density-compact .skeleton-circle,
.density-compact .skeleton-circle {
  width: 22px !important;
  height: 22px !important;
}

.table-density-spacious th,
.table-density-spacious td,
.density-spacious th,
.density-spacious td {
  padding: 14px 10px !important;
  font-size: 0.8125rem !important;
  line-height: 1.35 !important;
}

.table-density-spacious .table-player-cell img,
.density-spacious .table-player-cell img,
.table-density-spacious .player-avatar,
.density-spacious .player-avatar,
.table-density-spacious .player-avatar-small,
.density-spacious .player-avatar-small {
  width: 30px !important;
  height: 30px !important;
}

/* High-column count tables like Player Finder Leaderboard */
#finder-table.table-density-spacious th,
#finder-table.table-density-spacious td {
  padding: 14px 6px !important;
  font-size: 0.8rem !important;
}

#finder-table td:last-child {
  white-space: normal;
}

/* Table Enhancements Toolbar & Column Visibility UI */
.table-enhancements-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.col-visibility-dropdown {
  position: relative;
  display: inline-block;
}

.col-visibility-popover {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 240px;
  max-height: 380px;
  overflow-y: auto;
  background: #0f0f13;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 10px 12px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.7);
  z-index: 1000;
  backdrop-filter: blur(16px);
}

.col-popover-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.col-popover-title {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
}

.col-popover-actions {
  display: flex;
  gap: 8px;
}

.col-popover-btn {
  background: none;
  border: none;
  color: var(--accent-gold, #f59e0b);
  font-size: 0.7rem;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 4px;
}

.col-popover-btn:hover {
  text-decoration: underline;
}

.col-popover-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.col-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: var(--text-primary);
  padding: 4px 6px;
  border-radius: 4px;
  cursor: pointer;
  transition: background 0.1s;
  user-select: none;
}

.col-checkbox-label:hover {
  background: rgba(255, 255, 255, 0.05);
}

.col-checkbox-label input[type="checkbox"] {
  accent-color: var(--accent-blue, #3b82f6);
  cursor: pointer;
}

/* Hidden column class */
th.col-hidden,
td.col-hidden {
  display: none !important;
}



.cat-group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  user-select: none;
  padding: 4px 4px;
  border-radius: 6px;
  transition: all 0.15s ease;
}

.cat-group-header:hover .cat-group-label {
  color: #fde047;
  text-shadow: 0 0 10px rgba(253, 224, 71, 0.35);
}

.cat-group-header:hover .poss-arrow-btn {
  background: linear-gradient(180deg, #200808 0%, #120303 100%);
  border-color: #f87171;
  color: #ff453a;
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.5), inset 0 0 4px rgba(239, 68, 68, 0.3);
  transform: scale(1.06);
}

.cat-group-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.cat-group-label {
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #fbbf24;
  text-transform: uppercase;
  font-family: var(--font-mono, monospace);
  transition: color 0.15s ease, text-shadow 0.15s ease;
}

.cat-group-count {
  font-family: 'Geist Mono', monospace;
  font-size: 0.64rem;
  font-weight: 700;
  color: #64748b;
  background: rgba(255, 255, 255, 0.05);
  padding: 1px 7px;
  border-radius: 10px;
  letter-spacing: 0.02em;
}

.cat-group-active-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.45);
  padding: 2px 8px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
  animation: catActiveTagPulse 2s ease-in-out infinite alternate;
}

@keyframes catActiveTagPulse {
  0% { box-shadow: 0 0 8px rgba(56, 189, 248, 0.15); }
  100% { box-shadow: 0 0 14px rgba(56, 189, 248, 0.4); }
}

.cat-group-header-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.cat-group-section .poss-arrow-btn {
  width: 32px;
  height: 28px;
  flex-shrink: 0;
}

.cat-group-section.is-collapsed {
  padding: 8px 14px;
  gap: 0;
}

.cat-group-section.is-collapsed .poss-arrow-svg {
  transform: rotate(-90deg);
}

.cat-group-section.is-collapsed .poss-arrow-btn {
  border-color: rgba(239, 68, 68, 0.25);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.1);
  opacity: 0.85;
}

.cat-group-section.is-collapsed .categories-row {
  display: none !important;
}

.cat-group-section:not(.is-collapsed) .categories-row {
  animation: catGroupFadeSlide 0.2s ease-out;
}

@keyframes catGroupFadeSlide {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.categories-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.cat-pill-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 225px;
  min-width: 225px;
  max-width: 225px;
  box-sizing: border-box;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  font-size: 0.8rem;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
  white-space: nowrap;
  text-align: center;
  transition: all 0.15s ease;
}

.cat-pill-btn:hover {
  border-color: var(--border-medium);
  color: var(--text-primary);
  background: var(--bg-surface-hover);
}

.cat-pill-btn.active {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-color: #ffffff;
  font-weight: 600;
}

.cat-emoji {
  font-size: 0.95rem;
}

.show-more-leaders-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--bg-surface);
  border: 1px solid var(--border-medium);
  color: var(--text-primary);
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 10px 24px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.show-more-leaders-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--accent-gold);
  color: var(--accent-gold);
  box-shadow: 0 0 15px rgba(251, 191, 36, 0.15);
  transform: translateY(-1px);
}

.show-more-leaders-btn .btn-icon {
  font-size: 1rem;
}

/* Podium Grid */
.podium-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 800px) {
  .podium-grid {
    grid-template-columns: 1fr;
  }
}

.podium-card {
  padding: 20px;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.podium-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.8);
}

.podium-gold {
  border: 1px solid rgba(251, 191, 36, 0.4);
  background: linear-gradient(180deg, rgba(251, 191, 36, 0.08) 0%, rgba(10, 10, 10, 0.95) 100%);
}

.podium-silver {
  border: 1px solid rgba(203, 213, 225, 0.4);
  background: linear-gradient(180deg, rgba(203, 213, 225, 0.08) 0%, rgba(10, 10, 10, 0.95) 100%);
}

.podium-bronze {
  border: 1px solid rgba(217, 119, 6, 0.4);
  background: linear-gradient(180deg, rgba(217, 119, 6, 0.08) 0%, rgba(10, 10, 10, 0.95) 100%);
}

.podium-rank-tag {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--text-primary);
  letter-spacing: 0.05em;
}

.podium-body {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.podium-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 2px solid rgba(255, 255, 255, 0.2);
  margin-bottom: 10px;
}

.podium-name {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.podium-span {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  margin-bottom: 14px;
}

.podium-val-box {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px 16px;
  width: 100%;
}

.podium-val {
  font-size: 1.4rem;
  font-family: var(--font-mono);
  font-weight: 800;
  color: var(--text-primary);
  display: block;
}

.podium-label {
  font-size: 0.65rem;
  color: var(--text-secondary);
  font-family: var(--font-mono);
}

/* Rank Medals */
.rank-badge-medal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 800;
  font-family: var(--font-mono);
}

.medal-gold { background: #fbbf24; color: #000000; box-shadow: 0 0 10px rgba(251, 191, 36, 0.5); }
.medal-silver { background: #cbd5e1; color: #000000; box-shadow: 0 0 10px rgba(203, 213, 225, 0.5); }
.medal-bronze { background: #d97706; color: #ffffff; box-shadow: 0 0 10px rgba(217, 119, 6, 0.5); }

.player-table-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clickable-row {
  cursor: pointer;
}

/* Career Totals Row Highlight */
.career-totals-row {
  background: rgba(56, 189, 248, 0.08) !important;
  border-bottom: 2px solid rgba(56, 189, 248, 0.3) !important;
  position: sticky;
  top: 0;
  z-index: 2;
}

.career-totals-row td {
  color: #ffffff !important;
  font-weight: 700;
  padding: 12px 14px;
}

.totals-badge {
  background: #38bdf8;
  color: #000000;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.06em;
  display: inline-block;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.4);
}

.totals-team-badge {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  font-weight: 700;
}

.totals-highlight-pts {
  color: #38bdf8 !important;
}

.totals-highlight-col {
  background: rgba(56, 189, 248, 0.15) !important;
  color: #ffffff !important;
}

/* ==========================================================================
   NBA DRAFT VAULT EXTENSIONS
   ========================================================================== */

.draft-controls-box {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.draft-year-chip {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  font-size: 0.775rem;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: var(--font-mono);
}

.draft-year-chip:hover {
  border-color: var(--border-medium);
  color: var(--text-primary);
  background: var(--bg-surface-hover);
}

.draft-year-chip.active {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
  font-weight: 700;
}

/* Tabular Monospace Alignment for Draft Round & Pick Numbers */
.draft-round-cell {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  white-space: nowrap;
}

.draft-round-cell .rd-part {
  display: inline-block;
  width: 38px;
  text-align: right;
  color: var(--text-secondary);
}

.draft-round-cell .pk-part {
  display: inline-block;
  width: 62px;
  text-align: left;
  color: var(--text-tertiary);
  margin-left: 2px;
}

.draft-round-cell .pk-num {
  display: inline-block;
  width: 20px;
  text-align: right;
  font-weight: 600;
  color: var(--text-secondary);
}

/* Smart Edge Alignment for Draft Controls Decade Popover */
.draft-controls-box .season-decade-popover {
  left: auto;
  right: 0;
}

@media (max-width: 1000px) {
  .draft-controls-box .season-decade-popover {
    max-width: calc(100vw - 24px);
  }
}

/* Draft Class Summary Banner */
.draft-summary-banner {
  padding: 20px;
  margin-bottom: 24px;
  background: linear-gradient(135deg, rgba(20, 20, 20, 0.9) 0%, rgba(10, 10, 10, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.draft-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

@media (max-width: 1024px) {
  .draft-summary-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .draft-summary-grid {
    grid-template-columns: 1fr;
  }
}

.summary-card-item {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.summary-kicker {
  font-size: 0.65rem;
  font-family: var(--font-mono);
  font-weight: 700;
  color: var(--text-tertiary);
  letter-spacing: 0.06em;
  margin-bottom: 6px;
}

.summary-main-val {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}

.summary-sub-stats {
  font-size: 0.75rem;
  font-family: var(--font-mono);
  color: var(--text-secondary);
  display: flex;
  align-items: center;
  gap: 6px;
}

.summary-sub-stats strong {
  color: #38bdf8;
}

.summary-player-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.summary-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #141414;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  flex-shrink: 0;
}

.summary-player-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.2;
}

.summary-player-stat {
  font-size: 0.725rem;
  font-family: var(--font-mono);
  color: var(--text-secondary);
}

.summary-player-stat strong {
  color: #10b981;
}

/* Toolbar & Filters */
.draft-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}

.filter-group, .sort-group {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-surface-elevated);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  padding: 3px;
}

.sort-label {
  font-size: 0.7rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--text-tertiary);
  padding-left: 8px;
}

.round-filter-btn, .sort-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary);
  font-size: 0.75rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s;
  font-family: var(--font-mono);
}

.round-filter-btn:hover, .sort-btn:hover {
  color: var(--text-primary);
}

.round-filter-btn.active, .sort-btn.active {
  background: #ffffff;
  color: #000000;
}

/* Pick Badges */
.pick-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-weight: 800;
  font-size: 0.75rem;
  padding: 3px 8px;
  border-radius: 6px;
  min-width: 38px;
}

.pick-badge-first {
  background: #fbbf24;
  color: #000000;
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.6);
}

.pick-badge-top3 {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.4);
}

.pick-badge-lottery {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.pick-badge-regular {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-secondary);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.pick-badge-territorial {
  background: rgba(168, 85, 247, 0.18);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.35);
}

.round-dropdown-group {
  padding: 2px 6px;
}

.draft-round-dropdown {
  background: transparent;
  color: var(--text-primary);
  border: none;
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 6px;
  cursor: pointer;
  outline: none;
}

.draft-round-dropdown option {
  background: #121212;
  color: #ededed;
  font-family: var(--font-mono);
}

.team-cell-mini {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
}

.origin-tag {
  display: inline-block;
  font-size: 0.775rem;
  color: var(--text-primary);
  font-weight: 500;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Win Shares Meter */
.ws-meter-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: flex-end;
}

.ws-bar-track {
  width: 50px;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}

.ws-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #10b981 0%, #38bdf8 100%);
  border-radius: 3px;
}

/* Value Badges */
.val-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 12px;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.val-transcendent { background: rgba(168, 85, 247, 0.2); color: #c084fc; border: 1px solid rgba(168, 85, 247, 0.4); }
.val-halloffame { background: rgba(251, 191, 36, 0.2); color: #fbbf24; border: 1px solid rgba(251, 191, 36, 0.4); }
.val-steal { background: rgba(16, 185, 129, 0.2); color: #10b981; border: 1px solid rgba(16, 185, 129, 0.4); }
.val-allstar { background: rgba(56, 189, 248, 0.15); color: #38bdf8; border: 1px solid rgba(56, 189, 248, 0.3); }
.val-solid { background: rgba(255, 255, 255, 0.08); color: #ededed; }
.val-role { background: rgba(255, 255, 255, 0.04); color: var(--text-tertiary); }
.val-none { color: var(--text-tertiary); font-size: 0.65rem; }

.alumni-chip {
  display: inline-block;
  font-size: 0.675rem;
  font-family: var(--font-mono);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
  margin: 2px;
  color: var(--text-secondary);
  white-space: nowrap;
}

.text-hot {
  color: #10b981 !important;
}

/* Notable Undrafted Players Section & Accolade Badges */
#notable-undrafted-section {
  margin-top: 24px;
}

#notable-undrafted-table .player-table-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.undrafted-acc-pill {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 6px;
  white-space: nowrap;
  letter-spacing: 0.02em;
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-primary);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.undrafted-acc-champ {
  background: rgba(251, 191, 36, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.35);
  text-shadow: 0 0 6px rgba(251, 191, 36, 0.3);
}

.undrafted-acc-star {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
}

.undrafted-acc-def {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}

.undrafted-acc-subtle {
  font-size: 0.72rem;
  color: var(--text-tertiary);
  font-style: italic;
}

.summary-card-item[style*="cursor: pointer"] {
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.summary-card-item[style*="cursor: pointer"]:hover {
  border-color: rgba(56, 189, 248, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   MATCHUP INTERACTIVE DRILLDOWN & SPLIT BOX SCORE STYLING
   ========================================================================== */

.clickable-game-card {
  cursor: pointer;
  transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.18s ease, box-shadow 0.18s ease;
}

.clickable-game-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.active-game-card {
  border-color: #38bdf8 !important;
  background: linear-gradient(145deg, rgba(56, 189, 248, 0.08) 0%, rgba(20, 20, 20, 0.95) 100%) !important;
  box-shadow: 0 0 0 1px #38bdf8, 0 12px 28px rgba(56, 189, 248, 0.15) !important;
}

.boxscore-click-hint {
  font-size: 0.65rem;
  font-family: var(--font-mono);
  color: #38bdf8;
  letter-spacing: 0.03em;
  font-weight: 600;
}

.matchup-boxscore-container {
  margin: 24px 0 32px 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  animation: fadeIn 0.25s ease-out;
}

/* Header Banner */
.matchup-detail-banner {
  padding: 24px 28px;
  background: linear-gradient(180deg, rgba(26, 26, 26, 0.85) 0%, rgba(14, 14, 14, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  overflow: hidden;
}

.matchup-banner-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
  gap: 12px;
}

.matchup-banner-tag {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.matchup-banner-date {
  font-family: var(--font-sans);
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.matchup-lead-changes {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--text-tertiary);
}

.matchup-banner-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.matchup-banner-score-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.banner-team-side {
  display: flex;
  align-items: center;
  gap: 18px;
  flex: 1;
}

.banner-team-side.home-side {
  justify-content: flex-end;
}

.banner-team-logo {
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.5));
}

.banner-team-name {
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
}

.banner-team-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  color: var(--text-tertiary);
  letter-spacing: 0.06em;
  margin-top: 2px;
}

.banner-score {
  font-family: var(--font-mono);
  font-size: 2.75rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  color: #ededed;
  min-width: 75px;
  text-align: center;
}

.team-winner .banner-score {
  color: #fbbf24;
  text-shadow: 0 0 20px rgba(251, 191, 36, 0.35);
}

.banner-vs-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
  font-family: var(--font-mono);
  align-self: center;
}

.banner-vs-divider span {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--text-tertiary);
  letter-spacing: 0.12em;
}

/* Head to Head Comparison 3-Column Layout */
.matchup-comparison-bar {
  padding: 20px 24px;
  background: rgba(18, 18, 18, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-lg);
}

.comp-matrix-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #ededed;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.comp-table-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.comp-header-row {
  display: grid;
  grid-template-columns: 1fr 200px 1fr;
  align-items: center;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
  margin-bottom: 6px;
}

.comp-header-team {
  display: flex;
  align-items: center;
  gap: 10px;
}

.comp-header-team.away-team {
  justify-content: flex-start;
}

.comp-header-team.home-team {
  justify-content: flex-end;
}

.comp-team-name {
  font-size: 0.95rem;
  color: #ffffff;
}

.comp-team-sub {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--text-tertiary);
  padding: 2px 6px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
}

.comp-header-center {
  text-align: center;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-tertiary);
  letter-spacing: 0.08em;
}

.comp-rows-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.comp-row {
  display: grid;
  grid-template-columns: 1fr 200px 1fr;
  align-items: center;
  padding: 9px 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.03);
  border-radius: 6px;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.comp-row:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.08);
}

.comp-category-col {
  text-align: center;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.comp-val-col {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: var(--font-mono);
}

.comp-val-col.away {
  justify-content: flex-start;
}

.comp-val-col.home {
  justify-content: flex-end;
}

.comp-val-num {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
}

.comp-val-col.lead .comp-val-num {
  color: #10b981;
  font-weight: 800;
  text-shadow: 0 0 12px rgba(16, 185, 129, 0.25);
}

.comp-val-sub {
  font-size: 0.72rem;
  color: var(--text-tertiary);
  font-weight: 500;
}

/* Split Box Score Columns */
.matchup-split-boxscore-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 1200px) {
  .matchup-split-boxscore-grid {
    grid-template-columns: 1fr;
  }
}

.matchup-team-box {
  background: rgba(18, 18, 18, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  overflow: hidden;
}

.matchup-team-box .table-responsive {
  padding: 0;
  overflow-x: auto;
}

.matchup-team-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.team-badge-sub {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  color: var(--text-tertiary);
  letter-spacing: 0.05em;
}

.team-score-badge {
  font-family: var(--font-mono);
  font-size: 1.05rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.06);
  padding: 3px 10px;
  border-radius: var(--radius-sm);
  color: #ededed;
}

.boxscore-table {
  width: 100%;
  table-layout: auto;
}

.boxscore-table th {
  font-size: 0.6rem;
  padding: 6px 3px;
  letter-spacing: 0.02em;
}

.boxscore-table th:first-child,
.boxscore-table td:first-child {
  min-width: 185px;
}

.boxscore-table td {
  font-size: 0.68rem;
  padding: 5px 3px;
}

.boxscore-table .player-table-cell {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 175px !important;
  box-sizing: border-box !important;
}

.boxscore-table .player-name-text {
  font-size: 0.76rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
}

.boxscore-table .pos-badge {
  margin-left: auto !important;
  flex-shrink: 0 !important;
}

.boxscore-table .player-avatar-small {
  width: 18px;
  height: 18px;
  min-width: 18px;
  flex-shrink: 0;
}

.boxscore-table .sort-icon {
  font-size: 0.55rem;
  margin-left: 2px;
}

.pm-pos-cell {
  color: #10b981 !important;
}

.pm-neg-cell {
  color: #ef4444 !important;
}

.player-avatar-small {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #262626;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.totals-badge {
  display: inline-block;
  background: #38bdf8;
  color: #000;
  font-weight: 800;
  font-size: 0.6rem;
  letter-spacing: 0.05em;
  padding: 2px 6px;
  border-radius: 3px;
  text-align: left;
}

/* Sortable Table Headers */
.sortable-th {
  cursor: pointer !important;
  user-select: none;
  transition: color 0.15s ease, background 0.15s ease;
  white-space: nowrap;
}

.sortable-th:hover {
  color: #38bdf8 !important;
  background: rgba(255, 255, 255, 0.06);
}

.sort-icon {
  display: inline-block;
  font-size: 0.65rem;
  margin-left: 4px;
  color: var(--text-tertiary);
  opacity: 0.6;
  transition: transform 0.15s ease, color 0.15s ease;
  vertical-align: middle;
}

.sortable-th:hover .sort-icon {
  color: #38bdf8;
  opacity: 1;
}

.sortable-th.active-sort {
  color: #38bdf8 !important;
}

.sortable-th.active-sort .sort-icon {
  color: #38bdf8 !important;
  opacity: 1;
  font-weight: 900;
}

/* ==================== Courtside Photographer Camera Button ==================== */
.camera-shot-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--text-secondary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  padding: 0;
  position: relative;
  outline: none;
}

.camera-shot-btn:hover {
  background: rgba(56, 189, 248, 0.18);
  border-color: rgba(56, 189, 248, 0.5);
  color: #38bdf8;
  transform: scale(1.08);
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), 0 0 16px rgba(56, 189, 248, 0.4);
}

.camera-shot-btn:active {
  transform: scale(0.92);
}

.camera-shot-svg {
  width: 19px;
  height: 19px;
  transition: transform 0.2s ease;
}

.camera-shot-btn:hover .camera-shot-svg {
  transform: scale(1.1);
}

/* Camera Shutter Flash Overlay */
.camera-flash-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.85);
  z-index: 100000;
  pointer-events: none;
  opacity: 1;
  animation: cameraFlashAnim 0.4s ease-out forwards;
}

@keyframes cameraFlashAnim {
  0% { opacity: 0.85; }
  100% { opacity: 0; }
}

/* ==================== Career & Single Game Leaders Table Layouts ==================== */
#singlegame-table,
#alltime-table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
  font-size: 0.815rem;
}

#singlegame-table th,
#alltime-table th {
  padding: 10px 8px;
  font-size: 0.68rem;
  letter-spacing: 0.03em;
}

#singlegame-table td,
#alltime-table td {
  padding: 8px 8px;
}

#singlegame-table .clickable-row,
#alltime-table .clickable-row {
  cursor: pointer;
  transition: background 0.15s ease;
}

#singlegame-table .clickable-row:hover,
#alltime-table .clickable-row:hover {
  background: rgba(56, 189, 248, 0.08) !important;
}

#singlegame-table .player-table-cell,
#alltime-table .player-table-cell {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

#singlegame-table .player-table-cell:hover .player-name-text,
#alltime-table .player-table-cell:hover .player-name-text,
.podium-card:hover .podium-name {
  color: #38bdf8 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Single Game Table Proportional Column Spacing */
#singlegame-table th[data-col="rank"],
#singlegame-table td:nth-child(1) {
  width: 48px;
  min-width: 44px;
  text-align: center;
  padding-left: 6px;
  padding-right: 4px;
}

#singlegame-table th[data-col="player_name"],
#singlegame-table td:nth-child(2) {
  min-width: 130px;
  max-width: 180px;
  text-align: left;
}

#singlegame-table th[data-col="is_active"],
#singlegame-table td:nth-child(3) {
  width: 68px;
  min-width: 64px;
  text-align: center;
}

#singlegame-table th[data-col="game_date"],
#singlegame-table td:nth-child(4) {
  width: 84px;
  min-width: 80px;
  text-align: center;
}

#singlegame-table th[data-col="matchup"],
#singlegame-table td:nth-child(5) {
  width: 92px;
  min-width: 86px;
  text-align: center;
}

#singlegame-table th[data-col="min"],
#singlegame-table td:nth-child(6) {
  width: 52px;
  min-width: 48px;
  text-align: center;
}

#singlegame-table th[data-col="stat_val"],
#singlegame-table td:nth-child(7) {
  width: 85px;
  min-width: 80px;
  text-align: right;
}

#singlegame-table th[data-col="details"],
#singlegame-table td:nth-child(8),
#singlegame-table td.break-details-cell {
  text-align: left;
  white-space: normal;
  line-height: 1.3;
  font-size: 0.77rem;
  color: var(--text-secondary);
}

/* Career Leaders Table Proportional Column Spacing */
#alltime-table th[data-col="rank"],
#alltime-table td:nth-child(1) {
  width: 50px;
  min-width: 46px;
  text-align: center;
}

#alltime-table th[data-col="full_name"],
#alltime-table td:nth-child(2) {
  min-width: 140px;
  text-align: left;
}

#alltime-table th[data-col="is_active"],
#alltime-table td:nth-child(3) {
  width: 70px;
  min-width: 66px;
  text-align: center;
}

#alltime-table th[data-col="from_year"],
#alltime-table td:nth-child(4) {
  width: 95px;
  min-width: 90px;
  text-align: center;
}

#alltime-table th[data-col="total_gp"],
#alltime-table td:nth-child(5) {
  width: 80px;
  min-width: 76px;
  text-align: center;
}

#alltime-table th[data-col="stat_val"],
#alltime-table td:nth-child(6) {
  width: 95px;
  min-width: 90px;
  text-align: right;
}

#alltime-table th[data-col="sec_sort_val"],
#alltime-table td:nth-child(7) {
  text-align: right;
  white-space: normal;
}

/* Team Record Badge in Game Cards */
.team-record-badge {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--text-tertiary);
  margin-left: 5px;
  font-weight: 500;
  vertical-align: middle;
}

.team-abbr.winner + .team-record-badge {
  color: var(--text-secondary);
}

.scores-hidden-mask {
  color: var(--text-tertiary) !important;
  letter-spacing: 2px;
  font-weight: 400;
  opacity: 0.6;
}

/* ==================== Team History & Franchise Heritage Lab Styles ==================== */

.team-hero-logo {
  object-fit: contain !important;
  padding: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-md);
}

.championship-glow {
  color: #fbbf24 !important;
  text-shadow: 0 0 16px rgba(251, 191, 36, 0.4);
}

/* Team Timeline Eras Grid */
.team-timeline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.timeline-era-card {
  padding: 20px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease, border-color 0.2s ease;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.timeline-era-card:hover {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, 0.4);
}

.timeline-era-card.active-era {
  border-color: rgba(56, 189, 248, 0.4);
  background: radial-gradient(circle at top right, rgba(56, 189, 248, 0.1), rgba(15, 15, 15, 0.8) 60%);
}

.timeline-era-top-row {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}

.timeline-era-logo-box {
  width: 68px;
  height: 68px;
  min-width: 68px;
  border-radius: var(--radius-md);
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}

.timeline-era-logo-box:hover {
  transform: scale(1.08);
  border-color: rgba(56, 189, 248, 0.6);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.45);
}

.timeline-era-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
}

.era-queue-btn:hover {
  background: rgba(56, 189, 248, 0.25) !important;
  border-color: #38bdf8 !important;
  color: #fff !important;
  transform: scale(1.04);
}

.timeline-era-main-meta {
  flex: 1;
  min-width: 0;
}

.timeline-era-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.timeline-era-years {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 700;
  color: #38bdf8;
}

.timeline-era-name {
  font-size: 1.15rem;
  font-weight: 800;
  color: #ededed;
  margin: 0 0 2px 0;
  letter-spacing: -0.02em;
}

.era-move-tag {
  font-size: 0.72rem;
  color: var(--text-tertiary);
  margin-bottom: 0;
  font-family: var(--font-sans);
}

.timeline-era-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  background: rgba(0, 0, 0, 0.3);
  padding: 10px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.era-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.era-stat-label {
  font-size: 0.55rem;
  font-weight: 700;
  color: var(--text-tertiary);
  letter-spacing: 0.05em;
  margin-bottom: 2px;
}

.era-stat-val {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
}

/* Bottom Milestones Grid */
.team-milestones-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
}

.milestone-card {
  padding: 22px;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.milestone-card-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.milestone-card-icon {
  font-size: 1.5rem;
  background: rgba(255, 255, 255, 0.05);
  padding: 8px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.milestone-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: #ededed;
  margin: 0;
}

.milestone-card-subtitle {
  font-size: 0.72rem;
  color: var(--text-tertiary);
  margin-top: 2px;
}

.milestone-items-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.milestone-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-sm);
  transition: all 0.15s ease;
}

.milestone-item:hover {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.12);
}

.milestone-rank-num {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 800;
  color: #38bdf8;
  min-width: 24px;
}

.milestone-trophy-icon {
  font-size: 1.25rem;
  min-width: 26px;
  text-align: center;
}

.milestone-item-info {
  flex: 1;
  min-width: 0;
}

.milestone-item-title {
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.milestone-item-sub {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  margin-top: 2px;
}

.milestone-item-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  text-align: right;
}

.milestone-main-stat {
  font-family: var(--font-mono);
  font-size: 0.9rem;
  font-weight: 800;
  color: #38bdf8;
}

.milestone-sub-stat {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  color: var(--text-secondary);
}

.milestone-champ-badge {
  background: rgba(251, 191, 36, 0.15);
  border: 1px solid rgba(251, 191, 36, 0.4);
  color: #fbbf24;
  font-size: 0.65rem;
  font-weight: 800;
  font-family: var(--font-mono);
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 0.04em;
}

.milestone-finals-badge {
  background: rgba(226, 232, 240, 0.1);
  border: 1px solid rgba(226, 232, 240, 0.3);
  color: #cbd5e1;
  font-size: 0.65rem;
  font-weight: 700;
  font-family: var(--font-mono);
  padding: 2px 6px;
  border-radius: 3px;
}

.milestone-pill-gold {
  background: rgba(251, 191, 36, 0.12);
  color: #fbbf24;
  font-size: 0.6rem;
  font-family: var(--font-mono);
  padding: 1px 5px;
  border-radius: 3px;
  margin-top: 3px;
}

.milestone-empty {
  color: var(--text-tertiary);
  font-size: 0.8rem;
  padding: 16px;
  text-align: center;
  font-style: italic;
}

/* Legacy Matrix */
.legacy-matrix-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  flex: 1;
}

.legacy-matrix-cell {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: var(--radius-sm);
  padding: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.legacy-matrix-cell.highlight-cell-gold {
  background: rgba(251, 191, 36, 0.08);
  border-color: rgba(251, 191, 36, 0.25);
}

.legacy-matrix-num {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
}

.legacy-matrix-lbl {
  font-size: 0.65rem;
  color: var(--text-tertiary);
  margin-top: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Season Table Special Highlight Rows */
.season-row-champ {
  background: rgba(251, 191, 36, 0.05) !important;
}

.season-row-champ td:first-child {
  border-left: 3px solid #fbbf24;
}

.season-row-finals {
  background: rgba(56, 189, 248, 0.03) !important;
}

.season-row-finals td:first-child {
  border-left: 3px solid #38bdf8;
}

.badge-tag-silver {
  background: rgba(203, 213, 225, 0.12);
  border: 1px solid rgba(203, 213, 225, 0.3);
  color: #e2e8f0;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--font-mono);
}

.badge-tag-conf-finals {
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--font-mono);
  white-space: nowrap;
}

.badge-tag-semifinals {
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.3);
  color: #c084fc;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: var(--font-mono);
  white-space: nowrap;
}

.season-row-conf-finals {
  background: rgba(56, 189, 248, 0.02) !important;
}

.season-row-conf-finals td:first-child {
  border-left: 3px solid rgba(56, 189, 248, 0.5);
}

/* ==================== FULL-WIDTH EMBEDDED HIGHLIGHTS VIDEO ==================== */
.matchup-embedded-video-card {
  width: 100%;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.7);
  background: rgba(15, 15, 18, 0.96);
  backdrop-filter: blur(24px);
  border-radius: 12px;
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}

.video-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.video-card-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.video-live-badge {
  font-size: 0.72rem;
  font-weight: 800;
  color: #ededed;
  display: flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 3px 8px;
  border-radius: var(--radius-sm);
}

.video-matchup-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #ededed;
}

.video-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}

.yt-logo-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  min-height: 36px;
  padding: 0 4px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s;
  flex-shrink: 0;
  line-height: 1;
}

.yt-logo-btn svg {
  height: 28px;
  width: auto;
  display: block;
}

.yt-logo-btn:hover {
  transform: scale(1.1);
  opacity: 0.85;
}

.btn-video-nav {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  border-radius: 20px;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  padding: 0 14px;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.video-fullwidth-embed-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
  height: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.85);
}

.video-fullwidth-embed-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.72rem;
  color: var(--text-tertiary);
  padding-top: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.video-query-tag {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--text-secondary);
}

.btn-video-active {
  background: rgba(255, 0, 0, 0.15) !important;
  border-color: rgba(255, 0, 0, 0.5) !important;
  color: #ff7875 !important;
}

.btn-video-active:hover {
  background: rgba(255, 0, 0, 0.25) !important;
}


.milestone-conf-badge {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  font-size: 0.65rem;
  font-weight: 800;
  font-family: var(--font-mono);
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 0.02em;
}

.milestone-semi-badge {
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.35);
  color: #c084fc;
  font-size: 0.65rem;
  font-weight: 700;
  font-family: var(--font-mono);
  padding: 2px 6px;
  border-radius: 3px;
}

/* Video Embed Player Card Styles */
.matchup-embedded-video-card {
  margin-top: 14px;
  margin-bottom: 18px;
  padding: 16px;
}

.video-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  gap: 12px;
  flex-wrap: nowrap;
}

.video-card-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  overflow: hidden;
}

.video-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}

.video-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}

.video-matchup-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.video-fullwidth-embed-wrapper {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.7);
}

.video-fullwidth-embed-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
  font-size: 0.72rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
}

/* ==================== SEASON LEADERS TAB & TOP 50 EXPANDED VIEW ==================== */
.leaders-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 16px;
}

.clickable-leader-card {
  cursor: pointer;
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s, box-shadow 0.2s;
}

.clickable-leader-card:hover {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 20px rgba(56, 189, 248, 0.1);
}

.card-expand-hint {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: #38bdf8;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  padding: 3px 8px;
  border-radius: 20px;
  transition: transform 0.15s ease, background 0.15s ease;
}

.clickable-leader-card:hover .card-expand-hint {
  transform: translateX(2px);
  background: rgba(56, 189, 248, 0.2);
}

.rank-badge-gold {
  color: #fbbf24 !important;
  font-weight: 800 !important;
}

.rank-badge-silver {
  color: #cbd5e1 !important;
  font-weight: 800 !important;
}

.rank-badge-bronze {
  color: #d97706 !important;
  font-weight: 800 !important;
}

.leader-detail-card {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 24px;
}

.leader-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid var(--border-subtle);
  flex-wrap: wrap;
  gap: 12px;
}

.leader-detail-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.leader-detail-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

.rank-top-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
}

.rank-top-1 {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.3), rgba(217, 119, 6, 0.5));
  border: 1px solid rgba(245, 158, 11, 0.6);
  color: #fbbf24;
}

.rank-top-2 {
  background: linear-gradient(135deg, rgba(148, 163, 184, 0.3), rgba(100, 116, 139, 0.5));
  border: 1px solid rgba(148, 163, 184, 0.6);
  color: #e2e8f0;
}

.rank-top-3 {
  background: linear-gradient(135deg, rgba(180, 83, 9, 0.3), rgba(120, 53, 15, 0.5));
  border: 1px solid rgba(180, 83, 9, 0.6);
  color: #fdba74;
}


/* ==========================================================================
   TRADING CARD COLLECTION & KID-FRIENDLY REWARD SYSTEM
   ========================================================================== */

/* Card Counter & Milestone Badges */
.card-counter-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(168, 85, 247, 0.25));
  border: 1px solid rgba(56, 189, 248, 0.4);
  padding: 6px 14px;
  border-radius: 20px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: #38bdf8;
  box-shadow: 0 0 15px rgba(56, 189, 248, 0.15);
}

.milestone-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25), rgba(239, 68, 68, 0.25));
  border: 1px solid rgba(245, 158, 11, 0.5);
  padding: 6px 14px;
  border-radius: 20px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  color: #fbbf24;
  animation: pulse-glow 2.5s infinite alternate;
}

@keyframes pulse-glow {
  0% { box-shadow: 0 0 8px rgba(245, 158, 11, 0.2); }
  100% { box-shadow: 0 0 20px rgba(245, 158, 11, 0.5); }
}

/* Tier Stats Bar */
.tier-stats-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.tier-stat-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 12px;
  font-size: 0.82rem;
  font-weight: 700;
  font-family: 'Outfit', sans-serif;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  user-select: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.tier-stat-chip:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.tier-stat-chip.is-selected {
  border-width: 2px;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.35), 0 4px 12px rgba(0, 0, 0, 0.5);
  transform: translateY(-2px) scale(1.04);
}

.tier-stat-chip.tier-platinum.is-selected {
  border-color: #e2e8f0;
  box-shadow: 0 0 20px rgba(226, 232, 240, 0.6), 0 4px 14px rgba(0, 0, 0, 0.6);
}

.tier-stat-chip.tier-diamond.is-selected {
  border-color: #38bdf8;
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.6), 0 4px 14px rgba(0, 0, 0, 0.6);
}

.tier-stat-chip.tier-gold.is-selected {
  border-color: #facc15;
  box-shadow: 0 0 20px rgba(250, 204, 21, 0.6), 0 4px 14px rgba(0, 0, 0, 0.6);
}

.tier-stat-chip.tier-silver.is-selected {
  border-color: #cbd5e1;
  box-shadow: 0 0 20px rgba(203, 213, 225, 0.5), 0 4px 14px rgba(0, 0, 0, 0.6);
}

.tier-stat-chip.tier-bronze.is-selected {
  border-color: #d97706;
  box-shadow: 0 0 20px rgba(217, 119, 6, 0.6), 0 4px 14px rgba(0, 0, 0, 0.6);
}

.tier-stat-chip.tier-brown.is-selected {
  border-color: #a16207;
  box-shadow: 0 0 16px rgba(161, 98, 7, 0.5), 0 4px 14px rgba(0, 0, 0, 0.6);
}

.tier-stat-chip.is-dimmed {
  opacity: 0.38;
  filter: grayscale(35%);
  transform: none;
}

.tier-stat-chip.is-dimmed:hover {
  opacity: 0.75;
  filter: grayscale(10%);
  transform: translateY(-1px);
}

.tier-stat-count {
  font-size: 0.95rem;
  font-weight: 900;
}

/* Cards Grid */
.cards-collection-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 10px;
}

/* Trading Card Base Style */
.trading-card {
  position: relative;
  background: #0f131a;
  border-radius: 20px;
  padding: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6);
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.25s ease, border-color 0.25s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  overflow: hidden;
  border: 3px solid #334155;
  user-select: none;
}

.trading-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.8);
}

/* Card Tier Specific Borders & Glows */

/* 🟤 BROWN TIER */
.trading-card.tier-brown, .card-detail-card.tier-brown {
  border: 3px solid #78350f;
  background: linear-gradient(180deg, #1c140d 0%, #0d0a07 100%);
  position: relative;
}
.card-tier-banner.tier-brown, .tier-stat-chip.tier-brown {
  background: rgba(120, 53, 15, 0.3);
  color: #d97706;
  border: 1px solid #78350f;
}

/* Brown Card Floating Poop Particles Overlay */
.brown-poop-particles-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
  z-index: 4;
}

.poop-p {
  position: absolute;
  user-select: none;
  pointer-events: none;
  opacity: 0;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.7));
  animation: poopFadeFloat 4.5s ease-in-out infinite alternate;
}

.poop-p.p1 {
  top: 14%;
  left: 8%;
  font-size: 1.25rem;
  animation-duration: 4.2s;
  animation-delay: 0s;
}

.poop-p.p2 {
  top: 38%;
  right: 10%;
  font-size: 1.45rem;
  animation-duration: 5.0s;
  animation-delay: 1.4s;
}

.poop-p.p3 {
  bottom: 24%;
  left: 12%;
  font-size: 1.15rem;
  animation-duration: 3.8s;
  animation-delay: 2.7s;
}

.poop-p.p4 {
  top: 22%;
  right: 18%;
  font-size: 1.3rem;
  animation-duration: 4.6s;
  animation-delay: 0.9s;
}

.poop-p.p5 {
  bottom: 14%;
  right: 14%;
  font-size: 1.1rem;
  animation-duration: 5.3s;
  animation-delay: 3.6s;
}

.poop-p.p6 {
  top: 58%;
  left: 6%;
  font-size: 1.2rem;
  animation-duration: 4.0s;
  animation-delay: 2.1s;
}

@keyframes poopFadeFloat {
  0% {
    opacity: 0;
    transform: scale(0.5) rotate(-20deg) translateY(8px);
  }
  20% {
    opacity: 0.85;
    transform: scale(1.05) rotate(5deg) translateY(-2px);
  }
  50% {
    opacity: 0.65;
    transform: scale(1) rotate(-8deg) translateY(-8px);
  }
  80% {
    opacity: 0.9;
    transform: scale(1.15) rotate(12deg) translateY(-14px);
  }
  100% {
    opacity: 0;
    transform: scale(0.4) rotate(-15deg) translateY(-22px);
  }
}

/* 🟫 BRONZE TIER */
.trading-card.tier-bronze, .card-detail-card.tier-bronze {
  border: 3px solid #b45309;
  background: linear-gradient(180deg, #241408 0%, #100b05 100%);
  box-shadow: 0 8px 24px rgba(180, 83, 9, 0.25);
}
.card-tier-banner.tier-bronze, .tier-stat-chip.tier-bronze {
  background: linear-gradient(135deg, #b45309, #78350f);
  color: #fed7aa;
  border: 1px solid #d97706;
}

/* ⬜ SILVER TIER (SHIMMER / HOLOGRAPHIC CHROME EFFECT) */
.trading-card.tier-silver, .card-detail-card.tier-silver {
  border: 3px solid #cbd5e1;
  background: linear-gradient(180deg, #141a24 0%, #0a0d12 100%);
  box-shadow: 0 8px 24px rgba(148, 163, 184, 0.35);
  animation: silver-shimmer-border 3.5s ease-in-out infinite alternate;
}
@keyframes silver-shimmer-border {
  0% { 
    border-color: #94a3b8; 
    box-shadow: 0 0 18px rgba(148, 163, 184, 0.45); 
  }
  25% { 
    border-color: #ffffff; 
    box-shadow: 0 0 28px rgba(255, 255, 255, 0.75); 
  }
  50% { 
    border-color: #cbd5e1; 
    box-shadow: 0 0 20px rgba(203, 213, 225, 0.55); 
  }
  75% { 
    border-color: #e2e8f0; 
    box-shadow: 0 0 26px rgba(226, 232, 240, 0.7); 
  }
  100% { 
    border-color: #64748b; 
    box-shadow: 0 0 16px rgba(100, 116, 139, 0.4); 
  }
}
.card-tier-banner.tier-silver, .tier-stat-chip.tier-silver {
  background: linear-gradient(135deg, #94a3b8, #cbd5e1, #64748b);
  color: #ffffff;
  border: 1px solid #e2e8f0;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* 🟡 GOLD TIER (SHIMMER / HOLOGRAPHIC GOLD EFFECT) */
.trading-card.tier-gold, .card-detail-card.tier-gold {
  border: 3px solid #eab308;
  background: linear-gradient(180deg, #261d05 0%, #120e03 100%);
  box-shadow: 0 10px 30px rgba(234, 179, 8, 0.45);
  animation: gold-shimmer-border 3.5s ease-in-out infinite alternate;
}
@keyframes gold-shimmer-border {
  0% { 
    border-color: #f59e0b; 
    box-shadow: 0 0 20px rgba(245, 158, 11, 0.55); 
  }
  25% { 
    border-color: #fef08a; 
    box-shadow: 0 0 30px rgba(254, 240, 138, 0.8); 
  }
  50% { 
    border-color: #eab308; 
    box-shadow: 0 0 22px rgba(234, 179, 8, 0.6); 
  }
  75% { 
    border-color: #fde047; 
    box-shadow: 0 0 28px rgba(253, 224, 71, 0.75); 
  }
  100% { 
    border-color: #d97706; 
    box-shadow: 0 0 18px rgba(217, 119, 6, 0.5); 
  }
}
.card-tier-banner.tier-gold, .tier-stat-chip.tier-gold {
  background: linear-gradient(135deg, #eab308, #fef08a, #ca8a04);
  color: #ffffff;
  font-weight: 900;
  border: 1px solid #fef08a;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* 💎 DIAMOND TIER (VERY PRONOUNCED DIAMOND-LIKE GLISTENING EFFECT) */
.trading-card.tier-diamond, .card-detail-card.tier-diamond {
  border: 3px solid #38bdf8;
  background: linear-gradient(180deg, #071f30 0%, #030d17 100%);
  box-shadow: 0 10px 35px rgba(56, 189, 248, 0.55), 0 0 22px rgba(186, 230, 253, 0.45);
  position: relative;
  overflow: hidden;
  animation: diamond-glisten-border 3s ease-in-out infinite alternate;
}

@keyframes diamond-glisten-border {
  0% {
    border-color: #38bdf8;
    box-shadow: 0 0 20px rgba(56, 189, 248, 0.65), 0 0 35px rgba(14, 165, 233, 0.4);
  }
  25% {
    border-color: #ffffff;
    box-shadow: 0 0 35px rgba(255, 255, 255, 0.95), 0 0 55px rgba(186, 230, 253, 0.75);
  }
  50% {
    border-color: #7dd3fc;
    box-shadow: 0 0 28px rgba(125, 211, 252, 0.8), 0 0 42px rgba(56, 189, 248, 0.55);
  }
  75% {
    border-color: #e0f2fe;
    box-shadow: 0 0 38px rgba(224, 242, 254, 0.9), 0 0 60px rgba(255, 255, 255, 0.7);
  }
  100% {
    border-color: #0284c7;
    box-shadow: 0 0 20px rgba(2, 132, 199, 0.55), 0 0 32px rgba(56, 189, 248, 0.35);
  }
}

/* Diagonal diamond crystalline facet sheen sweep - background layer behind player */
.trading-card.tier-diamond::before, .card-detail-card.tier-diamond::before {
  content: '';
  position: absolute;
  top: -60%;
  left: -60%;
  width: 220%;
  height: 220%;
  background: linear-gradient(
    115deg,
    transparent 20%,
    rgba(255, 255, 255, 0.04) 30%,
    rgba(56, 189, 248, 0.18) 38%,
    rgba(255, 255, 255, 0.75) 45%,
    rgba(186, 230, 253, 0.95) 48%,
    rgba(255, 255, 255, 0.85) 50%,
    rgba(56, 189, 248, 0.3) 55%,
    rgba(255, 255, 255, 0.08) 65%,
    transparent 75%
  );
  pointer-events: none;
  z-index: 1;
  transform: rotate(-15deg);
  animation: diamond-sheen-sweep 3.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  mix-blend-mode: overlay;
}

@keyframes diamond-sheen-sweep {
  0% {
    transform: translate(-90%, -90%) rotate(-15deg);
    opacity: 0.15;
  }
  30% {
    opacity: 1;
  }
  60% {
    transform: translate(70%, 70%) rotate(-15deg);
    opacity: 0.95;
  }
  100% {
    transform: translate(90%, 90%) rotate(-15deg);
    opacity: 0;
  }
}

/* Secondary crystalline refractive prismatic flare - background layer */
.trading-card.tier-diamond::after, .card-detail-card.tier-diamond::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(
    circle at 50% 20%,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(56, 189, 248, 0.15) 35%,
    transparent 70%
  );
  pointer-events: none;
  z-index: 2;
  animation: diamond-facet-glint 4s ease-in-out infinite alternate;
}

@keyframes diamond-facet-glint {
  0% {
    opacity: 0.4;
    background-position: 20% 10%;
  }
  50% {
    opacity: 1;
    background-position: 80% 60%;
  }
  100% {
    opacity: 0.5;
    background-position: 50% 90%;
  }
}

/* Diamond Glistening Sparkles Overlay - Framed around perimeter */
.diamond-glisten-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  overflow: hidden;
  border-radius: inherit;
}

.diamond-sparkle {
  position: absolute;
  color: #ffffff;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #38bdf8, 0 0 35px #00d2ff;
  font-family: 'Outfit', sans-serif;
  line-height: 1;
  user-select: none;
  opacity: 0;
  animation: diamondSparkleTwinkle var(--sparkle-duration, 2.5s) ease-in-out infinite var(--sparkle-delay, 0s);
}

/* Positioned along card edges and outer borders so they do not obstruct the player image */
.diamond-sparkle.d1 { top: 2%; left: 3%; font-size: 1.3rem; --sparkle-duration: 2.2s; --sparkle-delay: 0.1s; }
.diamond-sparkle.d2 { top: 2%; right: 3%; font-size: 1.15rem; --sparkle-duration: 2.8s; --sparkle-delay: 0.9s; }
.diamond-sparkle.d3 { top: 22%; left: 2%; font-size: 1.25rem; --sparkle-duration: 2.4s; --sparkle-delay: 1.4s; }
.diamond-sparkle.d4 { top: 22%; right: 2%; font-size: 1.35rem; --sparkle-duration: 2.1s; --sparkle-delay: 0.4s; }
.diamond-sparkle.d5 { bottom: 20%; left: 3%; font-size: 1.15rem; --sparkle-duration: 2.6s; --sparkle-delay: 1.8s; }
.diamond-sparkle.d6 { bottom: 20%; right: 3%; font-size: 1.3rem; --sparkle-duration: 2.3s; --sparkle-delay: 0.7s; }
.diamond-sparkle.d7 { bottom: 3%; left: 10%; font-size: 1.2rem; --sparkle-duration: 3.1s; --sparkle-delay: 1.2s; }
.diamond-sparkle.d8 { bottom: 3%; right: 10%; font-size: 1.2rem; --sparkle-duration: 2.5s; --sparkle-delay: 2.1s; }

@keyframes diamondSparkleTwinkle {
  0% {
    transform: scale(0) rotate(0deg);
    opacity: 0;
    filter: brightness(1) drop-shadow(0 0 0 transparent);
  }
  25% {
    opacity: 0.7;
    transform: scale(0.85) rotate(45deg);
  }
  50% {
    transform: scale(1.4) rotate(90deg);
    opacity: 1;
    filter: brightness(2.2) drop-shadow(0 0 14px #ffffff);
  }
  75% {
    opacity: 0.6;
    transform: scale(0.75) rotate(135deg);
  }
  100% {
    transform: scale(0) rotate(180deg);
    opacity: 0;
    filter: brightness(1) drop-shadow(0 0 0 transparent);
  }
}

/* Foreground positioning for player image and card content: Unobstructed & Crisp with outer rim glisten */
.trading-card.tier-diamond .card-headshot-area,
.card-detail-card.tier-diamond .card-headshot-area {
  position: relative;
  z-index: 10;
}

.trading-card.tier-diamond .card-headshot,
.card-detail-card.tier-diamond .card-headshot {
  position: relative;
  z-index: 11;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7)) drop-shadow(0 0 10px rgba(56, 189, 248, 0.55)) drop-shadow(0 0 20px rgba(186, 230, 253, 0.35));
}

.trading-card.tier-diamond .card-tier-banner,
.card-detail-card.tier-diamond .card-tier-banner,
.trading-card.tier-diamond .card-teams-row,
.card-detail-card.tier-diamond .card-teams-row,
.trading-card.tier-diamond .card-player-name,
.card-detail-card.tier-diamond .card-player-name,
.trading-card.tier-diamond .card-meta-line,
.card-detail-card.tier-diamond .card-meta-line,
.trading-card.tier-diamond .card-date-line,
.card-detail-card.tier-diamond .card-date-line,
.trading-card.tier-diamond .card-stats-grid,
.card-detail-card.tier-diamond .card-stats-grid,
.trading-card.tier-diamond .card-badges-row,
.card-detail-card.tier-diamond .card-badges-row {
  position: relative;
  z-index: 10;
}

.card-tier-banner.tier-diamond, .tier-stat-chip.tier-diamond {
  background: linear-gradient(135deg, #38bdf8, #7dd3fc, #0284c7);
  color: #ffffff;
  font-weight: 900;
  border: 1px solid #bae6fd;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

/* ✨ PLATINUM HOLOGRAPHIC TIER */
.trading-card.tier-platinum, .card-detail-card.tier-platinum {
  border: 3px solid #c084fc;
  background: linear-gradient(180deg, #1e1333 0%, #0d071a 100%);
  box-shadow: 0 12px 40px rgba(192, 132, 252, 0.5);
  animation: holo-border 4s ease infinite alternate;
}
@keyframes holo-border {
  0% { border-color: #c084fc; box-shadow: 0 0 25px rgba(192, 132, 252, 0.6); }
  33% { border-color: #38bdf8; box-shadow: 0 0 25px rgba(56, 189, 248, 0.6); }
  66% { border-color: #f43f5e; box-shadow: 0 0 25px rgba(244, 63, 94, 0.6); }
  100% { border-color: #fbbf24; box-shadow: 0 0 25px rgba(251, 191, 36, 0.6); }
}
.card-tier-banner.tier-platinum, .tier-stat-chip.tier-platinum {
  background: linear-gradient(135deg, #c084fc, #ec4899, #38bdf8);
  color: #ffffff;
  font-weight: 900;
  border: 1px solid #f5d0fe;
  text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

/* Card Internal Components */
.card-tier-banner {
  width: 100%;
  padding: 5px 0;
  border-radius: 12px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 1px;
  margin-bottom: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.card-headshot-area {
  width: 100%;
  height: 170px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-bottom: 8px;
}

.card-headshot {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7));
  transition: transform 0.2s ease;
}

.trading-card:hover .card-headshot {
  transform: scale(1.05);
}

.card-teams-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-bottom: 4px;
}

.card-team-logo {
  width: 26px;
  height: 26px;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
}

.card-vs-text {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--text-tertiary);
  text-transform: uppercase;
}

.card-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
  letter-spacing: -0.3px;
  margin-bottom: 2px;
}

.card-meta-line {
  font-size: 0.75rem;
  color: var(--text-secondary);
  font-weight: 600;
  margin-bottom: 2px;
}

.card-date-line {
  font-size: 0.72rem;
  color: var(--text-tertiary);
  margin-bottom: 12px;
}

.card-stats-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 4px;
  width: 100%;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 12px;
  padding: 8px 4px;
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, 0.05);
}

.card-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.card-stat-value {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.1;
}

.card-stat-label {
  font-size: 0.58rem;
  font-weight: 800;
  color: var(--text-tertiary);
  letter-spacing: 0.5px;
}

/* Quick Collect Expanded Card Modal Styling */
.trading-card.quick-collect-card {
  max-width: 375px !important;
  width: 100% !important;
  padding: 16px 14px 12px 14px;
  box-sizing: border-box;
}

.trading-card.quick-collect-card .card-headshot-area {
  height: 155px;
}

.trading-card.quick-collect-card .card-headshot {
  width: 140px;
  height: 140px;
  max-height: 140px;
  border-radius: 50%;
  object-fit: cover;
}

.trading-card.quick-collect-card .card-player-name {
  font-size: 1.25rem;
  font-weight: 800;
  margin: 4px 0 6px 0;
}

.trading-card.quick-collect-card .card-stats-rows {
  display: flex !important;
  flex-direction: column !important;
  gap: 5px !important;
  width: 100% !important;
  background: rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  padding: 8px 6px !important;
  margin: 8px 0 10px 0 !important;
  box-sizing: border-box !important;
}

.trading-card.quick-collect-card .card-stats-row {
  display: grid !important;
  gap: 5px !important;
  width: 100% !important;
}

.trading-card.quick-collect-card .card-stats-row.row-5 {
  grid-template-columns: repeat(5, 1fr) !important;
}

.trading-card.quick-collect-card .card-stats-row.row-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

.trading-card.quick-collect-card .card-stats-row.row-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

.trading-card.quick-collect-card .card-stats-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 5px !important;
  width: 100% !important;
  background: rgba(0, 0, 0, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 10px !important;
  padding: 8px 6px !important;
  margin: 8px 0 10px 0 !important;
  box-sizing: border-box !important;
}

.trading-card.quick-collect-card .card-stat {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 6px 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  min-height: 48px;
  box-sizing: border-box;
}

.trading-card.quick-collect-card .card-stat .card-stat-value {
  font-family: 'Outfit', sans-serif;
  font-size: 1.02rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
  white-space: nowrap;
}

.trading-card.quick-collect-card .card-stat .card-stat-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.6rem;
  font-weight: 800;
  color: var(--text-tertiary);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.trading-card.quick-collect-card .card-stat.is-matched-high,
.trading-card.quick-collect-card .card-stat.is-career-high-stat {
  background: rgba(234, 179, 8, 0.2) !important;
  border-color: #eab308 !important;
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.45) !important;
}

.trading-card.quick-collect-card .card-stat.is-matched-high .card-stat-value,
.trading-card.quick-collect-card .card-stat.is-career-high-stat .card-stat-value {
  color: #fbbf24 !important;
  text-shadow: 0 0 8px rgba(251, 191, 36, 0.7) !important;
}

.trading-card.quick-collect-card .card-stat.is-matched-high .card-stat-label,
.trading-card.quick-collect-card .card-stat.is-career-high-stat .card-stat-label {
  color: #fef08a !important;
  font-weight: 900 !important;
}

/* Playful Badges / Stickers on Cards */
.card-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: center;
  width: 100%;
}

.card-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px 8px;
  border-radius: 8px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.badge-career-high {
  background: linear-gradient(135deg, #ef4444, #f97316);
  color: #ffffff;
  border: 1px solid #fca5a5;
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.4);
}

.badge-triple-double {
  background: linear-gradient(135deg, #eab308, #d97706);
  color: #ffffff;
  border: 1px solid #fef08a;
  box-shadow: 0 2px 6px rgba(234, 179, 8, 0.4);
}

.badge-double-double {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: #ffffff;
  border: 1px solid #93c5fd;
}

.badge-80-burger {
  background: linear-gradient(135deg, #ec4899, #f43f5e, #e11d48);
  color: #ffffff;
  border: 1px solid #fecdd3;
  box-shadow: 0 0 14px rgba(236, 72, 153, 0.7);
  animation: holo-border 3s ease infinite alternate;
}

.badge-70-burger {
  background: linear-gradient(135deg, #f43f5e, #ea580c);
  color: #ffffff;
  border: 1px solid #fecdd3;
  box-shadow: 0 2px 10px rgba(244, 63, 94, 0.55);
}

.badge-60-burger {
  background: linear-gradient(135deg, #ea580c, #d97706);
  color: #ffffff;
  border: 1px solid #fed7aa;
  box-shadow: 0 2px 8px rgba(234, 88, 12, 0.5);
}

.badge-50-burger {
  background: linear-gradient(135deg, #a855f7, #6366f1);
  color: #ffffff;
  border: 1px solid #e9d5ff;
  box-shadow: 0 2px 6px rgba(168, 85, 247, 0.4);
}

.badge-40-piece {
  background: linear-gradient(135deg, #06b6d4, #0284c7);
  color: #ffffff;
  border: 1px solid #a5f3fc;
  box-shadow: 0 2px 6px rgba(6, 182, 212, 0.4);
}

.badge-championship {
  background: linear-gradient(135deg, #eab308, #ca8a04);
  color: #ffffff;
  border: 1px solid #fef08a;
  box-shadow: 0 0 12px rgba(234, 179, 8, 0.7);
}

.badge-closeout {
  background: linear-gradient(135deg, #3b82f6, #6366f1);
  color: #ffffff;
  border: 1px solid #bfdbfe;
  box-shadow: 0 2px 6px rgba(59, 130, 246, 0.4);
}

.badge-game7 {
  background: linear-gradient(135deg, #ef4444, #b91c1c);
  color: #ffffff;
  border: 1px solid #fca5a5;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.6);
}

.badge-finals {
  background: linear-gradient(135deg, #eab308, #b45309);
  color: #ffffff;
  border: 1px solid #fde047;
  box-shadow: 0 2px 8px rgba(234, 179, 8, 0.4);
}

.badge-conf-finals-clincher {
  background: linear-gradient(135deg, #d97706, #b45309, #7c2d12);
  color: #ffffff;
  border: 1px solid #fde68a;
  box-shadow: 0 0 10px rgba(217, 119, 6, 0.7);
  font-weight: 900;
}

.badge-conf-finals {
  background: linear-gradient(135deg, #f59e0b, #d97706);
  color: #ffffff;
  border: 1px solid #fef3c7;
  box-shadow: 0 2px 8px rgba(245, 158, 11, 0.5);
}

.badge-elimination {
  background: linear-gradient(135deg, #dc2626, #991b1b);
  color: #ffffff;
  border: 1px solid #fecaca;
  box-shadow: 0 0 10px rgba(220, 38, 38, 0.6);
  font-weight: 800;
}

.badge-playoffs {
  background: linear-gradient(135deg, #8b5cf6, #6d28d9);
  color: #ffffff;
  border: 1px solid #ddd6fe;
}

.badge-nba-record {
  background: linear-gradient(135deg, #f59e0b, #ef4444, #8b5cf6);
  color: #ffffff;
  border: 1px solid #fef08a;
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.8);
  font-weight: 900;
  letter-spacing: 0.5px;
  animation: holo-border 2.5s ease infinite alternate;
}

.badge-franchise-record {
  background: linear-gradient(135deg, #0ea5e9, #6366f1, #a855f7);
  color: #ffffff;
  border: 1px solid #bae6fd;
  box-shadow: 0 0 12px rgba(14, 165, 233, 0.6);
  font-weight: 900;
  letter-spacing: 0.5px;
}

.badge-top-10 {
  background: linear-gradient(135deg, #f59e0b, #ef4444, #ec4899);
  color: #ffffff;
  border: 1px solid #fde68a;
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.7);
  animation: holo-border 3s ease infinite alternate;
}

.badge-top-50 {
  background: linear-gradient(135deg, #8b5cf6, #3b82f6);
  color: #ffffff;
  border: 1px solid #c4b5fd;
  box-shadow: 0 2px 8px rgba(139, 92, 246, 0.5);
}

.badge-top-100 {
  background: linear-gradient(135deg, #0ea5e9, #0284c7);
  color: #ffffff;
  border: 1px solid #7dd3fc;
  box-shadow: 0 2px 6px rgba(14, 165, 233, 0.4);
}

/* Career High Highlighted Stat in Card Grid */
.card-stat.is-career-high-stat {
  background: rgba(234, 179, 8, 0.18) !important;
  border: 1px solid rgba(234, 179, 8, 0.65) !important;
  border-radius: 8px;
  box-shadow: 0 0 8px rgba(234, 179, 8, 0.35);
}

.card-stat.is-career-high-stat .card-stat-value {
  color: #fbbf24 !important;
  text-shadow: 0 0 8px rgba(251, 191, 36, 0.6);
}

.card-stat.is-career-high-stat .card-stat-label {
  color: #fef08a !important;
  font-weight: 900;
}

/* NBA All-Time Record Rainbow Highlighted Stat in Card Grid (matching Platinum Tier) */
.card-stat.is-nba-record-stat {
  background: linear-gradient(135deg, rgba(192, 132, 252, 0.25), rgba(236, 72, 153, 0.25), rgba(56, 189, 248, 0.25)) !important;
  border: 1.5px solid #c084fc !important;
  border-radius: 8px;
  box-shadow: 0 0 12px rgba(192, 132, 252, 0.55), inset 0 0 8px rgba(56, 189, 248, 0.25) !important;
  animation: holo-border 4s ease infinite alternate !important;
}

.card-stat.is-nba-record-stat .card-stat-value {
  color: #ffffff !important;
  font-weight: 900 !important;
  text-shadow: 0 0 8px rgba(192, 132, 252, 0.9), 0 0 16px rgba(56, 189, 248, 0.7) !important;
}

.card-stat.is-nba-record-stat .card-stat-label {
  color: #f5d0fe !important;
  font-weight: 900 !important;
  text-shadow: 0 0 6px rgba(236, 72, 153, 0.7);
}

.card-ot-inline {
  color: #fca5a5;
  font-weight: 800;
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  margin-left: 2px;
  letter-spacing: 0.5px;
  text-shadow: 0 0 8px rgba(239, 68, 68, 0.4);
}

.card-matchup-ch-highlight {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: rgba(234, 179, 8, 0.1);
  border: 1px solid rgba(234, 179, 8, 0.4);
  border-radius: 10px;
  padding: 10px 14px;
  margin-top: 14px;
}

.matchup-ch-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.8rem;
  font-weight: 900;
  color: #fbbf24;
  letter-spacing: 0.5px;
}

.matchup-ch-desc {
  font-size: 0.85rem;
  color: var(--text-primary);
  line-height: 1.4;
}

.badge-brick-city {
  background: linear-gradient(135deg, #78350f, #451a03);
  color: #fed7aa;
  border: 1px solid #b45309;
  box-shadow: 0 2px 6px rgba(120, 53, 15, 0.4);
}

.badge-ice-cold {
  background: linear-gradient(135deg, #1e3a8a, #172554);
  color: #93c5fd;
  border: 1px solid #3b82f6;
  box-shadow: 0 2px 6px rgba(30, 58, 138, 0.4);
}

.badge-turnovers {
  background: linear-gradient(135deg, #b45309, #78350f);
  color: #fef08a;
  border: 1px solid #d97706;
  box-shadow: 0 2px 6px rgba(180, 83, 9, 0.4);
}

.badge-bad-pm {
  background: linear-gradient(135deg, #881337, #4c0519);
  color: #fecdd3;
  border: 1px solid #e11d48;
  box-shadow: 0 2px 6px rgba(136, 19, 55, 0.4);
}

.badge-stinker {
  background: linear-gradient(135deg, #451a03, #291205);
  color: #fed7aa;
  border: 1px solid #78350f;
}

/* Scoreboard Game Card - Team Row Platinum & Diamond Card Icon Badge */
.matchup-card-icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 0.92rem;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.matchup-card-icon-badge:hover {
  transform: scale(1.15);
}

.matchup-card-icon-badge.tier-platinum {
  background: linear-gradient(135deg, rgba(224, 213, 245, 0.25), rgba(168, 85, 247, 0.35));
  border: 1px solid rgba(216, 180, 254, 0.7);
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.45);
  animation: cardBadgePulse 2.4s infinite ease-in-out;
}

.matchup-card-icon-badge.tier-diamond {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(14, 165, 233, 0.35));
  border: 1px solid rgba(56, 189, 248, 0.7);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.45);
  animation: cardBadgePulse 2.4s infinite ease-in-out;
}

.matchup-card-icon-badge.tier-gold {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.2), rgba(202, 138, 4, 0.35));
  border: 1px solid rgba(234, 179, 8, 0.7);
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.4);
}

.matchup-card-icon-badge.tier-emerald {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.35));
  border: 1px solid rgba(16, 185, 129, 0.7);
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.4);
}

.matchup-card-icon-badge.tier-sapphire {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.2), rgba(37, 99, 235, 0.35));
  border: 1px solid rgba(59, 130, 246, 0.7);
  box-shadow: 0 0 10px rgba(59, 130, 246, 0.4);
}

.matchup-card-icon-badge.tier-ruby {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.2), rgba(220, 38, 38, 0.35));
  border: 1px solid rgba(239, 68, 68, 0.7);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.4);
}

.matchup-card-icon-badge.tier-onyx {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.8));
  border: 1px solid rgba(255, 255, 255, 0.4);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.2);
}

@keyframes cardBadgePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.08); }
}

/* Box Score Per-Player Card Collect Button */
.btn-collect-card {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: linear-gradient(135deg, #f59e0b, #ec4899);
  color: #ffffff !important;
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(245, 158, 11, 0.4);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  white-space: nowrap;
  animation: collect-pulse 2s infinite alternate;
}

.btn-collect-card:hover {
  transform: scale(1.08);
  box-shadow: 0 4px 16px rgba(236, 72, 153, 0.6);
}

@keyframes collect-pulse {
  0% { box-shadow: 0 0 6px rgba(245, 158, 11, 0.4); }
  100% { box-shadow: 0 0 14px rgba(236, 72, 153, 0.7); }
}

.btn-create-card-subtle {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: transparent;
  color: var(--text-tertiary);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-create-card-subtle:hover {
  color: var(--accent-cyan);
  border-color: rgba(56, 189, 248, 0.3);
  background: rgba(56, 189, 248, 0.08);
}

.btn-create-card-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  color: var(--text-secondary);
  font-size: 0.88rem;
  font-weight: 900;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  transition: all 0.18s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  flex-shrink: 0;
  user-select: none;
}

.btn-create-card-plus.tier-platinum {
  background: linear-gradient(135deg, rgba(192, 132, 252, 0.25), rgba(56, 189, 248, 0.25));
  border-color: #c084fc;
  color: #f5d0fe;
  box-shadow: 0 0 10px rgba(192, 132, 252, 0.5);
  animation: holo-plus-pulse 3s infinite alternate;
}

.btn-create-card-plus.tier-diamond {
  background: rgba(56, 189, 248, 0.2);
  border-color: #38bdf8;
  color: #38bdf8;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.5);
}

.btn-create-card-plus.tier-gold {
  background: rgba(234, 179, 8, 0.2);
  border-color: #eab308;
  color: #fbbf24;
  box-shadow: 0 0 8px rgba(234, 179, 8, 0.5);
}

.btn-create-card-plus.tier-silver {
  background: rgba(148, 163, 184, 0.2);
  border-color: #cbd5e1;
  color: #ffffff;
  box-shadow: 0 0 6px rgba(148, 163, 184, 0.3);
}

.btn-create-card-plus.tier-bronze {
  background: rgba(180, 83, 9, 0.2);
  border-color: #cd7f32;
  color: #fed7aa;
}

.btn-create-card-plus.tier-brown {
  background: rgba(120, 53, 15, 0.25);
  border-color: #78350f;
  color: #d97706;
  box-shadow: 0 0 6px rgba(120, 53, 15, 0.4);
}

.btn-create-card-plus.is-collected {
  background: rgba(34, 197, 94, 0.2);
  border-color: #22c55e;
  color: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.4);
}

.btn-create-card-plus.tier-none {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.12);
  color: var(--text-tertiary);
  opacity: 0.6;
}

.btn-create-card-plus.tier-none:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
  opacity: 1;
}

.btn-create-card-plus:hover {
  transform: scale(1.25);
}

@keyframes holo-plus-pulse {
  0% { box-shadow: 0 0 6px rgba(192, 132, 252, 0.6); }
  50% { box-shadow: 0 0 12px rgba(56, 189, 248, 0.7); }
  100% { box-shadow: 0 0 6px rgba(244, 63, 94, 0.6); }
}

.badge-card-collected {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.7rem;
  font-weight: 700;
  color: #22c55e;
  background: rgba(34, 197, 94, 0.12);
  padding: 2px 8px;
  border-radius: 12px;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

/* Career Highs Showcase Box */
.career-highs-panel {
  background: rgba(234, 179, 8, 0.05);
  border: 1px solid rgba(234, 179, 8, 0.25);
  border-radius: 12px;
  padding: 12px 14px;
  margin-bottom: 14px;
}

.career-highs-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
  text-align: center;
}

.ch-stat-box {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 6px 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  transition: all 0.15s ease;
}

.ch-stat-box.is-matched-high {
  background: rgba(234, 179, 8, 0.15);
  border-color: #eab308;
  box-shadow: 0 0 8px rgba(234, 179, 8, 0.3);
}

.ch-stat-val {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
}

.ch-stat-box.is-matched-high .ch-stat-val {
  color: #fbbf24;
}

.ch-stat-lbl {
  font-family: 'Outfit', sans-serif;
  font-size: 0.62rem;
  font-weight: 800;
  color: var(--text-tertiary);
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

/* Modals & Detail Overlays */
.card-detail-modal {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 100000 !important;
  display: none;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  background: transparent !important;
  -webkit-overflow-scrolling: touch;
}

.card-detail-modal.active {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.card-detail-backdrop {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  z-index: 1 !important;
}

.card-detail-panel {
  position: relative !important;
  z-index: 2 !important;
  background: #0e121a;
  border: 1px solid var(--border-subtle);
  border-radius: 24px;
  padding: 28px;
  max-width: 880px;
  width: 95vw;
  margin: auto !important;
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.95);
  box-sizing: border-box !important;
}

.card-detail-2col-layout {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 28px;
  align-items: start;
  width: 100%;
}

@media (max-width: 840px) {
  .card-detail-2col-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .card-detail-panel {
    max-width: 460px;
    padding: 20px;
  }
}

.card-detail-left-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.card-detail-right-col {
  display: flex;
  flex-direction: column;
  width: 100%;
  gap: 16px;
}

.card-detail-section-title {
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.6px;
  margin-bottom: 8px;
}

.why-important-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 260px;
  overflow-y: auto;
  padding-right: 4px;
}

.why-important-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  padding: 9px 12px;
  font-size: 0.85rem;
  line-height: 1.45;
  color: var(--text-primary);
}

.why-important-item.why-important-item-rainbow {
  background: linear-gradient(135deg, rgba(192, 132, 252, 0.18), rgba(236, 72, 153, 0.18), rgba(56, 189, 248, 0.18)) !important;
  border: 1.5px solid #c084fc !important;
  box-shadow: 0 0 18px rgba(192, 132, 252, 0.4), inset 0 0 14px rgba(56, 189, 248, 0.18) !important;
  animation: holo-border 4s ease infinite alternate !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}

.why-important-item-rainbow .why-item-icon {
  filter: drop-shadow(0 0 8px #fbbf24);
}

.why-important-item.why-important-item-gold {
  background: rgba(234, 179, 8, 0.12) !important;
  border: 1.5px solid #eab308 !important;
  border-radius: 10px;
  box-shadow: 0 0 14px rgba(234, 179, 8, 0.35), inset 0 0 10px rgba(234, 179, 8, 0.1) !important;
  color: #fef08a !important;
  font-weight: 700 !important;
}

.why-important-item-gold .why-item-icon {
  filter: drop-shadow(0 0 8px #eab308);
}

.why-important-item.why-important-item-clincher {
  background: rgba(245, 158, 11, 0.12) !important;
  border: 1.5px solid #f59e0b !important;
  border-radius: 10px;
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.35), inset 0 0 10px rgba(245, 158, 11, 0.1) !important;
  color: #fde68a !important;
  font-weight: 700 !important;
}

.why-important-item-clincher .why-item-icon {
  filter: drop-shadow(0 0 8px #f59e0b);
}

.card-ot-pill {
  background: rgba(239, 68, 68, 0.25);
  border: 1px solid rgba(239, 68, 68, 0.65);
  color: #fca5a5;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 6px;
  margin-left: 6px;
  letter-spacing: 0.5px;
  box-shadow: 0 0 8px rgba(239, 68, 68, 0.35);
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.why-item-icon {
  font-size: 1.1rem;
  flex-shrink: 0;
  line-height: 1.2;
}

.why-item-text {
  flex: 1;
}

.stat-win {
  color: #22c55e !important;
  font-weight: 900 !important;
  text-shadow: 0 0 10px rgba(34, 197, 94, 0.4);
}

.stat-loss {
  color: #ef4444 !important;
  font-weight: 900 !important;
  text-shadow: 0 0 10px rgba(239, 68, 68, 0.3);
}

.stat-pos {
  color: #38bdf8 !important;
}

.stat-neg {
  color: #f87171 !important;
}

.font-mono-sm {
  font-size: 0.92rem !important;
  letter-spacing: -0.5px;
}

.boxscore-modal-panel {
  max-width: 1200px !important;
  width: 95vw !important;
  margin: 16px auto !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

.career-high-highlight-row {
  background: rgba(234, 179, 8, 0.12) !important;
  border-left: 4px solid #eab308 !important;
  box-shadow: 0 0 15px rgba(234, 179, 8, 0.2) inset;
}

.ch-table-stat-badge {
  background: rgba(234, 179, 8, 0.25) !important;
  border: 1.5px solid #eab308 !important;
  color: #fbbf24 !important;
  font-weight: 900 !important;
  border-radius: 6px !important;
  padding: 2px 7px !important;
  box-shadow: 0 0 10px rgba(234, 179, 8, 0.45) !important;
  display: inline-block !important;
}

.matchup-banner-ot-badge {
  background: rgba(239, 68, 68, 0.22);
  border: 1px solid #ef4444;
  color: #fca5a5;
  font-size: 0.75rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 6px;
  margin-left: 8px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

/* Single Game Leaders - Matchup Boxscore Link */
.matchup-boxscore-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text-primary);
  text-decoration: none;
  font-family: 'Geist Mono', monospace;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  transition: all 0.16s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  line-height: 1.4;
}

.matchup-boxscore-link:hover {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.25);
  text-decoration: none;
  transform: translateY(-1px);
}

.matchup-boxscore-link .matchup-text {
  letter-spacing: -0.2px;
}

.matchup-boxscore-link .boxscore-link-icon {
  font-size: 0.76rem;
  opacity: 0.7;
  transition: transform 0.16s ease, opacity 0.16s ease;
  line-height: 1;
}

.matchup-boxscore-link:hover .boxscore-link-icon {
  opacity: 1;
  transform: scale(1.2);
}

.podium-matchup-link {
  font-size: 0.8rem;
  padding: 1px 7px;
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.12);
}

.card-detail-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text-primary);
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.85rem;
  transition: background 0.15s ease;
  z-index: 10;
}

.card-detail-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

.card-detail-card {
  border-radius: 18px;
  padding: 14px 16px;
  margin: 0 auto;
}

.personal-note-textarea {
  width: 100%;
  min-height: 80px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  padding: 10px;
  color: var(--text-primary);
  font-family: inherit;
  font-size: 0.85rem;
  resize: vertical;
  margin-top: 6px;
}

.personal-note-textarea:focus {
  outline: none;
  border-color: var(--accent-cyan);
}

/* Milestone Celebration Modal */
.milestone-celebration {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.88);
  backdrop-filter: blur(10px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  padding: 20px;
}

.milestone-celebration.active {
  opacity: 1;
  pointer-events: auto;
}

.milestone-celebration-content {
  background: linear-gradient(180deg, #1a162b 0%, #0d0a17 100%);
  border: 2px solid #a855f7;
  border-radius: 28px;
  padding: 40px 32px;
  text-align: center;
  max-width: 440px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(168, 85, 247, 0.5);
  transform: scale(0.8);
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.milestone-celebration.active .milestone-celebration-content {
  transform: scale(1);
}

/* Card Toast Notification */
.card-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #1e293b;
  color: #ffffff;
  border: 1px solid var(--accent-cyan);
  padding: 12px 20px;
  border-radius: 14px;
  font-family: 'Outfit', sans-serif;
  font-weight: 700;
  font-size: 0.9rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  z-index: 2000050 !important;
  transform: translateY(20px);
  opacity: 0;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.card-toast.show {
  transform: translateY(0);
  opacity: 1;
}

/* Create Card Search Rows */
.create-card-player-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease;
}

.create-card-player-row:hover {
  background: rgba(255, 255, 255, 0.05);
}

.create-card-game-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  margin-bottom: 6px;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.create-card-game-row:hover:not(.already-collected) {
  background: rgba(56, 189, 248, 0.08);
  border-color: rgba(56, 189, 248, 0.3);
}

/* ==============================================================================
   CARD BATTLE ARENA & GAME SIMULATION STYLES
   ============================================================================== */

.battle-header-card {
  padding: 14px 20px;
  margin-bottom: 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: radial-gradient(circle at top right, rgba(56, 189, 248, 0.08), rgba(15, 23, 42, 0.6) 70%);
  transition: all 0.25s ease;
}

.battle-header-card.is-collapsed {
  padding: 10px 20px;
  margin-bottom: 10px !important;
}

.battle-header-card.is-collapsed .battle-header-top {
  margin-bottom: 0 !important;
}

.battle-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 10px;
}

.battle-mode-selector-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

@media (max-width: 860px) {
  .battle-mode-selector-wrap {
    align-items: flex-start;
    width: 100%;
  }
}

.battle-mode-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--accent-cyan);
  text-transform: uppercase;
}

.battle-mode-toggle-group {
  display: flex;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 9999px;
  padding: 3px;
  gap: 4px;
}

.battle-mode-pill {
  background: transparent;
  border: none;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  gap: 6px;
}

.battle-mode-pill:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.battle-mode-pill.active {
  background: linear-gradient(135deg, #0ea5e9 0%, #3b82f6 100%);
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(14, 165, 233, 0.4);
}

/* 4-Quarter Simulation Settings Bar */
.battle-sim-settings-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 10px 14px;
  margin-bottom: 10px;
}

.sim-setting-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 170px;
  flex: 1;
}

.sim-setting-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.sim-setting-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--accent-cyan);
  text-transform: uppercase;
}

.sim-setting-val-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 9999px;
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
}

.battle-speed-toggle-group {
  display: flex;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 2px;
  gap: 3px;
}

.battle-speed-pill {
  flex: 1;
  background: transparent;
  border: none;
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 0.74rem;
  font-weight: 700;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.18s ease;
  white-space: nowrap;
  text-align: center;
}

.battle-speed-pill:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.battle-speed-pill.active {
  background: linear-gradient(135deg, #0284c7 0%, #2563eb 100%);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(2, 132, 199, 0.4);
}

.sim-slider-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sim-range-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.15);
  outline: none;
  cursor: pointer;
}

.sim-range-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #38bdf8;
  cursor: pointer;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.8);
  border: 2px solid #ffffff;
  transition: transform 0.1s ease;
}

.sim-range-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

.sim-slider-ticks {
  display: flex;
  justify-content: space-between;
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  color: var(--text-tertiary);
}

.battle-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.btn-battle-start {
  margin-left: auto;
  font-size: 0.95rem;
  font-weight: 900;
  letter-spacing: 0.03em;
  padding: 10px 24px;
  background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  box-shadow: 0 4px 20px rgba(239, 68, 68, 0.45);
  transform-origin: center;
  animation: pulse-glow 2.5s infinite;
}

.btn-battle-start:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 6px 25px rgba(239, 68, 68, 0.65);
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4); }
  50% { box-shadow: 0 4px 25px rgba(245, 158, 11, 0.7); }
}

/* Arena Grid & Lineups */
/* ==================== CARD BATTLE ARENA (HORIZONTAL 2-ROW REDESIGN) ==================== */
.battle-lineups-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 0;
}

.battle-lineups-container .collapsible-card.is-collapsed {
  margin-bottom: 0 !important;
}

.team-roster-row {
  background: rgba(15, 23, 42, 0.7);
  backdrop-filter: blur(20px);
  border-radius: 16px;
  padding: 12px 18px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: all 0.2s ease;
}

.team-a-row {
  border-left: 4px solid #38bdf8;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.05) 0%, rgba(15, 23, 42, 0.75) 100%);
}

.team-b-row {
  border-left: 4px solid #f43f5e;
  background: linear-gradient(135deg, rgba(244, 63, 94, 0.05) 0%, rgba(15, 23, 42, 0.75) 100%);
}

.team-roster-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.team-roster-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-secondary);
}

.horizontal-roster-track {
  display: flex;
  align-items: stretch;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.roster-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  min-width: 0;
}

.starters-group {
  flex: 5;
}

.bench-group {
  flex: 5;
}

.group-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.74rem;
  font-weight: 800;
  color: var(--text-tertiary);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.group-slots {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 10px;
}

.roster-divider {
  width: 1px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 4px;
  align-self: stretch;
}

/* Vertical Card Outline Slots */
.card-outline-slot {
  background: rgba(15, 23, 42, 0.5);
  border: 2px dashed rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  min-height: 185px;
  height: 185px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  user-select: none;
}

.card-outline-slot:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.35);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
}

.card-outline-slot.drag-over {
  background: rgba(56, 189, 248, 0.2) !important;
  border: 2px solid #38bdf8 !important;
  transform: scale(1.04) translateY(-4px) !important;
  box-shadow: 0 0 25px rgba(56, 189, 248, 0.6) !important;
  z-index: 10;
}

.card-outline-slot.has-card {
  border-style: solid;
  border-width: 1.5px;
  background: rgba(10, 15, 30, 0.9);
  padding: 0;
}

.card-outline-slot.has-card .slot-pos-badge {
  display: none !important;
}

.card-outline-slot .slot-pos-badge {
  position: absolute;
  top: 6px;
  left: 6px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  z-index: 2;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}

/* Empty Slot Content */
.card-outline-slot .slot-content.empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 100%;
  padding: 12px 8px;
  text-align: center;
}

.slot-plus {
  font-size: 1.3rem;
  opacity: 0.7;
  transition: transform 0.2s ease;
}

.card-outline-slot:hover .slot-plus {
  transform: scale(1.2);
  opacity: 1;
}

.slot-pos-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--text-secondary);
  line-height: 1.1;
}

.slot-drag-hint {
  font-size: 0.68rem;
  color: var(--text-tertiary);
  font-weight: 500;
  background: rgba(255, 255, 255, 0.04);
  padding: 2px 6px;
  border-radius: 4px;
}

/* Filled Card Preview Inside Outline */
.slot-card-preview {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 8px;
  position: relative;
  box-sizing: border-box;
  cursor: grab;
  user-select: none;
}

.slot-card-preview.is-dragging {
  opacity: 0.35;
  cursor: grabbing;
}

.slot-card-top-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  margin-bottom: 4px;
  min-height: 18px;
}

.slot-card-pos {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
}

.slot-card-tier-pill {
  font-size: 0.64rem;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  text-transform: uppercase;
}

.slot-card-portrait-wrap {
  width: 100%;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}

.slot-card-portrait {
  height: 74px;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.6));
}

.slot-card-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 4px;
}

.slot-card-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.slot-card-team-date {
  font-size: 0.68rem;
  color: var(--text-tertiary);
  font-family: 'Geist Mono', monospace;
}

.slot-card-stats-grid {
  display: flex;
  justify-content: space-around;
  align-items: center;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 6px;
  padding: 3px 4px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
}

.slot-card-stats-grid .stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1;
}

.slot-card-stats-grid .stat-item strong {
  color: #ffffff;
  font-size: 0.72rem;
}

.slot-card-stats-grid .stat-item small {
  color: var(--text-tertiary);
  font-size: 0.55rem;
}

.card-outline-slot .slot-remove-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  background: rgba(239, 68, 68, 0.8);
  border: none;
  color: #ffffff;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  font-size: 0.65rem;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 5;
  transition: all 0.2s ease;
}

.card-outline-slot:hover .slot-remove-btn {
  display: flex;
}

.card-outline-slot .slot-remove-btn:hover {
  background: #ef4444;
  transform: scale(1.15);
}

/* Card Deck Drawer */
.battle-deck-drawer {
  padding: 14px 18px;
  margin-top: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.2s ease;
}

.battle-deck-drawer.drag-over {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 25px rgba(56, 189, 248, 0.45) !important;
  background: rgba(56, 189, 248, 0.05);
}

.deck-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.deck-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.deck-title-group .sub-label {
  font-size: 0.78rem;
  color: var(--text-secondary);
}

.deck-filters {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.battle-deck-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 12px;
  max-height: 480px;
  overflow-y: auto;
  padding: 4px;
}

.deck-card-item {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  cursor: grab;
  user-select: none;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}

.deck-card-item:hover {
  transform: translateY(-3px) scale(1.02);
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.deck-card-item.is-dragging {
  opacity: 0.4;
  cursor: grabbing;
}

.deck-card-item.in-roster {
  opacity: 0.55;
  border-color: rgba(255, 255, 255, 0.06);
}

.deck-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.deck-pos-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.1);
  padding: 2px 6px;
  border-radius: 4px;
}

.deck-card-thumb {
  width: 100%;
  height: 90px;
  object-fit: cover;
  border-radius: 8px;
  background: #111;
}

.deck-card-player {
  font-size: 0.84rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.deck-card-sub {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  display: flex;
  justify-content: space-between;
}

.deck-card-stats-row {
  display: flex;
  justify-content: space-between;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  color: var(--text-secondary);
  background: rgba(0, 0, 0, 0.3);
  padding: 3px 6px;
  border-radius: 4px;
}

.deck-assigned-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  color: #38bdf8;
  font-weight: 800;
  text-align: center;
  background: rgba(56, 189, 248, 0.1);
  padding: 2px 4px;
  border-radius: 4px;
  border: 1px solid rgba(56, 189, 248, 0.2);
}

.deck-drag-hint {
  font-size: 0.65rem;
  color: var(--text-tertiary);
  font-weight: 600;
  text-align: center;
  padding: 2px 0;
  letter-spacing: 0.02em;
}

/* Tier Glow Borders for Cards */
.tier-platinum-border { border-color: #38bdf8 !important; box-shadow: 0 0 10px rgba(56, 189, 248, 0.25); }
.tier-diamond-border { border-color: #a855f7 !important; box-shadow: 0 0 10px rgba(168, 85, 247, 0.25); }
.tier-gold-border { border-color: #fbbf24 !important; box-shadow: 0 0 10px rgba(251, 191, 36, 0.2); }
.tier-silver-border { border-color: #94a3b8 !important; }
.tier-bronze-border { border-color: #d97706 !important; }
.tier-brown-border { border-color: #78350f !important; }

/* ==============================================================================
   BATTLE SIMULATION MODAL (SINGLE UNIFIED SCROLL OVERLAY, 100PX TOP CLEARANCE)
   ============================================================================== */
.battle-sim-modal-overlay,
#battle-sim-modal {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  z-index: 999999 !important;
  display: none;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 100px 16px 80px 16px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}

.battle-sim-modal-overlay.active,
#battle-sim-modal.active {
  display: block !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.battle-sim-modal-overlay .card-detail-backdrop {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(0, 0, 0, 0.88) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  z-index: 1 !important;
}

.battle-modal-panel {
  width: 96vw !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  background: #090d16 !important;
  border: 1.5px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 16px !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95) !important;
  display: block !important;
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 2 !important;
  box-sizing: border-box !important;
}

/* Modal Header */
.battle-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding: 16px 60px 16px 20px;
  background: linear-gradient(180deg, #131d31 0%, #0b1120 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px 16px 0 0;
  position: relative;
  z-index: 10;
}

.battle-modal-subtitle {
  font-size: 0.76rem;
  font-weight: 800;
  color: var(--accent-cyan);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: block;
}

.battle-modal-title {
  margin: 4px 0 0 0;
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.02em;
}

.battle-close-btn {
  position: absolute !important;
  top: 16px !important;
  right: 18px !important;
  background: rgba(255, 255, 255, 0.12) !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  font-size: 1rem !important;
  transition: all 0.2s ease !important;
  z-index: 25 !important;
}

.battle-close-btn:hover {
  background: rgba(239, 68, 68, 0.85) !important;
  border-color: #ef4444 !important;
  transform: scale(1.1) !important;
}

/* Modal Body */
.battle-modal-body {
  overflow: visible !important;
  height: auto !important;
  max-height: none !important;
  padding: 16px 20px 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}

.battle-modal-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding-top: 12px;
  margin-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

/* Option 1: Stat Clash Arena */
.duel-arena-wrap {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ==================== ULTRA-COMPACT 50% HEIGHT DUEL ROWS ==================== */
.compact-duels-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.compact-duel-row {
  display: grid;
  grid-template-columns: 200px 1fr 36px 1fr auto;
  align-items: center;
  gap: 10px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 6px 14px;
  min-height: 48px;
  transition: all 0.2s ease;
}

.compact-duel-row:hover {
  background: rgba(30, 41, 59, 0.75);
  border-color: rgba(255, 255, 255, 0.25);
}

.compact-duel-row.winner-a {
  border-left: 3.5px solid #38bdf8;
  background: linear-gradient(90deg, rgba(56, 189, 248, 0.1) 0%, rgba(15, 23, 42, 0.75) 100%);
}

.compact-duel-row.winner-b {
  border-right: 3.5px solid #f43f5e;
  background: linear-gradient(270deg, rgba(244, 63, 94, 0.1) 0%, rgba(15, 23, 42, 0.75) 100%);
}

.duel-row-badge-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.duel-row-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.compact-fighter {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.compact-fighter.fighter-a {
  justify-content: flex-end;
}

.compact-fighter.fighter-b {
  justify-content: flex-start;
}

.compact-fighter.won {
  border-color: #22c55e;
  background: rgba(34, 197, 94, 0.14);
}

.compact-fighter-img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
}

.compact-fighter.won .compact-fighter-img {
  border-color: #22c55e;
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.5);
}

.compact-fighter-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 140px;
}

.compact-fighter-pts {
  font-family: 'Geist Mono', monospace;
  font-size: 0.82rem;
  font-weight: 800;
  color: #ffffff;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
}

.compact-fighter.fighter-a .compact-fighter-pts {
  color: #38bdf8;
}

.compact-fighter.fighter-b .compact-fighter-pts {
  color: #f43f5e;
}

.compact-fighter.won .compact-fighter-pts {
  background: rgba(34, 197, 94, 0.25);
  color: #4ade80;
}

.compact-vs-divider {
  font-family: 'Outfit', sans-serif;
  font-weight: 900;
  font-size: 0.76rem;
  color: var(--text-tertiary);
  text-align: center;
}

.compact-duel-tags {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.duel-mini-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.25);
  white-space: nowrap;
}

.duel-scoreboard.compact {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 14px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.duel-score-team {
  display: flex;
  align-items: center;
  gap: 8px;
}

.duel-team-label {
  font-size: 0.78rem;
  font-weight: 800;
}

.duel-score-team.team-a .duel-team-label,
.duel-score-team.team-a .duel-team-score {
  color: #38bdf8;
}

.duel-score-team.team-b .duel-team-label,
.duel-score-team.team-b .duel-team-score {
  color: #f43f5e;
}

.duel-team-score {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
}

.duel-vs-tag {
  font-size: 0.8rem;
  font-weight: 900;
  color: var(--text-tertiary);
}

/* Option 2: 4-Quarter Live Game Sim Arena */
.sim-arena-wrap {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Authentic NBA Arena Jumbotron Broadcast Scoreboard */
.sim-arena-header.nba-scoreboard-chassis {
  background: linear-gradient(180deg, #141824 0%, #0c0f17 55%, #07090f 100%);
  border: 2px solid #283144;
  border-radius: 14px;
  padding: 8px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.12), inset 0 -1px 0 rgba(0, 0, 0, 0.9);
  position: relative;
  user-select: none;
}

/* Top Metallic Ribbon / Title Bar */
.scoreboard-top-ribbon {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: none;
  padding-bottom: 2px;
}

.scoreboard-league-tag {
  display: flex;
  align-items: center;
  gap: 7px;
}

.nba-logo-mini {
  font-size: 0.95rem;
  line-height: 1;
}

.scoreboard-league-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #94a3b8;
  text-transform: uppercase;
}

.scoreboard-status-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 800;
  color: #ef4444;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  padding: 2px 8px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.08em;
}

.scoreboard-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 8px #ef4444;
  animation: blink-live 1.2s infinite ease-in-out;
}

@keyframes blink-live {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.3; transform: scale(0.85); }
}

/* Main Jumbotron Center Grid: Team A Pod | Clock Tower | Team B Pod */
.nba-jumbotron-grid {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto minmax(200px, 1fr);
  gap: 16px;
  align-items: center;
  background: radial-gradient(ellipse at center, rgba(30, 41, 59, 0.45) 0%, rgba(15, 23, 42, 0.75) 100%);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  padding: 8px 14px;
}

/* Team Pod Styling */
.scoreboard-team-box {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.scoreboard-team-box.team-b-box {
  align-items: flex-end;
}

.team-header-row {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.team-a-box .team-header-row {
  justify-content: flex-start;
}

.team-b-box .team-header-row {
  justify-content: flex-end;
}

.team-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 3px 8px;
  max-width: 170px;
}

.team-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.team-dot.dot-a {
  background: #38bdf8;
  box-shadow: 0 0 8px #38bdf8;
}

.team-dot.dot-b {
  background: #f43f5e;
  box-shadow: 0 0 8px #f43f5e;
}

.scoreboard-team-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: #f8fafc;
  letter-spacing: 0.03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.team-sub-indicators {
  display: flex;
  align-items: center;
  gap: 6px;
}

.scoreboard-poss-light {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  color: #475569;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.05);
  padding: 2px 6px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.scoreboard-poss-light.active {
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.2);
  border-color: rgba(245, 158, 11, 0.6);
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.5);
}

.scoreboard-bonus-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6rem;
  font-weight: 800;
  color: #64748b;
  background: rgba(0, 0, 0, 0.3);
  padding: 2px 5px;
  border-radius: 3px;
  letter-spacing: 0.05em;
}

.team-score-wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.team-b-box .team-score-wrapper {
  flex-direction: row-reverse;
}

.score-led-plate {
  background: #020617;
  border: 2px solid #1e293b;
  border-radius: 8px;
  padding: 4px 16px;
  min-width: 85px;
  text-align: center;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.9), 0 2px 4px rgba(0, 0, 0, 0.5);
}

.sim-led-score {
  font-family: 'Geist Mono', monospace;
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.04em;
  display: inline-block;
}

.sim-led-score.score-a {
  color: #38bdf8;
  text-shadow: 0 0 16px rgba(56, 189, 248, 0.65), 0 0 30px rgba(56, 189, 248, 0.3);
}

.sim-led-score.score-b {
  color: #f43f5e;
  text-shadow: 0 0 16px rgba(244, 63, 94, 0.65), 0 0 30px rgba(244, 63, 94, 0.3);
}

.team-tol-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}

.tol-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.58rem;
  font-weight: 800;
  color: #94a3b8;
  letter-spacing: 0.06em;
}

.tol-dots {
  display: flex;
  gap: 3px;
}

.tol-dot {
  width: 6px;
  height: 6px;
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.12);
}

.tol-dot.active {
  background: #e2e8f0;
  box-shadow: 0 0 5px rgba(226, 232, 240, 0.8);
}

/* Center Clock Tower */
.scoreboard-center-tower {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: linear-gradient(180deg, #0a0e18 0%, #03060f 100%);
  border: 1.5px solid #334155;
  border-radius: 10px;
  padding: 6px 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  min-width: 140px;
}

.tower-period-box {
  display: flex;
  align-items: center;
  gap: 6px;
}

.period-title-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #94a3b8;
}

.sim-period-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 900;
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.4);
  padding: 1px 6px;
  border-radius: 4px;
  letter-spacing: 0.06em;
}

.tower-game-clock-plate {
  background: #000000;
  border: 1.5px solid #1e293b;
  border-radius: 6px;
  padding: 3px 12px;
  box-shadow: inset 0 2px 5px rgba(0, 0, 0, 0.95);
}

.sim-game-clock-digits {
  font-family: 'Geist Mono', monospace;
  font-size: 1.85rem;
  font-weight: 900;
  color: #f8fafc;
  letter-spacing: 0.06em;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.35);
  line-height: 1;
}

.tower-shot-clock-box {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 1px;
}

.shot-clock-label {
  font-family: 'Outfit', sans-serif;
  font-size: 0.58rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #ef4444;
}

.shot-clock-plate {
  background: #180507;
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 4px;
  padding: 1px 6px;
}

.sim-shot-clock-digits {
  font-family: 'Geist Mono', monospace;
  font-size: 1rem;
  font-weight: 900;
  color: #ef4444;
  text-shadow: 0 0 8px rgba(239, 68, 68, 0.8);
  line-height: 1;
}

/* Integrated Scoreboard Bottom Shelf (Matrix Linescore & Arena Controls) */
.scoreboard-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  border-top: none;
  padding-top: 4px;
}

.scoreboard-matrix-wrap {
  flex: 1 1 500px;
  min-width: 320px;
  max-width: 580px;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.sim-linescore-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Geist Mono', monospace;
  font-size: 0.84rem;
  text-align: center;
}

.sim-linescore-table th {
  background: rgba(255, 255, 255, 0.08);
  color: #94a3b8;
  font-weight: 700;
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 5px 8px;
  font-size: 0.74rem;
  letter-spacing: 0.06em;
}

.sim-linescore-table td {
  border: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.4);
  color: #cbd5e1;
  padding: 5px 8px;
  font-size: 0.84rem;
  height: 28px;
}

/* In-game Arena Controls Toolbar */
.sim-arena-controls {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sim-ctrl-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.sim-ctrl-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.3);
}

.sim-ctrl-btn.active {
  background: #38bdf8;
  color: #090d16;
  font-weight: 900;
  border-color: #38bdf8;
}

@media (max-width: 860px) {
  .nba-jumbotron-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .scoreboard-center-tower {
    grid-column: 1 / -1;
    order: -1;
  }
  .scoreboard-bottom-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .scoreboard-matrix-wrap {
    max-width: 100%;
  }
  .sim-arena-controls {
    justify-content: center;
  }
}

/* Tactical Hardwood Court Arena */
.sim-court-stage {
  position: relative;
  width: 100%;
  height: 400px;
  background: 
    repeating-linear-gradient(90deg, rgba(0,0,0,0.06) 0px, rgba(0,0,0,0.06) 12px, transparent 12px, transparent 24px),
    radial-gradient(ellipse at center, #854d0e 0%, #713f12 55%, #451a03 100%);
  border-top: 2px solid #ca8a04;
  border-bottom: 2px solid #ca8a04;
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.85);
  border-radius: 14px;
  overflow: hidden;
  user-select: none;
}

.court-floor-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0.55;
}

/* 5v5 Tactical Player Cards on Court */
.sim-court-card {
  position: absolute;
  width: 90px;
  background: rgba(15, 23, 42, 0.92);
  border-radius: 10px;
  border: 2px solid rgba(255, 255, 255, 0.2);
  padding: 5px 6px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(8px);
  transform: translate(-50%, -50%);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease, border-color 0.2s ease;
  z-index: 10;
}

/* Default border color matches team color */
.sim-court-card.court-team-a {
  border-color: #38bdf8;
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.45), 0 8px 16px rgba(0, 0, 0, 0.65);
}

.sim-court-card.court-team-b {
  border-color: #f43f5e;
  box-shadow: 0 0 14px rgba(244, 63, 94, 0.45), 0 8px 16px rgba(0, 0, 0, 0.65);
}

.sim-court-card.has-ball {
  border-color: #f59e0b !important;
  box-shadow: 0 0 22px rgba(245, 158, 11, 0.85), 0 8px 18px rgba(0, 0, 0, 0.7);
  transform: translate(-50%, -50%) scale(1.1);
  z-index: 20;
  animation: pulse-possession 1.2s infinite alternate;
}

.sim-court-card.is-scoring {
  border-color: #10b981 !important;
  box-shadow: 0 0 32px rgba(16, 185, 129, 0.95), 0 0 16px rgba(16, 185, 129, 0.7) !important;
  transform: translate(-50%, -50%) scale(1.18);
  z-index: 25;
}

@keyframes pulse-possession {
  0% { box-shadow: 0 0 10px rgba(245, 158, 11, 0.5); }
  100% { box-shadow: 0 0 24px rgba(245, 158, 11, 0.95); }
}

.sim-court-card-headshot {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.5);
}

.court-team-a .sim-court-card-headshot {
  border-color: rgba(56, 189, 248, 0.7);
}

.court-team-b .sim-court-card-headshot {
  border-color: rgba(244, 63, 94, 0.7);
}

.sim-court-card-pos-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  font-weight: 900;
  padding: 1px 4px;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.75);
}

.sim-court-card-name {
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 82px;
  margin-top: 3px;
  text-align: center;
}

.sim-court-card-pts {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 800;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  padding: 1px 5px;
  border-radius: 4px;
  margin-top: 2px;
}

.court-team-b .sim-court-card-pts {
  color: #f43f5e;
  background: rgba(244, 63, 94, 0.12);
}

/* Substitution Animations */
.sub-slide-out {
  animation: subSlideOut 0.65s cubic-bezier(0.4, 0, 0.2, 1) forwards !important;
}

@keyframes subSlideOut {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(-50%, calc(-50% + 55px)) scale(0.6);
    opacity: 0;
  }
}

.sub-slide-in {
  animation: subSlideIn 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) forwards !important;
}

@keyframes subSlideIn {
  0% {
    transform: translate(-50%, calc(-50% - 55px)) scale(0.6);
    opacity: 0;
  }
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }
}

.sub-in-badge {
  position: absolute;
  top: -8px;
  background: #10b981;
  color: #ffffff;
  font-size: 0.58rem;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 9999px;
  box-shadow: 0 0 10px rgba(16, 185, 129, 0.8);
  animation: bounceBadge 0.6s ease;
}

@keyframes bounceBadge {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

/* Big Play Highlight Overlay */
.court-screen-shake {
  animation: screenShake 0.45s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
}

@keyframes screenShake {
  10%, 90% { transform: translate3d(-3px, 0, 0); }
  20%, 80% { transform: translate3d(4px, -3px, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 3px, 0); }
  40%, 60% { transform: translate3d(4px, 1px, 0); }
}

.sim-highlight-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.94) 100%);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  box-sizing: border-box;
  z-index: 50;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.sim-highlight-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

/* Side-by-Side Highlight Stage: Info on Left, 2X Animated GIF on Right */
.highlight-split-stage {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
  max-width: 920px;
  height: 100%;
  box-sizing: border-box;
}

.highlight-left-pane {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 16px;
  flex: 0 0 350px;
  max-width: 370px;
  animation: popCard 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.highlight-action-banner {
  font-family: 'Outfit', sans-serif;
  font-size: 1.3rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  padding: 7px 22px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
  color: #ffffff;
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.75), 0 4px 15px rgba(0, 0, 0, 0.8);
  animation: popBanner 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

@keyframes popBanner {
  0% { transform: scale(0.6) rotate(-2deg); opacity: 0; }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

.highlight-card-pop {
  display: flex;
  align-items: center;
  gap: 14px;
  background: rgba(15, 23, 42, 0.96);
  border: 2px solid #fbbf24;
  border-radius: 14px;
  padding: 12px 18px;
  box-shadow: 0 0 25px rgba(251, 191, 36, 0.5), 0 8px 25px rgba(0, 0, 0, 0.75);
  width: 100%;
  box-sizing: border-box;
}

@keyframes popCard {
  0% { transform: translateX(-20px) scale(0.9); opacity: 0; }
  100% { transform: translateX(0) scale(1); opacity: 1; }
}

.highlight-card-img {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  border: 2px solid #fbbf24;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 0 12px rgba(251, 191, 36, 0.4);
}

.highlight-card-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.highlight-player-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.highlight-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.2;
}

.highlight-team-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 2px 8px;
  border-radius: 6px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.highlight-team-badge.team-a-badge {
  background: rgba(56, 189, 248, 0.18);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.45);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.3);
}

.highlight-team-badge.team-b-badge {
  background: rgba(244, 63, 94, 0.18);
  color: #fb7185;
  border: 1px solid rgba(244, 63, 94, 0.45);
  box-shadow: 0 0 10px rgba(244, 63, 94, 0.3);
}

.highlight-play-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #fde047;
  font-weight: 600;
  line-height: 1.4;
  margin-top: 2px;
}

/* Right Pane: Twice As Big Highlight Animated GIF */
.highlight-right-pane {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  height: 100%;
  animation: popGif 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

@keyframes popGif {
  0% { transform: scale(0.85); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.highlight-action-gif {
  max-width: 520px;
  max-height: 360px;
  width: auto;
  height: auto;
  border-radius: 14px;
  border: 2.5px solid #fbbf24;
  box-shadow: 0 0 35px rgba(251, 191, 36, 0.65), 0 10px 30px rgba(0, 0, 0, 0.95);
  object-fit: contain;
  background: #090d16;
  image-rendering: pixelated;
}

@media (max-width: 820px) {
  .sim-court-stage {
    height: 440px;
  }
  .highlight-split-stage {
    flex-direction: column;
    gap: 12px;
    padding: 8px;
    overflow-y: auto;
  }
  .highlight-left-pane {
    flex: none;
    max-width: 100%;
    align-items: center;
    text-align: center;
    gap: 8px;
  }
  .highlight-action-banner {
    font-size: 1.05rem;
    padding: 5px 16px;
  }
  .highlight-card-pop {
    padding: 8px 14px;
    gap: 10px;
  }
  .highlight-action-gif {
    max-width: 340px;
    max-height: 220px;
  }
}

/* Ejected Player State in Boxscore */
.sim-boxscore-table tr.sim-player-ejected td {
  opacity: 0.40 !important;
  text-decoration: line-through;
  background: rgba(239, 68, 68, 0.08) !important;
  color: #94a3b8 !important;
}

.sim-boxscore-table tr.sim-player-ejected td .pos-badge {
  filter: grayscale(1);
  opacity: 0.6;
}

.sim-player-status-badge.ejected {
  background: rgba(239, 68, 68, 0.25) !important;
  color: #f87171 !important;
  border: 1px solid rgba(239, 68, 68, 0.6) !important;
  font-weight: 800;
  letter-spacing: 0.05em;
}

/* Intermission / Cinematic Break Overlay Styles */
.sim-cinematic-banner {
  font-family: 'Outfit', sans-serif;
  font-size: 1.35rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  padding: 8px 24px;
  border-radius: 9999px;
  background: linear-gradient(135deg, #38bdf8 0%, #3b82f6 50%, #8b5cf6 100%);
  color: #ffffff;
  box-shadow: 0 0 30px rgba(56, 189, 248, 0.7), 0 4px 15px rgba(0, 0, 0, 0.8);
  text-transform: uppercase;
  display: inline-flex;
}

/* Confetti & Ticker-Tape Canvas */
#sim-confetti-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 60;
}

/* Live Commentary Feed */
.sim-feed-wrap {
  height: 220px;
  max-height: 220px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.sim-feed-item {
  font-size: 0.78rem;
  font-family: 'Inter', sans-serif;
  padding: 3px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.02);
  display: flex;
  align-items: center;
  gap: 8px;
  animation: fadeIn 0.3s ease;
}

.sim-feed-time {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  color: var(--text-tertiary);
  min-width: 48px;
}

/* Real-Time Live Box Scores */
.sim-live-boxscores-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: start;
}

@media (max-width: 900px) {
  .sim-live-boxscores-grid {
    grid-template-columns: 1fr;
  }
}

.sim-boxscore-card {
  padding: 8px 10px;
  overflow-x: auto;
  box-sizing: border-box;
}

.sim-boxscore-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  margin-bottom: 6px;
  padding: 0 2px;
  box-sizing: border-box;
}

.sim-boxscore-team-title {
  margin: 0;
  font-size: 0.82rem;
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1;
}

.sim-boxscore-team-title.team-a-title {
  color: #38bdf8;
}

.sim-boxscore-team-title.team-b-title {
  color: #f43f5e;
}

.sim-boxscore-metrics-subtitle {
  font-size: 0.65rem;
  color: var(--text-tertiary);
  font-family: 'Geist Mono', monospace;
  white-space: nowrap;
  letter-spacing: 0.02em;
}

.sim-boxscore-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-family: 'Geist Mono', monospace;
  font-size: 0.73rem;
  box-sizing: border-box;
}

.sim-boxscore-table thead tr {
  height: 26px;
  max-height: 26px;
  box-sizing: border-box;
}

.sim-boxscore-table th {
  background: rgba(255, 255, 255, 0.05);
  height: 26px;
  max-height: 26px;
  line-height: 26px;
  padding: 0 4px;
  color: var(--text-secondary);
  font-weight: 700;
  font-size: 0.67rem;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sim-boxscore-table th:first-child {
  text-align: left;
  padding-left: 6px;
}

.sim-boxscore-table th.th-status {
  text-align: center;
}

.sim-boxscore-table tbody tr {
  height: 30px;
  max-height: 30px;
  box-sizing: border-box;
}

.sim-boxscore-table td {
  height: 30px;
  max-height: 30px;
  line-height: 30px;
  padding: 0 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  box-sizing: border-box;
  transition: background 0.2s ease;
}

.sim-boxscore-table td.sim-player-cell {
  text-align: left;
  padding-left: 6px;
  padding-right: 4px;
  overflow: hidden;
  white-space: nowrap;
}

.sim-player-cell-inner {
  display: flex;
  align-items: center;
  gap: 5px;
  width: 100%;
  height: 30px;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
}

.sim-player-cell-inner .pos-badge {
  font-size: 0.58rem;
  width: 20px;
  min-width: 20px;
  max-width: 20px;
  height: 16px;
  line-height: 16px;
  padding: 0;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border-radius: 3px;
}

.sim-player-name-text {
  font-family: 'Inter', sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1;
}

.sim-boxscore-table td.sim-status-cell {
  text-align: center;
  padding: 0 2px;
}

.sim-player-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Geist Mono', monospace;
  font-size: 0.58rem;
  font-weight: 800;
  padding: 1px 5px;
  height: 17px;
  line-height: 15px;
  box-sizing: border-box;
  border-radius: 4px;
  white-space: nowrap;
}

.sim-player-status-badge.on-court {
  background: rgba(16, 185, 129, 0.16);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.45);
}

.sim-player-status-badge.on-bench {
  background: rgba(148, 163, 184, 0.12);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.sim-boxscore-table tr.sim-bench-divider td {
  border-bottom: 2.5px solid rgba(148, 163, 184, 0.7) !important;
}

/* Centered Duplicate Player Alert Modal */
.card-duplicate-alert-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999999 !important;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

.card-duplicate-alert-overlay.active {
  opacity: 1;
  pointer-events: auto;
}

.card-duplicate-alert-card {
  background: rgba(15, 23, 42, 0.96);
  border: 2px solid #ef4444;
  box-shadow: 0 0 35px rgba(239, 68, 68, 0.45), 0 20px 45px rgba(0, 0, 0, 0.85);
  border-radius: 18px;
  padding: 24px 32px;
  max-width: 440px;
  width: 90%;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transform: scale(0.9);
  transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.card-duplicate-alert-overlay.active .card-duplicate-alert-card {
  transform: scale(1);
}

.duplicate-alert-icon {
  font-size: 2.8rem;
  margin-bottom: 2px;
  filter: drop-shadow(0 0 12px rgba(239, 68, 68, 0.7));
  animation: pulseAlert 1.2s infinite alternate;
}

@keyframes pulseAlert {
  0% { transform: scale(1); }
  100% { transform: scale(1.12); }
}

.duplicate-alert-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  color: #f87171;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.duplicate-alert-message {
  font-family: 'Inter', sans-serif;
  font-size: 0.95rem;
  color: #ffffff;
  line-height: 1.45;
  margin-top: 4px;
}

.duplicate-player-highlight {
  color: #38bdf8;
  font-weight: 800;
}

.duplicate-alert-sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #94a3b8;
  margin-top: 2px;
}

.duplicate-alert-btn {
  margin-top: 14px;
  padding: 8px 24px;
  font-weight: 800;
  font-size: 0.85rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.duplicate-alert-btn:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: #ef4444;
}

.oop-debuff-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.56rem;
  font-weight: 800;
  padding: 1px 3px;
  border-radius: 3px;
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.45);
  margin-left: 3px;
  display: inline-block;
}

.oop-court-badge {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 4px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.55rem;
  font-weight: 800;
  padding: 1.5px 6px;
  border-radius: 4px;
  background: rgba(220, 38, 38, 0.95);
  color: #ffffff;
  border: 1px solid rgba(254, 202, 202, 0.7);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  pointer-events: none;
  z-index: 15;
}

.sim-player-status-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6rem;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 3px;
  margin-left: 4px;
}

.sim-player-status-badge.on-court {
  background: rgba(16, 185, 129, 0.2);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.4);
}

.sim-player-status-badge.on-bench {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-tertiary);
}

/* Scorer Flash and Bump */
.scorer-flash {
  animation: rowScorerFlash 1.2s ease;
}

@keyframes rowScorerFlash {
  0% { background: rgba(56, 189, 248, 0.4); }
  100% { background: transparent; }
}

.scorer-flash-b {
  animation: rowScorerFlashB 1.2s ease;
}

@keyframes rowScorerFlashB {
  0% { background: rgba(244, 63, 94, 0.4); }
  100% { background: transparent; }
}

.pts-count-bump {
  display: inline-block;
  animation: countBump 0.4s ease;
}

@keyframes countBump {
  0% { transform: scale(1.4); color: #38bdf8; }
  100% { transform: scale(1); color: inherit; }
}

/* Player of the Game Spotlight Overlay */
.potg-trophy-overlay {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 70;
  padding: 20px;
  backdrop-filter: blur(10px);
  animation: fadeIn 0.4s ease;
}

.potg-sunburst {
  position: absolute;
  width: 440px;
  height: 440px;
  background: radial-gradient(circle, rgba(251, 191, 36, 0.28) 0%, transparent 70%);
  animation: spinSunburst 20s linear infinite;
  pointer-events: none;
}

@keyframes spinSunburst {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.potg-card-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: scaleInBounce 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes scaleInBounce {
  0% { transform: scale(0.6); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.potg-trophy-badge {
  position: relative;
  top: 0;
  font-size: 3.5rem;
  line-height: 1;
  margin-bottom: 4px;
  filter: drop-shadow(0 0 16px rgba(251, 191, 36, 0.9));
  animation: trophyFloat 2s ease-in-out infinite alternate;
}

@keyframes trophyFloat {
  0% { transform: translateY(-4px) rotate(-3deg); }
  100% { transform: translateY(4px) rotate(3deg); }
}

.potg-banner-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: #fbbf24;
  letter-spacing: 0.08em;
  text-shadow: 0 0 20px rgba(251, 191, 36, 0.7);
  margin-bottom: 12px;
  margin-top: 0;
}

.potg-card-frame {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
  border: 3px solid #fbbf24;
  border-radius: 16px;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 0 40px rgba(251, 191, 36, 0.45);
}

.potg-card-portrait {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  border: 3px solid #fbbf24;
  object-fit: cover;
  box-shadow: 0 0 15px rgba(251, 191, 36, 0.6);
}

.potg-statline {
  font-family: 'Geist Mono', monospace;
  font-size: 0.92rem;
  color: #fbbf24;
  font-weight: 800;
  margin-top: 6px;
}

/* ==================== Card Battle Simulation: 2-Column Arena & Highlights Section ==================== */
.battle-modal-panel.sim-mode-active {
  max-width: 1420px !important;
  width: 96vw !important;
}

.sim-arena-workspace {
  display: flex;
  gap: 14px;
  width: 100%;
  align-items: stretch;
}

.sim-arena-main-col {
  flex: 1 1 920px;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sim-arena-sidebar-col {
  flex: 0 0 380px;
  width: 380px;
  min-width: 340px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

@media (max-width: 1280px) {
  .sim-arena-workspace {
    flex-direction: column;
  }
  .sim-arena-sidebar-col {
    width: 100%;
    flex: 1 1 100%;
  }
}

/* Sidebar Panels */
.sim-highlights-panel,
.sim-commentary-panel {
  background: rgba(13, 17, 26, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
  box-sizing: border-box;
}

.sim-highlights-panel {
  flex: 1 1 auto;
}

.sim-commentary-panel {
  flex: 0 0 auto;
}

.sim-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sim-panel-title-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.sim-panel-icon {
  font-size: 0.95rem;
  line-height: 1;
}

.sim-panel-title {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.06em;
}

.sim-badge-count {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 10px;
  background: rgba(56, 189, 248, 0.2);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.4);
}

.sim-panel-hint {
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  color: var(--text-tertiary);
}

/* Highlights List Container */
.sim-highlights-list-wrap {
  height: 380px;
  max-height: 380px;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(0, 0, 0, 0.45);
  border-radius: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-sizing: border-box;
}

/* Empty State */
.sim-highlights-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 220px;
  text-align: center;
  padding: 20px 16px;
  color: var(--text-tertiary);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.25);
}

.empty-film-icon {
  font-size: 2.2rem;
  margin-bottom: 8px;
  opacity: 0.7;
}

.empty-film-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  color: #e2e8f0;
  margin-bottom: 4px;
}

.empty-film-desc {
  font-size: 0.74rem;
  line-height: 1.4;
  max-width: 260px;
  color: #94a3b8;
}

/* Highlight Card */
.sim-highlight-card {
  flex-shrink: 0 !important;
  flex: 0 0 auto !important;
  box-sizing: border-box;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 7px 10px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.sim-highlight-card:hover {
  transform: translateY(-2px);
  background: rgba(24, 34, 56, 0.9);
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.65), 0 0 12px rgba(56, 189, 248, 0.25);
}

.sim-highlight-card.team-a-hl {
  border-left: 3px solid #38bdf8;
}

.sim-highlight-card.team-b-hl {
  border-left: 3px solid #f43f5e;
}

.hl-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-shrink: 0;
}

.hl-team-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 190px;
}

.hl-team-pill.team-a-pill {
  background: rgba(56, 189, 248, 0.18);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.4);
}

.hl-team-pill.team-b-pill {
  background: rgba(244, 63, 94, 0.18);
  color: #f43f5e;
  border: 1px solid rgba(244, 63, 94, 0.4);
}

.hl-time-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.66rem;
  font-weight: 800;
  color: #cbd5e1;
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}

.hl-card-body {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.hl-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.hl-player-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.35);
  background: rgba(0, 0, 0, 0.5);
}

.team-a-hl .hl-player-avatar {
  border-color: rgba(56, 189, 248, 0.7);
}

.team-b-hl .hl-player-avatar {
  border-color: rgba(244, 63, 94, 0.7);
}

.hl-player-meta {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hl-player-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.hl-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hl-type-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  color: #fbbf24;
  letter-spacing: 0.02em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hl-play-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 6px;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.25) 0%, rgba(217, 119, 6, 0.35) 100%);
  border: 1px solid rgba(251, 191, 36, 0.6);
  color: #fbbf24;
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.15s ease;
}

.sim-highlight-card:hover .hl-play-btn {
  background: #f59e0b;
  color: #000000;
  border-color: #fbbf24;
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.8);
  transform: scale(1.05);
}

.hl-play-icon {
  font-size: 0.7rem;
  line-height: 1;
}

.hl-play-text {
  letter-spacing: 0.05em;
}

.hl-card-desc {
  display: none !important;
}

/* Replay Viewer Modal Overlay */
.sim-replay-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  box-sizing: border-box;
  animation: fadeIn 0.2s ease;
}

.sim-replay-modal-backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.sim-replay-dialog {
  position: relative;
  z-index: 2;
  max-width: 600px;
  width: 94vw;
  background: linear-gradient(180deg, #131826 0%, #0a0d15 100%) !important;
  border: 2px solid #38bdf8 !important;
  border-radius: 16px !important;
  padding: 16px 20px 18px 20px !important;
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.95), 0 0 40px rgba(56, 189, 248, 0.35) !important;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-sizing: border-box;
  animation: scaleInBounce 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.sim-replay-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: 8px;
}

.sim-replay-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sim-replay-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
  color: #fbbf24;
  letter-spacing: 0.06em;
}

.sim-replay-clock {
  font-family: 'Geist Mono', monospace;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.sim-replay-close-btn {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #ffffff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 0.95rem;
  transition: all 0.2s ease;
}

.sim-replay-close-btn:hover {
  background: rgba(239, 68, 68, 0.85);
  border-color: #ef4444;
  transform: scale(1.1);
}

.sim-replay-meta-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: rgba(0, 0, 0, 0.4);
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.sim-replay-player-info {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sim-replay-headshot {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #38bdf8;
  background: rgba(0, 0, 0, 0.5);
}

.sim-replay-player-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.sim-replay-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 900;
  color: #ffffff;
}

.sim-replay-team-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  color: #94a3b8;
}

.sim-replay-action-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
  border: 1.5px solid rgba(251, 191, 36, 0.6);
  padding: 4px 12px;
  border-radius: 8px;
  text-shadow: 0 0 10px rgba(245, 158, 11, 0.5);
}

.sim-replay-stage {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  border-radius: 12px;
  overflow: hidden;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.sim-replay-gif {
  max-width: 100%;
  max-height: 340px;
  border-radius: 8px;
  object-fit: contain;
  image-rendering: pixelated;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.85);
}

.sim-replay-commentary {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.82rem;
  color: #cbd5e1;
  font-style: italic;
  line-height: 1.4;
  background: rgba(255, 255, 255, 0.03);
  padding: 8px 12px;
  border-radius: 8px;
  border-left: 3px solid #fbbf24;
}

.commentary-mic-icon {
  font-size: 0.9rem;
  line-height: 1;
}

.sim-replay-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}

/* ==========================================================================
   PLATINUM CARD VAULT VISUAL EFFECTS (5 ELITE STYLES)
   ========================================================================== */

/* Vault Header Controls & Platinum FX Selector */
.vault-header-controls {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.platinum-fx-filter {
  height: 32px;
  min-height: 32px;
  border-radius: 16px;
  padding: 0 12px;
  gap: 6px;
  background: rgba(192, 132, 252, 0.08);
  border: 1px solid rgba(192, 132, 252, 0.35);
  box-shadow: 0 0 14px rgba(192, 132, 252, 0.15);
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
}

.platinum-fx-filter:hover {
  border-color: rgba(192, 132, 252, 0.65);
  box-shadow: 0 0 20px rgba(192, 132, 252, 0.35);
  background: rgba(192, 132, 252, 0.14);
}

.platinum-fx-filter .filter-label {
  font-family: var(--font-sans);
  font-size: 0.76rem;
  font-weight: 700;
  color: #d8b4fe;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.platinum-fx-filter .dropdown-select {
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 600;
  color: #f5d0fe;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}

.platinum-fx-filter .dropdown-select option {
  background: #140726;
  color: #f5d0fe;
  padding: 6px 10px;
}

/* Master Platinum Overlay Container */
.platinum-special-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  overflow: hidden;
  border-radius: inherit;
}

/* --------------------------------------------------------------------------
   EFFECT 1: COSMIC PRISM (Prismatic Aura & Orbiting Stardust)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-cosmic,
.card-detail-card.tier-platinum.fx-cosmic,
.cards-collection-grid.fx-cosmic .trading-card.tier-platinum {
  border: 3px solid #c084fc;
  background: radial-gradient(circle at 50% 0%, #291147 0%, #15092a 50%, #0a0414 100%);
  box-shadow: 0 12px 45px rgba(192, 132, 252, 0.5), 0 0 25px rgba(56, 189, 248, 0.4);
  animation: cosmic-border-cycle 4.5s ease-in-out infinite alternate;
}

@keyframes cosmic-border-cycle {
  0% { border-color: #c084fc; box-shadow: 0 0 28px rgba(192, 132, 252, 0.7), 0 0 50px rgba(192, 132, 252, 0.3); }
  33% { border-color: #38bdf8; box-shadow: 0 0 28px rgba(56, 189, 248, 0.7), 0 0 50px rgba(56, 189, 248, 0.3); }
  66% { border-color: #f43f5e; box-shadow: 0 0 28px rgba(244, 63, 94, 0.7), 0 0 50px rgba(244, 63, 94, 0.3); }
  100% { border-color: #fbbf24; box-shadow: 0 0 28px rgba(251, 191, 36, 0.7), 0 0 50px rgba(251, 191, 36, 0.3); }
}

.trading-card.tier-platinum.fx-cosmic .card-tier-banner,
.card-detail-card.tier-platinum.fx-cosmic .card-tier-banner,
.cards-collection-grid.fx-cosmic .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #c084fc 0%, #ec4899 50%, #38bdf8 100%);
  color: #ffffff;
  border: 1px solid #f5d0fe;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), 0 0 8px rgba(255, 255, 255, 0.6);
  box-shadow: 0 0 14px rgba(192, 132, 252, 0.6);
}

.platinum-overlay-cosmic .cosmic-sheen {
  position: absolute;
  inset: -100%;
  background: linear-gradient(115deg, transparent 40%, rgba(255, 113, 206, 0.22) 48%, rgba(1, 205, 254, 0.32) 52%, rgba(255, 251, 150, 0.22) 56%, transparent 64%);
  animation: cosmic-sheen-sweep 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes cosmic-sheen-sweep {
  0% { transform: translate(-35%, -35%) rotate(0deg); }
  100% { transform: translate(35%, 35%) rotate(0deg); }
}

.cosmic-stardust {
  position: absolute;
  color: #ffffff;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #c084fc, 0 0 30px #38bdf8;
  line-height: 1;
  user-select: none;
  animation: cosmic-star-twinkle var(--c-dur, 3s) ease-in-out infinite var(--c-del, 0s);
}

.cosmic-stardust.cs1 { top: 3%; left: 4%; font-size: 1.25rem; --c-dur: 2.2s; --c-del: 0.1s; }
.cosmic-stardust.cs2 { top: 3%; right: 4%; font-size: 1.1rem; --c-dur: 2.8s; --c-del: 0.8s; }
.cosmic-stardust.cs3 { top: 24%; left: 3%; font-size: 1.2rem; --c-dur: 2.4s; --c-del: 1.5s; }
.cosmic-stardust.cs4 { top: 24%; right: 3%; font-size: 1.3rem; --c-dur: 2.1s; --c-del: 0.4s; }
.cosmic-stardust.cs5 { bottom: 22%; left: 4%; font-size: 1.15rem; --c-dur: 2.6s; --c-del: 1.9s; }
.cosmic-stardust.cs6 { bottom: 22%; right: 4%; font-size: 1.25rem; --c-dur: 2.3s; --c-del: 0.7s; }
.cosmic-stardust.cs7 { bottom: 4%; left: 12%; font-size: 1.1rem; --c-dur: 3.1s; --c-del: 1.3s; }
.cosmic-stardust.cs8 { bottom: 4%; right: 12%; font-size: 1.1rem; --c-dur: 2.5s; --c-del: 2.2s; }

@keyframes cosmic-star-twinkle {
  0%, 100% { transform: scale(0.6) rotate(0deg); opacity: 0.2; }
  50% { transform: scale(1.35) rotate(90deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 10px #c084fc); }
}

/* --------------------------------------------------------------------------
   EFFECT 2: ELECTRIC SURGE (Plasma Lightning & High-Voltage Sparks)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-electric,
.card-detail-card.tier-platinum.fx-electric,
.cards-collection-grid.fx-electric .trading-card.tier-platinum {
  border: 3px solid #00f0ff;
  background: radial-gradient(circle at 50% 15%, #0d2242 0%, #061124 55%, #020712 100%);
  box-shadow: 0 0 35px rgba(0, 240, 255, 0.65), 0 0 70px rgba(139, 92, 246, 0.4), inset 0 0 20px rgba(0, 240, 255, 0.25);
  animation: electric-border-pulse 2s ease-in-out infinite alternate;
}

@keyframes electric-border-pulse {
  0% { border-color: #00f0ff; box-shadow: 0 0 25px rgba(0, 240, 255, 0.6), 0 0 50px rgba(139, 92, 246, 0.35); }
  50% { border-color: #8b5cf6; box-shadow: 0 0 40px rgba(139, 92, 246, 0.8), 0 0 75px rgba(0, 240, 255, 0.5); }
  100% { border-color: #38bdf8; box-shadow: 0 0 30px rgba(56, 189, 248, 0.7), 0 0 60px rgba(139, 92, 246, 0.4); }
}

.trading-card.tier-platinum.fx-electric .card-tier-banner,
.card-detail-card.tier-platinum.fx-electric .card-tier-banner,
.cards-collection-grid.fx-electric .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #00f0ff 0%, #8b5cf6 50%, #3b82f6 100%);
  color: #ffffff;
  border: 1px solid #bae6fd;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6), 0 0 10px #00f0ff;
  box-shadow: 0 0 18px rgba(0, 240, 255, 0.7);
}

.platinum-overlay-electric .electric-perimeter-glow {
  position: absolute;
  inset: 0;
  border: 2px solid transparent;
  border-radius: inherit;
  box-shadow: inset 0 0 16px rgba(0, 240, 255, 0.45);
  animation: electric-perimeter-flicker 1.4s infinite ease-in-out;
}

@keyframes electric-perimeter-flicker {
  0%, 100% { opacity: 0.6; }
  15% { opacity: 1; }
  35% { opacity: 0.4; }
  65% { opacity: 0.9; }
  85% { opacity: 0.3; }
}

.platinum-overlay-electric .electric-surge-beam {
  position: absolute;
  left: 0;
  right: 0;
  height: 6px;
  background: linear-gradient(90deg, transparent 5%, #00f0ff 30%, #ffffff 50%, #8b5cf6 70%, transparent 95%);
  box-shadow: 0 0 14px #00f0ff, 0 0 28px #8b5cf6;
  opacity: 0.75;
  animation: electric-scan-vertical 3s linear infinite;
}

@keyframes electric-scan-vertical {
  0% { top: -8px; opacity: 0; }
  10% { opacity: 0.85; }
  90% { opacity: 0.85; }
  100% { top: 102%; opacity: 0; }
}

.electric-spark {
  position: absolute;
  color: #00f0ff;
  font-size: 1.15rem;
  line-height: 1;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #00f0ff, 0 0 35px #8b5cf6;
  user-select: none;
  animation: electric-spark-flash var(--es-dur, 1.6s) ease-in-out infinite var(--es-del, 0s);
}

.electric-spark.es1 { top: 3%; left: 4%; --es-dur: 1.3s; --es-del: 0.1s; }
.electric-spark.es2 { top: 3%; right: 4%; --es-dur: 1.7s; --es-del: 0.6s; }
.electric-spark.es3 { top: 48%; left: 2%; --es-dur: 1.4s; --es-del: 1.1s; }
.electric-spark.es4 { top: 48%; right: 2%; --es-dur: 1.8s; --es-del: 0.4s; }
.electric-spark.es5 { bottom: 4%; left: 8%; --es-dur: 1.5s; --es-del: 0.9s; }
.electric-spark.es6 { bottom: 4%; right: 8%; --es-dur: 1.2s; --es-del: 1.3s; }

@keyframes electric-spark-flash {
  0%, 100% { transform: scale(0.6) rotate(0deg); opacity: 0.15; }
  20% { transform: scale(1.3) rotate(-15deg); opacity: 1; filter: brightness(2.5); }
  25% { transform: scale(0.9) rotate(10deg); opacity: 0.3; }
  45% { transform: scale(1.4) rotate(15deg); opacity: 1; filter: brightness(3); }
}

/* --------------------------------------------------------------------------
   EFFECT 3: MOLTEN CHROME (Liquid Titanium Core & Rising Embers)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-molten,
.card-detail-card.tier-platinum.fx-molten,
.cards-collection-grid.fx-molten .trading-card.tier-platinum {
  border: 3px solid #fb923c;
  background: radial-gradient(circle at 50% 100%, #3a1306 0%, #1c0802 55%, #0b0301 100%);
  box-shadow: 0 0 38px rgba(251, 146, 60, 0.65), 0 0 75px rgba(245, 158, 11, 0.4), inset 0 0 20px rgba(251, 146, 60, 0.25);
  animation: molten-border-burn 3.5s ease-in-out infinite alternate;
}

@keyframes molten-border-burn {
  0% { border-color: #fb923c; box-shadow: 0 0 28px rgba(251, 146, 60, 0.6), 0 0 55px rgba(239, 68, 68, 0.35); }
  50% { border-color: #f59e0b; box-shadow: 0 0 45px rgba(245, 158, 11, 0.8), 0 0 85px rgba(251, 146, 60, 0.5); }
  100% { border-color: #ef4444; box-shadow: 0 0 32px rgba(239, 68, 68, 0.7), 0 0 65px rgba(245, 158, 11, 0.4); }
}

.trading-card.tier-platinum.fx-molten .card-tier-banner,
.card-detail-card.tier-platinum.fx-molten .card-tier-banner,
.cards-collection-grid.fx-molten .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #fef08a 0%, #fb923c 45%, #ef4444 80%, #fef08a 100%);
  color: #ffffff;
  border: 1px solid #fed7aa;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7), 0 0 10px #fb923c;
  box-shadow: 0 0 18px rgba(251, 146, 60, 0.75);
}

.platinum-overlay-molten .molten-fluid-wave {
  position: absolute;
  inset: -80%;
  background: radial-gradient(circle at 50% 60%, rgba(251, 146, 60, 0.22) 0%, rgba(245, 158, 11, 0.12) 35%, transparent 65%);
  animation: molten-wave-swirl 8s ease-in-out infinite alternate;
}

@keyframes molten-wave-swirl {
  0% { transform: rotate(0deg) scale(0.9); }
  100% { transform: rotate(360deg) scale(1.15); }
}

.molten-ember {
  position: absolute;
  color: #fb923c;
  text-shadow: 0 0 8px #ffffff, 0 0 16px #fb923c, 0 0 28px #ef4444;
  line-height: 1;
  user-select: none;
  animation: molten-ember-float var(--me-dur, 4s) linear infinite var(--me-del, 0s);
}

.molten-ember.me1 { left: 8%; font-size: 0.95rem; --me-dur: 3.8s; --me-del: 0.2s; }
.molten-ember.me2 { left: 22%; font-size: 1.15rem; --me-dur: 4.5s; --me-del: 1.1s; }
.molten-ember.me3 { left: 42%; font-size: 0.85rem; --me-dur: 3.4s; --me-del: 2.3s; }
.molten-ember.me4 { left: 60%; font-size: 1.25rem; --me-dur: 4.8s; --me-del: 0.7s; }
.molten-ember.me5 { left: 78%; font-size: 1.05rem; --me-dur: 3.9s; --me-del: 1.8s; }
.molten-ember.me6 { left: 90%; font-size: 0.9rem; --me-dur: 4.2s; --me-del: 2.9s; }

@keyframes molten-ember-float {
  0% { bottom: -10px; opacity: 0; transform: translateX(0) scale(0.6); }
  15% { opacity: 1; transform: translateX(4px) scale(1); }
  50% { transform: translateX(-6px) scale(1.2); opacity: 0.85; filter: brightness(2); }
  85% { opacity: 0.6; transform: translateX(8px) scale(0.85); }
  100% { bottom: 105%; opacity: 0; transform: translateX(-4px) scale(0.4); }
}

/* --------------------------------------------------------------------------
   EFFECT 4: CYBER MATRIX (Holographic Laser Grid & Data HUD)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-cyber,
.card-detail-card.tier-platinum.fx-cyber,
.cards-collection-grid.fx-cyber .trading-card.tier-platinum {
  border: 3px solid #06b6d4;
  background: 
    linear-gradient(rgba(6, 182, 212, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6, 182, 212, 0.08) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, #062b33 0%, #03171c 60%, #010a0d 100%);
  background-size: 20px 20px, 20px 20px, 100% 100%;
  box-shadow: 0 0 35px rgba(6, 182, 212, 0.6), 0 0 65px rgba(16, 185, 129, 0.35), inset 0 0 18px rgba(6, 182, 212, 0.2);
  animation: cyber-border-glitch 4s ease infinite;
}

@keyframes cyber-border-glitch {
  0%, 100% { border-color: #06b6d4; box-shadow: 0 0 25px rgba(6, 182, 212, 0.6), 0 0 50px rgba(16, 185, 129, 0.3); }
  48% { border-color: #06b6d4; }
  50% { border-color: #10b981; box-shadow: 0 0 40px rgba(16, 185, 129, 0.8), 0 0 70px rgba(6, 182, 212, 0.5); }
  52% { border-color: #06b6d4; }
  85% { border-color: #06b6d4; }
  86% { border-color: #22d3ee; box-shadow: 0 0 45px rgba(34, 211, 238, 0.9); }
  88% { border-color: #06b6d4; }
}

.trading-card.tier-platinum.fx-cyber .card-tier-banner,
.card-detail-card.tier-platinum.fx-cyber .card-tier-banner,
.cards-collection-grid.fx-cyber .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(90deg, #0891b2 0%, #059669 50%, #06b6d4 100%);
  color: #ffffff;
  border: 1px solid #a5f3fc;
  font-family: var(--font-mono, 'Geist Mono', monospace);
  letter-spacing: 2px;
  text-shadow: 0 0 8px #22d3ee, 0 1px 2px rgba(0, 0, 0, 0.8);
  box-shadow: 0 0 16px rgba(6, 182, 212, 0.7);
}

.platinum-overlay-cyber .cyber-laser-scanner {
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, transparent 5%, #06b6d4 30%, #ffffff 50%, #10b981 70%, transparent 95%);
  box-shadow: 0 0 12px #06b6d4, 0 0 24px #10b981;
  opacity: 0.85;
  animation: cyber-laser-sweep 2.8s ease-in-out infinite alternate;
}

@keyframes cyber-laser-sweep {
  0% { top: 0%; opacity: 0.3; }
  50% { opacity: 0.9; }
  100% { top: 98%; opacity: 0.3; }
}

.cyber-hud-corner {
  position: absolute;
  color: #06b6d4;
  font-family: var(--font-mono, monospace);
  font-size: 0.85rem;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 0 8px #06b6d4;
  user-select: none;
  opacity: 0.8;
  animation: cyber-hud-blink 3s infinite ease;
}

.cyber-hud-corner.ch-tl { top: 6px; left: 8px; }
.cyber-hud-corner.ch-tr { top: 6px; right: 8px; }
.cyber-hud-corner.ch-bl { bottom: 6px; left: 8px; }
.cyber-hud-corner.ch-br { bottom: 6px; right: 8px; }

@keyframes cyber-hud-blink {
  0%, 100% { opacity: 0.75; }
  45% { opacity: 0.75; }
  46% { opacity: 0.2; }
  48% { opacity: 0.9; }
  50% { opacity: 0.4; }
  52% { opacity: 0.85; }
}

/* --------------------------------------------------------------------------
   EFFECT 5: STARLIGHT SUPERNOVA (Hyper-Brilliant Starburst & God-Rays)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-supernova,
.card-detail-card.tier-platinum.fx-supernova,
.cards-collection-grid.fx-supernova .trading-card.tier-platinum {
  border: 3px solid #ede9fe;
  background: radial-gradient(circle at 50% 25%, #35136e 0%, #1a083a 55%, #0a0319 100%);
  box-shadow: 0 0 45px rgba(255, 255, 255, 0.75), 0 0 85px rgba(168, 85, 247, 0.55), 0 0 120px rgba(236, 72, 153, 0.35);
  animation: supernova-border-bloom 3s ease-in-out infinite alternate;
}

@keyframes supernova-border-bloom {
  0% { border-color: #ede9fe; box-shadow: 0 0 35px rgba(255, 255, 255, 0.7), 0 0 70px rgba(168, 85, 247, 0.45); }
  50% { border-color: #ffffff; box-shadow: 0 0 55px rgba(255, 255, 255, 0.95), 0 0 95px rgba(236, 72, 153, 0.65), 0 0 130px rgba(168, 85, 247, 0.4); }
  100% { border-color: #d8b4fe; box-shadow: 0 0 40px rgba(216, 180, 254, 0.8), 0 0 80px rgba(168, 85, 247, 0.5); }
}

.trading-card.tier-platinum.fx-supernova .card-tier-banner,
.card-detail-card.tier-platinum.fx-supernova .card-tier-banner,
.cards-collection-grid.fx-supernova .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #ffffff 0%, #e0e7ff 35%, #c084fc 70%, #ffffff 100%);
  color: #1e0938;
  font-weight: 900;
  border: 1px solid #ffffff;
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.8);
}

.platinum-overlay-supernova .supernova-godrays {
  position: absolute;
  inset: -70%;
  background: conic-gradient(
    from 0deg,
    transparent 0deg, rgba(255, 255, 255, 0.14) 20deg, transparent 40deg,
    rgba(168, 85, 247, 0.16) 70deg, transparent 90deg,
    rgba(255, 255, 255, 0.14) 120deg, transparent 140deg,
    rgba(236, 72, 153, 0.16) 170deg, transparent 190deg,
    rgba(255, 255, 255, 0.14) 220deg, transparent 240deg,
    rgba(168, 85, 247, 0.16) 270deg, transparent 290deg,
    rgba(255, 255, 255, 0.14) 320deg, transparent 340deg
  );
  animation: supernova-rays-spin 20s linear infinite;
}

@keyframes supernova-rays-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.supernova-flare {
  position: absolute;
  color: #ffffff;
  text-shadow: 0 0 12px #ffffff, 0 0 24px #ffffff, 0 0 45px #c084fc, 0 0 70px #ec4899;
  line-height: 1;
  user-select: none;
  animation: supernova-flare-pulse var(--sn-dur, 2.5s) ease-in-out infinite var(--sn-del, 0s);
}

.supernova-flare.sn1 { top: 2%; left: 3%; font-size: 1.4rem; --sn-dur: 2.2s; --sn-del: 0.1s; }
.supernova-flare.sn2 { top: 2%; right: 3%; font-size: 1.3rem; --sn-dur: 2.7s; --sn-del: 0.7s; }
.supernova-flare.sn3 { top: 25%; left: 2%; font-size: 1.25rem; --sn-dur: 2.4s; --sn-del: 1.2s; }
.supernova-flare.sn4 { top: 25%; right: 2%; font-size: 1.35rem; --sn-dur: 2.1s; --sn-del: 0.4s; }
.supernova-flare.sn5 { bottom: 22%; left: 3%; font-size: 1.2rem; --sn-dur: 2.8s; --sn-del: 1.6s; }
.supernova-flare.sn6 { bottom: 22%; right: 3%; font-size: 1.3rem; --sn-dur: 2.3s; --sn-del: 0.9s; }
.supernova-flare.sn7 { bottom: 3%; left: 10%; font-size: 1.35rem; --sn-dur: 2.6s; --sn-del: 1.4s; }
.supernova-flare.sn8 { bottom: 3%; right: 10%; font-size: 1.35rem; --sn-dur: 2.4s; --sn-del: 2.0s; }

@keyframes supernova-flare-pulse {
  0%, 100% { transform: scale(0.7) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.4) rotate(45deg); opacity: 1; filter: brightness(2.6) drop-shadow(0 0 16px #ffffff); }
}

/* --------------------------------------------------------------------------
   EFFECT 6: SUB-ZERO FROST (Cryogenic Ice, Glacial Shards & Creeping Frost)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-frost,
.card-detail-card.tier-platinum.fx-frost,
.cards-collection-grid.fx-frost .trading-card.tier-platinum {
  border: 3px solid #7dd3fc;
  background: radial-gradient(circle at 50% 15%, #082f49 0%, #0c4a6e 45%, #031c2d 80%, #010d16 100%);
  box-shadow: 0 0 35px rgba(56, 189, 248, 0.65), 0 0 70px rgba(186, 230, 253, 0.4), inset 0 0 25px rgba(125, 211, 252, 0.3);
  animation: frost-border-shiver 3.5s ease-in-out infinite alternate;
}

@keyframes frost-border-shiver {
  0% { border-color: #7dd3fc; box-shadow: 0 0 25px rgba(56, 189, 248, 0.6), 0 0 50px rgba(14, 165, 233, 0.35); }
  50% { border-color: #f0f9ff; box-shadow: 0 0 42px rgba(240, 249, 255, 0.9), 0 0 80px rgba(56, 189, 248, 0.55), inset 0 0 30px rgba(186, 230, 253, 0.4); }
  100% { border-color: #38bdf8; box-shadow: 0 0 30px rgba(56, 189, 248, 0.7), 0 0 65px rgba(2, 132, 199, 0.45); }
}

.trading-card.tier-platinum.fx-frost .card-tier-banner,
.card-detail-card.tier-platinum.fx-frost .card-tier-banner,
.cards-collection-grid.fx-frost .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #f0f9ff 0%, #7dd3fc 40%, #0284c7 80%, #e0f2fe 100%);
  color: #032338;
  font-weight: 900;
  border: 1px solid #ffffff;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.8);
}

.platinum-overlay-frost .frost-crystallize {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 45%, rgba(186, 230, 253, 0.15) 75%, rgba(56, 189, 248, 0.35) 100%);
  border: 1px solid rgba(224, 242, 254, 0.35);
  border-radius: inherit;
  box-shadow: inset 0 0 20px rgba(186, 230, 253, 0.4);
}

.platinum-overlay-frost .frost-mist-sweep {
  position: absolute;
  inset: -60%;
  background: linear-gradient(120deg, transparent 35%, rgba(224, 242, 254, 0.18) 50%, rgba(56, 189, 248, 0.25) 55%, transparent 70%);
  animation: frost-mist-drift 6s ease-in-out infinite alternate;
}

@keyframes frost-mist-drift {
  0% { transform: translate(-20%, -20%) rotate(0deg); opacity: 0.4; }
  100% { transform: translate(20%, 20%) rotate(5deg); opacity: 0.85; }
}

.frost-crystal {
  position: absolute;
  color: #e0f2fe;
  line-height: 1;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #38bdf8, 0 0 35px #0284c7;
  user-select: none;
  animation: frost-crystal-twinkle var(--fc-dur, 3s) ease-in-out infinite var(--fc-del, 0s);
}

.frost-crystal.fc1 { top: 3%; left: 4%; font-size: 1.25rem; --fc-dur: 2.5s; --fc-del: 0.1s; }
.frost-crystal.fc2 { top: 3%; right: 4%; font-size: 1.15rem; --fc-dur: 2.8s; --fc-del: 0.7s; }
.frost-crystal.fc3 { top: 25%; left: 3%; font-size: 1.2rem; --fc-dur: 2.3s; --fc-del: 1.2s; }
.frost-crystal.fc4 { top: 25%; right: 3%; font-size: 1.3rem; --fc-dur: 2.9s; --fc-del: 0.4s; }
.frost-crystal.fc5 { bottom: 22%; left: 4%; font-size: 1.15rem; --fc-dur: 2.6s; --fc-del: 1.6s; }
.frost-crystal.fc6 { bottom: 22%; right: 4%; font-size: 1.25rem; --fc-dur: 2.2s; --fc-del: 0.9s; }
.frost-crystal.fc7 { bottom: 4%; left: 10%; font-size: 1.1rem; --fc-dur: 3.1s; --fc-del: 1.3s; }
.frost-crystal.fc8 { bottom: 4%; right: 10%; font-size: 1.1rem; --fc-dur: 2.4s; --fc-del: 2.0s; }

@keyframes frost-crystal-twinkle {
  0%, 100% { transform: scale(0.65) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.35) rotate(60deg); opacity: 1; filter: brightness(2.2) drop-shadow(0 0 12px #7dd3fc); }
}

/* --------------------------------------------------------------------------
   EFFECT 7: ANKLE BREAKER (Crossover Skidmarks, Squeak Smoke & Lateral Blur)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-crossover,
.card-detail-card.tier-platinum.fx-crossover,
.cards-collection-grid.fx-crossover .trading-card.tier-platinum {
  border: 3px solid #eab308;
  background: radial-gradient(circle at 50% 65%, #2a1500 0%, #170b00 55%, #080300 100%);
  box-shadow: 0 0 35px rgba(234, 179, 8, 0.65), 0 0 70px rgba(249, 115, 22, 0.45), inset 0 0 20px rgba(234, 179, 8, 0.25);
  animation: crossover-border-flash 2.4s ease-in-out infinite alternate;
}

@keyframes crossover-border-flash {
  0% { border-color: #eab308; box-shadow: 0 0 25px rgba(234, 179, 8, 0.6), 0 0 50px rgba(249, 115, 22, 0.35); }
  45% { border-color: #f97316; box-shadow: 0 0 45px rgba(249, 115, 22, 0.85), 0 0 85px rgba(234, 179, 8, 0.5); }
  50% { border-color: #ffffff; box-shadow: 0 0 50px #ffffff, 0 0 90px #f97316; }
  55% { border-color: #f97316; }
  100% { border-color: #facc15; box-shadow: 0 0 30px rgba(250, 204, 21, 0.7), 0 0 60px rgba(249, 115, 22, 0.4); }
}

.trading-card.tier-platinum.fx-crossover .card-tier-banner,
.card-detail-card.tier-platinum.fx-crossover .card-tier-banner,
.cards-collection-grid.fx-crossover .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #fef08a 0%, #eab308 35%, #ea580c 75%, #facc15 100%);
  color: #1a0800;
  font-weight: 900;
  letter-spacing: 1.5px;
  border: 1px solid #fef08a;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
  box-shadow: 0 0 18px rgba(234, 179, 8, 0.8);
}

.platinum-overlay-crossover .crossover-skid-line {
  position: absolute;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent 0%, #f97316 20%, #eab308 50%, #ffffff 70%, transparent 100%);
  box-shadow: 0 0 10px #f97316, 0 0 20px #eab308;
  opacity: 0.85;
}

.platinum-overlay-crossover .crossover-skid-line.csl-left {
  bottom: 30%;
  left: 5%;
  width: 50%;
  transform: rotate(-16deg);
  animation: crossover-skid-juke 2s cubic-bezier(0.25, 1, 0.5, 1) infinite alternate;
}

.platinum-overlay-crossover .crossover-skid-line.csl-right {
  bottom: 24%;
  right: 5%;
  width: 55%;
  transform: rotate(14deg);
  animation: crossover-skid-juke 2s cubic-bezier(0.25, 1, 0.5, 1) infinite alternate-reverse;
}

@keyframes crossover-skid-juke {
  0% { transform: scaleX(0.7) translateX(-15px) rotate(-14deg); opacity: 0.3; }
  50% { transform: scaleX(1.15) translateX(8px) rotate(-16deg); opacity: 0.95; }
  100% { transform: scaleX(0.85) translateX(0) rotate(-12deg); opacity: 0.6; }
}

.platinum-overlay-crossover .crossover-shake-sweep {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 20%, rgba(234, 179, 8, 0.12) 45%, rgba(255, 255, 255, 0.22) 50%, rgba(249, 115, 22, 0.15) 55%, transparent 80%);
  animation: crossover-lateral-sweep 2.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes crossover-lateral-sweep {
  0% { transform: translateX(-100%); }
  45%, 55% { transform: translateX(0); }
  100% { transform: translateX(100%); }
}

.crossover-particle {
  position: absolute;
  line-height: 1;
  user-select: none;
  filter: drop-shadow(0 0 8px rgba(234, 179, 8, 0.8));
  animation: crossover-pop var(--cp-dur, 2s) ease-in-out infinite var(--cp-del, 0s);
}

.crossover-particle.cp1 { top: 4%; left: 5%; font-size: 1.25rem; --cp-dur: 1.8s; --cp-del: 0.1s; }
.crossover-particle.cp2 { top: 22%; left: 3%; font-size: 1.3rem; --cp-dur: 1.6s; --cp-del: 0.4s; }
.crossover-particle.cp3 { top: 4%; right: 5%; font-size: 1.2rem; --cp-dur: 2.1s; --cp-del: 0.8s; }
.crossover-particle.cp4 { top: 22%; right: 3%; font-size: 1.2rem; --cp-dur: 1.5s; --cp-del: 0.2s; }
.crossover-particle.cp5 { bottom: 5%; left: 10%; font-size: 1.25rem; --cp-dur: 1.7s; --cp-del: 0.9s; }
.crossover-particle.cp6 { bottom: 5%; right: 10%; font-size: 1.3rem; --cp-dur: 1.9s; --cp-del: 0.6s; }

@keyframes crossover-pop {
  0%, 100% { transform: scale(0.7) translateY(0); opacity: 0.25; }
  50% { transform: scale(1.3) translateY(-4px) rotate(-12deg); opacity: 1; filter: brightness(1.8) drop-shadow(0 0 12px #f97316); }
}

/* --------------------------------------------------------------------------
   EFFECT 8: SPLASH ZONE (Hydro Ripple, Fluid Caustics & Water Droplets)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-splash,
.card-detail-card.tier-platinum.fx-splash,
.cards-collection-grid.fx-splash .trading-card.tier-platinum {
  border: 3px solid #06b6d4;
  background: radial-gradient(circle at 50% 20%, #083344 0%, #032a36 50%, #01141a 100%);
  box-shadow: 0 0 35px rgba(6, 182, 212, 0.65), 0 0 70px rgba(14, 165, 233, 0.4), inset 0 0 22px rgba(6, 182, 212, 0.3);
  animation: splash-border-undulate 3.2s ease-in-out infinite alternate;
}

@keyframes splash-border-undulate {
  0% { border-color: #06b6d4; box-shadow: 0 0 25px rgba(6, 182, 212, 0.6), 0 0 50px rgba(14, 165, 233, 0.35); }
  50% { border-color: #38bdf8; box-shadow: 0 0 42px rgba(56, 189, 248, 0.85), 0 0 80px rgba(6, 182, 212, 0.55); }
  100% { border-color: #67e8f9; box-shadow: 0 0 30px rgba(103, 232, 249, 0.7), 0 0 60px rgba(14, 165, 233, 0.4); }
}

.trading-card.tier-platinum.fx-splash .card-tier-banner,
.card-detail-card.tier-platinum.fx-splash .card-tier-banner,
.cards-collection-grid.fx-splash .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #a5f3fc 0%, #06b6d4 40%, #0284c7 80%, #67e8f9 100%);
  color: #042533;
  font-weight: 900;
  border: 1px solid #cffafe;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 16px rgba(6, 182, 212, 0.8);
}

.platinum-overlay-splash .splash-caustics {
  position: absolute;
  inset: -50%;
  background: radial-gradient(circle at 45% 45%, rgba(103, 232, 249, 0.22) 0%, rgba(6, 182, 212, 0.12) 40%, transparent 70%);
  animation: splash-caustics-ripple 7s ease-in-out infinite alternate;
}

@keyframes splash-caustics-ripple {
  0% { transform: scale(0.9) rotate(0deg); }
  100% { transform: scale(1.2) rotate(180deg); }
}

.platinum-overlay-splash .splash-wave-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  border: 2px solid rgba(103, 232, 249, 0.4);
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.platinum-overlay-splash .splash-wave-ring.swr1 {
  width: 90px;
  height: 90px;
  animation: splash-ring-expand 3s ease-out infinite;
}

.platinum-overlay-splash .splash-wave-ring.swr2 {
  width: 90px;
  height: 90px;
  animation: splash-ring-expand 3s ease-out infinite 1.5s;
}

@keyframes splash-ring-expand {
  0% { transform: translate(-50%, -50%) scale(0.4); opacity: 0.8; border-color: #67e8f9; }
  100% { transform: translate(-50%, -50%) scale(2.8); opacity: 0; border-color: #0284c7; }
}

.splash-droplet {
  position: absolute;
  color: #67e8f9;
  line-height: 1;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #06b6d4, 0 0 35px #0284c7;
  user-select: none;
  animation: splash-droplet-bob var(--sd-dur, 2.8s) ease-in-out infinite var(--sd-del, 0s);
}

.splash-droplet.sd1 { top: 3%; left: 4%; font-size: 1.25rem; --sd-dur: 2.4s; --sd-del: 0.1s; }
.splash-droplet.sd2 { top: 3%; right: 4%; font-size: 1.15rem; --sd-dur: 2.9s; --sd-del: 0.6s; }
.splash-droplet.sd3 { top: 25%; left: 3%; font-size: 1.2rem; --sd-dur: 2.5s; --sd-del: 1.1s; }
.splash-droplet.sd4 { top: 25%; right: 3%; font-size: 1.25rem; --sd-dur: 2.2s; --sd-del: 0.3s; }
.splash-droplet.sd5 { bottom: 22%; left: 4%; font-size: 1.15rem; --sd-dur: 2.7s; --sd-del: 1.4s; }
.splash-droplet.sd6 { bottom: 22%; right: 4%; font-size: 1.25rem; --sd-dur: 2.3s; --sd-del: 0.8s; }
.splash-droplet.sd7 { bottom: 4%; left: 10%; font-size: 1.1rem; --sd-dur: 3s; --sd-del: 1.2s; }
.splash-droplet.sd8 { bottom: 4%; right: 10%; font-size: 1.15rem; --sd-dur: 2.6s; --sd-del: 1.9s; }

@keyframes splash-droplet-bob {
  0%, 100% { transform: translateY(0) scale(0.7); opacity: 0.3; }
  50% { transform: translateY(-8px) scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 10px #38bdf8); }
}

/* --------------------------------------------------------------------------
   EFFECT 9: EMERALD AURORA (Celestial Polar Ribbon & Shimmering Glints)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-aurora,
.card-detail-card.tier-platinum.fx-aurora,
.cards-collection-grid.fx-aurora .trading-card.tier-platinum {
  border: 3px solid #10b981;
  background: radial-gradient(circle at 50% 10%, #064e3b 0%, #022c22 45%, #051410 80%, #010907 100%);
  box-shadow: 0 0 35px rgba(16, 185, 129, 0.65), 0 0 70px rgba(52, 211, 153, 0.4), 0 0 90px rgba(168, 85, 247, 0.3);
  animation: aurora-border-glow 3.6s ease-in-out infinite alternate;
}

@keyframes aurora-border-glow {
  0% { border-color: #10b981; box-shadow: 0 0 25px rgba(16, 185, 129, 0.6), 0 0 50px rgba(52, 211, 153, 0.35); }
  50% { border-color: #34d399; box-shadow: 0 0 45px rgba(52, 211, 153, 0.85), 0 0 85px rgba(168, 85, 247, 0.55); }
  100% { border-color: #a855f7; box-shadow: 0 0 30px rgba(168, 85, 247, 0.7), 0 0 65px rgba(16, 185, 129, 0.4); }
}

.trading-card.tier-platinum.fx-aurora .card-tier-banner,
.card-detail-card.tier-platinum.fx-aurora .card-tier-banner,
.cards-collection-grid.fx-aurora .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #a7f3d0 0%, #10b981 40%, #059669 70%, #c084fc 100%);
  color: #022c22;
  font-weight: 900;
  border: 1px solid #d1fae5;
  text-shadow: 0 0 8px #a7f3d0;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.8);
}

.platinum-overlay-aurora .aurora-curtain {
  position: absolute;
  inset: -60%;
  pointer-events: none;
}

.platinum-overlay-aurora .aurora-curtain.ac1 {
  background: radial-gradient(ellipse at 40% 30%, rgba(52, 211, 153, 0.28) 0%, rgba(16, 185, 129, 0.15) 35%, transparent 65%);
  animation: aurora-curtain-undulate 8s ease-in-out infinite alternate;
}

.platinum-overlay-aurora .aurora-curtain.ac2 {
  background: radial-gradient(ellipse at 60% 70%, rgba(192, 132, 252, 0.24) 0%, rgba(168, 85, 247, 0.12) 35%, transparent 65%);
  animation: aurora-curtain-undulate 6.5s ease-in-out infinite alternate-reverse;
}

@keyframes aurora-curtain-undulate {
  0% { transform: translate(-10%, -10%) rotate(-5deg) scale(0.9); }
  100% { transform: translate(10%, 10%) rotate(5deg) scale(1.15); }
}

.aurora-star {
  position: absolute;
  color: #ffffff;
  line-height: 1;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #34d399, 0 0 35px #a855f7;
  user-select: none;
  animation: aurora-star-shimmer var(--as-dur, 3s) ease-in-out infinite var(--as-del, 0s);
}

.aurora-star.as1 { top: 3%; left: 4%; font-size: 1.25rem; --as-dur: 2.3s; --as-del: 0.1s; }
.aurora-star.as2 { top: 3%; right: 4%; font-size: 1.15rem; --as-dur: 2.7s; --as-del: 0.7s; }
.aurora-star.as3 { top: 25%; left: 3%; font-size: 1.2rem; --as-dur: 2.4s; --as-del: 1.3s; }
.aurora-star.as4 { top: 25%; right: 3%; font-size: 1.3rem; --as-dur: 2.1s; --as-del: 0.4s; }
.aurora-star.as5 { bottom: 22%; left: 4%; font-size: 1.15rem; --as-dur: 2.8s; --as-del: 1.5s; }
.aurora-star.as6 { bottom: 22%; right: 4%; font-size: 1.25rem; --as-dur: 2.2s; --as-del: 0.8s; }
.aurora-star.as7 { bottom: 4%; left: 10%; font-size: 1.1rem; --as-dur: 3.2s; --as-del: 1.1s; }
.aurora-star.as8 { bottom: 4%; right: 10%; font-size: 1.15rem; --as-dur: 2.5s; --as-del: 2.0s; }

@keyframes aurora-star-shimmer {
  0%, 100% { transform: scale(0.65) rotate(0deg); opacity: 0.25; }
  50% { transform: scale(1.35) rotate(45deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 10px #34d399); }
}

/* --------------------------------------------------------------------------
   EFFECT 10: EVENT HORIZON (Cosmic Singularity, Relativistic Jets & Void)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-void,
.card-detail-card.tier-platinum.fx-void,
.cards-collection-grid.fx-void .trading-card.tier-platinum {
  border: 3px solid #d946ef;
  background: radial-gradient(circle at 50% 45%, #000000 0%, #150222 35%, #2a0845 70%, #06000a 100%);
  box-shadow: 0 0 40px rgba(217, 70, 239, 0.7), 0 0 85px rgba(147, 51, 234, 0.5), inset 0 0 30px rgba(0, 0, 0, 0.95);
  animation: void-border-warp 3.5s ease-in-out infinite alternate;
}

@keyframes void-border-warp {
  0% { border-color: #d946ef; box-shadow: 0 0 30px rgba(217, 70, 239, 0.65), 0 0 65px rgba(147, 51, 234, 0.4); }
  50% { border-color: #f43f5e; box-shadow: 0 0 50px rgba(244, 63, 94, 0.85), 0 0 95px rgba(217, 70, 239, 0.6); }
  100% { border-color: #a855f7; box-shadow: 0 0 35px rgba(168, 85, 247, 0.75), 0 0 75px rgba(147, 51, 234, 0.5); }
}

.trading-card.tier-platinum.fx-void .card-tier-banner,
.card-detail-card.tier-platinum.fx-void .card-tier-banner,
.cards-collection-grid.fx-void .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #f5d0fe 0%, #d946ef 40%, #701a75 75%, #000000 100%);
  color: #ffffff;
  font-weight: 900;
  border: 1px solid #f0abfc;
  text-shadow: 0 0 10px #d946ef;
  box-shadow: 0 0 18px rgba(217, 70, 239, 0.8);
}

.platinum-overlay-void .void-singularity-core {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, #000000 40%, rgba(217, 70, 239, 0.25) 70%, transparent 100%);
  transform: translate(-50%, -50%);
  box-shadow: 0 0 25px rgba(217, 70, 239, 0.5), inset 0 0 25px #000000;
  animation: void-singularity-pulse 4s ease-in-out infinite alternate;
}

@keyframes void-singularity-pulse {
  0% { transform: translate(-50%, -50%) scale(0.85); box-shadow: 0 0 20px rgba(217, 70, 239, 0.4); }
  100% { transform: translate(-50%, -50%) scale(1.2); box-shadow: 0 0 35px rgba(244, 63, 94, 0.7); }
}

.platinum-overlay-void .void-gravitational-rings {
  position: absolute;
  inset: -60%;
  background: conic-gradient(
    from 0deg,
    transparent 0deg, rgba(217, 70, 239, 0.18) 45deg, transparent 90deg,
    rgba(147, 51, 234, 0.2) 135deg, transparent 180deg,
    rgba(244, 63, 94, 0.18) 225deg, transparent 270deg,
    rgba(217, 70, 239, 0.2) 315deg, transparent 360deg
  );
  animation: void-accretion-spin 15s linear infinite;
}

@keyframes void-accretion-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.void-matter {
  position: absolute;
  color: #f5d0fe;
  line-height: 1;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #d946ef, 0 0 35px #9333ea;
  user-select: none;
  animation: void-matter-orbit var(--vm-dur, 3s) ease-in-out infinite var(--vm-del, 0s);
}

.void-matter.vm1 { top: 3%; left: 4%; font-size: 1.25rem; --vm-dur: 2.2s; --vm-del: 0.1s; }
.void-matter.vm2 { top: 3%; right: 4%; font-size: 1.15rem; --vm-dur: 2.6s; --vm-del: 0.6s; }
.void-matter.vm3 { top: 25%; left: 3%; font-size: 1.2rem; --vm-dur: 2.3s; --vm-del: 1.1s; }
.void-matter.vm4 { top: 25%; right: 3%; font-size: 1.3rem; --vm-dur: 2.8s; --vm-del: 0.3s; }
.void-matter.vm5 { bottom: 22%; left: 4%; font-size: 1.15rem; --vm-dur: 2.5s; --vm-del: 1.4s; }
.void-matter.vm6 { bottom: 22%; right: 4%; font-size: 1.25rem; --vm-dur: 2.1s; --vm-del: 0.8s; }
.void-matter.vm7 { bottom: 4%; left: 10%; font-size: 1.1rem; --vm-dur: 3.1s; --vm-del: 1.2s; }
.void-matter.vm8 { bottom: 4%; right: 10%; font-size: 1.15rem; --vm-dur: 2.4s; --vm-del: 1.9s; }

@keyframes void-matter-orbit {
  0%, 100% { transform: scale(0.65) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.35) rotate(180deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #d946ef); }
}


/* --------------------------------------------------------------------------
   EFFECT 11: STELLAR NEBULA (Deep Space Cosmic Dust & Starlight)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-nebula,
.card-detail-card.tier-platinum.fx-nebula,
.cards-collection-grid.fx-nebula .trading-card.tier-platinum {
  border: 3px solid #d946ef;
  background: radial-gradient(circle at 50% 20%, #3b0764 0%, #1e1b4b 50%, #030712 100%);
  box-shadow: 0 0 35px rgba(217, 70, 239, 0.65), 0 0 70px rgba(99, 102, 241, 0.4);
  animation: nebula-border-glow 4s ease-in-out infinite alternate;
}
@keyframes nebula-border-glow {
  0% { border-color: #d946ef; box-shadow: 0 0 25px rgba(217, 70, 239, 0.6), 0 0 50px rgba(99, 102, 241, 0.35); }
  50% { border-color: #818cf8; box-shadow: 0 0 40px rgba(129, 140, 248, 0.8), 0 0 75px rgba(236, 72, 153, 0.5); }
  100% { border-color: #f43f5e; box-shadow: 0 0 30px rgba(244, 63, 94, 0.7), 0 0 60px rgba(217, 70, 239, 0.4); }
}
.trading-card.tier-platinum.fx-nebula .card-tier-banner,
.card-detail-card.tier-platinum.fx-nebula .card-tier-banner,
.cards-collection-grid.fx-nebula .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #f0abfc 0%, #d946ef 50%, #818cf8 100%);
  color: #ffffff;
  border: 1px solid #fae8ff;
  text-shadow: 0 0 10px #d946ef;
}
.platinum-overlay-nebula .nebula-gas-cloud {
  position: absolute;
  inset: -50%;
  pointer-events: none;
}
.platinum-overlay-nebula .nebula-gas-cloud.ngc1 {
  background: radial-gradient(ellipse at 30% 40%, rgba(217, 70, 239, 0.28) 0%, transparent 60%);
  animation: nebula-cloud-shift 7s ease-in-out infinite alternate;
}
.platinum-overlay-nebula .nebula-gas-cloud.ngc2 {
  background: radial-gradient(ellipse at 70% 60%, rgba(99, 102, 241, 0.28) 0%, transparent 60%);
  animation: nebula-cloud-shift 9s ease-in-out infinite alternate-reverse;
}
@keyframes nebula-cloud-shift {
  0% { transform: scale(0.9) rotate(0deg); }
  100% { transform: scale(1.2) rotate(15deg); }
}
.nebula-star {
  position: absolute;
  color: #ffffff;
  text-shadow: 0 0 8px #ffffff, 0 0 18px #d946ef;
  animation: nebula-star-twinkle 2.8s ease-in-out infinite;
}
.nebula-star.ns1 { top: 3%; left: 4%; font-size: 1.2rem; animation-delay: 0.1s; }
.nebula-star.ns2 { top: 3%; right: 4%; font-size: 1.1rem; animation-delay: 0.7s; }
.nebula-star.ns3 { top: 22%; left: 3%; font-size: 1.25rem; animation-delay: 1.4s; }
.nebula-star.ns4 { top: 22%; right: 3%; font-size: 1.15rem; animation-delay: 0.3s; }
.nebula-star.ns5 { bottom: 20%; left: 4%; font-size: 1.1rem; animation-delay: 1.8s; }
.nebula-star.ns6 { bottom: 20%; right: 4%; font-size: 1.2rem; animation-delay: 0.9s; }
.nebula-star.ns7 { bottom: 3%; left: 10%; font-size: 1.15rem; animation-delay: 1.2s; }
.nebula-star.ns8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes nebula-star-twinkle {
  0%, 100% { transform: scale(0.6) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.3) rotate(90deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #d946ef); }
}

/* --------------------------------------------------------------------------
   EFFECT 12: THUNDERSTORM (Golden High-Voltage Arc Lightning)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-thunder,
.card-detail-card.tier-platinum.fx-thunder,
.cards-collection-grid.fx-thunder .trading-card.tier-platinum {
  border: 3px solid #fbbf24;
  background: radial-gradient(circle at 50% 10%, #451a03 0%, #1c1917 60%, #0c0a09 100%);
  box-shadow: 0 0 35px rgba(251, 191, 36, 0.7), 0 0 65px rgba(245, 158, 11, 0.4);
  animation: thunder-border-flash 2.5s steps(2, start) infinite;
}
@keyframes thunder-border-flash {
  0%, 100% { border-color: #fbbf24; box-shadow: 0 0 25px rgba(251, 191, 36, 0.6); }
  45% { border-color: #ffffff; box-shadow: 0 0 50px rgba(255, 255, 255, 0.9), 0 0 90px rgba(251, 191, 36, 0.8); }
  50% { border-color: #f59e0b; box-shadow: 0 0 30px rgba(245, 158, 11, 0.6); }
  92% { border-color: #ffffff; box-shadow: 0 0 45px rgba(255, 255, 255, 0.85); }
}
.trading-card.tier-platinum.fx-thunder .card-tier-banner,
.card-detail-card.tier-platinum.fx-thunder .card-tier-banner,
.cards-collection-grid.fx-thunder .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #fef08a 0%, #fbbf24 50%, #d97706 100%);
  color: #451a03;
  font-weight: 900;
  border: 1px solid #fef9c3;
  text-shadow: 0 0 8px #fef08a;
}
.platinum-overlay-thunder .thunder-flash-sweep {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(254, 240, 138, 0.3) 50%, transparent 60%);
  animation: thunder-beam-flash 3.2s ease-in-out infinite;
}
@keyframes thunder-beam-flash {
  0%, 90%, 100% { opacity: 0; transform: translateX(-100%); }
  92%, 96% { opacity: 1; transform: translateX(100%); }
}
.thunder-bolt {
  position: absolute;
  color: #fef08a;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #fbbf24;
  animation: thunder-bolt-pulse 2s ease-in-out infinite;
}
.thunder-bolt.tb1 { top: 3%; left: 4%; font-size: 1.3rem; animation-delay: 0.1s; }
.thunder-bolt.tb2 { top: 3%; right: 4%; font-size: 1.2rem; animation-delay: 0.6s; }
.thunder-bolt.tb3 { top: 22%; left: 3%; font-size: 1.35rem; animation-delay: 1.1s; }
.thunder-bolt.tb4 { top: 22%; right: 3%; font-size: 1.25rem; animation-delay: 0.4s; }
.thunder-bolt.tb5 { bottom: 20%; left: 4%; font-size: 1.3rem; animation-delay: 1.5s; }
.thunder-bolt.tb6 { bottom: 20%; right: 4%; font-size: 1.2rem; animation-delay: 0.8s; }
@keyframes thunder-bolt-pulse {
  0%, 100% { transform: scale(0.8); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 14px #fbbf24); }
}

/* --------------------------------------------------------------------------
   EFFECT 13: PHOENIX BLAZE (Solar Flare Golden Wings & Molten Aura)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-phoenix,
.card-detail-card.tier-platinum.fx-phoenix,
.cards-collection-grid.fx-phoenix .trading-card.tier-platinum {
  border: 3px solid #f97316;
  background: radial-gradient(circle at 50% 100%, #431407 0%, #1f0b04 50%, #0c0402 100%);
  box-shadow: 0 0 40px rgba(249, 115, 22, 0.7), 0 0 80px rgba(239, 68, 68, 0.45);
  animation: phoenix-fire-cycle 3.5s ease-in-out infinite alternate;
}
@keyframes phoenix-fire-cycle {
  0% { border-color: #f97316; box-shadow: 0 0 25px rgba(249, 115, 22, 0.6), 0 0 60px rgba(239, 68, 68, 0.35); }
  50% { border-color: #ef4444; box-shadow: 0 0 45px rgba(239, 68, 68, 0.85), 0 0 85px rgba(245, 158, 11, 0.5); }
  100% { border-color: #f59e0b; box-shadow: 0 0 30px rgba(245, 158, 11, 0.7), 0 0 65px rgba(249, 115, 22, 0.4); }
}
.trading-card.tier-platinum.fx-phoenix .card-tier-banner,
.card-detail-card.tier-platinum.fx-phoenix .card-tier-banner,
.cards-collection-grid.fx-phoenix .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #fed7aa 0%, #f97316 45%, #ef4444 80%, #b91c1c 100%);
  color: #ffffff;
  border: 1px solid #ffedd5;
  text-shadow: 0 0 10px #f97316;
}
.platinum-overlay-phoenix .phoenix-wing-left,
.platinum-overlay-phoenix .phoenix-wing-right {
  position: absolute;
  bottom: 0;
  width: 60%;
  height: 70%;
  pointer-events: none;
}
.platinum-overlay-phoenix .phoenix-wing-left {
  left: -20%;
  background: radial-gradient(ellipse at bottom left, rgba(249, 115, 22, 0.35) 0%, transparent 65%);
  animation: phoenix-wing-beat 3s ease-in-out infinite alternate;
}
.platinum-overlay-phoenix .phoenix-wing-right {
  right: -20%;
  background: radial-gradient(ellipse at bottom right, rgba(239, 68, 68, 0.35) 0%, transparent 65%);
  animation: phoenix-wing-beat 3s ease-in-out infinite alternate-reverse;
}
@keyframes phoenix-wing-beat {
  0% { transform: scale(0.9) rotate(-3deg); }
  100% { transform: scale(1.15) rotate(3deg); }
}
.phoenix-spark {
  position: absolute;
  color: #fed7aa;
  text-shadow: 0 0 10px #f97316, 0 0 20px #ef4444;
  animation: phoenix-spark-float 2.5s ease-in-out infinite;
}
.phoenix-spark.ps1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.phoenix-spark.ps2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.6s; }
.phoenix-spark.ps3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.2s; }
.phoenix-spark.ps4 { top: 22%; right: 3%; font-size: 1.25rem; animation-delay: 0.3s; }
.phoenix-spark.ps5 { bottom: 20%; left: 4%; font-size: 1.15rem; animation-delay: 1.7s; }
.phoenix-spark.ps6 { bottom: 20%; right: 4%; font-size: 1.2rem; animation-delay: 0.8s; }
.phoenix-spark.ps7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.3s; }
.phoenix-spark.ps8 { bottom: 3%; right: 10%; font-size: 1.15rem; animation-delay: 2.1s; }
@keyframes phoenix-spark-float {
  0%, 100% { transform: translateY(0) scale(0.8); opacity: 0.3; }
  50% { transform: translateY(-8px) scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #f97316); }
}

/* --------------------------------------------------------------------------
   EFFECT 14: DIGITAL MATRIX (Cyberpunk Green Stream & Terminal Scanlines)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-matrix-rain,
.card-detail-card.tier-platinum.fx-matrix-rain,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum {
  border: 3px solid #22c55e;
  background: radial-gradient(circle at 50% 0%, #052e16 0%, #021a0d 60%, #010a05 100%);
  box-shadow: 0 0 35px rgba(34, 197, 94, 0.7), 0 0 65px rgba(22, 163, 74, 0.4);
  animation: matrix-border-pulse 3.2s ease-in-out infinite alternate;
}
@keyframes matrix-border-pulse {
  0% { border-color: #22c55e; box-shadow: 0 0 25px rgba(34, 197, 94, 0.6); }
  50% { border-color: #4ade80; box-shadow: 0 0 45px rgba(74, 222, 128, 0.85); }
  100% { border-color: #15803d; box-shadow: 0 0 25px rgba(21, 128, 61, 0.6); }
}
.trading-card.tier-platinum.fx-matrix-rain .card-tier-banner,
.card-detail-card.tier-platinum.fx-matrix-rain .card-tier-banner,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #bbf7d0 0%, #22c55e 50%, #15803d 100%);
  color: #022c22;
  font-family: 'Geist Mono', monospace;
  font-weight: 900;
  border: 1px solid #dcfce7;
  text-shadow: 0 0 8px #bbf7d0;
}
.platinum-special-overlay.platinum-overlay-matrix-rain {
  z-index: 1 !important;
}
.platinum-overlay-matrix-rain .matrix-scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(to bottom, transparent 0px, transparent 3px, rgba(34, 197, 94, 0.12) 4px);
  pointer-events: none;
  z-index: 2;
}

/* Digital Matrix Canvas Rain Stream (Option 1) */
.matrix-rain-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  pointer-events: none;
}

/* Matrix Card Elements Z-Layering (Stats & Image Sit Above Character Wall) */
.trading-card.tier-platinum.fx-matrix-rain .card-stats-grid,
.card-detail-card.tier-platinum.fx-matrix-rain .card-stats-grid,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum .card-stats-grid {
  position: relative;
  z-index: 3;
  background: rgba(2, 22, 11, 0.76) !important;
  backdrop-filter: blur(4px);
  border: 1px solid rgba(34, 197, 94, 0.35) !important;
}
.trading-card.tier-platinum.fx-matrix-rain .card-player-name,
.card-detail-card.tier-platinum.fx-matrix-rain .card-player-name,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum .card-player-name,
.trading-card.tier-platinum.fx-matrix-rain .card-meta-line,
.trading-card.tier-platinum.fx-matrix-rain .card-date-line,
.trading-card.tier-platinum.fx-matrix-rain .card-teams-row,
.trading-card.tier-platinum.fx-matrix-rain .card-tier-banner {
  position: relative;
  z-index: 3;
}

/* Stark Light Green Flash Burst on Matrix Player Image */
.trading-card.tier-platinum.fx-matrix-rain .card-headshot-area,
.card-detail-card.tier-platinum.fx-matrix-rain .card-headshot-area,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum .card-headshot-area {
  position: relative;
  z-index: 3;
  overflow: hidden;
}
.trading-card.tier-platinum.fx-matrix-rain .card-headshot-area::after,
.card-detail-card.tier-platinum.fx-matrix-rain .card-headshot-area::after,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum .card-headshot-area::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: #4ade80;
  pointer-events: none;
  z-index: 6;
  opacity: 0;
  mix-blend-mode: screen;
  animation: matrix-player-stark-flash 5.8s cubic-bezier(0.15, 0.85, 0.35, 1) infinite;
}
.trading-card.tier-platinum.fx-matrix-rain .card-headshot,
.card-detail-card.tier-platinum.fx-matrix-rain .card-headshot,
.cards-collection-grid.fx-matrix-rain .trading-card.tier-platinum .card-headshot {
  position: relative;
  z-index: 4;
  animation: matrix-headshot-color-flash 5.8s cubic-bezier(0.15, 0.85, 0.35, 1) infinite;
}
@keyframes matrix-player-stark-flash {
  0%, 68% {
    opacity: 0;
  }
  69% {
    opacity: 0.95;
    background: #4ade80;
    box-shadow: 0 0 50px #4ade80, inset 0 0 30px #86efac;
  }
  71% {
    opacity: 0.2;
    background: #22c55e;
  }
  72.5% {
    opacity: 0.9;
    background: #86efac;
    box-shadow: 0 0 40px #4ade80;
  }
  75% {
    opacity: 0;
  }
  84% {
    opacity: 0;
  }
  85% {
    opacity: 0.82;
    background: #4ade80;
    box-shadow: 0 0 35px #22c55e;
  }
  86.5% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes matrix-headshot-color-flash {
  0%, 68% {
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7));
  }
  69% {
    filter: drop-shadow(0 0 30px #4ade80) brightness(3.0) saturate(2.5) hue-rotate(40deg);
  }
  71% {
    filter: drop-shadow(0 0 12px #22c55e) brightness(1.4);
  }
  72.5% {
    filter: drop-shadow(0 0 40px #86efac) brightness(3.2) saturate(3) hue-rotate(45deg);
  }
  75% {
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7));
  }
  84% {
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7));
  }
  85% {
    filter: drop-shadow(0 0 32px #4ade80) brightness(2.6) saturate(2.2) hue-rotate(35deg);
  }
  86.5% {
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7));
  }
  100% {
    filter: drop-shadow(0 8px 16px rgba(0, 0, 0, 0.7));
  }
}

/* --------------------------------------------------------------------------
   EFFECT 15: GRAVITATIONAL RIFT (Warped Spacetime & Deep Violet Singularity)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-gravity,
.card-detail-card.tier-platinum.fx-gravity,
.cards-collection-grid.fx-gravity .trading-card.tier-platinum {
  border: 3px solid #7c3aed;
  background: radial-gradient(circle at 50% 50%, #2e1065 0%, #170733 50%, #06020c 100%);
  box-shadow: 0 0 35px rgba(124, 58, 237, 0.7), 0 0 70px rgba(76, 29, 149, 0.5);
  animation: gravity-border-warp 4s ease-in-out infinite alternate;
}
@keyframes gravity-border-warp {
  0% { border-color: #7c3aed; box-shadow: 0 0 25px rgba(124, 58, 237, 0.6); }
  50% { border-color: #a78bfa; box-shadow: 0 0 45px rgba(167, 139, 250, 0.85); }
  100% { border-color: #6366f1; box-shadow: 0 0 30px rgba(99, 102, 241, 0.7); }
}
.trading-card.tier-platinum.fx-gravity .card-tier-banner,
.card-detail-card.tier-platinum.fx-gravity .card-tier-banner,
.cards-collection-grid.fx-gravity .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #ddd6fe 0%, #7c3aed 50%, #4338ca 100%);
  color: #ffffff;
  border: 1px solid #ede9fe;
  text-shadow: 0 0 8px #a78bfa;
}
.platinum-overlay-gravity .gravity-lens-ripple {
  position: absolute;
  inset: -30%;
  border-radius: 50%;
  background: radial-gradient(circle, transparent 40%, rgba(124, 58, 237, 0.22) 55%, transparent 70%);
  animation: gravity-lens-pulse 5s ease-in-out infinite;
}
@keyframes gravity-lens-pulse {
  0%, 100% { transform: scale(0.85); opacity: 0.4; }
  50% { transform: scale(1.25); opacity: 0.9; }
}
.gravity-node {
  position: absolute;
  color: #c4b5fd;
  text-shadow: 0 0 10px #7c3aed, 0 0 20px #a78bfa;
  animation: gravity-node-orbit 3s ease-in-out infinite;
}
.gravity-node.gn1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.gravity-node.gn2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.gravity-node.gn3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.4s; }
.gravity-node.gn4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.3s; }
.gravity-node.gn5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.gravity-node.gn6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.gravity-node.gn7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.gravity-node.gn8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes gravity-node-orbit {
  0%, 100% { transform: scale(0.7) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.3) rotate(180deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #7c3aed); }
}

/* --------------------------------------------------------------------------
   EFFECT 16: VIOLET PLASMA (High-Voltage Tesla Filaments)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-plasma,
.card-detail-card.tier-platinum.fx-plasma,
.cards-collection-grid.fx-plasma .trading-card.tier-platinum {
  border: 3px solid #a855f7;
  background: radial-gradient(circle at 50% 50%, #3b0764 0%, #1e053a 55%, #080112 100%);
  box-shadow: 0 0 35px rgba(168, 85, 247, 0.75), 0 0 70px rgba(192, 132, 252, 0.45);
  animation: plasma-border-flicker 2.8s ease-in-out infinite alternate;
}
@keyframes plasma-border-flicker {
  0% { border-color: #a855f7; box-shadow: 0 0 25px rgba(168, 85, 247, 0.6); }
  50% { border-color: #e879f9; box-shadow: 0 0 50px rgba(232, 121, 249, 0.85); }
  100% { border-color: #c084fc; box-shadow: 0 0 30px rgba(192, 132, 252, 0.7); }
}
.trading-card.tier-platinum.fx-plasma .card-tier-banner,
.card-detail-card.tier-platinum.fx-plasma .card-tier-banner,
.cards-collection-grid.fx-plasma .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #f5d0fe 0%, #c084fc 45%, #9333ea 100%);
  color: #ffffff;
  border: 1px solid #fae8ff;
  text-shadow: 0 0 8px #e879f9;
}
.platinum-overlay-plasma .plasma-filament-core {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 40%, rgba(168, 85, 247, 0.25) 0%, transparent 60%);
  animation: plasma-core-pulse 2.2s ease-in-out infinite alternate;
}
@keyframes plasma-core-pulse {
  0% { opacity: 0.3; transform: scale(0.9); }
  100% { opacity: 0.8; transform: scale(1.1); }
}
.plasma-arc {
  position: absolute;
  color: #f5d0fe;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #a855f7;
  animation: plasma-arc-jump 2s ease-in-out infinite;
}
.plasma-arc.pa1 { top: 3%; left: 4%; font-size: 1.3rem; animation-delay: 0.1s; }
.plasma-arc.pa2 { top: 3%; right: 4%; font-size: 1.2rem; animation-delay: 0.6s; }
.plasma-arc.pa3 { top: 22%; left: 3%; font-size: 1.35rem; animation-delay: 1.2s; }
.plasma-arc.pa4 { top: 22%; right: 3%; font-size: 1.25rem; animation-delay: 0.4s; }
.plasma-arc.pa5 { bottom: 20%; left: 4%; font-size: 1.3rem; animation-delay: 1.6s; }
.plasma-arc.pa6 { bottom: 20%; right: 4%; font-size: 1.2rem; animation-delay: 0.8s; }
@keyframes plasma-arc-jump {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.35); opacity: 1; filter: brightness(2) drop-shadow(0 0 14px #e879f9); }
}

/* --------------------------------------------------------------------------
   EFFECT 17: HYPERDRIVE WARP (Light-Speed Acceleration Streaks)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-hyperdrive,
.card-detail-card.tier-platinum.fx-hyperdrive,
.cards-collection-grid.fx-hyperdrive .trading-card.tier-platinum {
  border: 3px solid #06b6d4;
  background: radial-gradient(circle at 50% 50%, #083344 0%, #031a24 55%, #01090d 100%);
  box-shadow: 0 0 35px rgba(6, 182, 212, 0.7), 0 0 70px rgba(14, 165, 233, 0.45);
  animation: hyperdrive-border-cycle 3s ease-in-out infinite alternate;
}
@keyframes hyperdrive-border-cycle {
  0% { border-color: #06b6d4; box-shadow: 0 0 25px rgba(6, 182, 212, 0.6); }
  50% { border-color: #38bdf8; box-shadow: 0 0 50px rgba(56, 189, 248, 0.85); }
  100% { border-color: #22d3ee; box-shadow: 0 0 30px rgba(34, 211, 238, 0.7); }
}
.trading-card.tier-platinum.fx-hyperdrive .card-tier-banner,
.card-detail-card.tier-platinum.fx-hyperdrive .card-tier-banner,
.cards-collection-grid.fx-hyperdrive .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #cffafe 0%, #06b6d4 45%, #0284c7 100%);
  color: #083344;
  font-weight: 900;
  border: 1px solid #e0f2fe;
  text-shadow: 0 0 8px #67e8f9;
}
.platinum-overlay-hyperdrive .hyperdrive-tunnel {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 50%, transparent 40%, rgba(6, 182, 212, 0.22) 70%, transparent 90%);
  animation: hyperdrive-tunnel-zoom 2.5s ease-in-out infinite;
}
@keyframes hyperdrive-tunnel-zoom {
  0% { transform: scale(0.6); opacity: 0.2; }
  50% { opacity: 0.7; }
  100% { transform: scale(1.4); opacity: 0; }
}
.hyperdrive-streak {
  position: absolute;
  color: #cffafe;
  text-shadow: 0 0 10px #06b6d4, 0 0 20px #38bdf8;
  animation: hyperdrive-streak-dash 2s ease-in-out infinite;
}
.hyperdrive-streak.hs1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.hyperdrive-streak.hs2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.6s; }
.hyperdrive-streak.hs3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.2s; }
.hyperdrive-streak.hs4 { top: 22%; right: 3%; font-size: 1.25rem; animation-delay: 0.3s; }
.hyperdrive-streak.hs5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.7s; }
.hyperdrive-streak.hs6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.8s; }
.hyperdrive-streak.hs7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.3s; }
.hyperdrive-streak.hs8 { bottom: 3%; right: 10%; font-size: 1.15rem; animation-delay: 2.1s; }
@keyframes hyperdrive-streak-dash {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #06b6d4); }
}

/* --------------------------------------------------------------------------
   EFFECT 18: QUANTUM REALM (Subatomic Orbital Rings & Electron Clouds)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-quantum,
.card-detail-card.tier-platinum.fx-quantum,
.cards-collection-grid.fx-quantum .trading-card.tier-platinum {
  border: 3px solid #14b8a6;
  background: radial-gradient(circle at 50% 50%, #042f2e 0%, #021e1d 55%, #010b0a 100%);
  box-shadow: 0 0 35px rgba(20, 184, 166, 0.7), 0 0 70px rgba(45, 212, 191, 0.45);
  animation: quantum-border-pulse 3.5s ease-in-out infinite alternate;
}
@keyframes quantum-border-pulse {
  0% { border-color: #14b8a6; box-shadow: 0 0 25px rgba(20, 184, 166, 0.6); }
  50% { border-color: #5eead4; box-shadow: 0 0 50px rgba(94, 234, 212, 0.85); }
  100% { border-color: #0d9488; box-shadow: 0 0 25px rgba(13, 148, 136, 0.6); }
}
.trading-card.tier-platinum.fx-quantum .card-tier-banner,
.card-detail-card.tier-platinum.fx-quantum .card-tier-banner,
.cards-collection-grid.fx-quantum .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #ccfbf1 0%, #14b8a6 45%, #0f766e 100%);
  color: #042f2e;
  font-weight: 900;
  border: 1px solid #e6fffa;
  text-shadow: 0 0 8px #5eead4;
}
.platinum-overlay-quantum .quantum-orbital-ring {
  position: absolute;
  inset: -15%;
  border-radius: 50%;
  border: 1px dashed rgba(45, 212, 191, 0.35);
  pointer-events: none;
}
.platinum-overlay-quantum .quantum-orbital-ring.qor1 {
  animation: quantum-ring-spin 8s linear infinite;
}
.platinum-overlay-quantum .quantum-orbital-ring.qor2 {
  animation: quantum-ring-spin 6s linear infinite reverse;
}
@keyframes quantum-ring-spin {
  0% { transform: rotate(0deg) scaleX(1.3) scaleY(0.6); }
  100% { transform: rotate(360deg) scaleX(1.3) scaleY(0.6); }
}
.quantum-particle {
  position: absolute;
  color: #ccfbf1;
  text-shadow: 0 0 10px #14b8a6, 0 0 20px #5eead4;
  animation: quantum-particle-orbit 2.6s ease-in-out infinite;
}
.quantum-particle.qp1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.quantum-particle.qp2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.quantum-particle.qp3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.quantum-particle.qp4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.quantum-particle.qp5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.quantum-particle.qp6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.quantum-particle.qp7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.quantum-particle.qp8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes quantum-particle-orbit {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #14b8a6); }
}

/* --------------------------------------------------------------------------
   EFFECT 19: VOLCANIC INFERNO (White-Hot Magma Crust & Heat Distortion)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-inferno,
.card-detail-card.tier-platinum.fx-inferno,
.cards-collection-grid.fx-inferno .trading-card.tier-platinum {
  border: 3px solid #dc2626;
  background: radial-gradient(circle at 50% 100%, #450a0a 0%, #200505 50%, #0a0101 100%);
  box-shadow: 0 0 40px rgba(220, 38, 38, 0.75), 0 0 80px rgba(249, 115, 22, 0.5);
  animation: inferno-border-boil 3s ease-in-out infinite alternate;
}
@keyframes inferno-border-boil {
  0% { border-color: #dc2626; box-shadow: 0 0 25px rgba(220, 38, 38, 0.6); }
  50% { border-color: #f97316; box-shadow: 0 0 50px rgba(249, 115, 22, 0.85); }
  100% { border-color: #ef4444; box-shadow: 0 0 30px rgba(239, 68, 68, 0.7); }
}
.trading-card.tier-platinum.fx-inferno .card-tier-banner,
.card-detail-card.tier-platinum.fx-inferno .card-tier-banner,
.cards-collection-grid.fx-inferno .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #fef2f2 0%, #ef4444 45%, #7f1d1d 100%);
  color: #ffffff;
  border: 1px solid #fee2e2;
  text-shadow: 0 0 10px #ef4444;
}
.platinum-overlay-inferno .inferno-heat-mirage {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(220, 38, 38, 0.28) 0%, rgba(249, 115, 22, 0.12) 50%, transparent 80%);
  animation: inferno-heat-wave 2.8s ease-in-out infinite alternate;
}
@keyframes inferno-heat-wave {
  0% { transform: translateY(0); opacity: 0.5; }
  100% { transform: translateY(-10px); opacity: 0.85; }
}
.inferno-ember {
  position: absolute;
  color: #fecaca;
  text-shadow: 0 0 10px #dc2626, 0 0 20px #f97316;
  animation: inferno-ember-rise 2.4s ease-in-out infinite;
}
.inferno-ember.ie1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.inferno-ember.ie2 { top: 3%; right: 4%; font-size: 1.2rem; animation-delay: 0.6s; }
.inferno-ember.ie3 { top: 22%; left: 3%; font-size: 1.15rem; animation-delay: 1.2s; }
.inferno-ember.ie4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.3s; }
.inferno-ember.ie5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.7s; }
.inferno-ember.ie6 { bottom: 20%; right: 4%; font-size: 1.2rem; animation-delay: 0.8s; }
.inferno-ember.ie7 { bottom: 3%; left: 10%; font-size: 1.15rem; animation-delay: 1.3s; }
.inferno-ember.ie8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes inferno-ember-rise {
  0%, 100% { transform: translateY(0) scale(0.75); opacity: 0.3; }
  50% { transform: translateY(-8px) scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #dc2626); }
}

/* --------------------------------------------------------------------------
   EFFECT 20: CHRONOS TIME WARP (Temporal Clockwork Gears & Golden Hour Shimmer)
   -------------------------------------------------------------------------- */
.trading-card.tier-platinum.fx-chronos,
.card-detail-card.tier-platinum.fx-chronos,
.cards-collection-grid.fx-chronos .trading-card.tier-platinum {
  border: 3px solid #eab308;
  background: radial-gradient(circle at 50% 40%, #422006 0%, #1f1204 55%, #080401 100%);
  box-shadow: 0 0 40px rgba(234, 179, 8, 0.75), 0 0 80px rgba(202, 138, 4, 0.45);
  animation: chronos-border-tick 3.6s ease-in-out infinite alternate;
}
@keyframes chronos-border-tick {
  0% { border-color: #eab308; box-shadow: 0 0 25px rgba(234, 179, 8, 0.6); }
  50% { border-color: #fde047; box-shadow: 0 0 50px rgba(253, 224, 71, 0.85); }
  100% { border-color: #ca8a04; box-shadow: 0 0 30px rgba(202, 138, 4, 0.7); }
}
.trading-card.tier-platinum.fx-chronos .card-tier-banner,
.card-detail-card.tier-platinum.fx-chronos .card-tier-banner,
.cards-collection-grid.fx-chronos .trading-card.tier-platinum .card-tier-banner {
  background: linear-gradient(135deg, #fef9c3 0%, #eab308 45%, #a16207 100%);
  color: #422006;
  font-family: 'Geist Mono', monospace;
  font-weight: 900;
  border: 1px solid #fef08a;
  text-shadow: 0 0 8px #fde047;
}
.platinum-overlay-chronos .chronos-gear-ring {
  position: absolute;
  inset: -20%;
  border-radius: 50%;
  border: 1px dotted rgba(234, 179, 8, 0.35);
  animation: chronos-gear-rotate 14s linear infinite;
  pointer-events: none;
}
@keyframes chronos-gear-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.chronos-spark {
  position: absolute;
  color: #fef08a;
  text-shadow: 0 0 10px #eab308, 0 0 20px #fde047;
  animation: chronos-spark-pulse 2.6s ease-in-out infinite;
}
.chronos-spark.cs1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.chronos-spark.cs2 { top: 3%; right: 4%; font-size: 1.2rem; animation-delay: 0.7s; }
.chronos-spark.cs3 { top: 22%; left: 3%; font-size: 1.15rem; animation-delay: 1.3s; }
.chronos-spark.cs4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.chronos-spark.cs5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.chronos-spark.cs6 { bottom: 20%; right: 4%; font-size: 1.2rem; animation-delay: 0.9s; }
.chronos-spark.cs7 { bottom: 3%; left: 10%; font-size: 1.15rem; animation-delay: 1.2s; }
.chronos-spark.cs8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes chronos-spark-pulse {
  0%, 100% { transform: scale(0.75); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #eab308); }
}

/* ==========================================================================
   DIAMOND CARD SPECIAL FX SUITE (15 EFFECTS)
   ========================================================================== */

/* Master Diamond Overlay Container */
.diamond-special-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 4;
  overflow: hidden;
  border-radius: inherit;
}

/* EFFECT 1: CLASSIC GLISTEN (dfx-glisten) */
.trading-card.tier-diamond.dfx-glisten,
.card-detail-card.tier-diamond.dfx-glisten,
.cards-collection-grid.dfx-glisten .trading-card.tier-diamond {
  animation: diamond-glisten-border 3s ease-in-out infinite alternate;
}

/* EFFECT 2: GLACIER ICE (dfx-glacier) */
.trading-card.tier-diamond.dfx-glacier,
.card-detail-card.tier-diamond.dfx-glacier,
.cards-collection-grid.dfx-glacier .trading-card.tier-diamond {
  border: 3px solid #a5f3fc;
  background: radial-gradient(circle at 50% 0%, #083344 0%, #041f2a 50%, #010d13 100%);
  box-shadow: 0 0 35px rgba(165, 243, 252, 0.7), 0 0 70px rgba(56, 189, 248, 0.45);
  animation: glacier-border-shiver 3.2s ease-in-out infinite alternate;
}
@keyframes glacier-border-shiver {
  0% { border-color: #a5f3fc; box-shadow: 0 0 25px rgba(165, 243, 252, 0.6); }
  50% { border-color: #e0f2fe; box-shadow: 0 0 45px rgba(224, 242, 254, 0.85); }
  100% { border-color: #38bdf8; box-shadow: 0 0 30px rgba(56, 189, 248, 0.7); }
}
.platinum-overlay-glacier, .diamond-overlay-glacier {
  position: absolute; inset: 0; pointer-events: none;
}
.glacier-crust-shine {
  position: absolute; inset: 0;
  background: linear-gradient(125deg, transparent 40%, rgba(224, 242, 254, 0.25) 50%, transparent 60%);
  animation: glacier-shine-sweep 4s ease-in-out infinite;
}
@keyframes glacier-shine-sweep {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.glacier-shard {
  position: absolute; color: #e0f2fe;
  text-shadow: 0 0 10px #38bdf8, 0 0 20px #a5f3fc;
  animation: glacier-shard-glint 2.6s ease-in-out infinite;
}
.glacier-shard.gs1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.glacier-shard.gs2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.glacier-shard.gs3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.glacier-shard.gs4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.glacier-shard.gs5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.glacier-shard.gs6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.glacier-shard.gs7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.glacier-shard.gs8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes glacier-shard-glint {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #a5f3fc); }
}

/* EFFECT 3: PRISMATIC RADIANCE (dfx-radiance) */
.trading-card.tier-diamond.dfx-radiance,
.card-detail-card.tier-diamond.dfx-radiance,
.cards-collection-grid.dfx-radiance .trading-card.tier-diamond {
  border: 3px solid #f472b6;
  background: radial-gradient(circle at 50% 20%, #2e1065 0%, #172554 50%, #030712 100%);
  box-shadow: 0 0 35px rgba(244, 114, 182, 0.65), 0 0 70px rgba(56, 189, 248, 0.5);
  animation: radiance-prism-border 4.5s ease-in-out infinite alternate;
}
@keyframes radiance-prism-border {
  0% { border-color: #f472b6; box-shadow: 0 0 25px rgba(244, 114, 182, 0.6); }
  33% { border-color: #38bdf8; box-shadow: 0 0 45px rgba(56, 189, 248, 0.8); }
  66% { border-color: #a855f7; box-shadow: 0 0 35px rgba(168, 85, 247, 0.7); }
  100% { border-color: #34d399; box-shadow: 0 0 30px rgba(52, 211, 153, 0.6); }
}
.radiance-prism-sweep {
  position: absolute; inset: -50%;
  background: linear-gradient(115deg, transparent 35%, rgba(244, 114, 182, 0.25) 45%, rgba(56, 189, 248, 0.28) 50%, rgba(52, 211, 153, 0.25) 55%, transparent 65%);
  animation: radiance-prism-move 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes radiance-prism-move {
  0% { transform: translate(-30%, -30%); }
  100% { transform: translate(30%, 30%); }
}
.radiance-glint {
  position: absolute; color: #ffffff;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #f472b6;
  animation: radiance-glint-twinkle 2.8s ease-in-out infinite;
}
.radiance-glint.rg1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.radiance-glint.rg2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.radiance-glint.rg3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.radiance-glint.rg4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.radiance-glint.rg5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.radiance-glint.rg6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.radiance-glint.rg7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.radiance-glint.rg8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes radiance-glint-twinkle {
  0%, 100% { transform: scale(0.7) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.35) rotate(90deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #f472b6); }
}

/* EFFECT 4: MIRROR SHARDS (dfx-shatter) */
.trading-card.tier-diamond.dfx-shatter,
.card-detail-card.tier-diamond.dfx-shatter,
.cards-collection-grid.dfx-shatter .trading-card.tier-diamond {
  border: 3px solid #94a3b8;
  background: radial-gradient(circle at 50% 30%, #1e293b 0%, #0f172a 60%, #020617 100%);
  box-shadow: 0 0 35px rgba(226, 232, 240, 0.65), 0 0 70px rgba(148, 163, 184, 0.45);
  animation: shatter-border-mirror 3s ease-in-out infinite alternate;
}
@keyframes shatter-border-mirror {
  0% { border-color: #94a3b8; box-shadow: 0 0 25px rgba(148, 163, 184, 0.6); }
  50% { border-color: #f8fafc; box-shadow: 0 0 50px rgba(248, 250, 252, 0.9); }
  100% { border-color: #cbd5e1; box-shadow: 0 0 30px rgba(203, 213, 225, 0.7); }
}
.shatter-facet-sweep {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, transparent 35%, rgba(255, 255, 255, 0.28) 45%, transparent 55%);
  animation: shatter-sweep-flash 3.5s ease-in-out infinite;
}
@keyframes shatter-sweep-flash {
  0%, 100% { transform: translateX(-100%) skewX(-20deg); }
  50% { transform: translateX(100%) skewX(-20deg); }
}
.shatter-shard {
  position: absolute; color: #f8fafc;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #94a3b8;
  animation: shatter-shard-flicker 2.5s ease-in-out infinite;
}
.shatter-shard.ss1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.shatter-shard.ss2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.shatter-shard.ss3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.shatter-shard.ss4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.shatter-shard.ss5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.shatter-shard.ss6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.shatter-shard.ss7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.shatter-shard.ss8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes shatter-shard-flicker {
  0%, 100% { transform: scale(0.8); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 14px #ffffff); }
}

/* EFFECT 5: CELESTIAL DIAMOND (dfx-celestial) */
.trading-card.tier-diamond.dfx-celestial,
.card-detail-card.tier-diamond.dfx-celestial,
.cards-collection-grid.dfx-celestial .trading-card.tier-diamond {
  border: 3px solid #60a5fa;
  background: radial-gradient(circle at 50% 10%, #1e3a8a 0%, #0f172a 60%, #020617 100%);
  box-shadow: 0 0 35px rgba(96, 165, 250, 0.7), 0 0 70px rgba(37, 99, 235, 0.45);
  animation: celestial-border-glow 3.5s ease-in-out infinite alternate;
}
@keyframes celestial-border-glow {
  0% { border-color: #60a5fa; box-shadow: 0 0 25px rgba(96, 165, 250, 0.6); }
  50% { border-color: #93c5fd; box-shadow: 0 0 50px rgba(147, 197, 253, 0.85); }
  100% { border-color: #3b82f6; box-shadow: 0 0 30px rgba(59, 130, 246, 0.7); }
}
.celestial-stardust-glow {
  position: absolute; inset: -40%;
  background: radial-gradient(circle at 50% 40%, rgba(96, 165, 250, 0.25) 0%, transparent 60%);
  animation: celestial-glow-pulse 4s ease-in-out infinite alternate;
}
@keyframes celestial-glow-pulse {
  0% { opacity: 0.3; transform: scale(0.9); }
  100% { opacity: 0.8; transform: scale(1.15); }
}
.celestial-star {
  position: absolute; color: #ffffff;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #60a5fa;
  animation: celestial-star-twinkle 2.6s ease-in-out infinite;
}
.celestial-star.cls1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.celestial-star.cls2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.celestial-star.cls3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.celestial-star.cls4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.celestial-star.cls5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.celestial-star.cls6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.celestial-star.cls7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.celestial-star.cls8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes celestial-star-twinkle {
  0%, 100% { transform: scale(0.7) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.35) rotate(90deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #60a5fa); }
}

/* EFFECT 6: HOLOGRAPHIC FOIL (dfx-holographic) */
.trading-card.tier-diamond.dfx-holographic,
.card-detail-card.tier-diamond.dfx-holographic,
.cards-collection-grid.dfx-holographic .trading-card.tier-diamond {
  border: 3px solid #ec4899;
  background: radial-gradient(circle at 50% 30%, #1e1b4b 0%, #0f172a 60%, #020617 100%);
  box-shadow: 0 0 35px rgba(236, 72, 153, 0.7), 0 0 70px rgba(168, 85, 247, 0.5);
  animation: holo-border-gradient 4s ease-in-out infinite alternate;
}
@keyframes holo-border-gradient {
  0% { border-color: #ec4899; box-shadow: 0 0 25px rgba(236, 72, 153, 0.6); }
  50% { border-color: #a855f7; box-shadow: 0 0 45px rgba(168, 85, 247, 0.85); }
  100% { border-color: #06b6d4; box-shadow: 0 0 30px rgba(6, 182, 212, 0.7); }
}
.holographic-foil-beam {
  position: absolute; inset: -100%;
  background: linear-gradient(130deg, transparent 40%, rgba(236, 72, 153, 0.25) 46%, rgba(234, 179, 8, 0.28) 50%, rgba(6, 182, 212, 0.25) 54%, transparent 60%);
  animation: holo-foil-sweep 4.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes holo-foil-sweep {
  0% { transform: translate(-30%, -30%); }
  100% { transform: translate(30%, 30%); }
}
.holographic-sheen-spark {
  position: absolute; color: #ffffff;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #ec4899;
  animation: holo-spark-twinkle 2.6s ease-in-out infinite;
}
.holographic-sheen-spark.hs1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.holographic-sheen-spark.hs2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.holographic-sheen-spark.hs3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.holographic-sheen-spark.hs4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.holographic-sheen-spark.hs5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.holographic-sheen-spark.hs6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.holographic-sheen-spark.hs7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.holographic-sheen-spark.hs8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes holo-spark-twinkle {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #ec4899); }
}

/* EFFECT 7: TESSERACT LATTICE (dfx-tesseract) */
.trading-card.tier-diamond.dfx-tesseract,
.card-detail-card.tier-diamond.dfx-tesseract,
.cards-collection-grid.dfx-tesseract .trading-card.tier-diamond {
  border: 3px solid #38bdf8;
  background: radial-gradient(circle at 50% 50%, #0369a1 0%, #082f49 55%, #020617 100%);
  box-shadow: 0 0 35px rgba(56, 189, 248, 0.7), 0 0 70px rgba(14, 165, 233, 0.45);
  animation: tesseract-border-pulse 3.5s ease-in-out infinite alternate;
}
@keyframes tesseract-border-pulse {
  0% { border-color: #38bdf8; box-shadow: 0 0 25px rgba(56, 189, 248, 0.6); }
  50% { border-color: #7dd3fc; box-shadow: 0 0 45px rgba(125, 211, 252, 0.85); }
  100% { border-color: #0284c7; box-shadow: 0 0 25px rgba(2, 132, 199, 0.6); }
}
.tesseract-grid-cube {
  position: absolute; inset: 0;
  background: repeating-linear-gradient(0deg, transparent, transparent 18px, rgba(56, 189, 248, 0.12) 19px, transparent 20px),
              repeating-linear-gradient(90deg, transparent, transparent 18px, rgba(56, 189, 248, 0.12) 19px, transparent 20px);
  pointer-events: none;
}
.tesseract-node {
  position: absolute; color: #bae6fd;
  text-shadow: 0 0 10px #38bdf8, 0 0 20px #7dd3fc;
  animation: tesseract-node-pulse 2.6s ease-in-out infinite;
}
.tesseract-node.tn1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.tesseract-node.tn2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.tesseract-node.tn3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.tesseract-node.tn4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.tesseract-node.tn5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.tesseract-node.tn6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.tesseract-node.tn7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.tesseract-node.tn8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes tesseract-node-pulse {
  0%, 100% { transform: scale(0.75); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #38bdf8); }
}

/* EFFECT 8: CRYSTAL BLOOM (dfx-crystal-bloom) */
.trading-card.tier-diamond.dfx-crystal-bloom,
.card-detail-card.tier-diamond.dfx-crystal-bloom,
.cards-collection-grid.dfx-crystal-bloom .trading-card.tier-diamond {
  border: 3px solid #c084fc;
  background: radial-gradient(circle at 50% 100%, #3b0764 0%, #17072e 55%, #05020a 100%);
  box-shadow: 0 0 35px rgba(192, 132, 252, 0.7), 0 0 70px rgba(147, 51, 234, 0.45);
  animation: crystal-border-bloom 3.5s ease-in-out infinite alternate;
}
@keyframes crystal-border-bloom {
  0% { border-color: #c084fc; box-shadow: 0 0 25px rgba(192, 132, 252, 0.6); }
  50% { border-color: #e9d5ff; box-shadow: 0 0 45px rgba(233, 213, 255, 0.85); }
  100% { border-color: #9333ea; box-shadow: 0 0 30px rgba(147, 51, 234, 0.7); }
}
.crystal-bloom-aurora {
  position: absolute; inset: -40%;
  background: radial-gradient(ellipse at bottom, rgba(192, 132, 252, 0.28) 0%, transparent 65%);
  animation: crystal-aurora-glow 4s ease-in-out infinite alternate;
}
@keyframes crystal-aurora-glow {
  0% { transform: scale(0.9); opacity: 0.4; }
  100% { transform: scale(1.2); opacity: 0.85; }
}
.crystal-petal {
  position: absolute; color: #f5d0fe;
  text-shadow: 0 0 10px #c084fc, 0 0 20px #e9d5ff;
  animation: crystal-petal-shiver 2.6s ease-in-out infinite;
}
.crystal-petal.cb1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.crystal-petal.cb2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.crystal-petal.cb3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.crystal-petal.cb4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.crystal-petal.cb5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.crystal-petal.cb6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.crystal-petal.cb7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.crystal-petal.cb8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes crystal-petal-shiver {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.35); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #c084fc); }
}

/* EFFECT 9: STARBURST DIAMOND (dfx-starlight) */
.trading-card.tier-diamond.dfx-starlight,
.card-detail-card.tier-diamond.dfx-starlight,
.cards-collection-grid.dfx-starlight .trading-card.tier-diamond {
  border: 3px solid #facc15;
  background: radial-gradient(circle at 50% 30%, #422006 0%, #1e1b4b 60%, #030712 100%);
  box-shadow: 0 0 35px rgba(250, 204, 21, 0.7), 0 0 70px rgba(234, 179, 8, 0.45);
  animation: starlight-border-twinkle 3s ease-in-out infinite alternate;
}
@keyframes starlight-border-twinkle {
  0% { border-color: #facc15; box-shadow: 0 0 25px rgba(250, 204, 21, 0.6); }
  50% { border-color: #ffffff; box-shadow: 0 0 50px rgba(255, 255, 255, 0.85); }
  100% { border-color: #ca8a04; box-shadow: 0 0 30px rgba(202, 138, 4, 0.7); }
}
.starlight-cross-beam {
  position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 40%, rgba(250, 204, 21, 0.2) 0%, transparent 60%);
  animation: starlight-beam-rotate 6s linear infinite;
}
@keyframes starlight-beam-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.starlight-flare {
  position: absolute; color: #fef08a;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #facc15;
  animation: starlight-flare-pulse 2.4s ease-in-out infinite;
}
.starlight-flare.slf1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.starlight-flare.slf2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.starlight-flare.slf3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.starlight-flare.slf4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.starlight-flare.slf5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.starlight-flare.slf6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.starlight-flare.slf7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.starlight-flare.slf8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes starlight-flare-pulse {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.35); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #facc15); }
}

/* EFFECT 10: NEON ICE SHEEN (dfx-neon-ice) */
.trading-card.tier-diamond.dfx-neon-ice,
.card-detail-card.tier-diamond.dfx-neon-ice,
.cards-collection-grid.dfx-neon-ice .trading-card.tier-diamond {
  border: 3px solid #00f0ff;
  background: radial-gradient(circle at 50% 50%, #002b36 0%, #00171f 60%, #00090d 100%);
  box-shadow: 0 0 35px rgba(0, 240, 255, 0.75), 0 0 70px rgba(0, 180, 216, 0.5);
  animation: neon-ice-border-pulse 2.8s ease-in-out infinite alternate;
}
@keyframes neon-ice-border-pulse {
  0% { border-color: #00f0ff; box-shadow: 0 0 25px rgba(0, 240, 255, 0.6); }
  50% { border-color: #70f3ff; box-shadow: 0 0 50px rgba(112, 243, 255, 0.9); }
  100% { border-color: #00b4d8; box-shadow: 0 0 30px rgba(0, 180, 216, 0.7); }
}
.neon-ice-border-pulse {
  position: absolute; inset: 0;
  border: 1px solid rgba(0, 240, 255, 0.4);
  box-shadow: inset 0 0 15px rgba(0, 240, 255, 0.3);
  pointer-events: none;
}
.neon-spark {
  position: absolute; color: #bbf7fd;
  text-shadow: 0 0 10px #00f0ff, 0 0 20px #00b4d8;
  animation: neon-spark-zap 2s ease-in-out infinite;
}
.neon-spark.ni1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.neon-spark.ni2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.6s; }
.neon-spark.ni3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.2s; }
.neon-spark.ni4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.neon-spark.ni5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.6s; }
.neon-spark.ni6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.8s; }
.neon-spark.ni7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.1s; }
.neon-spark.ni8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.0s; }
@keyframes neon-spark-zap {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #00f0ff); }
}

/* EFFECT 11: CAUSTIC SPECTRA (dfx-spectra) */
.trading-card.tier-diamond.dfx-spectra,
.card-detail-card.tier-diamond.dfx-spectra,
.cards-collection-grid.dfx-spectra .trading-card.tier-diamond {
  border: 3px solid #2dd4bf;
  background: radial-gradient(circle at 50% 30%, #042f2e 0%, #082f49 50%, #01070e 100%);
  box-shadow: 0 0 35px rgba(45, 212, 191, 0.7), 0 0 70px rgba(56, 189, 248, 0.45);
  animation: spectra-caustic-border 3.5s ease-in-out infinite alternate;
}
@keyframes spectra-caustic-border {
  0% { border-color: #2dd4bf; box-shadow: 0 0 25px rgba(45, 212, 191, 0.6); }
  50% { border-color: #38bdf8; box-shadow: 0 0 45px rgba(56, 189, 248, 0.85); }
  100% { border-color: #14b8a6; box-shadow: 0 0 30px rgba(20, 184, 166, 0.7); }
}
.spectra-caustic-layer {
  position: absolute; inset: -30%;
  background: radial-gradient(ellipse at 40% 40%, rgba(45, 212, 191, 0.25) 0%, transparent 60%),
              radial-gradient(ellipse at 60% 60%, rgba(56, 189, 248, 0.22) 0%, transparent 60%);
  animation: spectra-wave-dance 5s ease-in-out infinite alternate;
}
@keyframes spectra-wave-dance {
  0% { transform: translate(-5%, -5%) scale(0.95); }
  100% { transform: translate(5%, 5%) scale(1.1); }
}
.spectra-ripple {
  position: absolute; color: #ccfbf1;
  text-shadow: 0 0 10px #2dd4bf, 0 0 20px #38bdf8;
  animation: spectra-ripple-twinkle 2.6s ease-in-out infinite;
}
.spectra-ripple.sr1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.spectra-ripple.sr2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.spectra-ripple.sr3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.spectra-ripple.sr4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.spectra-ripple.sr5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.spectra-ripple.sr6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.spectra-ripple.sr7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.spectra-ripple.sr8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes spectra-ripple-twinkle {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #2dd4bf); }
}

/* EFFECT 12: DIAMOND MIRAGE (dfx-mirage) */
.trading-card.tier-diamond.dfx-mirage,
.card-detail-card.tier-diamond.dfx-mirage,
.cards-collection-grid.dfx-mirage .trading-card.tier-diamond {
  border: 3px solid #f59e0b;
  background: radial-gradient(circle at 50% 50%, #451a03 0%, #1e1003 55%, #080300 100%);
  box-shadow: 0 0 35px rgba(245, 158, 11, 0.7), 0 0 70px rgba(217, 119, 6, 0.45);
  animation: mirage-border-shimmer 3.5s ease-in-out infinite alternate;
}
@keyframes mirage-border-shimmer {
  0% { border-color: #f59e0b; box-shadow: 0 0 25px rgba(245, 158, 11, 0.6); }
  50% { border-color: #fde68a; box-shadow: 0 0 45px rgba(253, 230, 138, 0.85); }
  100% { border-color: #d97706; box-shadow: 0 0 30px rgba(217, 119, 6, 0.7); }
}
.mirage-heat-wave {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(245, 158, 11, 0.18) 60%, transparent 90%);
  animation: mirage-heat-undulate 3s ease-in-out infinite alternate;
}
@keyframes mirage-heat-undulate {
  0% { transform: translateY(-5%); }
  100% { transform: translateY(5%); }
}
.mirage-gem {
  position: absolute; color: #fef3c7;
  text-shadow: 0 0 10px #f59e0b, 0 0 20px #fde68a;
  animation: mirage-gem-pulse 2.6s ease-in-out infinite;
}
.mirage-gem.mg1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.mirage-gem.mg2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.mirage-gem.mg3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.mirage-gem.mg4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.mirage-gem.mg5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.mirage-gem.mg6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.mirage-gem.mg7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.mirage-gem.mg8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes mirage-gem-pulse {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #f59e0b); }
}

/* EFFECT 13: OBSIDIAN DIAMOND (dfx-obsidian-diamond) */
.trading-card.tier-diamond.dfx-obsidian-diamond,
.card-detail-card.tier-diamond.dfx-obsidian-diamond,
.cards-collection-grid.dfx-obsidian-diamond .trading-card.tier-diamond {
  border: 3px solid #64748b;
  background: radial-gradient(circle at 50% 50%, #1e293b 0%, #0f172a 60%, #000000 100%);
  box-shadow: 0 0 35px rgba(100, 116, 139, 0.75), 0 0 70px rgba(51, 65, 85, 0.5);
  animation: obsidian-border-pulse 3.5s ease-in-out infinite alternate;
}
@keyframes obsidian-border-pulse {
  0% { border-color: #64748b; box-shadow: 0 0 25px rgba(100, 116, 139, 0.6); }
  50% { border-color: #cbd5e1; box-shadow: 0 0 45px rgba(203, 213, 225, 0.85); }
  100% { border-color: #475569; box-shadow: 0 0 30px rgba(71, 85, 105, 0.7); }
}
.obsidian-metallic-sheen {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, transparent 40%, rgba(203, 213, 225, 0.22) 50%, transparent 60%);
  animation: obsidian-sheen-sweep 4s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
@keyframes obsidian-sheen-sweep {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}
.obsidian-spark {
  position: absolute; color: #cbd5e1;
  text-shadow: 0 0 10px #ffffff, 0 0 20px #64748b;
  animation: obsidian-spark-glint 2.6s ease-in-out infinite;
}
.obsidian-spark.os1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.obsidian-spark.os2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.obsidian-spark.os3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.obsidian-spark.os4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.obsidian-spark.os5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.obsidian-spark.os6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.obsidian-spark.os7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.obsidian-spark.os8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes obsidian-spark-glint {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.3); opacity: 1; filter: brightness(2) drop-shadow(0 0 12px #cbd5e1); }
}

/* EFFECT 14: LASER CUT GEM (dfx-laser-gem) */
.trading-card.tier-diamond.dfx-laser-gem,
.card-detail-card.tier-diamond.dfx-laser-gem,
.cards-collection-grid.dfx-laser-gem .trading-card.tier-diamond {
  border: 3px solid #06b6d4;
  background: radial-gradient(circle at 50% 30%, #164e63 0%, #083344 55%, #02121a 100%);
  box-shadow: 0 0 35px rgba(6, 182, 212, 0.75), 0 0 70px rgba(34, 211, 238, 0.45);
  animation: laser-gem-border 3.2s ease-in-out infinite alternate;
}
@keyframes laser-gem-border {
  0% { border-color: #06b6d4; box-shadow: 0 0 25px rgba(6, 182, 212, 0.6); }
  50% { border-color: #67e8f9; box-shadow: 0 0 45px rgba(103, 232, 249, 0.85); }
  100% { border-color: #0891b2; box-shadow: 0 0 30px rgba(8, 145, 178, 0.7); }
}
.laser-facet-sweep {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, transparent 42%, rgba(103, 232, 249, 0.4) 48%, rgba(255, 255, 255, 0.7) 50%, rgba(103, 232, 249, 0.4) 52%, transparent 58%);
  animation: laser-facet-sweep-beam 3.5s ease-in-out infinite;
}
@keyframes laser-facet-sweep-beam {
  0% { transform: translateX(-120%); }
  100% { transform: translateX(120%); }
}
.laser-node {
  position: absolute; color: #cffafe;
  text-shadow: 0 0 10px #06b6d4, 0 0 20px #67e8f9;
  animation: laser-node-flash 2.2s ease-in-out infinite;
}
.laser-node.lg1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.laser-node.lg2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.6s; }
.laser-node.lg3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.2s; }
.laser-node.lg4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.laser-node.lg5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.6s; }
.laser-node.lg6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.8s; }
.laser-node.lg7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.1s; }
.laser-node.lg8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.0s; }
@keyframes laser-node-flash {
  0%, 100% { transform: scale(0.7); opacity: 0.3; }
  50% { transform: scale(1.35); opacity: 1; filter: brightness(2) drop-shadow(0 0 14px #67e8f9); }
}

/* EFFECT 15: CROWN JEWEL (dfx-crown-jewel) */
.trading-card.tier-diamond.dfx-crown-jewel,
.card-detail-card.tier-diamond.dfx-crown-jewel,
.cards-collection-grid.dfx-crown-jewel .trading-card.tier-diamond {
  border: 3px solid #eab308;
  background: radial-gradient(circle at 50% 20%, #1e1b4b 0%, #0f172a 50%, #030712 100%);
  box-shadow: 0 0 40px rgba(234, 179, 8, 0.75), 0 0 80px rgba(56, 189, 248, 0.5);
  animation: crown-jewel-border 3.6s ease-in-out infinite alternate;
}
@keyframes crown-jewel-border {
  0% { border-color: #eab308; box-shadow: 0 0 25px rgba(234, 179, 8, 0.6), 0 0 50px rgba(56, 189, 248, 0.35); }
  50% { border-color: #38bdf8; box-shadow: 0 0 45px rgba(56, 189, 248, 0.85), 0 0 85px rgba(234, 179, 8, 0.5); }
  100% { border-color: #fde047; box-shadow: 0 0 30px rgba(253, 224, 71, 0.7), 0 0 65px rgba(56, 189, 248, 0.4); }
}
.trading-card.tier-diamond.dfx-crown-jewel .card-tier-banner,
.card-detail-card.tier-diamond.dfx-crown-jewel .card-tier-banner,
.cards-collection-grid.dfx-crown-jewel .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #fef9c3 0%, #eab308 40%, #0284c7 80%, #38bdf8 100%);
  color: #1e1b4b;
  font-weight: 900;
  border: 1px solid #fef08a;
  text-shadow: 0 0 8px #fde047;
}
.crown-royal-radiance {
  position: absolute; inset: -40%;
  background: radial-gradient(circle at 50% 30%, rgba(234, 179, 8, 0.25) 0%, rgba(56, 189, 248, 0.18) 40%, transparent 70%);
  animation: crown-royal-pulse 4s ease-in-out infinite alternate;
}
@keyframes crown-royal-pulse {
  0% { transform: scale(0.9); opacity: 0.4; }
  100% { transform: scale(1.15); opacity: 0.9; }
}
.crown-sparkle {
  position: absolute; color: #fef08a;
  text-shadow: 0 0 10px #eab308, 0 0 20px #38bdf8;
  animation: crown-sparkle-twinkle 2.5s ease-in-out infinite;
}
.crown-sparkle.cj1 { top: 3%; left: 4%; font-size: 1.25rem; animation-delay: 0.1s; }
.crown-sparkle.cj2 { top: 3%; right: 4%; font-size: 1.15rem; animation-delay: 0.7s; }
.crown-sparkle.cj3 { top: 22%; left: 3%; font-size: 1.2rem; animation-delay: 1.3s; }
.crown-sparkle.cj4 { top: 22%; right: 3%; font-size: 1.1rem; animation-delay: 0.4s; }
.crown-sparkle.cj5 { bottom: 20%; left: 4%; font-size: 1.25rem; animation-delay: 1.8s; }
.crown-sparkle.cj6 { bottom: 20%; right: 4%; font-size: 1.15rem; animation-delay: 0.9s; }
.crown-sparkle.cj7 { bottom: 3%; left: 10%; font-size: 1.2rem; animation-delay: 1.2s; }
.crown-sparkle.cj8 { bottom: 3%; right: 10%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes crown-sparkle-twinkle {
  0%, 100% { transform: scale(0.7) rotate(0deg); opacity: 0.3; }
  50% { transform: scale(1.35) rotate(90deg); opacity: 1; filter: brightness(2) drop-shadow(0 0 14px #eab308); }
}

/* --------------------------------------------------------------------------
   DIAMOND FX SELECTOR & TRIVIA BADGES STYLING
   -------------------------------------------------------------------------- */
.filter-selector-wrapper.diamond-fx-filter {
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 8px;
  padding: 4px 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.1);
  transition: border-color 0.2s, box-shadow 0.2s;
}
.filter-selector-wrapper.diamond-fx-filter:hover {
  border-color: rgba(56, 189, 248, 0.45);
  box-shadow: 0 0 15px rgba(56, 189, 248, 0.2);
}
#diamond-fx-select {
  background: transparent;
  border: none;
  outline: none;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
}
#diamond-fx-select option {
  background: #0b1528;
  color: #bae6fd;
  padding: 6px 10px;
}

/* Trivia Card Custom Badges & Date Styling */
.card-badge.badge-trivia {
  background: linear-gradient(135deg, rgba(168, 85, 247, 0.25), rgba(56, 189, 248, 0.25));
  border: 1px solid rgba(168, 85, 247, 0.5);
  color: #e0e7ff;
  font-weight: 700;
  text-shadow: 0 0 8px rgba(168, 85, 247, 0.6);
  box-shadow: 0 0 10px rgba(168, 85, 247, 0.2);
}
.badge-trivia-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.14);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 4px;
  padding: 1px 7px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  display: inline-block;
  vertical-align: middle;
}
.card-trivia-icon {
  filter: drop-shadow(0 0 6px rgba(168, 85, 247, 0.5));
}

/* ==========================================================================
   EFFECT: STUDIO GHIBLI (ghibli)
   ========================================================================== */
.trading-card.tier-platinum.fx-ghibli,
.card-detail-card.tier-platinum.fx-ghibli,
.cards-collection-grid.fx-ghibli .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-ghibli,
.card-detail-card.tier-diamond.dfx-ghibli,
.cards-collection-grid.dfx-ghibli .trading-card.tier-diamond {
  border: 3px solid #86efac !important;
  background: radial-gradient(circle at 50% 30%, #064e3b 0%, #022c22 50%, #021a14 100%) !important;
  box-shadow: 0 0 35px rgba(134, 239, 172, 0.6), 0 0 70px rgba(253, 164, 175, 0.4) !important;
  animation: ghibli-border-glow 4s ease-in-out infinite alternate !important;
}
@keyframes ghibli-border-glow {
  0% { border-color: #86efac; box-shadow: 0 0 25px rgba(134, 239, 172, 0.5), 0 0 55px rgba(253, 164, 175, 0.3); }
  50% { border-color: #fbcfe8; box-shadow: 0 0 45px rgba(251, 207, 232, 0.7), 0 0 75px rgba(134, 239, 172, 0.5); }
  100% { border-color: #a7f3d0; box-shadow: 0 0 30px rgba(167, 243, 208, 0.6), 0 0 60px rgba(254, 215, 170, 0.35); }
}
.trading-card.tier-platinum.fx-ghibli .card-tier-banner,
.card-detail-card.tier-platinum.fx-ghibli .card-tier-banner,
.cards-collection-grid.fx-ghibli .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-ghibli .card-tier-banner,
.card-detail-card.tier-diamond.dfx-ghibli .card-tier-banner,
.cards-collection-grid.dfx-ghibli .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #fbcfe8 0%, #a7f3d0 50%, #86efac 100%) !important;
  color: #064e3b !important;
  font-weight: 900 !important;
  border: 1px solid #fbcfe8 !important;
  text-shadow: 0 0 8px #ffffff !important;
}

/* Studio Ghibli Player Portrait Transformation (Cel-Shading & Watercolor) */
.trading-card.tier-platinum.fx-ghibli .card-headshot,
.trading-card.tier-diamond.dfx-ghibli .card-headshot,
.card-detail-card.tier-platinum.fx-ghibli .card-headshot,
.card-detail-card.tier-diamond.dfx-ghibli .card-headshot,
.cards-collection-grid.fx-ghibli .trading-card.tier-platinum .card-headshot,
.cards-collection-grid.dfx-ghibli .trading-card.tier-diamond .card-headshot {
  filter: url(#ghibli-anime-filter) contrast(1.18) saturate(1.3) brightness(1.04);
  transition: filter 0.4s ease, transform 0.4s ease;
  transform: scale(1.02);
}

/* Studio Ghibli Watercolor Sky & Pastoral Meadow Backdrop for Headshot Area */
.trading-card.tier-platinum.fx-ghibli .card-headshot-area,
.trading-card.tier-diamond.dfx-ghibli .card-headshot-area,
.card-detail-card.tier-platinum.fx-ghibli .card-headshot-area,
.card-detail-card.tier-diamond.dfx-ghibli .card-headshot-area,
.cards-collection-grid.fx-ghibli .trading-card.tier-platinum .card-headshot-area,
.cards-collection-grid.dfx-ghibli .trading-card.tier-diamond .card-headshot-area {
  background: radial-gradient(circle at 50% 28%, rgba(224, 242, 254, 0.45) 0%, rgba(187, 247, 208, 0.32) 55%, rgba(254, 243, 199, 0.22) 100%) !important;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  box-shadow: inset 0 0 16px rgba(6, 78, 59, 0.4);
}

/* Soft hand-painted vignette around portrait */
.trading-card.tier-platinum.fx-ghibli .card-headshot-area::after,
.trading-card.tier-diamond.dfx-ghibli .card-headshot-area::after,
.card-detail-card.tier-platinum.fx-ghibli .card-headshot-area::after,
.card-detail-card.tier-diamond.dfx-ghibli .card-headshot-area::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, transparent 60%, rgba(2, 44, 34, 0.4) 100%);
  border-radius: 8px;
}

.ghibli-watercolor-aura {
  position: absolute;
  inset: -20%;
  background: radial-gradient(circle at 30% 20%, rgba(251, 207, 232, 0.22) 0%, rgba(134, 239, 172, 0.18) 40%, transparent 70%);
  animation: ghibli-aura-shift 8s ease-in-out infinite alternate;
}
@keyframes ghibli-aura-shift {
  0% { transform: scale(0.95) rotate(0deg); }
  100% { transform: scale(1.15) rotate(8deg); }
}

/* Soot Sprites (Susuwatari) */
.soot-sprite {
  position: absolute;
  z-index: 12;
}
.soot-sprite.ss-bottom-left { bottom: 8%; left: 8%; animation: soot-bounce-1 2.8s ease-in-out infinite; }
.soot-sprite.ss-top-right { top: 12%; right: 8%; animation: soot-bounce-2 3.2s ease-in-out infinite 0.4s; }
.soot-sprite.ss-mid-right { top: 48%; right: 6%; animation: soot-bounce-1 3.5s ease-in-out infinite 0.9s; }
.soot-body {
  position: relative;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #09090b;
  box-shadow: 0 0 10px #09090b, 0 0 16px rgba(0, 0, 0, 0.8),
              3px -2px 0 1px #09090b, -3px 2px 0 1px #09090b,
              2px 3px 0 1px #09090b, -2px -3px 0 1px #09090b;
}
.soot-eye {
  position: absolute;
  top: 6px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
}
.soot-eye.eye-left { left: 3px; }
.soot-eye.eye-right { right: 3px; }
.soot-pupil {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #09090b;
  animation: soot-look 4s ease-in-out infinite;
}
@keyframes soot-bounce-1 {
  0%, 100% { transform: translateY(0) scale(1, 1); }
  50% { transform: translateY(-14px) scale(0.9, 1.15); }
  75% { transform: translateY(0) scale(1.15, 0.85); }
}
@keyframes soot-bounce-2 {
  0%, 100% { transform: translateY(0) scale(1, 1); }
  50% { transform: translateY(-18px) scale(0.85, 1.2); }
  75% { transform: translateY(0) scale(1.2, 0.8); }
}
@keyframes soot-look {
  0%, 40% { transform: translate(0, 0); }
  50%, 70% { transform: translate(2px, 1px); }
  80%, 100% { transform: translate(-1px, 1px); }
}

/* Drifting Sakura Petals */
.sakura-petal {
  position: absolute;
  width: 14px;
  height: 9px;
  background: radial-gradient(ellipse at center, #fce7f3 0%, #f472b6 70%, #db2777 100%);
  border-radius: 12px 2px 12px 2px;
  opacity: 0.85;
  filter: drop-shadow(0 0 6px rgba(244, 114, 182, 0.6));
  animation: sakura-drift 6s linear infinite;
}
.sakura-petal.sp1 { top: -10%; left: 20%; animation-duration: 5.5s; animation-delay: 0.2s; }
.sakura-petal.sp2 { top: -10%; left: 55%; animation-duration: 6.5s; animation-delay: 1.5s; }
.sakura-petal.sp3 { top: -10%; left: 80%; animation-duration: 5.8s; animation-delay: 2.8s; }
.sakura-petal.sp4 { top: -10%; left: 35%; animation-duration: 7s; animation-delay: 3.8s; }
.sakura-petal.sp5 { top: -10%; left: 70%; animation-duration: 6.2s; animation-delay: 4.5s; }
@keyframes sakura-drift {
  0% { transform: translate3d(0, -10px, 0) rotate(0deg); opacity: 0; }
  15% { opacity: 0.9; }
  90% { opacity: 0.9; }
  100% { transform: translate3d(60px, 480px, 0) rotate(540deg); opacity: 0; }
}

/* Ghibli Golden Spirit Dust */
.ghibli-dust {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #fef08a;
  box-shadow: 0 0 10px #facc15, 0 0 20px #fef08a;
  animation: ghibli-dust-float 4.5s ease-in-out infinite;
}
.ghibli-dust.gd1 { bottom: 15%; left: 25%; animation-delay: 0.2s; }
.ghibli-dust.gd2 { bottom: 25%; right: 20%; animation-delay: 1.4s; }
.ghibli-dust.gd3 { bottom: 35%; left: 45%; animation-delay: 2.6s; }
.ghibli-dust.gd4 { bottom: 10%; right: 35%; animation-delay: 3.2s; }
@keyframes ghibli-dust-float {
  0% { transform: translateY(0) scale(0.6); opacity: 0.2; }
  50% { transform: translateY(-40px) scale(1.3); opacity: 1; filter: brightness(1.6); }
  100% { transform: translateY(-80px) scale(0.4); opacity: 0; }
}

/* ==========================================================================
   EFFECT: POKÉMON HOLO (pokemon)
   ========================================================================== */
.trading-card.tier-platinum.fx-pokemon,
.card-detail-card.tier-platinum.fx-pokemon,
.cards-collection-grid.fx-pokemon .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-pokemon,
.card-detail-card.tier-diamond.dfx-pokemon,
.cards-collection-grid.dfx-pokemon .trading-card.tier-diamond {
  border: 3px solid #fbbf24 !important;
  background: radial-gradient(circle at 50% 50%, #1e1b4b 0%, #0f172a 60%, #020617 100%) !important;
  box-shadow: 0 0 35px rgba(251, 191, 36, 0.7), 0 0 70px rgba(59, 130, 246, 0.5) !important;
  animation: pokemon-border-pulse 3.5s ease-in-out infinite alternate !important;
}
@keyframes pokemon-border-pulse {
  0% { border-color: #fbbf24; box-shadow: 0 0 25px rgba(251, 191, 36, 0.6), 0 0 55px rgba(59, 130, 246, 0.4); }
  50% { border-color: #38bdf8; box-shadow: 0 0 45px rgba(56, 189, 248, 0.8), 0 0 85px rgba(251, 191, 36, 0.6); }
  100% { border-color: #f43f5e; box-shadow: 0 0 30px rgba(244, 63, 94, 0.7), 0 0 65px rgba(59, 130, 246, 0.4); }
}
.trading-card.tier-platinum.fx-pokemon .card-tier-banner,
.card-detail-card.tier-platinum.fx-pokemon .card-tier-banner,
.cards-collection-grid.fx-pokemon .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-pokemon .card-tier-banner,
.card-detail-card.tier-diamond.dfx-pokemon .card-tier-banner,
.cards-collection-grid.dfx-pokemon .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #fde047 0%, #fbbf24 35%, #38bdf8 70%, #818cf8 100%) !important;
  color: #1e1b4b !important;
  font-weight: 900 !important;
  border: 1px solid #fde047 !important;
  text-shadow: 0 0 8px #ffffff !important;
}

/* Prismatic Holo Foil */
.pokemon-holo-foil {
  position: absolute;
  inset: -50%;
  background: linear-gradient(115deg,
    transparent 20%,
    rgba(255, 0, 0, 0.15) 30%,
    rgba(255, 165, 0, 0.18) 35%,
    rgba(255, 255, 0, 0.2) 40%,
    rgba(0, 255, 0, 0.18) 45%,
    rgba(0, 255, 255, 0.22) 50%,
    rgba(0, 0, 255, 0.18) 55%,
    rgba(238, 130, 238, 0.15) 60%,
    transparent 70%);
  animation: holo-foil-sweep 5s ease-in-out infinite;
  mix-blend-mode: color-dodge;
}
@keyframes holo-foil-sweep {
  0% { transform: translateY(-50%) rotate(0deg); }
  50% { transform: translateY(10%) rotate(5deg); }
  100% { transform: translateY(50%) rotate(0deg); }
}

/* Pokéball Core Reactor */
.pokemon-core-ball {
  position: absolute;
  bottom: 8%;
  right: 6%;
  width: 44px;
  height: 44px;
  filter: drop-shadow(0 0 12px rgba(251, 191, 36, 0.8));
  animation: pokeball-wobble 4s ease-in-out infinite;
}
.pokeball-svg {
  width: 100%;
  height: 100%;
}
.pokeball-inner-glow {
  animation: pokeball-core-pulse 2s ease-in-out infinite alternate;
}
@keyframes pokeball-core-pulse {
  0% { fill: #f3f4f6; filter: drop-shadow(0 0 2px #ffffff); }
  100% { fill: #38bdf8; filter: drop-shadow(0 0 8px #38bdf8); }
}
@keyframes pokeball-wobble {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(-10deg); }
  75% { transform: rotate(10deg); }
}

/* 4 Elemental Orbs */
.pokemon-type-orb {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1.5px solid #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pokemon-type-orb.pto-fire {
  top: 10%;
  left: 8%;
  background: radial-gradient(circle, #f97316 0%, #dc2626 100%);
  box-shadow: 0 0 12px #f97316;
  animation: orb-pulse 2.2s ease-in-out infinite;
}
.pokemon-type-orb.pto-water {
  top: 10%;
  right: 8%;
  background: radial-gradient(circle, #38bdf8 0%, #0284c7 100%);
  box-shadow: 0 0 12px #38bdf8;
  animation: orb-pulse 2.5s ease-in-out infinite 0.5s;
}
.pokemon-type-orb.pto-electric {
  bottom: 12%;
  left: 8%;
  background: radial-gradient(circle, #fde047 0%, #eab308 100%);
  box-shadow: 0 0 12px #fde047;
  animation: orb-pulse 1.8s ease-in-out infinite 0.2s;
}
.pokemon-type-orb.pto-psychic {
  top: 48%;
  left: 6%;
  background: radial-gradient(circle, #c084fc 0%, #7e22ce 100%);
  box-shadow: 0 0 12px #c084fc;
  animation: orb-pulse 2.8s ease-in-out infinite 0.8s;
}
@keyframes orb-pulse {
  0%, 100% { transform: scale(0.9); }
  50% { transform: scale(1.2); filter: brightness(1.4); }
}

/* Holo Starbursts */
.holo-glint {
  position: absolute;
  color: #fef08a;
  text-shadow: 0 0 10px #fbbf24, 0 0 20px #ffffff;
  animation: holo-glint-flash 3s ease-in-out infinite;
}
.holo-glint.hg1 { top: 25%; right: 15%; font-size: 1.2rem; animation-delay: 0.3s; }
.holo-glint.hg2 { bottom: 35%; left: 20%; font-size: 1.4rem; animation-delay: 1.2s; }
.holo-glint.hg3 { top: 40%; right: 28%; font-size: 1.1rem; animation-delay: 2.1s; }
@keyframes holo-glint-flash {
  0%, 100% { transform: scale(0.4) rotate(0deg); opacity: 0.1; }
  50% { transform: scale(1.3) rotate(90deg); opacity: 1; filter: brightness(2); }
}

/* ==========================================================================
   EFFECT: STEAMPUNK CLOCKWORK & STEAM (steampunk)
   ========================================================================== */
.trading-card.tier-platinum.fx-steampunk,
.card-detail-card.tier-platinum.fx-steampunk,
.cards-collection-grid.fx-steampunk .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-steampunk,
.card-detail-card.tier-diamond.dfx-steampunk,
.cards-collection-grid.dfx-steampunk .trading-card.tier-diamond {
  border: 3px solid #d97706 !important;
  background: radial-gradient(circle at 50% 30%, #3b1d09 0%, #200f04 55%, #0d0601 100%) !important;
  box-shadow: 0 0 35px rgba(217, 119, 6, 0.7), 0 0 70px rgba(180, 83, 9, 0.45) !important;
  animation: steampunk-border-pulse 4s ease-in-out infinite alternate !important;
}
@keyframes steampunk-border-pulse {
  0% { border-color: #d97706; box-shadow: 0 0 25px rgba(217, 119, 6, 0.6); }
  50% { border-color: #ea580c; box-shadow: 0 0 45px rgba(234, 88, 12, 0.8), 0 0 85px rgba(217, 119, 6, 0.5); }
  100% { border-color: #b45309; box-shadow: 0 0 30px rgba(180, 83, 9, 0.6); }
}
.trading-card.tier-platinum.fx-steampunk .card-tier-banner,
.card-detail-card.tier-platinum.fx-steampunk .card-tier-banner,
.cards-collection-grid.fx-steampunk .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-steampunk .card-tier-banner,
.card-detail-card.tier-diamond.dfx-steampunk .card-tier-banner,
.cards-collection-grid.dfx-steampunk .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #fde047 0%, #d97706 45%, #78350f 80%, #b45309 100%) !important;
  color: #1a0800 !important;
  font-weight: 900 !important;
  border: 1px solid #fde047 !important;
  text-shadow: 0 0 8px #fef08a !important;
}

/* Brass Border & Rivets */
.steampunk-brass-border .rivet {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fde047 0%, #d97706 70%, #78350f 100%);
  border: 1px solid #451a03;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}
.steampunk-brass-border .rivet.r1 { top: 6px; left: 6px; }
.steampunk-brass-border .rivet.r2 { top: 6px; right: 6px; }
.steampunk-brass-border .rivet.r3 { bottom: 6px; left: 6px; }
.steampunk-brass-border .rivet.r4 { bottom: 6px; right: 6px; }

/* Rotating Brass & Copper Gears */
.gear-assembly {
  position: absolute;
  top: 15%;
  right: -20px;
  width: 140px;
  height: 140px;
  pointer-events: none;
}
.steampunk-gear {
  position: absolute;
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.8));
}
.gear-large-cw {
  top: 0;
  right: 0;
  width: 85px;
  height: 85px;
  animation: gear-spin-cw 8s linear infinite;
}
.gear-med-ccw {
  top: 55px;
  right: 60px;
  width: 65px;
  height: 65px;
  animation: gear-spin-ccw 5.33s linear infinite;
}
.gear-small-cw {
  top: 90px;
  right: 15px;
  width: 45px;
  height: 45px;
  animation: gear-spin-cw 3.33s linear infinite;
}
@keyframes gear-spin-cw {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes gear-spin-ccw {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-360deg); }
}

/* Steam Blast Exhaust Jets */
.steam-vent-blast {
  position: absolute;
  width: 50px;
  height: 80px;
  border-radius: 50% 50% 30% 30%;
  background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.6) 0%, rgba(254, 215, 170, 0.3) 40%, transparent 70%);
  filter: blur(4px);
  pointer-events: none;
}
.steam-vent-blast.svb-left {
  bottom: 25%;
  left: 2%;
  animation: steam-blast-left 3.8s ease-out infinite;
}
.steam-vent-blast.svb-right {
  top: 30%;
  right: 5%;
  animation: steam-blast-right 3.8s ease-out infinite 1.9s;
}
@keyframes steam-blast-left {
  0%, 65% { transform: scale(0.2) translate(0, 0); opacity: 0; }
  68% { transform: scale(0.8) translate(10px, -20px); opacity: 0.9; }
  85% { transform: scale(1.6) translate(25px, -50px); opacity: 0.4; }
  100% { transform: scale(2.2) translate(35px, -80px); opacity: 0; }
}
@keyframes steam-blast-right {
  0%, 65% { transform: scale(0.2) translate(0, 0); opacity: 0; }
  68% { transform: scale(0.8) translate(-10px, -20px); opacity: 0.9; }
  85% { transform: scale(1.6) translate(-25px, -50px); opacity: 0.4; }
  100% { transform: scale(2.2) translate(-35px, -80px); opacity: 0; }
}

/* Pressure Gauge */
.steampunk-gauge {
  position: absolute;
  bottom: 8%;
  left: 8%;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: radial-gradient(circle, #fef3c7 0%, #d97706 80%, #78350f 100%);
  border: 2px solid #b45309;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.8), inset 0 0 6px rgba(0, 0, 0, 0.5);
}
.gauge-dial {
  position: relative;
  width: 100%;
  height: 100%;
}
.gauge-needle {
  position: absolute;
  top: 6px;
  left: 17px;
  width: 2px;
  height: 14px;
  background: #dc2626;
  transform-origin: bottom center;
  animation: needle-jitter 1.5s ease-in-out infinite alternate;
}
.gauge-pin {
  position: absolute;
  top: 16px;
  left: 16px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #78350f;
}
@keyframes needle-jitter {
  0% { transform: rotate(15deg); }
  25% { transform: rotate(35deg); }
  50% { transform: rotate(20deg); }
  75% { transform: rotate(65deg); }
  100% { transform: rotate(45deg); }
}

/* Edison Vacuum Filament Tube */
.steampunk-filament-tube {
  position: absolute;
  top: 15%;
  left: 8%;
  width: 18px;
  height: 38px;
  border-radius: 9px;
  border: 1.5px solid rgba(254, 240, 138, 0.5);
  background: rgba(254, 240, 138, 0.12);
  box-shadow: 0 0 12px rgba(234, 88, 12, 0.6);
}
.filament-glow {
  position: absolute;
  top: 6px;
  left: 7px;
  width: 2px;
  height: 24px;
  background: #fbbf24;
  box-shadow: 0 0 8px #f59e0b, 0 0 16px #ea580c;
  animation: filament-pulse 2.5s ease-in-out infinite alternate;
}
@keyframes filament-pulse {
  0% { opacity: 0.5; filter: brightness(1); }
  100% { opacity: 1; filter: brightness(2); }
}

/* ==========================================================================
   EFFECT: NIKE AIR SPEED SWOOSH (nike)
   ========================================================================== */
.trading-card.tier-platinum.fx-nike,
.card-detail-card.tier-platinum.fx-nike,
.cards-collection-grid.fx-nike .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-nike,
.card-detail-card.tier-diamond.dfx-nike,
.cards-collection-grid.dfx-nike .trading-card.tier-diamond {
  border: 3px solid #38bdf8 !important;
  background: radial-gradient(circle at 50% 25%, #0c1829 0%, #060e18 55%, #010408 100%) !important;
  box-shadow: 0 0 35px rgba(56, 189, 248, 0.75), 0 0 70px rgba(239, 68, 68, 0.4) !important;
  animation: nike-card-glow 3.5s ease-in-out infinite alternate !important;
}
@keyframes nike-card-glow {
  0% { border-color: #38bdf8; box-shadow: 0 0 25px rgba(56, 189, 248, 0.6); }
  50% { border-color: #ef4444; box-shadow: 0 0 45px rgba(239, 68, 68, 0.8), 0 0 80px rgba(56, 189, 248, 0.5); }
  100% { border-color: #f8fafc; box-shadow: 0 0 30px rgba(248, 250, 252, 0.7); }
}
.trading-card.tier-platinum.fx-nike .card-tier-banner,
.card-detail-card.tier-platinum.fx-nike .card-tier-banner,
.cards-collection-grid.fx-nike .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-nike .card-tier-banner,
.card-detail-card.tier-diamond.dfx-nike .card-tier-banner,
.cards-collection-grid.dfx-nike .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #ffffff 0%, #38bdf8 40%, #0284c7 75%, #ef4444 100%) !important;
  color: #0c1829 !important;
  font-weight: 900 !important;
  border: 1px solid #ffffff !important;
  text-shadow: 0 0 8px #ffffff !important;
}
.nike-carbon-weave {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, rgba(255, 255, 255, 0.03) 0, rgba(255, 255, 255, 0.03) 2px, transparent 2px, transparent 4px),
              repeating-linear-gradient(-45deg, rgba(0, 0, 0, 0.4) 0, rgba(0, 0, 0, 0.4) 2px, transparent 2px, transparent 4px);
}
.nike-swoosh-track {
  position: absolute;
  top: 35%;
  left: 0;
  width: 100%;
  height: 80px;
  pointer-events: none;
}
.nike-speed-swoosh-svg {
  position: absolute;
  top: 10px;
  left: -20%;
  width: 140%;
  height: 60px;
  filter: drop-shadow(0 0 15px #38bdf8) drop-shadow(0 0 30px #0284c7);
  animation: supersonic-swoosh-fly 4.5s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
@keyframes supersonic-swoosh-fly {
  0% { transform: translateX(-60px) scale(0.85); opacity: 0.2; }
  45%, 55% { transform: translateX(0) scale(1); opacity: 1; filter: drop-shadow(0 0 20px #38bdf8) brightness(1.6); }
  100% { transform: translateX(60px) scale(0.9); opacity: 0.3; }
}

/* Translucent Air Max Capsule */
.nike-air-capsule {
  position: absolute;
  bottom: 8%;
  left: 8%;
  right: 8%;
  height: 24px;
  border-radius: 12px;
  border: 1.5px solid rgba(56, 189, 248, 0.6);
  background: rgba(56, 189, 248, 0.12);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0 12px;
  box-shadow: 0 0 15px rgba(56, 189, 248, 0.4), inset 0 0 10px rgba(56, 189, 248, 0.2);
}
.air-pillar {
  width: 6px;
  height: 16px;
  border-radius: 3px;
  background: linear-gradient(180deg, #38bdf8 0%, #ffffff 50%, #0284c7 100%);
  box-shadow: 0 0 6px #38bdf8;
}
.air-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 900;
  color: #bae6fd;
  letter-spacing: 2px;
}
.nike-kinetic-watermark {
  position: absolute;
  top: 15%;
  left: 6%;
  font-family: 'Outfit', sans-serif;
  font-size: 2.2rem;
  font-weight: 900;
  font-style: italic;
  color: rgba(255, 255, 255, 0.06);
  letter-spacing: 3px;
  transform: rotate(-12deg);
  pointer-events: none;
}

/* ==========================================================================
   EFFECT: AMERICAN NINJA WARRIOR (ninja-warrior)
   ========================================================================== */
.trading-card.tier-platinum.fx-ninja-warrior,
.card-detail-card.tier-platinum.fx-ninja-warrior,
.cards-collection-grid.fx-ninja-warrior .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-ninja-warrior,
.card-detail-card.tier-diamond.dfx-ninja-warrior,
.cards-collection-grid.dfx-ninja-warrior .trading-card.tier-diamond {
  border: 3px solid #f59e0b !important;
  background: radial-gradient(circle at 50% 30%, #1e1e24 0%, #111116 55%, #060608 100%) !important;
  box-shadow: 0 0 35px rgba(245, 158, 11, 0.7), 0 0 70px rgba(6, 182, 212, 0.5) !important;
  animation: anw-border-pulse 3s ease-in-out infinite alternate !important;
}
@keyframes anw-border-pulse {
  0% { border-color: #f59e0b; box-shadow: 0 0 25px rgba(245, 158, 11, 0.6), 0 0 50px rgba(6, 182, 212, 0.35); }
  50% { border-color: #06b6d4; box-shadow: 0 0 45px rgba(6, 182, 212, 0.8), 0 0 85px rgba(245, 158, 11, 0.5); }
  100% { border-color: #ef4444; box-shadow: 0 0 35px rgba(239, 68, 68, 0.7), 0 0 65px rgba(245, 158, 11, 0.4); }
}
.trading-card.tier-platinum.fx-ninja-warrior .card-tier-banner,
.card-detail-card.tier-platinum.fx-ninja-warrior .card-tier-banner,
.cards-collection-grid.fx-ninja-warrior .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-ninja-warrior .card-tier-banner,
.card-detail-card.tier-diamond.dfx-ninja-warrior .card-tier-banner,
.cards-collection-grid.dfx-ninja-warrior .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #fef08a 0%, #f59e0b 40%, #06b6d4 75%, #ef4444 100%) !important;
  color: #111116 !important;
  font-weight: 900 !important;
  border: 1px solid #fef08a !important;
  text-shadow: 0 0 8px #ffffff !important;
}

/* Hazard Stripes & Stage Truss */
.anw-hazard-stripe {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: repeating-linear-gradient(45deg, #f59e0b, #f59e0b 8px, #111116 8px, #111116 16px);
}
.anw-truss {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 14px;
  background: repeating-linear-gradient(180deg, #475569 0, #475569 3px, transparent 3px, transparent 18px),
              repeating-linear-gradient(45deg, #334155 0, #334155 2px, transparent 2px, transparent 12px);
  opacity: 0.6;
}
.anw-truss.anw-truss-left { left: 0; }
.anw-truss.anw-truss-right { right: 0; }

/* Sweeping Arena Searchlights */
.anw-spotlight {
  position: absolute;
  inset: -30%;
  pointer-events: none;
}
.anw-spotlight.anw-spot-cyan {
  background: radial-gradient(circle at 20% 20%, rgba(6, 182, 212, 0.25) 0%, transparent 60%);
  animation: anw-spot-cyan-pan 5s ease-in-out infinite alternate;
}
.anw-spotlight.anw-spot-orange {
  background: radial-gradient(circle at 80% 80%, rgba(245, 158, 11, 0.25) 0%, transparent 60%);
  animation: anw-spot-orange-pan 5s ease-in-out infinite alternate-reverse;
}
@keyframes anw-spot-cyan-pan {
  0% { transform: translate(-20px, -20px); }
  100% { transform: translate(30px, 40px); }
}
@keyframes anw-spot-orange-pan {
  0% { transform: translate(20px, 20px); }
  100% { transform: translate(-30px, -40px); }
}

/* Warped Wall & LED Track */
.anw-warped-wall {
  position: absolute;
  bottom: 8%;
  left: 8%;
  width: 45px;
  height: 65px;
  border-right: 3px solid #f59e0b;
  border-bottom: 3px solid #f59e0b;
  border-radius: 0 0 35px 0;
}
.wall-led-track {
  position: absolute;
  right: -5px;
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.wled {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 6px #f59e0b;
  animation: led-chase 1.2s infinite;
}
.wled.l1 { animation-delay: 0.1s; }
.wled.l2 { animation-delay: 0.3s; }
.wled.l3 { animation-delay: 0.5s; }
.wled.l4 { animation-delay: 0.7s; }
.wled.l5 { animation-delay: 0.9s; }
.wled.l6 { animation-delay: 1.1s; }
@keyframes led-chase {
  0%, 100% { opacity: 0.2; }
  50% { opacity: 1; filter: brightness(2); }
}

/* Salmon Ladder */
.salmon-ladder {
  position: absolute;
  top: 25%;
  right: 18px;
  width: 20px;
  height: 80px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.ladder-rung {
  position: relative;
  width: 100%;
  height: 4px;
  background: #64748b;
  border-radius: 2px;
}
.rung-spark {
  position: absolute;
  right: 0;
  top: -2px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #06b6d4;
  box-shadow: 0 0 10px #06b6d4;
  animation: rung-spark-flash 2.5s infinite;
}
.ladder-rung.lr1 .rung-spark { animation-delay: 0.2s; }
.ladder-rung.lr2 .rung-spark { animation-delay: 1.0s; }
.ladder-rung.lr3 .rung-spark { animation-delay: 1.8s; }
@keyframes rung-spark-flash {
  0%, 80%, 100% { opacity: 0; }
  90% { opacity: 1; filter: brightness(2.5); }
}

/* ANW Giant Red Buzzer */
.anw-buzzer-core {
  position: absolute;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 28px;
  height: 28px;
}
.buzzer-dome {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #ffffff 0%, #ef4444 60%, #991b1b 100%);
  box-shadow: 0 0 15px #ef4444, 0 0 30px #ef4444;
  animation: buzzer-strobe 1.8s ease-in-out infinite alternate;
}
@keyframes buzzer-strobe {
  0%, 70% { filter: brightness(1); }
  85%, 100% { filter: brightness(2.5); box-shadow: 0 0 30px #ffffff, 0 0 60px #ef4444; }
}

/* ==========================================================================
   EFFECT: MAX PAYNE GRAPHIC NOVEL NOIR (max-payne)
   ========================================================================== */
.trading-card.tier-platinum.fx-max-payne,
.card-detail-card.tier-platinum.fx-max-payne,
.cards-collection-grid.fx-max-payne .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-max-payne,
.card-detail-card.tier-diamond.dfx-max-payne,
.cards-collection-grid.dfx-max-payne .trading-card.tier-diamond {
  border: 3px solid #dc2626 !important;
  background: radial-gradient(circle at 50% 30%, #171717 0%, #0a0a0a 60%, #000000 100%) !important;
  box-shadow: 0 0 35px rgba(220, 38, 38, 0.75), 0 0 70px rgba(0, 0, 0, 0.9) !important;
  animation: max-payne-pulse 3.6s ease-in-out infinite alternate !important;
}
@keyframes max-payne-pulse {
  0% { border-color: #dc2626; box-shadow: 0 0 25px rgba(220, 38, 38, 0.6); }
  50% { border-color: #ffffff; box-shadow: 0 0 45px rgba(255, 255, 255, 0.7), 0 0 80px rgba(220, 38, 38, 0.6); }
  100% { border-color: #b91c1c; box-shadow: 0 0 30px rgba(185, 28, 28, 0.7); }
}
.trading-card.tier-platinum.fx-max-payne .card-tier-banner,
.card-detail-card.tier-platinum.fx-max-payne .card-tier-banner,
.cards-collection-grid.fx-max-payne .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-max-payne .card-tier-banner,
.card-detail-card.tier-diamond.dfx-max-payne .card-tier-banner,
.cards-collection-grid.dfx-max-payne .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #ffffff 0%, #dc2626 50%, #7f1d1d 100%) !important;
  color: #000000 !important;
  font-weight: 900 !important;
  border: 1px solid #ffffff !important;
  text-shadow: 0 0 8px #ffffff !important;
}
.max-halftone-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(#ffffff 1px, transparent 1px);
  background-size: 8px 8px;
  opacity: 0.12;
}
.noir-sleet-rain {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(110deg, transparent 0, transparent 8px, rgba(255, 255, 255, 0.15) 8px, rgba(255, 255, 255, 0.15) 9px);
  animation: noir-rain-fall 0.4s linear infinite;
}
@keyframes noir-rain-fall {
  0% { transform: translateY(-40px); }
  100% { transform: translateY(0); }
}
/* Max Payne Nightmare Red Blood Line (Jagged Glowing Trail moving across screen) */
.nightmare-blood-line {
  position: absolute;
  left: -35%;
  width: 170%;
  height: 28px;
  pointer-events: none;
  z-index: 2;
  opacity: 0;
  transform: translateX(-100%);
  animation: nightmare-blood-streak 5.6s cubic-bezier(0.1, 0.9, 0.2, 1) infinite both;
}
.nightmare-blood-line.nbl1 {
  top: 30%;
  animation-delay: 0.3s;
}
.nightmare-blood-line.nbl2 {
  top: 60%;
  animation-delay: 3.1s;
}
@keyframes nightmare-blood-streak {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  6% {
    opacity: 1;
  }
  32% {
    transform: translateX(100%);
    opacity: 1;
  }
  35% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(100%);
    opacity: 0;
  }
}
.nightmare-blood-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  display: block;
}
.nightmare-blood-svg .nb-glow {
  fill: none;
  stroke: #dc2626;
  stroke-width: 7px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.65;
  filter: blur(3px);
}
.nightmare-blood-svg .nb-core {
  fill: none;
  stroke: #ef4444;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 6px #dc2626) drop-shadow(0 0 14px #ef4444);
}
.nightmare-blood-svg .nb-hot {
  fill: none;
  stroke: #ffffff;
  stroke-width: 1.2px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.9;
  stroke-dasharray: 45 14 25 10;
  filter: drop-shadow(0 0 3px #ffffff);
}

/* Max Payne Graphic Novel Noir Player Headshot Transformation (Punchy Comic Book B&W Contrast) */
.trading-card.tier-platinum.fx-max-payne .card-headshot,
.trading-card.tier-diamond.dfx-max-payne .card-headshot,
.card-detail-card.tier-platinum.fx-max-payne .card-headshot,
.card-detail-card.tier-diamond.dfx-max-payne .card-headshot,
.cards-collection-grid.fx-max-payne .trading-card.tier-platinum .card-headshot,
.cards-collection-grid.dfx-max-payne .trading-card.tier-diamond .card-headshot {
  filter: url(#max-payne-noir-filter) grayscale(100%) brightness(120%) contrast(175%) drop-shadow(0 0 1.5px #000000) drop-shadow(0 0 3px rgba(0, 0, 0, 0.9)) drop-shadow(0 8px 18px rgba(0, 0, 0, 0.75)) !important;
  transition: filter 0.3s ease, transform 0.25s ease;
}

/* Max Payne 2 Graphic Novel Noir Atmosphere for Headshot Area (Comic Rim Light) */
.trading-card.tier-platinum.fx-max-payne .card-headshot-area,
.trading-card.tier-diamond.dfx-max-payne .card-headshot-area,
.card-detail-card.tier-platinum.fx-max-payne .card-headshot-area,
.card-detail-card.tier-diamond.dfx-max-payne .card-headshot-area,
.cards-collection-grid.fx-max-payne .trading-card.tier-platinum .card-headshot-area,
.cards-collection-grid.dfx-max-payne .trading-card.tier-diamond .card-headshot-area {
  background: radial-gradient(circle at 50% 32%, rgba(71, 85, 105, 0.5) 0%, rgba(30, 41, 59, 0.8) 55%, rgba(10, 10, 15, 0.96) 100%) !important;
  border: 1.5px solid rgba(220, 38, 38, 0.75) !important;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.85), 0 0 14px rgba(220, 38, 38, 0.35) !important;
}

/* ==========================================================================
   EFFECT: SIN CITY STARK SILHOUETTE (sin-city)
   ========================================================================== */
.trading-card.tier-platinum.fx-sin-city,
.card-detail-card.tier-platinum.fx-sin-city,
.cards-collection-grid.fx-sin-city .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-sin-city,
.card-detail-card.tier-diamond.dfx-sin-city,
.cards-collection-grid.dfx-sin-city .trading-card.tier-diamond {
  border: 3px solid #ffffff !important;
  background: #000000 !important;
  box-shadow: 0 0 40px #ffffff, 0 0 80px rgba(220, 38, 38, 0.8) !important;
}
.trading-card.tier-platinum.fx-sin-city .card-tier-banner,
.card-detail-card.tier-platinum.fx-sin-city .card-tier-banner,
.cards-collection-grid.fx-sin-city .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-sin-city .card-tier-banner,
.card-detail-card.tier-diamond.dfx-sin-city .card-tier-banner,
.cards-collection-grid.dfx-sin-city .trading-card.tier-diamond .card-tier-banner {
  background: #ffffff !important;
  color: #000000 !important;
  font-weight: 900 !important;
  border: 1px solid #dc2626 !important;
  box-shadow: 0 0 15px #dc2626 !important;
}
.venetian-blind-shadows {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  pointer-events: none;
}
.blind-slat {
  width: 100%;
  height: 12px;
  background: rgba(0, 0, 0, 0.85);
  transform: skewY(-8deg);
}
.sin-city-rain {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(100deg, transparent 0, transparent 12px, rgba(255, 255, 255, 0.25) 12px, rgba(255, 255, 255, 0.25) 13px);
  animation: noir-rain-fall 0.3s linear infinite;
}
.sin-city-crimson-rim {
  position: absolute;
  inset: 0;
  border: 2px solid #dc2626;
  box-shadow: inset 0 0 25px #dc2626;
  opacity: 0.8;
  animation: rim-glow 2.5s ease-in-out infinite alternate;
}
@keyframes rim-glow {
  0% { opacity: 0.5; }
  100% { opacity: 1; filter: drop-shadow(0 0 10px #dc2626); }
}

/* ==========================================================================
   EFFECT: NEO-TOKYO CRIMSON KANJI GLITCH (tokyo-noir)
   ========================================================================== */
.trading-card.tier-platinum.fx-tokyo-noir,
.card-detail-card.tier-platinum.fx-tokyo-noir,
.cards-collection-grid.fx-tokyo-noir .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-tokyo-noir,
.card-detail-card.tier-diamond.dfx-tokyo-noir,
.cards-collection-grid.dfx-tokyo-noir .trading-card.tier-diamond {
  border: 3px solid #ef4444 !important;
  background: radial-gradient(circle at 50% 30%, #180808 0%, #0a0202 60%, #000000 100%) !important;
  box-shadow: 0 0 35px rgba(239, 68, 68, 0.75), 0 0 70px rgba(255, 255, 255, 0.3) !important;
}
.tokyo-crt-scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0, transparent 2px, rgba(0, 0, 0, 0.5) 2px, rgba(0, 0, 0, 0.5) 4px);
}
.tokyo-glitch-tear {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(239, 68, 68, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.1) 100%);
  animation: glitch-jitter 2s steps(4) infinite;
}
@keyframes glitch-jitter {
  0%, 90% { transform: translate(0, 0); }
  92% { transform: translate(-3px, 1px); }
  94% { transform: translate(3px, -2px); }
  96% { transform: translate(-1px, 2px); }
  100% { transform: translate(0, 0); }
}
.kanji-banner {
  position: absolute;
  top: 15%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 1.1rem;
  font-weight: 900;
  color: #ef4444;
  text-shadow: 0 0 10px #ef4444, 0 0 20px #dc2626;
}
.kanji-banner.kb-left { left: 8px; }
.kanji-banner.kb-right { right: 8px; }
.kanji-char {
  animation: kanji-flicker 3s infinite alternate;
}
@keyframes kanji-flicker {
  0%, 85% { opacity: 1; }
  88% { opacity: 0.3; }
  92% { opacity: 1; }
  95% { opacity: 0.1; }
  100% { opacity: 1; }
}
.tokyo-reticle {
  position: absolute;
  width: 50px;
  height: 50px;
  pointer-events: none;
  animation: tokyo-reticle-patrol 14s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}
@keyframes tokyo-reticle-patrol {
  0%   { top: 38%; left: 48%; transform: translate(-50%, -50%) scale(1); }
  12%  { top: 22%; left: 26%; transform: translate(-50%, -50%) scale(1.08); }
  24%  { top: 58%; left: 74%; transform: translate(-50%, -50%) scale(0.94); }
  37%  { top: 76%; left: 30%; transform: translate(-50%, -50%) scale(1.06); }
  49%  { top: 26%; left: 70%; transform: translate(-50%, -50%) scale(0.96); }
  61%  { top: 46%; left: 18%; transform: translate(-50%, -50%) scale(1.05); }
  73%  { top: 16%; left: 76%; transform: translate(-50%, -50%) scale(1.0); }
  85%  { top: 68%; left: 58%; transform: translate(-50%, -50%) scale(1.07); }
  94%  { top: 50%; left: 34%; transform: translate(-50%, -50%) scale(0.95); }
  100% { top: 38%; left: 48%; transform: translate(-50%, -50%) scale(1); }
}
.reticle-ring {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1.5px solid #ef4444;
  box-shadow: 0 0 8px #ef4444;
  animation: reticle-rotate 8s linear infinite;
}
.reticle-laser-dot {
  position: absolute;
  top: 23px;
  left: 23px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 0 10px #ef4444, 0 0 20px #ffffff;
}
@keyframes reticle-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ==========================================================================
   EFFECT: BLOOD MOON ECLIPSE (blood-moon)
   ========================================================================== */
.trading-card.tier-platinum.fx-blood-moon,
.card-detail-card.tier-platinum.fx-blood-moon,
.cards-collection-grid.fx-blood-moon .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-blood-moon,
.card-detail-card.tier-diamond.dfx-blood-moon,
.cards-collection-grid.dfx-blood-moon .trading-card.tier-diamond {
  border: 3px solid #991b1b !important;
  background: radial-gradient(circle at 50% 35%, #2a0505 0%, #120202 55%, #000000 100%) !important;
  box-shadow: 0 0 35px #dc2626, 0 0 70px rgba(153, 27, 27, 0.6) !important;
}
.eclipse-lunar-disc {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 75px;
  height: 75px;
  border-radius: 50%;
  background: #09090b;
  box-shadow: 0 0 12px #ffffff, 0 0 30px #dc2626, 0 0 60px #991b1b;
}
.blood-corona-pulse {
  position: absolute;
  inset: -15px;
  border-radius: 50%;
  border: 2px solid #ef4444;
  animation: corona-shockwave 3.5s ease-out infinite;
}
.blood-corona-pulse.cp2 { animation-delay: 1.75s; }
@keyframes corona-shockwave {
  0% { transform: scale(0.8); opacity: 0.8; }
  100% { transform: scale(1.6); opacity: 0; }
}
.blood-ember {
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 8px #dc2626;
  animation: ghibli-dust-float 4s infinite;
}
.blood-ember.be1 { bottom: 15%; left: 20%; animation-delay: 0.2s; }
.blood-ember.be2 { bottom: 25%; right: 25%; animation-delay: 1.2s; }
.blood-ember.be3 { bottom: 40%; left: 35%; animation-delay: 2.2s; }
.blood-ember.be4 { bottom: 10%; right: 40%; animation-delay: 3.2s; }
.raven-flight-svg {
  position: absolute;
  top: 45%;
  left: 0;
  width: 100%;
  height: 40px;
  animation: raven-soar 8s linear infinite;
}
@keyframes raven-soar {
  0% { transform: translateX(-100px); }
  100% { transform: translateX(180px); }
}

/* ==========================================================================
   EFFECT: MANGA SLASH CRIMSON INK (comic-slash)
   ========================================================================== */
.trading-card.tier-platinum.fx-comic-slash,
.card-detail-card.tier-platinum.fx-comic-slash,
.cards-collection-grid.fx-comic-slash .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-comic-slash,
.card-detail-card.tier-diamond.dfx-comic-slash,
.cards-collection-grid.dfx-comic-slash .trading-card.tier-diamond {
  border: 3px solid #dc2626 !important;
  background: radial-gradient(circle at 50% 50%, #1f0505 0%, #0d0101 60%, #000000 100%) !important;
  box-shadow: 0 0 35px #dc2626, 0 0 70px rgba(0, 0, 0, 0.9) !important;
}
.manga-speedlines-radial {
  position: absolute;
  inset: -20%;
  background: repeating-conic-gradient(from 0deg, rgba(255, 255, 255, 0.12) 0deg 2deg, transparent 2deg 12deg);
  animation: speedlines-rotate 6s linear infinite;
}
@keyframes speedlines-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.katana-slash-blade {
  position: absolute;
  height: 4px;
  background: linear-gradient(90deg, transparent 0%, #ffffff 50%, #ef4444 100%);
  box-shadow: 0 0 15px #ef4444, 0 0 30px #ffffff;
  animation: katana-slash-cut 2.2s cubic-bezier(0.1, 0.9, 0.2, 1) infinite;
}
.katana-slash-blade.ksb1 {
  top: 30%;
  left: -20%;
  width: 140%;
  transform: rotate(-25deg);
  animation-delay: 0.1s;
}
.katana-slash-blade.ksb2 {
  top: 65%;
  left: -20%;
  width: 140%;
  transform: rotate(20deg);
  animation-delay: 1.2s;
}
@keyframes katana-slash-cut {
  0% { transform: scaleX(0); opacity: 0; }
  15% { transform: scaleX(1); opacity: 1; filter: brightness(2); }
  45% { opacity: 0.8; }
  75%, 100% { opacity: 0; }
}
.manga-sfx-brush {
  position: absolute;
  bottom: 12%;
  right: 12%;
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  color: #dc2626;
  text-shadow: 2px 2px 0 #ffffff, 0 0 12px #dc2626;
  transform: rotate(-15deg);
}

/* ==========================================================================
   HALLOWEEN & SCARY THEMES
   ========================================================================== */

/* 1. PUMPKIN JACK-O'-LANTERN (pumpkin) */
.trading-card.tier-platinum.fx-pumpkin,
.card-detail-card.tier-platinum.fx-pumpkin,
.cards-collection-grid.fx-pumpkin .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-pumpkin,
.card-detail-card.tier-diamond.dfx-pumpkin,
.cards-collection-grid.dfx-pumpkin .trading-card.tier-diamond {
  border: 3px solid #ea580c !important;
  background: radial-gradient(circle at 50% 40%, #381500 0%, #1f0b00 55%, #0d0400 100%) !important;
  box-shadow: 0 0 35px rgba(234, 88, 12, 0.8), 0 0 70px rgba(249, 115, 22, 0.5) !important;
}
.pumpkin-carved-face {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 95px;
  height: 80px;
  filter: drop-shadow(0 0 12px #ea580c) drop-shadow(0 0 25px #f97316);
}
.jack-face-svg {
  width: 100%;
  height: 100%;
}
.jack-eye, .jack-nose, .jack-mouth {
  animation: candle-flicker-flame 1.8s ease-in-out infinite alternate;
}
@keyframes candle-flicker-flame {
  0% { fill: #fde047; filter: drop-shadow(0 0 8px #f59e0b); }
  50% { fill: #ea580c; filter: drop-shadow(0 0 4px #dc2626); }
  100% { fill: #facc15; filter: drop-shadow(0 0 12px #f97316); }
}

/* 2. X-RAY SKELETON (skeleton) */
.trading-card.tier-platinum.fx-skeleton,
.card-detail-card.tier-platinum.fx-skeleton,
.cards-collection-grid.fx-skeleton .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-skeleton,
.card-detail-card.tier-diamond.dfx-skeleton,
.cards-collection-grid.dfx-skeleton .trading-card.tier-diamond {
  border: 3px solid #38bdf8 !important;
  background: radial-gradient(circle at 50% 30%, #082f49 0%, #031826 55%, #010c14 100%) !important;
  box-shadow: 0 0 35px rgba(56, 189, 248, 0.75), 0 0 70px rgba(14, 165, 233, 0.45) !important;
}
.xray-cathode-scanline {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: rgba(56, 189, 248, 0.8);
  box-shadow: 0 0 12px #38bdf8;
  animation: cathode-scan 3.5s linear infinite;
}
@keyframes cathode-scan {
  0% { transform: translateY(-10px); }
  100% { transform: translateY(350px); }
}
.xray-bone-grid {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 100px;
  height: 120px;
  filter: drop-shadow(0 0 10px #38bdf8);
}
.xray-skeleton-svg {
  width: 100%;
  height: 100%;
}
.xray-fracture-crack {
  animation: fracture-flash 2.5s infinite;
}

/* 3. HAUNTED GHOST (ghost) */
.trading-card.tier-platinum.fx-ghost,
.card-detail-card.tier-platinum.fx-ghost,
.cards-collection-grid.fx-ghost .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-ghost,
.card-detail-card.tier-diamond.dfx-ghost,
.cards-collection-grid.dfx-ghost .trading-card.tier-diamond {
  border: 3px solid #67e8f9 !important;
  background: radial-gradient(circle at 50% 30%, #083344 0%, #041f2a 55%, #011017 100%) !important;
  box-shadow: 0 0 35px rgba(103, 232, 249, 0.7), 0 0 70px rgba(52, 211, 153, 0.45) !important;
}
.ghost-ectoplasm-fog {
  position: absolute;
  bottom: -20px;
  left: -20%;
  width: 140%;
  height: 80px;
  background: radial-gradient(ellipse at center, rgba(103, 232, 249, 0.3) 0%, rgba(52, 211, 153, 0.2) 50%, transparent 80%);
  filter: blur(8px);
  animation: ectoplasm-roll 6s ease-in-out infinite alternate;
}
.ghost-ectoplasm-fog.epf2 {
  animation-duration: 8s;
  animation-delay: 1.5s;
}
@keyframes ectoplasm-roll {
  0% { transform: translateX(-20px) scale(0.9); }
  100% { transform: translateX(20px) scale(1.15); }
}
.phantom-specter-body {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 100px;
  animation: phantom-hover 4s ease-in-out infinite;
  filter: drop-shadow(0 0 15px rgba(103, 232, 249, 0.8));
}
@keyframes phantom-hover {
  0%, 100% { transform: translate(-50%, 0) scale(1); }
  50% { transform: translate(-50%, -15px) scale(1.05); }
}
.will-o-wisp {
  position: absolute;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #a7f3d0;
  box-shadow: 0 0 10px #67e8f9, 0 0 20px #34d399;
  animation: wisp-bob 3s ease-in-out infinite;
}
.will-o-wisp.wow1 { top: 25%; left: 12%; animation-delay: 0.2s; }
.will-o-wisp.wow2 { top: 35%; right: 15%; animation-delay: 1.4s; }
.will-o-wisp.wow3 { bottom: 25%; left: 22%; animation-delay: 2.1s; }
@keyframes wisp-bob {
  0%, 100% { transform: translateY(0); opacity: 0.3; }
  50% { transform: translateY(-20px); opacity: 1; filter: brightness(1.6); }
}

/* 4. GENGAR NIGHTMARE POKÉMON (gengar) */
.trading-card.tier-platinum.fx-gengar,
.card-detail-card.tier-platinum.fx-gengar,
.cards-collection-grid.fx-gengar .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-gengar,
.card-detail-card.tier-diamond.dfx-gengar,
.cards-collection-grid.dfx-gengar .trading-card.tier-diamond {
  border: 3px solid #9333ea !important;
  background: radial-gradient(circle at 50% 35%, #2e1065 0%, #170733 55%, #0b0219 100%) !important;
  box-shadow: 0 0 35px rgba(147, 51, 234, 0.85), 0 0 70px rgba(239, 68, 68, 0.5) !important;
}
.gengar-face-container {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 80px;
  filter: drop-shadow(0 0 15px #ef4444) drop-shadow(0 0 25px #9333ea);
  animation: gengar-grin-menace 3s ease-in-out infinite alternate;
}
@keyframes gengar-grin-menace {
  0% { transform: translateX(-50%) scale(0.95); }
  100% { transform: translateX(-50%) scale(1.08); filter: drop-shadow(0 0 20px #ef4444) drop-shadow(0 0 35px #a855f7); }
}
.gengar-shadow-ball {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: radial-gradient(circle, #3b0764 0%, #1e1b4b 60%, transparent 100%);
  box-shadow: 0 0 25px #7e22ce, inset 0 0 15px #c084fc;
  animation: shadow-ball-spin 6s linear infinite;
}
@keyframes shadow-ball-spin {
  0% { transform: translate(-50%, -50%) rotate(0deg); }
  100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* 5. CARTOON BULGING EYES - ROGER RABBIT (cartoon-eyes) */
.trading-card.tier-platinum.fx-cartoon-eyes,
.card-detail-card.tier-platinum.fx-cartoon-eyes,
.cards-collection-grid.fx-cartoon-eyes .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-cartoon-eyes,
.card-detail-card.tier-diamond.dfx-cartoon-eyes,
.cards-collection-grid.dfx-cartoon-eyes .trading-card.tier-diamond {
  border: 3px solid #facc15 !important;
  background: radial-gradient(circle at 50% 30%, #312e81 0%, #1e1b4b 55%, #0f172a 100%) !important;
  box-shadow: 0 0 35px rgba(250, 204, 21, 0.8), 0 0 70px rgba(239, 68, 68, 0.6) !important;
}
.cartoon-eyeball-rig {
  position: absolute;
  top: 15%;
  width: 44px;
  height: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: cartoon-eye-boing 2s cubic-bezier(0.175, 0.885, 0.32, 1.275) infinite;
}
.cartoon-eyeball-rig.cer-left { left: 22%; animation-delay: 0.1s; }
.cartoon-eyeball-rig.cer-right { right: 22%; animation-delay: 0.2s; }
.coiled-spring-svg {
  width: 24px;
  height: 45px;
}
.bulging-eyeball {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #ffffff;
  border: 2.5px solid #0f172a;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.6), inset 0 0 6px rgba(239, 68, 68, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}
.spiral-pupil {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: repeating-radial-gradient(circle, #dc2626 0, #dc2626 3px, #000000 3px, #000000 6px);
  animation: spiral-spin 2s linear infinite;
}
.spiral-pupil.pupil-ccw { animation-direction: reverse; }
@keyframes spiral-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
@keyframes cartoon-eye-boing {
  0%, 100% { transform: translateY(0) scale(1); }
  25% { transform: translateY(-25px) scale(1.3, 0.8); }
  50% { transform: translateY(8px) scale(0.8, 1.25); }
  75% { transform: translateY(-10px) scale(1.1); }
}
.cartoon-action-text {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-8deg);
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
  color: #fef08a;
  text-shadow: 2px 2px 0 #dc2626, -2px -2px 0 #dc2626, 2px -2px 0 #dc2626, -2px 2px 0 #dc2626;
  letter-spacing: 2px;
  animation: awooga-pulse 1s ease-in-out infinite alternate;
}
@keyframes awooga-pulse {
  0% { transform: translate(-50%, -50%) rotate(-8deg) scale(0.9); }
  100% { transform: translate(-50%, -50%) rotate(-8deg) scale(1.2); }
}

/* 6. JACK SKELLINGTON NIGHTMARE (jack-skellington) */
.trading-card.tier-platinum.fx-jack-skellington,
.card-detail-card.tier-platinum.fx-jack-skellington,
.cards-collection-grid.fx-jack-skellington .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-jack-skellington,
.card-detail-card.tier-diamond.dfx-jack-skellington,
.cards-collection-grid.dfx-jack-skellington .trading-card.tier-diamond {
  border: 3px solid #e2e8f0 !important;
  background: #09090b !important;
  box-shadow: 0 0 35px rgba(226, 232, 240, 0.6), 0 0 70px rgba(234, 179, 8, 0.4) !important;
}
.jack-pinstripes {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(90deg, transparent 0, transparent 16px, rgba(255, 255, 255, 0.15) 16px, rgba(255, 255, 255, 0.15) 18px);
}
.jack-spiral-moon-scene {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
}
.jack-harvest-moon {
  position: absolute;
  top: 5px;
  right: 25px;
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #fef08a 0%, #eab308 70%, #ca8a04 100%);
  box-shadow: 0 0 20px #fde047, 0 0 40px rgba(234, 179, 8, 0.6);
}
.jack-spiral-hill-svg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.jack-bowtie-badge {
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 38px;
  filter: drop-shadow(0 0 8px #ffffff);
}
.bat-bowtie-svg {
  width: 100%;
  height: 100%;
}

/* 7. OLDE ENGLISH VICTORIAN GOTHIC HORROR (olde-horror) */
.trading-card.tier-platinum.fx-olde-horror,
.card-detail-card.tier-platinum.fx-olde-horror,
.cards-collection-grid.fx-olde-horror .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-olde-horror,
.card-detail-card.tier-diamond.dfx-olde-horror,
.cards-collection-grid.dfx-olde-horror .trading-card.tier-diamond {
  border: 3px solid #ca8a04 !important;
  background: radial-gradient(circle at 50% 30%, #2e1010 0%, #150505 55%, #080101 100%) !important;
  box-shadow: 0 0 35px rgba(202, 138, 4, 0.65), 0 0 70px rgba(185, 28, 28, 0.55) !important;
}
.olde-graveyard-fog {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(180deg, transparent 0%, rgba(200, 200, 200, 0.15) 60%, rgba(200, 200, 200, 0.3) 100%);
  filter: blur(6px);
  animation: ectoplasm-roll 7s ease-in-out infinite alternate;
}
.candelabra-rig {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 60px;
}
.candelabra-svg {
  width: 100%;
  height: 100%;
}
.candle-flame {
  position: absolute;
  width: 6px;
  height: 10px;
  border-radius: 50% 50% 30% 30%;
  background: #fef08a;
  box-shadow: 0 0 8px #f59e0b, 0 0 16px #dc2626;
  animation: candle-flame-flicker 1.5s ease-in-out infinite alternate;
}
.candle-flame.flame-center { top: 6px; left: 37px; }
.candle-flame.flame-left { top: 10px; left: 15px; animation-delay: 0.3s; }
.candle-flame.flame-right { top: 10px; right: 15px; animation-delay: 0.6s; }
@keyframes candle-flame-flicker {
  0% { transform: scale(0.9) skewX(-2deg); opacity: 0.8; }
  50% { transform: scale(1.15) skewX(3deg); opacity: 1; filter: brightness(1.4); }
  100% { transform: scale(1) skewX(-1deg); opacity: 0.9; }
}
.wax-seal-badge {
  position: absolute;
  top: 15%;
  right: 12px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: radial-gradient(circle, #b91c1c 0%, #7f1d1d 80%, #450a0a 100%);
  border: 2px solid #991b1b;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.8), 0 0 15px #dc2626;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
}
.gothic-cobweb-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
  height: 50px;
}

/* ==========================================================================
   UPGRADED CORE PLATINUM & DIAMOND ELEMENTS (NO EMOJIS)
   ========================================================================== */
.electric-spark-svg {
  position: absolute;
  width: 22px;
  height: 22px;
  filter: drop-shadow(0 0 8px #38bdf8);
  animation: electric-spark-jitter 0.8s ease-in-out infinite;
}
.electric-spark-svg.es1 { top: 4%; left: 6%; animation-delay: 0.1s; }
.electric-spark-svg.es2 { top: 4%; right: 6%; animation-delay: 0.3s; }
.electric-spark-svg.es3 { top: 25%; left: 4%; animation-delay: 0.5s; }
.electric-spark-svg.es4 { top: 25%; right: 4%; animation-delay: 0.2s; }
.electric-spark-svg.es5 { bottom: 15%; left: 8%; animation-delay: 0.7s; }
.electric-spark-svg.es6 { bottom: 15%; right: 8%; animation-delay: 0.4s; }
@keyframes electric-spark-jitter {
  0%, 100% { transform: scale(0.8); opacity: 0.3; }
  50% { transform: scale(1.25) rotate(15deg); opacity: 1; filter: brightness(2); }
}

.molten-fissure-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
}
.molten-ember-dot {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f97316;
  box-shadow: 0 0 8px #ea580c, 0 0 16px #dc2626;
  animation: ghibli-dust-float 3.5s infinite;
}
.molten-ember-dot.me1 { bottom: 15%; left: 10%; animation-delay: 0.1s; }
.molten-ember-dot.me2 { bottom: 25%; right: 12%; animation-delay: 0.6s; }
.molten-ember-dot.me3 { bottom: 35%; left: 18%; animation-delay: 1.2s; }
.molten-ember-dot.me4 { bottom: 10%; right: 25%; animation-delay: 1.8s; }
.molten-ember-dot.me5 { bottom: 28%; left: 40%; animation-delay: 2.4s; }
.molten-ember-dot.me6 { bottom: 18%; right: 45%; animation-delay: 3.0s; }

.frost-snowflake-svg {
  position: absolute;
  width: 22px;
  height: 22px;
  filter: drop-shadow(0 0 8px #38bdf8);
  animation: frost-snowflake-spin 4s linear infinite;
}
.frost-snowflake-svg.fc1 { top: 4%; left: 6%; }
.frost-snowflake-svg.fc2 { top: 4%; right: 6%; animation-delay: 1s; }
.frost-snowflake-svg.fc3 { bottom: 15%; left: 8%; animation-delay: 2s; }
.frost-snowflake-svg.fc4 { bottom: 15%; right: 8%; animation-delay: 3s; }
@keyframes frost-snowflake-spin {
  0% { transform: rotate(0deg) scale(0.9); }
  50% { transform: rotate(180deg) scale(1.15); }
  100% { transform: rotate(360deg) scale(0.9); }
}

.thunder-bolt-svg {
  position: absolute;
  width: 26px;
  height: 26px;
  filter: drop-shadow(0 0 10px #facc15);
  animation: thunder-bolt-strike 1.2s ease-in-out infinite;
}
.thunder-bolt-svg.tb1 { top: 5%; left: 8%; animation-delay: 0.1s; }
.thunder-bolt-svg.tb2 { top: 5%; right: 8%; animation-delay: 0.4s; }
.thunder-bolt-svg.tb3 { bottom: 20%; left: 10%; animation-delay: 0.7s; }
.thunder-bolt-svg.tb4 { bottom: 20%; right: 10%; animation-delay: 0.2s; }
@keyframes thunder-bolt-strike {
  0%, 75%, 100% { opacity: 0; transform: scale(0.7); }
  85% { opacity: 1; transform: scale(1.3) translateY(4px); filter: brightness(2.5); }
}

.tesseract-wireframe-svg-wrap {
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 80px;
  height: 80px;
  filter: drop-shadow(0 0 10px #38bdf8);
  animation: tesseract-spin 10s linear infinite;
}
.tesseract-svg {
  width: 100%;
  height: 100%;
}
@keyframes tesseract-spin {
  0% { transform: translateX(-50%) rotate(0deg); }
  100% { transform: translateX(-50%) rotate(360deg); }
}

.crown-filigree-crest {
  position: absolute;
  top: 14%;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 40px;
  filter: drop-shadow(0 0 10px #facc15);
}
.crown-svg {
  width: 100%;
  height: 100%;
}

/* Youngest To Achieve Badge */
.badge-age {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.35);
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  display: inline-block;
  box-shadow: 0 0 8px rgba(59, 130, 246, 0.15);
}

/* ==========================================================================
   PAGE 1: NBA HIGH OR LOW (ARCADE STAT LADDER)
   ========================================================================== */
.higher-lower-page {
  background: #090d16;
  color: #f8fafc;
  min-height: 100vh;
}

.hl-main-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 16px 20px 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.hl-hero-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.hl-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #ffffff 0%, #38bdf8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0;
}

.hl-hero-desc {
  font-size: 0.88rem;
  color: #94a3b8;
  max-width: 780px;
  margin: 4px 0 0 0;
  line-height: 1.45;
}

.hl-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 10px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.hl-cat-selector-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.hl-ctrl-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--text-tertiary, #64748b);
  letter-spacing: 0.08em;
}

.hl-cat-pill-group {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.hl-cat-pill {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 5px 11px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.hl-cat-pill:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.hl-cat-pill.active {
  background: #38bdf8;
  color: #090d16;
  border-color: #38bdf8;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

.hl-score-hud {
  display: flex;
  align-items: center;
  gap: 12px;
}

.hl-hud-box {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 4px 14px;
  text-align: center;
  min-width: 80px;
}

.hl-hud-box.best {
  border-color: rgba(251, 191, 36, 0.3);
  background: rgba(245, 158, 11, 0.06);
}

.hl-hud-label {
  display: block;
  font-family: 'Geist Mono', monospace;
  font-size: 0.58rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.08em;
}

.hl-hud-val {
  font-family: 'Geist Mono', monospace;
  font-size: 1.35rem;
  font-weight: 900;
  color: #38bdf8;
  line-height: 1.1;
}

.hl-hud-box.best .hl-hud-val {
  color: #fbbf24;
}

/* Arena Cards Layout */
.hl-arena-stage {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.hl-arena-cards-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 960px;
}

.hl-player-card {
  flex: 1;
  max-width: 420px;
  min-height: 520px;
  background: linear-gradient(180deg, #131d31 0%, #0c1220 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.hl-player-card.guess-success {
  border-color: #10b981 !important;
  box-shadow: 0 0 30px rgba(16, 185, 129, 0.45) !important;
  animation: pulse-success 0.4s ease;
}

.hl-player-card.guess-fail {
  border-color: #ef4444 !important;
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.45) !important;
  animation: shake-fail 0.4s ease;
}

@keyframes pulse-success {
  0% { transform: scale(1); }
  50% { transform: scale(1.03); }
  100% { transform: scale(1); }
}

@keyframes shake-fail {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-8px); }
  75% { transform: translateX(8px); }
}

.hl-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 8px;
}

.hl-team-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.08);
  padding: 3px 8px;
  border-radius: 6px;
  color: #cbd5e1;
}

.hl-pos-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  font-weight: 800;
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
  padding: 2px 7px;
  border-radius: 4px;
}

.hl-avatar-container {
  position: relative;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(56, 189, 248, 0.15) 0%, rgba(0, 0, 0, 0.6) 100%);
  border: 2.5px solid rgba(255, 255, 255, 0.25);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
  overflow: hidden;
  margin: 10px 0;
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.hl-avatar-container:hover {
  border-color: #38bdf8;
  transform: scale(1.05);
  box-shadow: 0 0 24px rgba(56, 189, 248, 0.5);
}

.hl-card-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.hl-avatar-fix-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
  border-radius: 50%;
}

.hl-avatar-container:hover .hl-avatar-fix-overlay {
  opacity: 1;
}

.hl-fix-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.7rem;
  font-weight: 800;
  color: #ffffff;
  background: rgba(56, 189, 248, 0.9);
  padding: 4px 10px;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.hl-player-info {
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hl-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.45rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0 0 4px 0;
  line-height: 1.2;
}

.hl-player-name a:hover {
  color: #38bdf8 !important;
  text-decoration: underline !important;
}

.hl-player-role {
  font-size: 0.74rem;
  color: #94a3b8;
}

/* Career Trajectory button below name and status */
.hl-trajectory-wrap {
  margin-top: 8px;
  display: flex;
  justify-content: center;
}

.hl-trajectory-link-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  color: #93c5fd;
  text-decoration: none;
  transition: all 0.18s ease;
}

.hl-trajectory-link-btn:hover {
  background: rgba(56, 189, 248, 0.16);
  border-color: rgba(56, 189, 248, 0.45);
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(56, 189, 248, 0.28);
}

.hl-traj-icon {
  font-size: 0.8rem;
}

.hl-traj-text {
  letter-spacing: 0.02em;
}

.hl-traj-arrow {
  font-size: 0.8rem;
  color: #38bdf8;
  transition: transform 0.18s ease;
}

.hl-trajectory-link-btn:hover .hl-traj-arrow {
  transform: translate(2px, -2px);
}

/* Action Slots (Positioned above stat metric boxes for perfect horizontal symmetry) */
.hl-action-slot {
  width: 100%;
  height: 44px;
  margin-top: auto;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.hl-benchmark-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background: rgba(56, 189, 248, 0.08);
  border: 1px dashed rgba(56, 189, 248, 0.35);
  border-radius: 10px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  color: #38bdf8;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hl-guess-actions {
  display: flex;
  gap: 10px;
  width: 100%;
  height: 44px;
  margin-top: auto;
  margin-bottom: 10px;
  box-sizing: border-box;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.hl-btn {
  flex: 1;
  height: 100%;
  padding: 0 14px;
  border-radius: 10px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  border: none;
  transition: all 0.15s ease;
}

.hl-btn-higher {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
}

.hl-btn-higher:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(16, 185, 129, 0.55);
}

.hl-btn-lower {
  background: linear-gradient(135deg, #f43f5e 0%, #e11d48 100%);
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(244, 63, 94, 0.35);
}

.hl-btn-lower:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(244, 63, 94, 0.55);
}

/* Stat Display Boxes (Identical on both Left and Right cards) */
.hl-stat-display-box {
  width: 100%;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.hl-stat-metric-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.hl-stat-big-number {
  font-family: 'Geist Mono', monospace;
  font-size: 2.2rem;
  font-weight: 900;
  color: #38bdf8;
  text-shadow: 0 0 16px rgba(56, 189, 248, 0.4);
}

.hl-stat-big-number.hidden {
  color: #64748b;
  text-shadow: none;
  font-size: 2rem;
}

.hl-vs-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.hl-vs-circle {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: #090d16;
  border: 2px solid #38bdf8;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
}

.hl-vs-text {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 900;
  color: #ffffff;
}

.hl-streak-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  font-weight: 800;
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  padding: 2px 8px;
  border-radius: 999px;
  white-space: nowrap;
}

/* Game Over Modal */
.hl-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  box-sizing: border-box;
}

.hl-gameover-dialog {
  background: #0f172a;
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  padding: 24px;
  max-width: 460px;
  width: 100%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9);
}

.hl-go-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 8px;
}

.hl-go-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.6rem;
  font-weight: 900;
  color: #ef4444;
  margin: 0;
}

.hl-go-explain {
  font-size: 0.86rem;
  color: #cbd5e1;
  line-height: 1.45;
  margin-bottom: 18px;
}

.hl-go-scores-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 10px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 20px;
}

.hl-go-score-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.hl-go-lbl {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6rem;
  font-weight: 800;
  color: #94a3b8;
}

.hl-go-num {
  font-family: 'Geist Mono', monospace;
  font-size: 1.4rem;
  font-weight: 900;
  color: #38bdf8;
}

.hl-go-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 900;
  color: #fbbf24;
  border: 1px solid #fbbf24;
  border-radius: 6px;
  padding: 2px 4px;
}

.hl-restart-btn {
  background: #38bdf8;
  color: #090d16;
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 900;
  border: none;
  border-radius: 10px;
  padding: 12px 24px;
  cursor: pointer;
  transition: all 0.15s ease;
  width: 100%;
}

.hl-restart-btn:hover {
  background: #7dd3fc;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.5);
}

@media (max-width: 768px) {
  .hl-arena-cards-row {
    flex-direction: column;
  }
  .hl-player-card {
    max-width: 100%;
    min-height: auto;
  }
}

/* ==========================================================================
   PAGE 2: NBA 3x3 GRID (IMMACULATE CROSSOVER PUZZLE)
   ========================================================================== */
.nba-grid-page {
  background: #090d16;
  color: #f8fafc;
  min-height: 100vh;
}

.grid-main-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 20px 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.grid-hero-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.grid-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #ffffff 0%, #a855f7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0;
}

.grid-hero-desc {
  font-size: 0.88rem;
  color: #94a3b8;
  max-width: 780px;
  margin: 4px 0 0 0;
  line-height: 1.45;
}

.grid-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 10px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.grid-mode-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.grid-mode-pill {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.grid-mode-pill.active {
  background: #a855f7;
  color: #ffffff;
  border-color: #a855f7;
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.4);
}

.grid-status-hud {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.grid-hud-box {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 4px 12px;
  text-align: center;
}

.grid-hud-box.rarity {
  border-color: rgba(168, 85, 247, 0.3);
  background: rgba(168, 85, 247, 0.08);
}

.grid-hud-label {
  display: block;
  font-family: 'Geist Mono', monospace;
  font-size: 0.58rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.08em;
}

.grid-guesses-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.grid-hud-val {
  font-family: 'Geist Mono', monospace;
  font-size: 1.25rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1.1;
}

.grid-hud-box.rarity .grid-hud-val {
  color: #c084fc;
}

.grid-dots-strip {
  display: flex;
  gap: 4px;
}

.grid-strike-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #10b981;
}

.grid-strike-dot.spent {
  background: #ef4444;
  opacity: 0.4;
}

.grid-hud-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.grid-action-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  font-size: 0.74rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.grid-action-btn:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* 4x4 Grid Board Layout (1 Corner + 3 Col Headers + 3 Row Headers + 9 Cells) */
.grid-matrix-stage {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.grid-board-frame {
  display: grid;
  grid-template-columns: 140px repeat(3, minmax(180px, 1fr));
  grid-template-rows: 100px repeat(3, minmax(140px, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 900px;
  background: rgba(13, 17, 26, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
}

.grid-corner-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.2rem;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 10px;
}

.grid-header-col,
.grid-header-row {
  display: flex;
  align-items: center;
  justify-content: center;
}

.grid-header-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  box-sizing: border-box;
}

.grid-header-card.team {
  border-color: rgba(56, 189, 248, 0.25);
  background: rgba(56, 189, 248, 0.06);
}

.grid-header-card.feat {
  border-color: rgba(245, 158, 11, 0.25);
  background: rgba(245, 158, 11, 0.06);
}

.header-icon {
  font-size: 1.3rem;
  margin-bottom: 2px;
}

.header-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  color: #ffffff;
}

.header-sub {
  font-size: 0.68rem;
  color: #94a3b8;
  margin-top: 2px;
}

.grid-cell {
  background: rgba(15, 23, 42, 0.6);
  border: 1.5px dashed rgba(255, 255, 255, 0.16);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  min-height: 130px;
}

.grid-cell:hover {
  background: rgba(24, 34, 56, 0.8);
  border-color: #a855f7;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(168, 85, 247, 0.25);
}

.grid-cell.solved {
  background: linear-gradient(180deg, #161f33 0%, #0d1424 100%);
  border: 1.5px solid #10b981;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.2);
  cursor: default;
}

.grid-cell.cell-flash-green {
  animation: cell-flash-green-anim 0.5s ease;
}

.grid-cell.cell-flash-red {
  animation: cell-flash-red-anim 0.5s ease;
}

@keyframes cell-flash-green-anim {
  0% { background: #10b981; }
  100% { background: linear-gradient(180deg, #161f33 0%, #0d1424 100%); }
}

@keyframes cell-flash-red-anim {
  0%, 100% { transform: translateX(0); }
  25% { transform: translateX(-6px); background: #ef4444; }
  75% { transform: translateX(6px); background: #ef4444; }
}

.cell-tap-hint {
  font-family: 'Outfit', sans-serif;
  font-size: 0.8rem;
  font-weight: 700;
  color: #64748b;
}

.cell-solved-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 10px;
  gap: 6px;
  width: 100%;
}

.cell-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #10b981;
  background: rgba(0, 0, 0, 0.5);
}

.cell-player-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  width: 100%;
}

.cell-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.86rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

.cell-rarity-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 800;
  color: #34d399;
  background: rgba(16, 185, 129, 0.15);
  padding: 1px 6px;
  border-radius: 4px;
}

/* Grid Search & Summary Modals */
.grid-modal-overlay {
  position: fixed;
  top: 140px;
  left: 0;
  width: 100vw;
  height: calc(100vh - 140px);
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
  padding: 24px;
  box-sizing: border-box;
  overflow-y: auto;
}

.grid-search-dialog {
  background: #0f172a;
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  padding: 20px;
  max-width: 520px;
  width: 100%;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.grid-dialog-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.dialog-matchup-banner {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dialog-match-lbl {
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  font-weight: 800;
  color: #94a3b8;
  letter-spacing: 0.06em;
}

.dialog-matchup-pills {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dialog-crit-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 6px;
  color: #ffffff;
}

.dialog-crit-pill.row-pill {
  background: rgba(56, 189, 248, 0.2);
  border: 1px solid rgba(56, 189, 248, 0.5);
}

.dialog-crit-pill.col-pill {
  background: rgba(168, 85, 247, 0.2);
  border: 1px solid rgba(168, 85, 247, 0.5);
}

.dialog-crit-vs {
  font-weight: 900;
  color: #64748b;
}

.grid-close-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
}

.grid-search-input-wrap {
  position: relative;
  width: 100%;
}

.grid-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.9rem;
  color: #94a3b8;
}

.grid-search-input {
  width: 100%;
  height: 42px;
  background: rgba(0, 0, 0, 0.5);
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  padding: 0 12px 0 38px;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s;
}

.grid-search-input:focus {
  border-color: #a855f7;
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.35);
}

.grid-results-list {
  max-height: 260px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.grid-empty-search {
  font-size: 0.8rem;
  color: #64748b;
  text-align: center;
  padding: 24px 0;
}

.grid-result-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
  transition: background 0.12s;
}

.grid-result-item:hover:not(.disabled) {
  background: rgba(168, 85, 247, 0.15);
}

.grid-result-item.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.result-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.4);
}

.result-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.result-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: #ffffff;
}

.result-teams {
  font-size: 0.72rem;
  color: #94a3b8;
}

.result-select-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  color: #a855f7;
  background: rgba(168, 85, 247, 0.15);
  padding: 3px 8px;
  border-radius: 4px;
}

.result-already-used {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 800;
  color: #ef4444;
}

/* Grid Summary Modal */
.grid-summary-dialog {
  position: relative;
  background: #0f172a;
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 18px;
  padding: 30px 24px 24px;
  max-width: 440px;
  width: 100%;
  text-align: center;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.95), 0 0 40px rgba(168, 85, 247, 0.15);
  margin: auto;
}

.grid-summary-close-btn {
  position: absolute;
  top: 14px;
  right: 14px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #cbd5e1;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  font-weight: 700;
  transition: all 0.15s ease;
  z-index: 10;
}

.grid-summary-close-btn:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: #ef4444;
  color: #ffffff;
  transform: scale(1.06);
}

.grid-summary-banner {
  margin-bottom: 14px;
}

.summary-trophy-icon {
  font-size: 2.2rem;
  margin-bottom: 4px;
  display: inline-block;
}

.summary-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0;
}

.summary-stats-bar {
  display: flex;
  justify-content: center;
  gap: 16px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 16px;
}

.summary-stat-box {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.summary-lbl {
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  font-weight: 800;
  color: #94a3b8;
}

.summary-val {
  font-family: 'Geist Mono', monospace;
  font-size: 1.3rem;
  font-weight: 900;
  color: #38bdf8;
}

.summary-val.rarity {
  color: #c084fc;
}

.summary-mini-grid {
  display: grid;
  grid-template-columns: repeat(3, 40px);
  grid-template-rows: repeat(3, 40px);
  gap: 6px;
  justify-content: center;
  margin-bottom: 20px;
}

.mini-cell {
  border-radius: 6px;
}

.mini-cell.green {
  background: #10b981;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.5);
}

.mini-cell.white {
  background: rgba(255, 255, 255, 0.2);
}

.summary-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.grid-share-btn {
  background: #a855f7;
  color: #ffffff;
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 900;
  border: none;
  border-radius: 10px;
  padding: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.grid-share-btn:hover {
  background: #c084fc;
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.5);
}

.grid-playagain-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
}

.grid-close-summary-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #cbd5e1;
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  border-radius: 10px;
  padding: 10px;
  cursor: pointer;
  transition: all 0.15s ease;
  width: 100%;
}

.grid-close-summary-btn:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.3);
}

@media (max-width: 820px) {
  .grid-board-frame {
    grid-template-columns: 100px repeat(3, 1fr);
    grid-template-rows: 80px repeat(3, minmax(110px, 1fr));
  }
}


/* ==========================================================================
   NBA GEOGRAPHIC MAP & RELOCATION ATLAS STYLES
   ========================================================================== */

.map-showcase-card {
  position: relative;
  background: rgba(13, 17, 23, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  overflow: hidden;
  backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}

.map-showcase-header {
  padding: 24px 28px 16px 28px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.map-title-group {
  max-width: 620px;
}

.map-title-line {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.map-main-title {
  font-size: 1.45rem;
  font-weight: 800;
  color: var(--text-primary);
  margin: 0;
  letter-spacing: -0.02em;
}

.map-subtitle {
  font-size: 0.88rem;
  color: var(--text-secondary);
  margin: 0;
  line-height: 1.45;
}

.map-controls-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.action-btn-secondary {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.action-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-primary);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Map Canvas Container */
.nba-geo-map-wrapper {
  position: relative;
  width: 100%;
  padding: 16px 20px 24px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(circle at 50% 40%, rgba(56, 189, 248, 0.03) 0%, rgba(10, 14, 23, 0.8) 70%);
  min-height: 520px;
}

.nba-map-svg {
  width: 100%;
  max-width: 1100px;
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.7));
}

/* Land & State Borders */
.map-canada-land {
  fill: #0c1220;
  stroke: rgba(56, 189, 248, 0.35);
  stroke-width: 1.2;
  transition: fill 0.25s ease, stroke 0.25s ease;
}

.map-state-land {
  fill: #111827;
  stroke: rgba(56, 189, 248, 0.2);
  stroke-width: 0.9;
  cursor: default;
  transition: fill 0.2s ease, stroke 0.2s ease;
}

.map-state-land:hover,
.map-state-land.state-hovered {
  fill: #1a233a;
  stroke: rgba(56, 189, 248, 0.7);
  stroke-width: 1.5;
}

.map-land-base {
  fill: #111827;
  stroke: rgba(56, 189, 248, 0.25);
  stroke-width: 1.5;
  transition: fill 0.3s ease;
}

.map-border-line {
  fill: none;
  stroke: rgba(255, 255, 255, 0.15);
  stroke-width: 1.2;
  stroke-dasharray: 4, 4;
}

.map-region-line {
  fill: none;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 0.8;
}

.map-country-label {
  font-family: 'Geist Mono', monospace;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.28em;
  fill: rgba(255, 255, 255, 0.22);
  text-anchor: middle;
  user-select: none;
  pointer-events: none;
}

/* Team Pin Markers */
.map-team-pin {
  cursor: pointer;
}

.map-pin-ring {
  animation: markerPulse 2.8s infinite ease-out;
  transition: opacity 0.2s ease;
}

@keyframes markerPulse {
  0% { r: 12px; opacity: 0.4; }
  70% { r: 24px; opacity: 0; }
  100% { r: 24px; opacity: 0; }
}

.map-pin-bg {
  transition: r 0.2s ease, fill 0.2s ease, stroke-width 0.2s ease, stroke 0.2s ease;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.8));
}

.map-team-pin:hover .map-pin-bg {
  r: 14px;
  stroke-width: 3px;
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.9));
}

.map-team-pin:hover .map-pin-ring {
  opacity: 0.6;
}

/* Interactive Hover Tooltip Card */
.geo-tooltip-card {
  position: absolute;
  z-index: 999;
  width: 270px;
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.85), 0 0 20px rgba(56, 189, 248, 0.15);
  backdrop-filter: blur(16px);
  pointer-events: auto;
  animation: tooltipPop 0.15s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes tooltipPop {
  from { opacity: 0; transform: scale(0.95) translateY(4px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.geo-tooltip-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 10px;
}

.geo-tooltip-logo {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5));
}

.geo-tooltip-name {
  font-size: 0.98rem;
  font-weight: 800;
  color: var(--text-primary);
  line-height: 1.2;
}

.geo-tooltip-city {
  font-size: 0.78rem;
  color: var(--text-tertiary);
  margin-top: 2px;
}

.geo-tooltip-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 12px;
}

.geo-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.78rem;
}

.geo-stat-label {
  color: var(--text-secondary);
}

.geo-stat-val {
  font-weight: 600;
  color: var(--text-primary);
  font-family: 'Geist Mono', monospace;
}

.geo-stat-val.highlight {
  color: #38bdf8;
  font-weight: 700;
}

.geo-tooltip-footer {
  width: 100%;
}

.geo-history-action-btn {
  width: 100%;
  padding: 8px 12px;
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.2), rgba(236, 72, 153, 0.25));
  border: 1px solid rgba(56, 189, 248, 0.5);
  border-radius: 8px;
  color: #ffffff;
  font-size: 0.8rem;
  font-weight: 700;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(56, 189, 248, 0.2);
}

.geo-history-action-btn:hover {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.4), rgba(236, 72, 153, 0.45));
  border-color: #38bdf8;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(56, 189, 248, 0.35);
}

.geo-stayed-message {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(56, 189, 248, 0.06);
  border: 1px solid rgba(56, 189, 248, 0.18);
  border-radius: 8px;
  padding: 8px 12px;
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1.35;
}

.geo-stayed-message .city-highlight {
  color: #38bdf8;
  font-weight: 700;
}

/* ==========================================================================
   RELOCATION FLIGHTPATHS & TIMELAPSE ANIMATIONS
   ========================================================================== */

.relocation-flight-path {
  fill: none;
  stroke: url(#pathGradient);
  stroke-width: 2.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 6px rgba(236, 72, 153, 0.6));
}

.relocation-flight-path.completed {
  opacity: 0.65;
  stroke-dasharray: 6, 6;
}

.relocation-flight-path.active-flight {
  stroke-width: 3.5;
  stroke-dasharray: 1000;
  stroke-dashoffset: 1000;
  animation: drawFlight 1.4s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes drawFlight {
  to {
    stroke-dashoffset: 0;
  }
}

/* Beacon Pins */
.relocation-beacon {
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.8));
}

.relocation-beacon .beacon-pulse-ring {
  fill: rgba(236, 72, 153, 0.35);
  animation: beaconPulse 2s infinite ease-out;
}

@keyframes beaconPulse {
  0% { r: 14px; opacity: 0.6; }
  100% { r: 36px; opacity: 0; }
}

.relocation-beacon.is-active-beacon .beacon-center-dot {
  fill: #ec4899;
  stroke: #ffffff;
  stroke-width: 2.5;
}

.relocation-beacon.is-past-beacon .beacon-center-dot {
  fill: #38bdf8;
  stroke: #ffffff;
  stroke-width: 1.5;
  opacity: 0.85;
}

.beacon-text-label {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 700;
  fill: #ffffff;
  text-anchor: middle;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.9));
  pointer-events: none;
}

/* Floating Timelapse Playback HUD */
.timelapse-hud {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 720px;
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(236, 72, 153, 0.4);
  border-radius: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.85), 0 0 24px rgba(236, 72, 153, 0.2);
  backdrop-filter: blur(16px);
  padding: 14px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1000;
  animation: hudSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes hudSlideUp {
  from { opacity: 0; transform: translate(-50%, 20px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

.timelapse-hud-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.timelapse-hud-info {
  flex: 1;
  min-width: 260px;
}

.timelapse-era-badge {
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ec4899;
  margin-bottom: 2px;
}

.timelapse-era-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.01em;
}

.timelapse-era-desc {
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-top: 3px;
  line-height: 1.35;
}

.timelapse-hud-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hud-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--text-primary);
  border-radius: 8px;
  padding: 6px 12px;
  font-size: 0.82rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.hud-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.25);
  transform: translateY(-1px);
}

.hud-btn-primary {
  background: linear-gradient(135deg, #ec4899, #8b5cf6);
  border-color: #ec4899;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(236, 72, 153, 0.35);
}

.hud-btn-primary:hover {
  background: linear-gradient(135deg, #db2777, #7c3aed);
}

.hud-btn-close {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.35);
  color: #f87171;
}

.hud-btn-close:hover {
  background: rgba(239, 68, 68, 0.25);
}

.timelapse-progress-bar-wrap {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 2px;
  overflow: hidden;
}

.timelapse-progress-bar {
  height: 100%;
  background: linear-gradient(90deg, #38bdf8, #ec4899);
  border-radius: 2px;
  transition: width 0.35s ease;
}

/* ==========================================================================
   DIMMING & FOCUS MECHANICS FOR TIMELAPSE
   ========================================================================== */

.nba-geo-map-wrapper.timelapse-active .map-team-pin:not(.pin-highlighted),
.map-team-pin.pin-dimmed {
  opacity: 0.12 !important;
  filter: grayscale(100%) !important;
  pointer-events: none !important;
  transition: opacity 0.3s ease, filter 0.3s ease;
}

.nba-geo-map-wrapper.timelapse-active .map-team-pin.pin-highlighted,
.map-team-pin.pin-highlighted {
  opacity: 1 !important;
  filter: drop-shadow(0 0 16px rgba(56, 189, 248, 0.9)) !important;
  pointer-events: auto !important;
}

/* ==========================================================================
   TOP LEAGUE HISTORY TIMELAPSE CONTROLLER BAR
   ========================================================================== */

.league-timelapse-bar {
  width: 100%;
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(56, 189, 248, 0.4);
  border-radius: 14px;
  padding: 12px 18px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.8), 0 0 20px rgba(56, 189, 248, 0.15);
  backdrop-filter: blur(16px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
  animation: fadeInDown 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes fadeInDown {
  from { opacity: 0; transform: translateY(-12px); }
  to { opacity: 1; transform: translateY(0); }
}

.league-tl-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.league-tl-year-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 280px;
}

.league-tl-year-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 900;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.5);
  border-radius: 10px;
  padding: 2px 12px;
  letter-spacing: -0.5px;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.3);
}

.league-tl-year-narrative {
  font-size: 0.85rem;
  color: var(--text-primary);
  line-height: 1.35;
}

.league-tl-stats {
  display: flex;
  align-items: center;
  gap: 10px;
}

.league-tl-close-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--text-secondary);
  border-radius: 8px;
  padding: 5px 12px;
  font-size: 0.78rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.league-tl-close-btn:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.5);
  color: #f87171;
}

.league-tl-controls-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  padding-top: 8px;
}

.league-tl-btn-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.league-tl-slider-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 220px;
}

.league-tl-slider-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-tertiary);
}

.league-tl-slider {
  flex: 1;
  -webkit-appearance: none;
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.12);
  outline: none;
  cursor: pointer;
}

.league-tl-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #38bdf8;
  border: 2px solid #ffffff;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.8);
  cursor: pointer;
  transition: transform 0.15s ease;
}

.league-tl-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}

.league-tl-speed-group {
  display: flex;
  align-items: center;
  gap: 4px;
}

.speed-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text-secondary);
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.15s ease;
}

.speed-btn.active {
  background: rgba(56, 189, 248, 0.25);
  border-color: #38bdf8;
  color: #38bdf8;
}

/* ==========================================================================
   MOVING TRUCK & DEFUNCT SKULL ANIMATIONS
   ========================================================================== */

.moving-truck-marker {
  pointer-events: none;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.9));
  z-index: 900;
}

.moving-truck-label {
  font-family: 'Outfit', sans-serif;
  font-size: 10px;
  font-weight: 800;
  fill: #38bdf8;
  text-anchor: middle;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.9));
}

/* ==========================================================================
   DEFUNCT FRANCHISES PANEL (BOTTOM RIGHT OF MAP)
   ========================================================================== */

.defunct-teams-panel {
  position: absolute;
  bottom: 18px;
  right: 18px;
  width: 320px;
  max-width: calc(100% - 36px);
  background: rgba(15, 23, 42, 0.94);
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.85), 0 0 18px rgba(239, 68, 68, 0.2);
  backdrop-filter: blur(16px);
  z-index: 950;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: all 0.25s ease;
}

.defunct-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(239, 68, 68, 0.08);
  border-bottom: 1px solid rgba(239, 68, 68, 0.2);
  cursor: pointer;
  user-select: none;
}

.defunct-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.defunct-header-icon {
  font-size: 1rem;
}

.defunct-header-title {
  font-size: 0.85rem;
  font-weight: 800;
  color: #fca5a5;
  letter-spacing: -0.01em;
}

.defunct-count-badge {
  font-size: 0.7rem;
  font-weight: 700;
  background: rgba(239, 68, 68, 0.2);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 12px;
  padding: 1px 7px;
}

.defunct-collapse-btn {
  background: transparent;
  border: none;
  color: var(--text-tertiary);
  font-size: 0.75rem;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.defunct-teams-panel.collapsed .defunct-collapse-btn {
  transform: rotate(-90deg);
}

.defunct-teams-panel.collapsed .defunct-panel-body {
  display: none;
}

.defunct-panel-body {
  padding: 8px 10px;
  max-height: 190px;
  overflow-y: auto;
}

.defunct-panel-body::-webkit-scrollbar {
  width: 5px;
}

.defunct-panel-body::-webkit-scrollbar-thumb {
  background: rgba(239, 68, 68, 0.3);
  border-radius: 3px;
}

.defunct-teams-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.defunct-empty-state {
  font-size: 0.78rem;
  color: var(--text-tertiary);
  text-align: center;
  padding: 12px 6px;
  font-style: italic;
}

.defunct-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 6px 10px;
  transition: all 0.2s ease;
}

.defunct-team-row:hover {
  background: rgba(239, 68, 68, 0.1);
  border-color: rgba(239, 68, 68, 0.3);
  transform: translateX(-2px);
}

.defunct-team-row.just-folded {
  animation: justFoldedFlash 1.6s ease-out;
}

@keyframes justFoldedFlash {
  0% { background: rgba(239, 68, 68, 0.4); border-color: #ef4444; }
  100% { background: rgba(255, 255, 255, 0.03); border-color: rgba(255, 255, 255, 0.06); }
}

.defunct-row-skull {
  font-size: 0.95rem;
}

.defunct-row-info {
  flex: 1;
  min-width: 0;
}

.defunct-row-name {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.defunct-row-sub {
  font-size: 0.68rem;
  color: var(--text-tertiary);
}

.defunct-year-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 700;
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.3);
  border-radius: 4px;
  padding: 2px 6px;
  white-space: nowrap;
}

/* ==========================================================================
   NBA DAILY TRIVIA LAB & PERFORMANCE STREAKS
   ========================================================================== */

.trivia-layout-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 24px;
  align-items: stretch;
  margin-top: 16px;
}

@media (max-width: 1024px) {
  .trivia-layout-grid {
    grid-template-columns: 1fr;
  }
}

.trivia-arena-column,
.trivia-stats-column {
  display: flex;
  flex-direction: column;
  height: 100%;
}


/* =========================================================================
   NBA ERAS & EVOLUTION PAGE STYLES
   ========================================================================= */

/* ==========================================================================
   NBA ERAS & EVOLUTION - STATISTICAL TRENDS (Vercel Dark Design System)
   ========================================================================== */

.eras-hero-banner {
  padding: 32px 36px;
  background: radial-gradient(circle at top right, rgba(56, 189, 248, 0.08), transparent 70%),
              rgba(13, 17, 23, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}

.eras-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  padding: 5px 12px;
  border-radius: 20px;
  margin-bottom: 14px;
}

.eras-hero-title {
  font-family: 'Outfit', -apple-system, sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.5px;
  margin: 0 0 10px 0;
  line-height: 1.25;
}

.eras-hero-desc {
  font-size: 0.95rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
  max-width: 1080px;
}

/* 8-Era Timeline Grid */
.eras-timeline-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 24px;
}

@media (max-width: 1200px) {
  .eras-timeline-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .eras-timeline-grid {
    grid-template-columns: 1fr;
  }
}

.era-card {
  background: rgba(14, 18, 26, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 20px;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.era-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--era-accent, #38bdf8);
  opacity: 0.5;
  transition: opacity 0.2s ease;
}

.era-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.5);
}

.era-card.is-active {
  background: rgba(255, 255, 255, 0.07);
  border-color: var(--era-accent, #38bdf8);
  box-shadow: 0 0 30px rgba(56, 189, 248, 0.22), inset 0 0 15px rgba(255, 255, 255, 0.02);
}

.era-card.is-active::before {
  opacity: 1;
  height: 4px;
}

.era-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}

.era-card-icon {
  font-size: 1.4rem;
}

.era-card-years {
  font-size: 0.78rem;
  font-weight: 700;
  font-family: var(--font-mono);
  color: var(--era-accent, #38bdf8);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 3px 9px;
  border-radius: 6px;
}

.era-card-name {
  font-family: 'Outfit', -apple-system, sans-serif;
  font-size: 1.12rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px 0;
  letter-spacing: -0.2px;
}

.era-card-tagline {
  font-size: 0.82rem;
  color: var(--text-secondary);
  line-height: 1.45;
  margin: 0 0 16px 0;
  flex: 1;
}

.era-card-stats-preview {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.era-preview-stat {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.preview-stat-label {
  font-size: 0.65rem;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}

.preview-stat-val {
  font-size: 0.88rem;
  font-weight: 800;
  color: #fff;
  font-family: var(--font-mono);
}

/* Active Era Spotlight Card */
.era-spotlight-card {
  padding: 32px;
  border-radius: 16px;
  background: rgba(13, 17, 23, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}

.era-spotlight-top {
  margin-bottom: 24px;
}

.era-spotlight-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.78rem;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 8px;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.era-spotlight-title {
  font-family: 'Outfit', -apple-system, sans-serif;
  font-size: 2.1rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 6px 0;
  letter-spacing: -0.5px;
}

.era-spotlight-tagline {
  font-size: 1.08rem;
  font-weight: 600;
  color: var(--text-primary);
  margin: 0 0 12px 0;
}

.era-spotlight-description {
  font-size: 0.95rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
  max-width: 1100px;
}

.era-stats-matrix {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  margin-bottom: 28px;
}

@media (max-width: 1024px) {
  .era-stats-matrix {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 640px) {
  .era-stats-matrix {
    grid-template-columns: repeat(2, 1fr);
  }
}

.era-matrix-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 16px 14px;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.matrix-label {
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.matrix-val {
  font-size: 1.6rem;
  font-weight: 800;
  color: #fff;
  font-family: var(--font-mono);
  margin-bottom: 2px;
}

.matrix-sub {
  font-size: 0.7rem;
  color: var(--text-tertiary);
}

.era-context-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media (max-width: 850px) {
  .era-context-grid {
    grid-template-columns: 1fr;
  }
}

.era-context-panel {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 20px 24px;
}

.context-panel-title {
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.context-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.context-list li {
  font-size: 0.9rem;
  color: var(--text-primary);
  line-height: 1.5;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.context-bullet {
  color: #10b981;
  font-weight: 900;
}

.era-stars-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.era-star-chip {
  font-size: 0.82rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ededed;
  transition: all 0.15s ease;
}

.era-star-chip:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.25);
  color: #fff;
}

/* Trends Section */
.eras-trends-card {
  padding: 28px;
  background: rgba(13, 17, 23, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
}

.eras-metric-pills-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  margin-bottom: 20px;
}

.eras-insights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}

@media (max-width: 1024px) {
  .eras-insights-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 600px) {
  .eras-insights-grid {
    grid-template-columns: 1fr;
  }
}

.era-insight-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 16px 18px;
}

.insight-label {
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.insight-value {
  font-size: 1.45rem;
  font-weight: 800;
  font-family: var(--font-mono);
  color: #fff;
  margin-bottom: 2px;
}

.insight-sub {
  font-size: 0.75rem;
  color: var(--text-tertiary);
}

.chart-point {
  transition: r 0.15s ease, fill 0.15s ease;
  cursor: pointer;
}

.chart-point:hover {
  r: 7 !important;
  fill: #fff !important;
}

.era-table-tag {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.era-table-tag:hover {
  filter: brightness(1.2);
  transform: scale(1.03);
}

/* ==========================================================================
   Team Records Leaderboards (Single-Game Highs, Podiums, & Table Styles)
   ========================================================================== */

.podium-card.gold-card {
  border: 1px solid rgba(251, 191, 36, 0.45);
  background: linear-gradient(180deg, rgba(251, 191, 36, 0.12) 0%, rgba(12, 12, 14, 0.95) 100%);
  box-shadow: 0 4px 20px rgba(251, 191, 36, 0.1);
}

.podium-card.silver-card {
  border: 1px solid rgba(203, 213, 225, 0.4);
  background: linear-gradient(180deg, rgba(203, 213, 225, 0.1) 0%, rgba(12, 12, 14, 0.95) 100%);
  box-shadow: 0 4px 20px rgba(203, 213, 225, 0.08);
}

.podium-card.bronze-card {
  border: 1px solid rgba(217, 119, 6, 0.4);
  background: linear-gradient(180deg, rgba(217, 119, 6, 0.1) 0%, rgba(12, 12, 14, 0.95) 100%);
  box-shadow: 0 4px 20px rgba(217, 119, 6, 0.08);
}

.podium-badge-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.podium-rank-tag {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--text-primary);
}

.podium-game-type {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: var(--text-tertiary);
  background: rgba(255, 255, 255, 0.06);
  padding: 2px 8px;
  border-radius: 4px;
}

.podium-team-hero {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.podium-team-logo {
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.6));
  flex-shrink: 0;
}

.podium-team-meta {
  text-align: left;
  min-width: 0;
  flex: 1;
}

.podium-team-name {
  font-size: 1.12rem;
  font-weight: 800;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}

.podium-matchup-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.74rem;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.podium-opp-logo {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex-shrink: 0;
}

.podium-stat-highlight {
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px 16px;
  text-align: center;
  margin-bottom: 10px;
}

.podium-stat-big {
  font-family: var(--font-mono);
  font-size: 1.95rem;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: -0.02em;
  line-height: 1.1;
}

.podium-stat-sub {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--accent-gold);
  font-weight: 600;
  margin-top: 4px;
}

.podium-player-context {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 0.76rem;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 6px 10px;
  border-radius: 6px;
  text-align: left;
  line-height: 1.35;
}

.podium-player-context .context-icon {
  flex-shrink: 0;
  font-size: 0.8rem;
}

/* Table Team Records Elements */
.table-team-cell {
  display: flex;
  align-items: center;
  justify-content: flex-start !important;
  gap: 10px;
  text-align: left !important;
}

.data-table th.th-team,
.data-table td.td-team,
#team-records-table th {
  text-align: left !important;
}

.table-team-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
  flex-shrink: 0;
}

.table-team-info {
  display: flex;
  flex-direction: column;
}

.table-team-name {
  font-weight: 700;
  font-size: 0.88rem;
  color: var(--text-primary);
  white-space: nowrap;
}

.table-team-abbr {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
}

.table-opp-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--text-secondary);
  white-space: nowrap;
}

.table-opp-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
}

.table-date-cell {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: var(--text-tertiary);
  white-space: nowrap;
}

.table-score-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  white-space: nowrap;
}

.wl-badge {
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 5px;
  border-radius: 4px;
  line-height: 1;
}

.wl-win {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.wl-loss {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.stat-highlight-val {
  font-family: var(--font-mono);
  font-size: 1.05rem;
  font-weight: 800;
  color: #ffffff;
}

.table-context-text {
  font-size: 0.78rem;
  color: var(--text-secondary);
  line-height: 1.35;
}

.rank-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 8px;
  border-radius: 12px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 800;
}

.rank-gold {
  background: rgba(251, 191, 36, 0.2);
  color: #fbbf24;
  border: 1px solid rgba(251, 191, 36, 0.5);
}

.rank-silver {
  background: rgba(203, 213, 225, 0.2);
  color: #e2e8f0;
  border: 1px solid rgba(203, 213, 225, 0.5);
}

.rank-bronze {
  background: rgba(217, 119, 6, 0.2);
  color: #f59e0b;
  border: 1px solid rgba(217, 119, 6, 0.5);
}

/* ==========================================================================
   MULTI-COLUMN DECADE SEASON DROPDOWN FILTER (Morning Recap & Dashboards)
   ========================================================================== */

.season-dropdown-container {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.season-trigger-wrapper {
  cursor: pointer;
  user-select: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  outline: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.date-trigger-inline.season-trigger-wrapper {
  padding: 3px 8px;
  border-radius: 12px;
  margin: 0 1px;
  border: 1px solid transparent;
}

.season-trigger-wrapper:hover {
  border-color: var(--border-medium);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.06);
}

.date-trigger-inline.season-trigger-wrapper:hover {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.04);
  border-color: transparent;
}

.season-trigger-wrapper:focus-visible {
  border-color: #06b6d4;
  box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.3);
}

.season-trigger-wrapper.open {
  border-color: #06b6d4;
  box-shadow: 0 0 16px rgba(6, 182, 212, 0.25);
  background: var(--bg-surface-elevated);
}

.date-trigger-inline.season-trigger-wrapper.open {
  background: rgba(6, 182, 212, 0.14);
  box-shadow: 0 0 12px rgba(6, 182, 212, 0.2);
  border-color: rgba(6, 182, 212, 0.4);
}

.season-display-badge {
  font-family: var(--font-mono);
  font-size: 0.84rem;
  font-weight: 700;
  color: #ededed;
  letter-spacing: -0.01em;
}

.season-dropdown-arrow {
  font-size: 0.65rem;
  color: var(--text-secondary);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
  display: inline-block;
  margin-left: -2px;
}

.season-trigger-wrapper.open .season-dropdown-arrow {
  transform: rotate(180deg);
  color: #06b6d4;
}

/* Wide Multi-Column Popover */
.season-decade-popover {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  z-index: 1200;
  width: 940px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background: rgba(10, 10, 10, 0.97);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(255, 255, 255, 0.06), 0 0 32px rgba(6, 182, 212, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(0.985);
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
}

/* Base Edge Alignment inside filters groups */
.briefing-filters-group .season-decade-popover {
  right: 0;
  left: auto;
}

@media (max-width: 1000px) {
  .briefing-filters-group .season-decade-popover {
    max-width: calc(100vw - 24px);
  }
}

.season-decade-popover.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Popover Header */
.decade-popover-header {
  flex-shrink: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.025);
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

.decade-popover-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.decade-popover-icon {
  font-size: 1.25rem;
}

.decade-popover-title {
  font-family: var(--font-sans);
  font-size: 0.92rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.decade-popover-subtitle {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: #888888;
  font-weight: 500;
}

.decade-popover-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.decade-quick-chip {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ededed;
  cursor: pointer;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}

.decade-quick-chip:hover {
  background: rgba(6, 182, 212, 0.15);
  border-color: #06b6d4;
  color: #38bdf8;
  transform: translateY(-1px);
}

.decade-close-btn {
  background: transparent;
  border: none;
  color: #888888;
  font-size: 0.95rem;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.15s ease;
  line-height: 1;
}

.decade-close-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

/* Decade Multi-Column Grid */
.decade-columns-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  padding: 14px 14px 16px;
  flex: 1;
  min-height: 0;
  max-height: 75vh;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  width: 100%;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.decade-columns-grid::-webkit-scrollbar {
  width: 6px;
}

.decade-columns-grid::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* Individual Decade Column */
.decade-column {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 9px;
  padding: 8px 5px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.decade-column:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.035);
}

.decade-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  margin-bottom: 4px;
}

.decade-name {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: #a1a1a1;
  letter-spacing: 0.02em;
}

.decade-badge {
  font-family: var(--font-mono);
  font-size: 0.58rem;
  font-weight: 600;
  color: #666666;
  background: rgba(255, 255, 255, 0.04);
  padding: 1px 4px;
  border-radius: 3px;
}

.decade-seasons-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Season Button */
.season-pill-btn {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  color: #a1a1a1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
  padding: 5px 4px;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
  z-index: 1;
  text-align: center;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  user-select: none;
  line-height: 1.1;
}

.season-pill-btn:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  transform: translateY(-1px);
}

.season-pill-btn.active {
  background: rgba(6, 182, 212, 0.18);
  border-color: rgba(6, 182, 212, 0.6);
  color: #38bdf8;
  font-weight: 700;
  box-shadow: 0 0 10px rgba(6, 182, 212, 0.25);
}

.season-active-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #06b6d4;
  box-shadow: 0 0 6px #06b6d4;
  display: inline-block;
  margin-left: 2px;
}

/* Responsive Grid Adjustments */
@media (max-width: 960px) {
  .decade-columns-grid {
    grid-template-columns: repeat(4, 1fr);
    max-height: 60vh;
  }
}

@media (max-width: 580px) {
  .decade-columns-grid {
    grid-template-columns: repeat(2, 1fr);
    max-height: 55vh;
  }
  .decade-popover-subtitle {
    display: none;
  }
}

/* ==========================================================================
   MULTI-COLUMN MONTH DATE DROPDOWN FILTER (Morning Recap & Dashboards)
   ========================================================================== */

.date-dropdown-container {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.date-trigger-inline {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 2px 8px;
  border-radius: 12px;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  outline: none;
  margin: 0 2px;
}

.date-trigger-inline:hover {
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.04);
}

.date-trigger-inline:focus-visible {
  box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.3);
}

.date-trigger-inline.open {
  background: rgba(6, 182, 212, 0.14);
  box-shadow: 0 0 12px rgba(6, 182, 212, 0.2);
}

.date-display-badge {
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
}

.date-dropdown-arrow {
  font-size: 0.65rem;
  color: var(--text-secondary);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), color 0.2s ease;
  display: inline-block;
  margin-left: -1px;
}

.date-trigger-inline.open .date-dropdown-arrow {
  transform: rotate(180deg);
  color: #06b6d4;
}

/* Wide Multi-Column Month Popover */
.date-month-popover {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  left: auto;
  z-index: 1200;
  width: 980px;
  max-width: calc(100vw - 32px);
  max-height: calc(100vh - 120px);
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  background: rgba(10, 10, 10, 0.97);
  backdrop-filter: blur(28px);
  -webkit-backdrop-filter: blur(28px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(255, 255, 255, 0.06), 0 0 32px rgba(6, 182, 212, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px) scale(0.985);
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
}

@media (max-width: 1000px) {
  .briefing-filters-group .date-month-popover {
    max-width: calc(100vw - 24px);
  }
}

.date-month-popover.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

/* Month Popover Header */
.month-popover-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.025);
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

.month-popover-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.month-popover-icon {
  font-size: 1.25rem;
}

.month-popover-title {
  font-family: var(--font-sans);
  font-size: 0.92rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.month-popover-subtitle {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: #888888;
  font-weight: 500;
}

.month-popover-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.month-quick-chip {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #ededed;
  cursor: pointer;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}

.month-quick-chip:hover {
  background: rgba(6, 182, 212, 0.15);
  border-color: #06b6d4;
  color: #38bdf8;
  transform: translateY(-1px);
}

.month-close-btn {
  background: transparent;
  border: none;
  color: #888888;
  font-size: 0.95rem;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 6px;
  transition: all 0.15s ease;
  line-height: 1;
}

.month-close-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
}

/* Month Multi-Column Grid */
.month-columns-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
  padding: 14px 14px 16px;
  max-height: 70vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.month-columns-grid::-webkit-scrollbar {
  width: 6px;
}

.month-columns-grid::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* Individual Month Column */
.month-column {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 9px;
  padding: 8px 5px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.month-column:hover {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.035);
}

.month-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2px 4px 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  margin-bottom: 4px;
}

.month-name {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: #a1a1a1;
  letter-spacing: 0.02em;
}

.month-badge {
  font-family: var(--font-mono);
  font-size: 0.58rem;
  font-weight: 600;
  color: #666666;
  background: rgba(255, 255, 255, 0.04);
  padding: 1px 4px;
  border-radius: 3px;
}

.month-days-list {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Date Pill Button */
.date-pill-btn {
  font-family: var(--font-mono);
  font-size: 0.73rem;
  font-weight: 600;
  color: #a1a1a1;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 5px;
  padding: 5px 4px;
  cursor: pointer;
  text-align: center;
  transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  user-select: none;
  line-height: 1.1;
}

.date-pill-btn:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  transform: translateY(-1px);
}

.date-pill-btn.active {
  background: rgba(6, 182, 212, 0.18);
  border-color: rgba(6, 182, 212, 0.6);
  color: #38bdf8;
  font-weight: 700;
  box-shadow: 0 0 10px rgba(6, 182, 212, 0.25);
}

.date-active-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #06b6d4;
  box-shadow: 0 0 6px #06b6d4;
  display: inline-block;
  margin-left: 2px;
}

/* Responsive Month Grid Adjustments */
@media (max-width: 960px) {
  .month-columns-grid {
    grid-template-columns: repeat(3, 1fr);
    max-height: 60vh;
  }
}

@media (max-width: 580px) {
  .month-columns-grid {
    grid-template-columns: repeat(2, 1fr);
    max-height: 55vh;
  }
  .month-popover-subtitle {
    display: none;
  }
}

/* ==========================================================================
   SEASON STANDINGS VIEWPORT & TABLES (Geist Vercel Dark Standard)
   ========================================================================== */

.standings-view-pill-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 4px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: 20px;
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
}

.standings-view-pill {
  background: transparent;
  border: 1px solid transparent;
  color: var(--text-secondary);
  padding: 4px 10px;
  border-radius: 14px;
  font-family: var(--font-sans);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 4px;
  user-select: none;
  line-height: 1;
}

.standings-view-pill:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.standings-view-pill.active {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.06);
}

.standings-content-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.standings-conference-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  width: 100%;
}

@media (max-width: 1200px) {
  .standings-conference-grid {
    grid-template-columns: 1fr;
  }
}

.standings-division-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
  gap: 20px;
  width: 100%;
}

@media (max-width: 600px) {
  .standings-division-grid {
    grid-template-columns: 1fr;
  }
}

.standings-card {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.standings-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  border-bottom: 1px solid var(--border-subtle);
  background: rgba(255, 255, 255, 0.02);
}

.standings-conf-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.standings-conf-icon {
  font-size: 1.3rem;
}

.standings-conf-title {
  font-size: 0.96rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.standings-conf-badge {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text-secondary);
}

.standings-table-container {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.standings-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
  text-align: right;
  white-space: nowrap;
}

.standings-table th {
  padding: 10px 12px;
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-secondary);
  border-bottom: 1px solid var(--border-subtle);
  background: rgba(14, 14, 14, 0.95);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  user-select: none;
}

.standings-table th.align-left,
.standings-table td.align-left {
  text-align: left;
}

.standings-table td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-family: var(--font-mono);
  font-size: 0.78rem;
  color: #ededed;
  transition: background 0.15s ease;
}

.standings-table tr:hover td {
  background: rgba(255, 255, 255, 0.04);
}

/* Playoff seeds line demarcation */
.standings-table tr.cutoff-playoffs td {
  border-bottom: 2px solid rgba(56, 189, 248, 0.35);
}

.standings-table tr.cutoff-playin td {
  border-bottom: 2px solid rgba(251, 191, 36, 0.35);
}

/* Seed Rank Badges */
.seed-rank-cell {
  width: 32px;
  text-align: center !important;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.76rem;
}

.seed-rank-playoffs {
  color: #38bdf8;
}

.seed-rank-playin {
  color: #fbbf24;
}

.seed-rank-lottery {
  color: #71717a;
}

/* Team Logo & Name Cell */
.standings-team-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  font-family: var(--font-sans);
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.15s ease, color 0.15s ease;
}

.standings-team-cell:hover {
  transform: translateX(2px);
  color: #38bdf8;
}

.standings-team-logo {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
}

.standings-team-name {
  font-size: 0.82rem;
  color: #ededed;
  white-space: nowrap;
}

.standings-team-abbr {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-secondary);
  font-weight: 500;
}

/* Streak and Diff highlights */
.streak-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 6px;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 700;
  line-height: 1.2;
}

.streak-win {
  color: #34d399;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.streak-loss {
  color: #f87171;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.25);
}

.diff-positive {
  color: #34d399;
  font-weight: 700;
}

.diff-negative {
  color: #f87171;
  font-weight: 600;
}

.diff-neutral {
  color: var(--text-secondary);
}

.highlight-pct {
  font-weight: 700;
  color: #ffffff;
}

/* Standings Card Footer / Legend */
.standings-card-footer {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 10px 18px;
  font-size: 0.72rem;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.015);
  border-top: 1px solid var(--border-subtle);
  flex-wrap: wrap;
}

.legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.legend-dot.playoffs {
  background: #38bdf8;
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.5);
}

.legend-dot.playin {
  background: #fbbf24;
  box-shadow: 0 0 6px rgba(251, 191, 36, 0.5);
}

.legend-dot.lottery {
  background: #71717a;
}

/* ==========================================================================
   PLAYOFF BRACKET & PLAY-IN TOURNAMENT (Geist Vercel Dark Standard)
   ========================================================================== */

.standings-bracket-container {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 100%;
}

.bracket-header-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px;
  background: linear-gradient(135deg, rgba(20, 20, 25, 0.7) 0%, rgba(10, 10, 15, 0.9) 100%);
  border: 1px solid var(--border-subtle);
  border-radius: var(--border-radius-lg);
  flex-wrap: wrap;
  gap: 16px;
}

.bracket-title-group {
  display: flex;
  align-items: center;
  gap: 14px;
}

.bracket-trophy-icon {
  font-size: 2rem;
  filter: drop-shadow(0 0 12px rgba(251, 191, 36, 0.4));
}

.bracket-main-title {
  font-size: 1.15rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.02em;
}

.bracket-subtitle {
  font-size: 0.8rem;
  color: var(--text-secondary);
  margin-top: 2px;
}

.champion-badge-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  background: rgba(251, 191, 36, 0.1);
  border: 1px solid rgba(251, 191, 36, 0.35);
  border-radius: 20px;
  box-shadow: 0 0 16px rgba(251, 191, 36, 0.15);
}

.champion-chip-label {
  font-family: var(--font-sans);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fbbf24;
}

.champion-chip-team {
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 800;
  color: #ffffff;
}

.champion-chip-logo {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

/* Play-In Tournament Section */
.playin-section-card {
  padding: 16px 20px;
  border-radius: var(--border-radius-lg);
}

.playin-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.playin-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.playin-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
}

.playin-badge {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 10px;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.3);
  color: #fbbf24;
}

.playin-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}

.playin-game-card {
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid var(--border-subtle);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.playin-game-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(251, 191, 36, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4), 0 0 12px rgba(251, 191, 36, 0.1);
}

.playin-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.72rem;
  color: var(--text-secondary);
}

.playin-card-teams {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.playin-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3px 6px;
  border-radius: 4px;
  transition: background 0.15s ease;
}

.playin-team-row.winner {
  background: rgba(56, 189, 248, 0.1);
  font-weight: 700;
  color: #ffffff;
}

.playin-team-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.playin-team-logo {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.playin-team-name {
  font-size: 0.8rem;
  color: #ededed;
}

.playin-team-score {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
}

.playin-card-footer {
  font-size: 0.72rem;
  font-family: var(--font-mono);
  color: #fbbf24;
  font-weight: 600;
  text-align: right;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  padding-top: 6px;
}

/* ==========================================================================
   TRADITIONAL TOURNAMENT BRACKET STYLING (Geist Vercel Dark Standard)
   ========================================================================== */

.traditional-bracket-wrapper {
  width: 100%;
  overflow-x: auto;
  padding: 24px 12px;
  background: rgba(12, 12, 16, 0.7);
  border: 1px solid var(--border-subtle);
  border-radius: var(--border-radius-lg);
  box-shadow: inset 0 0 32px rgba(0, 0, 0, 0.6);
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.traditional-bracket-wrapper::-webkit-scrollbar {
  height: 8px;
}

.traditional-bracket-wrapper::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 4px;
}

.traditional-bracket-wrapper::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
}

/* ==========================================================================
   NBA PLAY-IN TOURNAMENT BRACKET SECTION
   ========================================================================== */

.playin-section-card {
  margin-bottom: 24px;
  padding: 18px 20px;
  background: rgba(14, 14, 20, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.playin-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 12px;
}

.playin-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.playin-title {
  font-size: 1.05rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.playin-subtitle {
  font-size: 0.74rem;
  color: var(--text-secondary);
  margin-top: 2px;
}

.playin-badge-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.playin-badge {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.25);
  padding: 2px 8px;
  border-radius: 6px;
}

.playin-hint {
  font-size: 0.72rem;
  color: #38bdf8;
  font-weight: 600;
}

.playin-brackets-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

@media (max-width: 900px) {
  .playin-brackets-wrapper {
    grid-template-columns: 1fr;
  }
}

.playin-conf-tree {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.playin-tree-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.84rem;
  font-weight: 800;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.playin-tree-header.east-header {
  color: #38bdf8;
}

.playin-tree-header.west-header {
  color: #f87171;
}

.playin-col-badge {
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 600;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.04);
  padding: 1px 6px;
  border-radius: 4px;
}

.playin-single-wrapper {
  max-width: 380px;
  margin: 0 auto;
}

.playin-bracket-grid {
  display: flex;
  align-items: stretch;
  gap: 8px;
}

.playin-bracket-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.playin-bracket-column.decider-column {
  flex: 1.15;
}

.playin-column-label {
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 700;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  padding: 2px 0;
}

.playin-column-nodes {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  gap: 10px;
}

.playin-bracket-connector {
  width: 20px;
  min-width: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.playin-connector-svg {
  width: 100%;
  height: 100%;
  stroke: rgba(255, 255, 255, 0.18);
  stroke-width: 1.5;
  fill: none;
}

/* Play-In Bracket Card */
.playin-bracket-card {
  background: rgba(18, 18, 24, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

.playin-bracket-card:hover {
  border-color: #38bdf8;
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6), 0 0 14px rgba(56, 189, 248, 0.25);
}

.playin-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 8px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.playin-card-title-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.playin-stage-name {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  color: #ededed;
}

.playin-qualifier-badge {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  padding: 1px 5px;
  border-radius: 4px;
}

.playin-date {
  font-size: 0.64rem;
  color: var(--text-secondary);
}

.playin-card-teams {
  display: flex;
  flex-direction: column;
}

.playin-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  font-size: 0.74rem;
  transition: background 0.15s ease;
}

.playin-team-row.winner {
  background: rgba(56, 189, 248, 0.12);
  font-weight: 700;
  color: #ffffff;
}

.playin-team-row.loser {
  color: var(--text-secondary);
  opacity: 0.8;
}

.playin-team-info {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.playin-team-abbr {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.72rem;
}

.playin-team-name {
  font-size: 0.72rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.playin-team-score {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 800;
}

.playin-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.05);
}

.playin-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px;
  background: rgba(0, 0, 0, 0.3);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
}

.playin-status-text {
  font-family: var(--font-mono);
  font-size: 0.64rem;
  font-weight: 600;
  color: #34d399;
}

.playin-click-hint {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
  color: #38bdf8;
}

/* ==========================================================================
   TRADITIONAL NBA PLAYOFF TOURNAMENT BRACKET (COMPACT & ZERO-SCROLL)
   ========================================================================== */

.traditional-bracket-wrapper {
  width: 100%;
  max-width: 100%;
  overflow-x: visible;
  padding: 10px 0 20px;
  position: relative;
  display: flex;
  justify-content: center;
}

.traditional-bracket-container {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  min-height: 720px;
  position: relative;
  margin: 0 auto;
  gap: 0;
  transition: all 0.25s ease;
}

/* Background Gray-out when a series is active/selected */
.traditional-bracket-container.has-active-series .bracket-card:not(.is-active-series) {
  opacity: 0.22;
  filter: grayscale(0.85) contrast(0.75);
  pointer-events: auto;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.traditional-bracket-container.has-active-series .bracket-line {
  opacity: 0.12;
  transition: opacity 0.25s ease;
}

.bracket-card.is-active-series {
  border-color: #38bdf8 !important;
  box-shadow: 0 0 24px rgba(56, 189, 248, 0.45), 0 0 10px #38bdf8 !important;
  transform: scale(1.04) !important;
  z-index: 10 !important;
}

/* Bracket Columns */
.bracket-column {
  display: flex;
  flex-direction: column;
  flex: 1 1 110px;
  min-width: 100px;
  max-width: 130px;
  position: relative;
}

/* Compact Columns (Round 1 & Round 2) */
.bracket-column.compact-column,
#col-east-r1,
#col-east-r2,
#col-west-r1,
#col-west-r2 {
  flex: 1 1 90px;
  min-width: 85px;
  max-width: 105px;
}

/* Conference Finals Columns (Expanded horizontal space - no more cutoff names) */
#col-east-cf,
#col-west-cf,
.bracket-column.conf-finals-col {
  flex: 1.8 1 200px;
  min-width: 190px;
  max-width: 250px;
}

/* NBA Finals Column (Expanded horizontal space - centerpiece prominence) */
.bracket-column.finals-col,
#col-finals {
  flex: 2.2 1 250px;
  min-width: 240px;
  max-width: 310px;
  z-index: 3;
}

.bracket-column-header {
  text-align: center;
  padding: 4px 2px 10px;
  font-family: var(--font-sans);
  font-size: 0.7rem;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  user-select: none;
  white-space: nowrap;
}

.bracket-column-header.east-header {
  color: #38bdf8;
}

.bracket-column-header.west-header {
  color: #f87171;
}

.bracket-column-header.finals-header {
  color: #fbbf24;
}

.bracket-column-badge {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 1px 5px;
  border-radius: 4px;
  color: var(--text-secondary);
}

/* Round Nodes Container */
.bracket-round-nodes {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  flex: 1;
  min-height: 660px;
  padding: 12px 0;
  position: relative;
}

/* Matchup Node */
.bracket-node {
  display: flex;
  align-items: center;
  position: relative;
  margin: 10px 0;
}

/* Bracket Card */
.bracket-card {
  width: 100%;
  background: rgba(18, 18, 24, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  user-select: none;
}

.bracket-card:hover {
  border-color: rgba(56, 189, 248, 0.6);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.65), 0 0 14px rgba(56, 189, 248, 0.2);
  background: rgba(26, 26, 36, 0.98);
}

.bracket-card.compact-card {
  border-radius: 5px;
}

/* CSS Failsafe: Permanently hide team name & footer on compact cards */
.bracket-card.compact-card .bracket-team-name,
.compact-column .bracket-team-name {
  display: none !important;
}

.bracket-card.compact-card .bracket-card-footer,
.compact-column .bracket-card-footer {
  display: none !important;
}

.bracket-card.is-finals {
  border-color: rgba(251, 191, 36, 0.4);
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.06) 0%, rgba(18, 18, 24, 0.98) 100%);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.6), 0 0 14px rgba(251, 191, 36, 0.15);
}

.bracket-card.is-finals:hover {
  border-color: rgba(251, 191, 36, 0.85);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.75), 0 0 20px rgba(251, 191, 36, 0.3);
}

/* Team Rows */
.bracket-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  font-size: 0.74rem;
  transition: background 0.15s ease;
}

.compact-card .bracket-team-row {
  padding: 5px 6px;
  font-size: 0.72rem;
}

.bracket-team-row.winner {
  background: rgba(56, 189, 248, 0.14);
  color: #ffffff;
  font-weight: 700;
}

.bracket-team-row.winner.finals-champ {
  background: rgba(251, 191, 36, 0.18);
  color: #fbbf24;
}

.bracket-team-row.loser {
  color: var(--text-secondary);
  opacity: 0.8;
}

.bracket-team-info {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.compact-card .bracket-team-info {
  gap: 3px;
  flex: initial;
}

.bracket-team-logo {
  width: 16px;
  height: 16px;
  object-fit: contain;
  filter: drop-shadow(0 0 2px rgba(0, 0, 0, 0.5));
  flex-shrink: 0;
}

.compact-card .bracket-team-logo {
  width: 14px;
  height: 14px;
}

.bracket-team-abbr {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.7rem;
}

/* Full Team Name - No cutoff in Conference Finals & Finals */
.bracket-team-name {
  font-size: 0.74rem;
  font-weight: 600;
  color: #ededed;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  max-width: unset !important;
}

.finals-col .bracket-team-name {
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
}

.bracket-seed {
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 700;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.07);
  padding: 1px 3px;
  border-radius: 3px;
  min-width: 12px;
  text-align: center;
  flex-shrink: 0;
}

.bracket-team-row.winner .bracket-seed {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.18);
}

.bracket-team-row.winner.finals-champ .bracket-seed {
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.2);
}

.bracket-card.is-bye {
  border: 1px dashed rgba(251, 191, 36, 0.4);
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.04) 0%, rgba(18, 18, 24, 0.95) 100%);
}

.bracket-card.is-bye:hover {
  border-color: rgba(251, 191, 36, 0.7);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.65), 0 0 14px rgba(251, 191, 36, 0.2);
}

.bracket-bye-slot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3px 6px;
  font-size: 0.65rem;
  color: var(--text-secondary);
  opacity: 0.7;
}

.bracket-bye-label {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  color: #fbbf24;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.bracket-team-score {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 800;
}

.bracket-divider {
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
  width: 100%;
}

.bracket-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3px 8px;
  background: rgba(0, 0, 0, 0.25);
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  font-size: 0.64rem;
  font-family: var(--font-mono);
}

.bracket-status-text {
  color: #34d399;
  font-weight: 600;
}

.bracket-hover-hint {
  color: var(--text-secondary);
  opacity: 0.6;
}

/* Connector Column */
.bracket-connector-col {
  width: 16px;
  min-width: 16px;
  display: flex;
  flex-direction: column;
  position: relative;
  flex-shrink: 0;
}

.bracket-connector-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.bracket-line {
  stroke: rgba(255, 255, 255, 0.16);
  stroke-width: 1.5;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: stroke 0.2s ease;
}

/* Center Finals Trophy Column */
.finals-centerpiece {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  text-align: center;
}

.finals-trophy-icon {
  font-size: 2.2rem;
  filter: drop-shadow(0 0 16px rgba(251, 191, 36, 0.55));
}

.finals-champ-crown {
  font-family: var(--font-sans);
  font-size: 0.68rem;
  font-weight: 800;
  color: #fbbf24;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  background: rgba(251, 191, 36, 0.12);
  border: 1px solid rgba(251, 191, 36, 0.3);
  padding: 2px 8px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.2);
  display: flex;
  align-items: center;
  gap: 5px;
}

/* ==========================================================================
   INTERACTIVE SERIES SPLIT-VIEW INSPECTOR MODAL
   ========================================================================== */

.bracket-series-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 9998;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: fadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.bracket-series-modal-backdrop.active {
  display: flex;
}

.bracket-series-modal {
  background: rgba(14, 14, 20, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 16px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.9), 0 0 32px rgba(56, 189, 248, 0.18);
  width: 840px;
  max-width: 95vw;
  max-height: 85vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  position: relative;
  animation: modalSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 9999;
}

@keyframes modalSlideUp {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.bracket-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: #ededed;
  font-size: 0.9rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  z-index: 10;
}

.bracket-modal-close:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
  transform: rotate(90deg);
}

.series-inspector-split {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  min-height: 380px;
  max-height: 75vh;
}

@media (max-width: 768px) {
  .series-inspector-split {
    grid-template-columns: 1fr;
    max-height: 85vh;
    overflow-y: auto;
  }
}

/* Left Pane: Matchup Hero */
.series-inspector-left {
  padding: 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02) 0%, rgba(0, 0, 0, 0.25) 100%);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow-y: auto;
}

.inspector-round-tag {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
}

.inspector-conf-badge {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.25);
  padding: 2px 8px;
  border-radius: 6px;
}

.inspector-round-name {
  font-size: 0.82rem;
  font-weight: 700;
  color: #ededed;
}

.inspector-matchup-hero {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.inspector-team-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  transition: all 0.2s ease;
}

.inspector-team-block.is-winner {
  background: rgba(56, 189, 248, 0.08);
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.1);
}

.inspector-logo-wrap {
  position: relative;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.inspector-team-logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.6));
}

.inspector-seed-badge {
  position: absolute;
  top: -4px;
  left: -4px;
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 800;
  color: #ffffff;
  background: #0f172a;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 1px 5px;
  border-radius: 4px;
}

.inspector-team-meta {
  flex: 1;
  margin: 0 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.inspector-team-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: #ffffff;
}

.inspector-team-abbr {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-secondary);
}

.inspector-team-wins {
  font-family: var(--font-mono);
  font-size: 1.6rem;
  font-weight: 800;
  color: #ffffff;
  min-width: 32px;
  text-align: right;
}

.inspector-team-block.is-winner .inspector-team-wins {
  color: #38bdf8;
}

.inspector-vs-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2px 0;
}

.inspector-status-banner {
  font-family: var(--font-mono);
  font-size: 0.76rem;
  font-weight: 700;
  color: #34d399;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.25);
  padding: 3px 12px;
  border-radius: 8px;
}

/* Bye Mode Hero */
.inspector-bye-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 16px;
  background: rgba(251, 191, 36, 0.04);
  border: 1px dashed rgba(251, 191, 36, 0.3);
  border-radius: 12px;
  gap: 10px;
}

.inspector-team-logo-lg {
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(251, 191, 36, 0.3));
}

.inspector-seed-badge-lg {
  display: inline-block;
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 700;
  color: #fbbf24;
  background: rgba(251, 191, 36, 0.15);
  border: 1px solid rgba(251, 191, 36, 0.3);
  padding: 2px 8px;
  border-radius: 6px;
}

.inspector-bye-title {
  font-size: 1.1rem;
  font-weight: 800;
  color: #ffffff;
}

.inspector-bye-tag {
  font-family: var(--font-mono);
  font-size: 0.74rem;
  font-weight: 700;
  color: #fbbf24;
}

.inspector-bye-desc {
  font-size: 0.78rem;
  color: var(--text-secondary);
  line-height: 1.45;
}

.inspector-series-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.inspector-meta-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.72rem;
  color: var(--text-secondary);
}

.inspector-meta-pill .meta-val {
  font-family: var(--font-mono);
  font-weight: 700;
  color: #ededed;
}

/* Right Pane: Games List */
.series-inspector-right {
  padding: 20px 24px;
  background: rgba(10, 10, 14, 0.6);
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow-y: auto;
}

.inspector-games-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 10px;
  padding-right: 48px;
  gap: 16px;
}

.inspector-games-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #ffffff;
}

.inspector-games-count {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: var(--text-secondary);
  margin-left: 6px;
}

.inspector-games-hint {
  font-size: 0.7rem;
  color: #38bdf8;
  font-weight: 600;
}

.inspector-games-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow-y: auto;
}

.inspector-game-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.18s ease;
  user-select: none;
}

.inspector-game-row:hover {
  background: rgba(56, 189, 248, 0.08);
  border-color: rgba(56, 189, 248, 0.4);
  transform: translateX(3px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5), 0 0 10px rgba(56, 189, 248, 0.15);
}

.inspector-game-row.team-a-win {
  border-left: 3px solid #38bdf8;
}

.inspector-game-row.team-b-win {
  border-left: 3px solid #fbbf24;
}

.game-row-left {
  display: flex;
  flex-direction: column;
  gap: 2px;
  width: 75px;
}

.game-row-num {
  font-family: var(--font-mono);
  font-size: 0.76rem;
  font-weight: 800;
  color: #ffffff;
}

.game-row-date {
  font-size: 0.68rem;
  color: var(--text-secondary);
}

.game-row-center {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0 10px;
}

.game-row-matchup {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
}

.game-row-lead {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  color: #38bdf8;
}

.game-row-right {
  display: flex;
  align-items: center;
}

.boxscore-jump-btn {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.25);
  padding: 3px 8px;
  border-radius: 6px;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.inspector-game-row:hover .boxscore-jump-btn {
  background: #38bdf8;
  color: #0f172a;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.4);
}

.matchup-embedded-video-card,
.matchup-comparison-bar,
.gameflow-card {
  padding: 22px 24px !important;
  box-sizing: border-box;
}

.matchup-embedded-video-card.is-collapsed .video-fullwidth-embed-wrapper,
.matchup-comparison-bar.is-collapsed .comp-rows-list,
.gameflow-card.is-collapsed .gameflow-body {
  display: none !important;
}

.matchup-embedded-video-card .collapsible-header,
.matchup-comparison-bar .collapsible-header,
.gameflow-card .collapsible-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  user-select: none !important;
}

.matchup-embedded-video-card.is-collapsed .collapsible-header,
.matchup-comparison-bar.is-collapsed .collapsible-header,
.gameflow-card.is-collapsed .collapsible-header {
  margin-bottom: 0 !important;
}

.comp-header-row {
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

/* =========================================================================
   GAME FLOW & MOMENTUM TRACKER (Vercel Dark / Geist Design System)
   ========================================================================= */

.gameflow-card {
  margin-top: 16px;
  margin-bottom: 20px;
  background: rgba(13, 17, 23, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gameflow-card:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

.gameflow-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.gameflow-badges {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.gameflow-badge {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  letter-spacing: 0;
}

.gameflow-badge.lead-badge {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
}

.gameflow-badge.tie-badge {
  color: #a855f7;
  background: rgba(168, 85, 247, 0.1);
  border: 1px solid rgba(168, 85, 247, 0.25);
}

.gameflow-badge.peak-badge {
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
}

.gameflow-mode-toggle {
  display: inline-flex;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 2px;
}

.flow-toggle-btn {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-secondary, #94a3b8);
  background: transparent;
  border: none;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  letter-spacing: 0;
}

.flow-toggle-btn:hover {
  color: #ffffff;
}

.flow-toggle-btn.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

.gameflow-body {
  padding: 0;
  transition: all 0.25s ease;
}

.gameflow-chart-container {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.015), transparent 70%),
              rgba(10, 14, 20, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
}

.gameflow-svg {
  width: 100%;
  height: 100%;
  display: block;
  cursor: crosshair;
  text-rendering: geometricPrecision;
  shape-rendering: geometricPrecision;
}

.gameflow-svg text {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  user-select: none;
}

.gameflow-team-badge {
  pointer-events: auto;
  user-select: none;
}

.gameflow-team-badge image {
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5));
}

.chart-peak-callout rect {
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.7));
}

.chart-peak-callout text {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.2px;
}

.gameflow-hud-tooltip {
  position: absolute;
  pointer-events: none;
  background: rgba(9, 13, 19, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  padding: 8px 12px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.7), 0 0 12px rgba(56, 189, 248, 0.2);
  z-index: 20;
  white-space: nowrap;
  transition: opacity 0.1s ease;
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.75rem;
  color: #f1f5f9;
}

.hud-time {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.68rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
}

.hud-score-line {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.95rem;
  font-weight: 800;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.hud-margin {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.76rem;
  font-weight: 700;
  margin-top: 2px;
}

.hud-winprob {
  font-family: 'Geist Mono', var(--font-mono, monospace);
  font-size: 0.7rem;
  color: #38bdf8;
  margin-top: 2px;
}



/* ==================== TEAM ROSTER & DEPTH CHART STYLING ==================== */

/* Quick Team Selection Bar */
.team-quick-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding: 8px 4px 16px 4px;
  margin-bottom: 20px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) transparent;
}

.team-quick-bar::-webkit-scrollbar {
  height: 5px;
}

.team-quick-bar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}

.team-quick-chip {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 20px;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.team-quick-chip:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
  color: var(--text-primary);
  transform: translateY(-1px);
}

.team-quick-chip.active {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.5);
  color: #38bdf8;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.25);
}

.team-quick-chip-logo {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

/* Hero Briefing Banner */
.roster-hero-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 32px;
  margin-bottom: 24px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.01) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  gap: 24px;
  flex-wrap: wrap;
}

.roster-hero-main {
  display: flex;
  align-items: center;
  gap: 24px;
}

.roster-hero-logo-wrapper {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 8px;
  flex-shrink: 0;
}

.roster-hero-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.5));
}

.roster-hero-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.roster-hero-badge-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.roster-title {
  margin: 0;
  font-size: 1.85rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.roster-hero-metrics {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.metric-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  min-width: 105px;
}

.metric-box .metric-label {
  font-size: 0.65rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-tertiary);
  margin-bottom: 4px;
}

.metric-box .metric-val {
  font-size: 1.15rem;
  font-weight: 700;
  font-family: var(--font-mono);
  color: var(--text-primary);
}

/* Toolbar & Legend */
.roster-view-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 16px;
}

.roster-view-toggle {
  display: flex;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 30px;
  padding: 3px;
}

.roster-stats-legend {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 0.775rem;
  color: var(--text-secondary);
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.starter-dot {
  background: #38bdf8;
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.6);
}

.backup-dot {
  background: #a855f7;
  box-shadow: 0 0 6px rgba(168, 85, 247, 0.6);
}

.third-dot {
  background: #94a3b8;
}

/* ================= HALF-COURT VIEW ================= */
.court-viewport {
  position: relative;
  width: 100%;
  min-height: 850px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.6), 0 10px 30px rgba(0, 0, 0, 0.4);
  background: #060911;
}

.court-svg-floor {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.court-overlay-positions {
  position: relative;
  width: 100%;
  min-height: 850px;
  z-index: 2;
}

.court-position-slot {
  position: absolute;
  width: 270px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
  transition: transform 0.2s ease;
}

.court-position-slot:hover {
  z-index: 20;
}

/* Strategic Half-Court Coordinates */
.slot-pg {
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
}

.slot-sg {
  top: 320px;
  right: 5%;
}

.slot-sf {
  top: 320px;
  left: 5%;
}

.slot-pf {
  top: 60px;
  right: 18%;
}

.slot-c {
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
}

.pos-slot-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 3px 10px;
  border-radius: 12px;
  backdrop-filter: blur(8px);
}

.pos-slot-badge {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.725rem;
  color: #38bdf8;
}

.pos-slot-title {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.court-card-holder {
  width: 100%;
}

.court-bench-drawer {
  width: 100%;
  margin-top: 4px;
}

.court-drawer-toggle {
  width: 100%;
  padding: 4px 8px;
  background: rgba(15, 23, 42, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  cursor: pointer;
  transition: all 0.15s ease;
  backdrop-filter: blur(6px);
}

.court-drawer-toggle:hover {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.3);
  color: #38bdf8;
}

.court-drawer-toggle.active {
  background: rgba(56, 189, 248, 0.2);
  border-color: #38bdf8;
  color: #38bdf8;
}

.court-drawer-content {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
}

/* ================= CORE PLAYER CARD COMPONENT ================= */
.roster-card {
  position: relative;
  background: rgba(13, 19, 33, 0.92);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  padding: 10px 14px;
  backdrop-filter: blur(12px);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  gap: 0;
}

.roster-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.22);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}

/* Tier Border Accents */
.roster-card.role-starter {
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.08), 0 4px 16px rgba(0, 0, 0, 0.4);
}

.roster-card.role-starter:hover {
  border-color: #38bdf8;
  box-shadow: 0 0 20px rgba(56, 189, 248, 0.25), 0 8px 24px rgba(0, 0, 0, 0.6);
}

.roster-card.role-backup {
  border-color: rgba(168, 85, 247, 0.3);
}

.roster-card.role-backup:hover {
  border-color: #a855f7;
  box-shadow: 0 0 16px rgba(168, 85, 247, 0.2);
}

.roster-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.roster-card-photo-box {
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, rgba(0, 0, 0, 0.4) 100%);
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  overflow: hidden;
  flex-shrink: 0;
}

.roster-card-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.roster-jersey-badge {
  position: absolute;
  bottom: 0;
  right: 0;
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 4px;
}

.roster-card-bio {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.roster-role-tag {
  align-self: flex-start;
  font-family: var(--font-mono);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
}

.roster-role-tag.role-starter {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.roster-role-tag.role-backup {
  background: rgba(168, 85, 247, 0.15);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.3);
}

.roster-role-tag.role-third,
.roster-role-tag.role-reserve {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-tertiary);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.roster-player-name {
  font-family: var(--font-title);
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.roster-player-name:hover {
  color: #38bdf8;
  text-decoration: underline;
}

.roster-meta-pills {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 1px;
}

.meta-pill {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.04);
  padding: 1px 5px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.meta-pill.pos-pill {
  font-weight: 700;
  color: #e2e8f0;
  background: rgba(255, 255, 255, 0.08);
}

.roster-size-line {
  font-size: 0.7rem;
  color: var(--text-tertiary);
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 2px;
}

.roster-size-line .gp-count {
  font-family: var(--font-mono);
  color: var(--text-secondary);
}

/* 8-Stat Monospace Grid */
.roster-card-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px 6px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 6px 8px;
}

.stat-cell {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.stat-lbl {
  font-size: 0.58rem;
  font-family: var(--font-sans);
  color: var(--text-tertiary);
  font-weight: 600;
  letter-spacing: 0.03em;
}

.stat-val {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--text-primary);
  line-height: 1.1;
}

.stat-pts {
  color: #38bdf8;
}

.stat-win {
  color: #facc15;
}

.stat-pos {
  color: #4ade80;
}

.stat-neg {
  color: #f87171;
}

.stat-neutral {
  color: var(--text-secondary);
}

/* Empty Slot */
.roster-empty-slot {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  color: var(--text-tertiary);
  font-size: 0.775rem;
}

.empty-slot-pos {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.3);
  margin-bottom: 2px;
}

/* ================= POSITIONAL GRID VIEW ================= */
.depth-grid-columns {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.depth-column {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
}

.depth-col-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.depth-col-pos-pill {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  padding: 2px 8px;
  border-radius: 8px;
}

.depth-col-abbr {
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 0.8rem;
  color: #38bdf8;
}

.depth-col-title {
  font-family: var(--font-title);
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.depth-slot {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.depth-tier-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--text-tertiary);
  margin-left: 2px;
}

/* ================= BENCH & RESERVES GRID ================= */
.roster-reserves-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

/* ================= MODAL DIALOG ================= */
.roster-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(8px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.roster-modal-dialog {
  position: relative;
  width: 90%;
  max-width: 500px;
  background: #0b1120;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 16px;
  padding: 28px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.8);
}

.modal-close-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  background: rgba(255, 255, 255, 0.08);
  border: none;
  color: var(--text-secondary);
  font-size: 1rem;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.player-modal-header {
  display: flex;
  align-items: center;
  gap: 18px;
}

.player-modal-photo {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.15);
  object-fit: cover;
  object-position: top center;
}

/* ==================== POSITIONAL DEPTH CHART HORIZONTAL ROWS ==================== */
.depth-chart-rows-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 10px;
}

.depth-position-row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 22px 26px;
  border-radius: 14px;
  background: rgba(18, 18, 24, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
}

.depth-row-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.depth-row-pos-title-group {
  display: flex;
  align-items: center;
  gap: 14px;
}

.depth-pos-badge {
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 800;
  padding: 4px 14px;
  border-radius: 8px;
  letter-spacing: 0.06em;
}

.depth-pos-badge.pos-pg {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.15);
}

.depth-pos-badge.pos-sg {
  background: rgba(168, 85, 247, 0.15);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.35);
  box-shadow: 0 0 12px rgba(168, 85, 247, 0.15);
}

.depth-pos-badge.pos-sf {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.35);
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.15);
}

.depth-pos-badge.pos-pf {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.35);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.15);
}

.depth-pos-badge.pos-c {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.15);
}

.depth-pos-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.depth-pos-count {
  font-size: 0.82rem;
  color: var(--text-tertiary);
  font-family: var(--font-mono);
}

.depth-chart-table-card {
  margin-bottom: 32px;
  overflow: hidden;
  padding: 0;
}

.depth-chart-actions-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.depth-save-toast {
  font-size: 0.8rem;
  font-weight: 700;
  color: #4ade80;
  background: rgba(74, 222, 128, 0.12);
  border: 1px solid rgba(74, 222, 128, 0.3);
  padding: 4px 12px;
  border-radius: 14px;
}

.btn-reset-depth {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: var(--text-secondary);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-reset-depth:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
}

.depth-chart-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.depth-chart-table th {
  padding: 12px 14px;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-tertiary);
  background: rgba(18, 18, 24, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.depth-chart-table td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  vertical-align: middle;
  text-align: center;
}

.depth-pos-cell {
  width: 80px;
  min-width: 80px;
  background: rgba(15, 15, 20, 0.6);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

.depth-slot-cell {
  min-width: 130px;
  max-width: 180px;
  position: relative;
  transition: background 0.2s ease;
}

.depth-slot-cell.drag-over {
  background: rgba(56, 189, 248, 0.12) !important;
  border: 1px dashed rgba(56, 189, 248, 0.6) !important;
  border-radius: 8px;
}

/* Compact Player Chip */
.depth-player-chip {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: grab;
  user-select: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
}

.depth-player-chip * {
  pointer-events: none;
}

.depth-player-chip:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(56, 189, 248, 0.4);
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.4);
}

.depth-player-chip:active,
.depth-player-chip.dragging {
  cursor: grabbing;
  opacity: 0.45;
  transform: scale(0.96);
  border-color: #38bdf8;
}

.depth-player-photo-wrap {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.05);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  overflow: hidden;
  margin-bottom: 6px;
  flex-shrink: 0;
}

.depth-player-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  user-drag: none;
  -webkit-user-drag: none;
}

.depth-player-name {
  font-size: 0.78rem;
  font-weight: 700;
  color: #f3f4f6;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 115px;
  line-height: 1.2;
}

.depth-player-sub {
  font-size: 0.68rem;
  font-family: var(--font-mono);
  color: var(--text-tertiary);
  margin-top: 2px;
}

.depth-empty-slot {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  border: 1px dashed rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  color: var(--text-tertiary);
  font-size: 0.72rem;
  font-style: italic;
  transition: all 0.2s ease;
}

.depth-empty-slot.drag-over {
  border-color: rgba(56, 189, 248, 0.6);
  background: rgba(56, 189, 248, 0.08);
  color: #38bdf8;
}

/* ==================== TEAM ROSTER PAYROLL & APRONS ==================== */
.roster-payroll-card {
  margin-bottom: 24px;
  padding: 22px 28px;
  background: rgba(18, 18, 24, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(12px);
}

.payroll-card-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 16px;
}

.payroll-title-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.season-payroll-select {
  padding: 4px 10px;
  font-size: 1.05rem;
  font-weight: 700;
  font-family: var(--font-mono);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  transition: all 0.2s ease;
}

.season-payroll-select:hover,
.season-payroll-select:focus {
  border-color: rgba(56, 189, 248, 0.6);
  background: rgba(56, 189, 248, 0.08);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.25);
  outline: none;
}

.payroll-info-line {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 4px;
}

.payroll-total-display {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.payroll-total-lbl {
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--text-tertiary);
}

.payroll-total-val {
  font-family: var(--font-mono);
  font-size: 1.55rem;
  font-weight: 800;
  color: #f3f4f6;
  letter-spacing: -0.02em;
}

.payroll-sep {
  color: var(--text-tertiary);
  font-size: 1.1rem;
  font-weight: 700;
  user-select: none;
}

.payroll-delta-val {
  font-family: var(--font-mono);
  font-size: 1.05rem;
  font-weight: 700;
  color: #f3f4f6;
  letter-spacing: -0.01em;
}

.payroll-status-pill {
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.05);
}

.payroll-status-pill.status-undercap {
  color: #4ade80;
  background: rgba(74, 222, 128, 0.12);
  border-color: rgba(74, 222, 128, 0.35);
}

.payroll-status-pill.status-overcap {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.35);
}

.payroll-status-pill.status-taxpayer {
  color: #facc15;
  background: rgba(250, 204, 21, 0.12);
  border-color: rgba(250, 204, 21, 0.35);
}

.payroll-status-pill.status-firstapron {
  color: #fb923c;
  background: rgba(251, 146, 60, 0.12);
  border-color: rgba(251, 146, 60, 0.35);
}

.payroll-status-pill.status-secondapron {
  color: #f87171;
  background: rgba(248, 113, 113, 0.14);
  border-color: rgba(248, 113, 113, 0.45);
  box-shadow: 0 0 16px rgba(248, 113, 113, 0.25);
}

.payroll-gauge-track-container {
  padding-top: 48px;
  padding-bottom: 48px;
  position: relative;
  width: 100%;
}

.payroll-gauge-track {
  position: relative;
  height: 22px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 11px;
  overflow: visible;
}

.payroll-gauge-fill {
  height: 100%;
  border-radius: 10px;
  background: #22c55e;
  transition: width 0.7s cubic-bezier(0.16, 1, 0.3, 1), background 0.4s ease;
  box-shadow: 0 0 16px rgba(34, 197, 94, 0.3);
}

.payroll-ref-line {
  position: absolute;
  width: 2px;
  transform: translateX(-50%);
  pointer-events: auto;
  z-index: 5;
}

.payroll-ref-line .ref-marker {
  width: 2px;
  border-radius: 1px;
  opacity: 0.95;
}

.payroll-ref-line .ref-label {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;
  font-size: 0.70rem;
  line-height: 1.2;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(15, 23, 42, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(8px);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
  transition: transform 0.15s ease;
}

.payroll-ref-line:hover .ref-label {
  transform: translateX(-50%) scale(1.06);
  border-color: rgba(255, 255, 255, 0.3);
  z-index: 10;
}

/* Tier 1 (Above the bar): CAP & 1ST APRON */
.payroll-ref-line.ref-cap,
.payroll-ref-line.ref-apron1 {
  top: -10px;
  bottom: 0;
}
.payroll-ref-line.ref-cap .ref-marker,
.payroll-ref-line.ref-apron1 .ref-marker {
  height: 32px;
}
.payroll-ref-line.ref-cap .ref-label,
.payroll-ref-line.ref-apron1 .ref-label {
  bottom: calc(100% + 6px);
  top: auto;
}

/* Tier 2 (Below the bar): TAX LINE & 2ND APRON */
.payroll-ref-line.ref-tax,
.payroll-ref-line.ref-apron2 {
  top: 0;
  bottom: -10px;
}
.payroll-ref-line.ref-tax .ref-marker,
.payroll-ref-line.ref-apron2 .ref-marker {
  height: 32px;
}
.payroll-ref-line.ref-tax .ref-label,
.payroll-ref-line.ref-apron2 .ref-label {
  top: calc(100% + 6px);
  bottom: auto;
}

.payroll-ref-line.ref-cap .ref-marker { background: #34d399; box-shadow: 0 0 8px #34d399; }
.payroll-ref-line.ref-cap .ref-name { color: #34d399; font-weight: 700; }
.payroll-ref-line.ref-cap .ref-val { color: var(--text-tertiary); font-family: var(--font-mono); }

.payroll-ref-line.ref-tax .ref-marker { background: #facc15; box-shadow: 0 0 8px #facc15; }
.payroll-ref-line.ref-tax .ref-name { color: #facc15; font-weight: 700; }
.payroll-ref-line.ref-tax .ref-val { color: var(--text-tertiary); font-family: var(--font-mono); }

.payroll-ref-line.ref-apron1 .ref-marker { background: #fb923c; box-shadow: 0 0 8px #fb923c; }
.payroll-ref-line.ref-apron1 .ref-name { color: #fb923c; font-weight: 700; }
.payroll-ref-line.ref-apron1 .ref-val { color: var(--text-tertiary); font-family: var(--font-mono); }

.payroll-ref-line.ref-apron2 .ref-marker { background: #f87171; box-shadow: 0 0 8px #f87171; }
.payroll-ref-line.ref-apron2 .ref-name { color: #f87171; font-weight: 700; }
.payroll-ref-line.ref-apron2 .ref-val { color: var(--text-tertiary); font-family: var(--font-mono); }

/* Player Card Header & Contract Elements */
.roster-card-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 2px;
}

.roster-contract-badge-group {
  display: flex;
  align-items: center;
  gap: 5px;
}

.contract-type-pill {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 2px 7px;
  border-radius: 12px;
  text-transform: uppercase;
}

.contract-type-pill.contract-regular {
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.contract-type-pill.contract-twoway {
  background: rgba(245, 158, 11, 0.14);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.contract-type-pill.contract-exhibit10 {
  background: rgba(168, 85, 247, 0.14);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.35);
}

.badge-contract-option {
  font-size: 0.65rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
}

.badge-contract-option.opt-po {
  background: rgba(34, 197, 94, 0.2);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.4);
}

.badge-contract-option.opt-to {
  background: rgba(59, 130, 246, 0.2);
  color: #60a5fa;
  border: 1px solid rgba(59, 130, 246, 0.4);
}

.roster-salary-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 4px 0 2px 0;
}

.roster-salary-val {
  font-family: var(--font-mono);
  font-size: 0.95rem;
  font-weight: 700;
  color: #4ade80;
  letter-spacing: -0.01em;
}

.roster-contract-summary {
  font-size: 0.74rem;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

/* Inline Jersey Number next to Player Name in Depth Chart */
.roster-jersey-inline {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 4px;
  padding: 1px 6px;
  margin-left: 6px;
  vertical-align: middle;
}

/* ================= SALARY CAP BREAKDOWN TABLE ================= */
.salary-breakdown-card {
  margin-bottom: 32px;
}

.salary-contract-legends {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.salary-legend-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.76rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.legend-swatch {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  display: inline-block;
}

.legend-swatch.swatch-standard {
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.legend-swatch.swatch-po {
  background: rgba(74, 222, 128, 0.25);
  border: 1px solid #4ade80;
}

.legend-swatch.swatch-to {
  background: rgba(249, 115, 22, 0.25);
  border: 1px solid #f97316;
}

.legend-swatch.swatch-2way {
  background: rgba(56, 189, 248, 0.25);
  border: 1px solid #38bdf8;
}

.legend-swatch.swatch-non-guaranteed {
  background: rgba(192, 132, 252, 0.25);
  border: 1px solid #c084fc;
}

.legend-swatch.swatch-dead-cap {
  background: rgba(239, 68, 68, 0.25);
  border: 1px solid #ef4444;
}

.salary-breakdown-table th.col-curr-season {
  background: rgba(56, 189, 248, 0.08);
  color: #38bdf8;
  border-bottom: 2px solid #38bdf8;
}

.salary-cell-box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.salary-cell-val {
  font-family: var(--font-mono);
  font-size: 0.86rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.salary-cell-val.sal-standard {
  color: var(--text-primary);
}

.salary-cell-val.sal-po {
  color: #4ade80 !important;
}

.salary-cell-val.sal-to {
  color: #f97316 !important;
}

.salary-cell-val.sal-2way {
  color: #38bdf8 !important;
}

.salary-cell-val.sal-non-guaranteed {
  color: #c084fc !important;
}

.salary-cell-val.sal-dead-cap {
  color: #ef4444 !important;
  font-style: italic !important;
}

.salary-cell-val.sal-none {
  color: var(--text-tertiary);
  font-weight: 400;
}

.salary-opt-pill {
  font-size: 0.62rem;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.salary-opt-pill.pill-po {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.35);
}

.salary-opt-pill.pill-to {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
}

.meta-pill.pill-dead-cap {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.35);
  font-size: 0.68rem;
  font-weight: 700;
  padding: 1px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
}

.salary-breakdown-table tfoot tr {
  background: rgba(255, 255, 255, 0.03);
  border-top: 2px solid var(--border-subtle);
}

.salary-breakdown-table tfoot td {
  padding: 14px 16px;
  font-family: var(--font-mono);
  font-size: 0.88rem;
  font-weight: 700;
  color: #ffffff;
}

/* ==================== PLAYOFF RIVALRY & POSTSEASON ARCHIVES ==================== */

.rivalry-container {
  width: 100%;
  margin: 0;
  padding: 0;
}

.rivalry-controls-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 24px;
}

.rivalry-view-tabs {
  display: flex;
  gap: 8px;
  background: rgba(255, 255, 255, 0.03);
  padding: 4px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.rivalry-view-btn {
  padding: 8px 16px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
}

.rivalry-view-btn:hover {
  color: var(--text-primary);
  background: rgba(255, 255, 255, 0.05);
}

.rivalry-view-btn.active {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.rivalry-search-input {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  padding: 8px 14px;
  color: #fff;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  min-width: 220px;
  transition: border-color 0.2s ease;
}

.rivalry-search-input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.3);
}

.rivalry-filter-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.rivalry-filter-pill {
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.rivalry-filter-pill:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.rivalry-filter-pill.active {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.4);
  color: #38bdf8;
}

/* Hero Banner */
.rivalry-hero-card {
  position: relative;
  padding: 24px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.rivalry-hero-card .poss-arrow-btn {
  position: absolute;
  top: 20px;
  right: 24px;
  z-index: 2;
}

.rivalry-hero-top {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.rivalry-hero-logo {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

.rivalry-hero-title-box h1 {
  margin: 0;
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
}

.rivalry-hero-subtitle {
  color: var(--text-secondary);
  font-size: 0.9rem;
  margin-top: 4px;
}

.rivalry-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.rivalry-stat-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 14px 16px;
  text-align: center;
}

.rivalry-stat-card .stat-label {
  font-size: 0.72rem;
  font-family: var(--font-mono);
  text-transform: uppercase;
  color: var(--text-secondary);
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.rivalry-stat-card .stat-val {
  font-family: var(--font-mono);
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
}

.rivalry-stat-card .stat-sub {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-secondary);
  margin-top: 4px;
}

/* Rivals Grid */
.rivals-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.rival-card {
  position: relative;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  overflow: hidden;
  transition: border-color 0.2s ease;
}

.rival-card:hover {
  border-color: rgba(255, 255, 255, 0.16);
}

.rival-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 76px 16px 20px;
  cursor: pointer;
  background: rgba(255, 255, 255, 0.02);
  user-select: none;
  gap: 16px;
  flex-wrap: wrap;
}

.rival-header:hover {
  background: rgba(255, 255, 255, 0.04);
}

.rival-header-center {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-left: auto;
}

.rival-card .poss-arrow-btn {
  position: absolute;
  top: 16px;
  right: 20px;
  z-index: 2;
}

.rival-team-info {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 240px;
}

.rival-team-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.rival-team-names {
  display: flex;
  flex-direction: column;
}

.rival-team-names .rival-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
}

.rival-team-names .rival-meta {
  font-size: 0.75rem;
  color: var(--text-secondary);
  font-family: var(--font-mono);
}

.rival-score-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 6px;
  font-family: var(--font-mono);
  font-weight: 700;
  font-size: 1.05rem;
}

.rival-score-badge.leading {
  background: rgba(34, 197, 94, 0.12);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.rival-score-badge.trailing {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.rival-score-badge.tied {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text-secondary);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.rival-metrics-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  font-family: var(--font-mono);
  font-size: 0.8rem;
  color: var(--text-secondary);
}

.rival-metric-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.rival-metric-item .lbl {
  font-size: 0.68rem;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.rival-metric-item .val {
  font-weight: 700;
  color: #fff;
}

/* Series Breakdown Drawer */
.rival-series-drawer {
  padding: 16px 20px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(0, 0, 0, 0.2);
}

.series-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.85rem;
}

.series-table th {
  padding: 10px 12px;
  text-align: left;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  text-transform: uppercase;
  color: var(--text-secondary);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.series-table td {
  padding: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  vertical-align: middle;
}

.series-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

.series-result-badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border-radius: 4px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
}

.series-result-badge.win {
  background: rgba(34, 197, 94, 0.15);
  color: #22c55e;
  border: 1px solid rgba(34, 197, 94, 0.3);
}

.series-result-badge.loss {
  background: rgba(239, 68, 68, 0.15);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

.series-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 7px;
  border-radius: 4px;
  font-size: 0.7rem;
  font-family: var(--font-mono);
  font-weight: 600;
  margin-left: 6px;
}

.tag-game7 {
  background: rgba(249, 115, 22, 0.15);
  color: #f97316;
  border: 1px solid rgba(249, 115, 22, 0.3);
}

.tag-sweep {
  background: rgba(168, 85, 247, 0.15);
  color: #a855f7;
  border: 1px solid rgba(168, 85, 247, 0.3);
}

.tag-finals {
  background: rgba(234, 179, 8, 0.15);
  color: #eab308;
  border: 1px solid rgba(234, 179, 8, 0.3);
}

.tag-consecutive {
  background: rgba(14, 165, 233, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(14, 165, 233, 0.3);
}

.game-logs-toggle-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text-secondary);
  border-radius: 4px;
  padding: 4px 10px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.game-logs-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.game-logs-drawer {
  margin-top: 10px;
  padding: 12px;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

/* Season Archives View */
.season-round-block {
  position: relative;
  margin-bottom: 28px;
}

.season-round-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.15rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 14px;
  padding: 8px 60px 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  user-select: none;
}

.season-round-block .poss-arrow-btn {
  position: absolute;
  top: 4px;
  right: 0;
  z-index: 2;
}

.season-series-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.season-series-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.season-series-card.finals-card {
  border-color: rgba(234, 179, 8, 0.35);
  background: linear-gradient(180deg, rgba(234, 179, 8, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%);
}

.season-series-teams {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.season-team-col {
  display: flex;
  align-items: center;
  gap: 10px;
}

.season-team-logo {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.season-team-col.winner {
  font-weight: 700;
  color: #fff;
}

.season-team-col.loser {
  color: var(--text-secondary);
}

.season-series-score {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 700;
  color: #38bdf8;
}

/* ==================== THE ARENA RAFTERS & TROPHY VAULT ==================== */

.rafters-section {
  position: relative;
  overflow: hidden;
}

/* Arena Catwalk / Structural Steel Beam */
.rafters-catwalk-beam {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 18px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.02) 50%, rgba(255, 255, 255, 0.06) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  margin-bottom: 24px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 6px 20px rgba(0, 0, 0, 0.4);
}

.rafters-catwalk-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--text-secondary);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rafters-catwalk-girders {
  display: flex;
  gap: 12px;
  opacity: 0.35;
}

.rafters-catwalk-girder-node {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffffff;
}

/* Championship Trophy Vault Row */
.pennant-vault-wrapper {
  margin-bottom: 32px;
}

.pennant-vault-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  flex-wrap: wrap;
  gap: 10px;
}

.pennant-vault-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pennant-vault-title {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #ffd700;
  margin: 0;
}

.pennants-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: stretch;
}

.championship-pennant-card {
  position: relative;
  flex: 0 0 calc(16.666% - 12px);
  min-width: 145px;
  max-width: 190px;
  padding: 16px 12px 20px 12px;
  background: linear-gradient(180deg, rgba(255, 215, 0, 0.08) 0%, rgba(20, 20, 24, 0.9) 60%, rgba(10, 10, 12, 0.95) 100%);
  border: 1px solid rgba(255, 215, 0, 0.3);
  border-radius: 12px 12px 24px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 215, 0, 0.3);
}

.championship-pennant-card.conf-pennant {
  background: linear-gradient(180deg, rgba(56, 189, 248, 0.08) 0%, rgba(20, 20, 24, 0.9) 60%, rgba(10, 10, 12, 0.95) 100%);
  border-color: rgba(56, 189, 248, 0.3);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(56, 189, 248, 0.3);
}

.championship-pennant-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 215, 0, 0.7);
  box-shadow: 0 12px 28px rgba(255, 215, 0, 0.25), 0 4px 12px rgba(0, 0, 0, 0.6);
}

.championship-pennant-card.conf-pennant:hover {
  border-color: rgba(56, 189, 248, 0.7);
  box-shadow: 0 12px 28px rgba(56, 189, 248, 0.25), 0 4px 12px rgba(0, 0, 0, 0.6);
}

.pennant-suspension-wire {
  width: 1px;
  height: 12px;
  background: rgba(255, 255, 255, 0.25);
  margin-bottom: 6px;
}

.pennant-trophy-icon {
  font-size: 1.45rem;
  margin-bottom: 4px;
  filter: drop-shadow(0 2px 6px rgba(255, 215, 0, 0.4));
}

.pennant-year {
  font-family: var(--font-mono);
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ffffff;
  line-height: 1.1;
  margin-bottom: 4px;
}

.pennant-label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #ffd700;
  margin-bottom: 8px;
}

.championship-pennant-card.conf-pennant .pennant-label {
  color: #38bdf8;
}

.pennant-opponent-chip {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--text-secondary);
  background: rgba(255, 255, 255, 0.05);
  padding: 3px 8px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Arena Rafters Hanging Jersey Gallery */
.rafters-grid-wrapper {
  position: relative;
}

.rafters-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 20px 16px;
  padding: 10px 0 20px 0;
}

.rafter-banner-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 22px 14px 20px 14px;
  background: linear-gradient(180deg, rgba(28, 28, 34, 0.95) 0%, rgba(18, 18, 22, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-top: 3px solid var(--banner-accent, #38bdf8);
  border-radius: 8px 8px 18px 18px;
  text-align: center;
  cursor: pointer;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.rafter-banner-card::before {
  content: '';
  position: absolute;
  top: -12px;
  width: 2px;
  height: 12px;
  background: rgba(255, 255, 255, 0.2);
}

.rafter-banner-card:hover {
  transform: translateY(-6px) rotate(0.6deg);
  border-color: var(--banner-accent, #38bdf8);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.7), 0 0 16px rgba(56, 189, 248, 0.15);
}

.rafter-badge-top-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
  min-height: 18px;
}

.rafter-badge-hof {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #ffd700;
  background: rgba(255, 215, 0, 0.12);
  border: 1px solid rgba(255, 215, 0, 0.3);
  padding: 1px 6px;
  border-radius: 10px;
}

.rafter-badge-league {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 700;
  text-transform: uppercase;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.3);
  padding: 1px 6px;
  border-radius: 10px;
}

.rafter-number {
  font-family: var(--font-mono);
  font-size: 2.35rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 8px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
}

.rafter-number.non-numeric {
  font-size: 1.45rem;
  letter-spacing: -0.02em;
}

.rafter-honoree-name {
  font-family: var(--font-sans);
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--text-primary);
  text-transform: uppercase;
  line-height: 1.2;
  margin-bottom: 4px;
}

.rafter-years {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: var(--text-secondary);
  margin-bottom: 8px;
}

.rafter-footer-tags {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
}

.rafter-role-pill {
  font-family: var(--font-mono);
  font-size: 0.65rem;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text-secondary);
  padding: 2px 7px;
  border-radius: 4px;
}

.rafter-multi-tag {
  font-family: var(--font-mono);
  font-size: 0.62rem;
  font-weight: 600;
  background: rgba(168, 85, 247, 0.12);
  border: 1px solid rgba(168, 85, 247, 0.3);
  color: #c084fc;
  padding: 1px 6px;
  border-radius: 4px;
}

/* Modal Styling (Strict Geist / Obsidian Glass) */
.rafter-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  padding: 20px;
}

.rafter-modal-backdrop.is-open {
  opacity: 1;
  visibility: visible;
}

.rafter-modal-card {
  position: relative;
  background: rgba(18, 18, 22, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  width: 100%;
  max-width: 580px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 28px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.15);
  transform: translateY(12px) scale(0.98);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.rafter-modal-backdrop.is-open .rafter-modal-card {
  transform: translateY(0) scale(1);
}

.rafter-modal-close-btn {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: var(--text-secondary);
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.rafter-modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  transform: scale(1.05);
}

.legend-modal-hero {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-bottom: 20px;
}

.legend-modal-avatar-box {
  position: relative;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  border: 2px solid var(--banner-accent, rgba(255, 255, 255, 0.15));
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

.legend-modal-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.legend-modal-jersey-badge {
  font-family: var(--font-mono);
  font-size: 1.85rem;
  font-weight: 800;
  color: var(--banner-accent, #38bdf8);
  line-height: 1;
  margin-bottom: 4px;
}

.legend-modal-name {
  font-size: 1.45rem;
  font-weight: 800;
  color: #fff;
  margin: 0 0 4px 0;
  letter-spacing: -0.02em;
}

.legend-modal-sub {
  font-size: 0.82rem;
  color: var(--text-secondary);
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.legend-modal-accolades-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 20px;
}

.legend-modal-accolades-title {
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-tertiary);
  margin-bottom: 8px;
}

.legend-modal-accolades-text {
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--text-primary);
}

.legend-modal-other-retirements {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.other-ret-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 4px 10px;
  margin-right: 8px;
  margin-top: 4px;
  font-size: 0.78rem;
}

.legend-modal-actions {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.legend-modal-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 20px;
  background: #ffffff;
  color: #000000;
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 0.88rem;
  border-radius: 8px;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: all 0.2s ease;
}

.legend-modal-cta-btn:hover {
  background: #e2e8f0;
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(255, 255, 255, 0.2);
}

/* Registry Modal Styling */
.registry-legends-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 14px;
  margin-top: 16px;
}

.registry-legend-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 14px;
  transition: all 0.2s ease;
}

.registry-legend-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.16);
}

.registry-legend-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}

.registry-franchise-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  font-size: 0.78rem;
  color: var(--text-secondary);
}

.registry-team-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

@media (max-width: 768px) {
  .championship-pennant-card {
    flex: 0 0 calc(33.333% - 10px);
    min-width: 110px;
  }
  .rafters-grid {
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 12px;
  }
  .rafter-number {
    font-size: 1.85rem;
  }
}

/* Rafters Left-Justified Controls Toolbar */
.rafters-controls-bar {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(255, 255, 255, 0.015);
  flex-wrap: wrap;
}

/* ==================== COACHING HISTORY STYLING ==================== */
#team-coaching-section {
  margin-top: 8px;
}

.coach-avatar-wrapper {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--bg-tertiary);
  border: 1px solid var(--border-subtle);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
  vertical-align: middle;
}

.coach-table-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coach-name-cell {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.coach-name-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--text-primary);
}

.coach-active-badge {
  font-size: 0.65rem;
  padding: 1px 6px;
  border-radius: 4px;
}

.trophy-badge {
  font-family: var(--font-mono);
  font-size: 0.82rem;
  font-weight: 700;
}

th.sortable-th-coach {
  cursor: pointer;
  user-select: none;
  transition: background 0.2s ease, color 0.2s ease;
}

th.sortable-th-coach:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
}

/* Gold, Silver, Bronze Badges & Table Row Highlights */
.badge-gold {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: rgba(255, 215, 0, 0.12);
  border: 1px solid rgba(255, 215, 0, 0.35);
  color: #ffd700;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.badge-silver {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: rgba(226, 232, 240, 0.1);
  border: 1px solid rgba(226, 232, 240, 0.28);
  color: #e2e8f0;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.badge-bronze {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: rgba(205, 127, 50, 0.12);
  border: 1px solid rgba(205, 127, 50, 0.32);
  color: #cd7f32;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.row-highlight-gold {
  background: rgba(255, 215, 0, 0.035) !important;
}

.row-highlight-gold:hover {
  background: rgba(255, 215, 0, 0.07) !important;
}

.row-highlight-silver {
  background: rgba(255, 255, 255, 0.025) !important;
}

.row-highlight-silver:hover {
  background: rgba(255, 255, 255, 0.05) !important;
}




/* ==================== LEAGUE TRANSACTIONS PAGE ==================== */
.tx-hero-banner {
  margin-bottom: 24px;
  padding: 28px;
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.4) 0%, rgba(15, 23, 42, 0.6) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
}

.tx-toolbar {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 28px;
}

.tx-category-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.tx-cat-btn {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text-secondary);
  padding: 7px 16px;
  border-radius: 20px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.tx-cat-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.15);
}

.tx-cat-btn:active {
  transform: scale(0.96);
}

.tx-cat-btn.active {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
  box-shadow: 0 0 16px rgba(255, 255, 255, 0.25);
}

.tx-filters-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.tx-search-box {
  flex: 1;
  min-width: 240px;
  position: relative;
}

.tx-search-input {
  width: 100%;
  padding: 10px 16px 10px 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #f3f4f6;
  font-size: 0.9rem;
  outline: none;
  transition: border-color 0.2s;
}

.tx-search-input:focus {
  border-color: #38bdf8;
  background: rgba(255, 255, 255, 0.07);
}

.tx-search-icon {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-tertiary);
  pointer-events: none;
}

/* Transactions Data Table */
.tx-table-card {
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  margin-bottom: 24px;
  background: rgba(13, 13, 16, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
}

.tx-table-container {
  width: 100%;
  overflow-x: hidden;
  overflow-y: visible;
}

.tx-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 0.84rem;
  text-align: left;
}

.tx-table thead th {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #09090b;
  padding: 10px 8px;
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  white-space: nowrap;
}

.tx-table thead th:first-child,
.tx-table td:first-child {
  padding-left: 16px;
}

.tx-table thead th:last-child,
.tx-table td:last-child {
  padding-right: 16px;
}

.tx-table tbody tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: background 0.12s ease;
}

.tx-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.035);
}

.tx-table td {
  padding: 10px 8px;
  vertical-align: middle;
}

.col-tx-date {
  width: 78px;
  white-space: nowrap;
}

.tx-date-badge {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  color: var(--text-secondary);
  letter-spacing: -0.01em;
}

.col-tx-team {
  width: 72px;
  white-space: nowrap;
}

.col-tx-partner {
  width: 86px;
  white-space: nowrap;
}

.tx-table-team-cell {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.tx-table-team-logo {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.02);
}

.tx-table-team-abbr {
  font-family: var(--font-mono);
  font-weight: 700;
  color: #f3f4f6;
  font-size: 0.82rem;
  letter-spacing: 0.03em;
}

.tx-empty-dash {
  color: var(--text-tertiary);
  font-family: var(--font-mono);
  font-weight: 500;
  padding-left: 4px;
}

.col-tx-category {
  width: 142px;
  white-space: nowrap;
}

.col-tx-detail,
.tx-table td.col-tx-detail {
  width: auto;
  white-space: normal;
}

.tx-detail-content {
  line-height: 1.45;
  color: #e5e7eb;
  font-size: 0.83rem;
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: normal;
}

.tx-card-team-logo {
  width: 44px;
  height: 44px;
  object-fit: contain;
  flex-shrink: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  padding: 3px;
}

.tx-card-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.tx-card-top-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.tx-badge {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 3px 9px;
  border-radius: 6px;
  text-transform: uppercase;
}

.tx-badge.badge-trade {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.tx-badge.badge-signing {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}

.tx-badge.badge-rookie {
  background: rgba(250, 204, 21, 0.15);
  color: #facc15;
  border: 1px solid rgba(250, 204, 21, 0.35);
}

.tx-badge.badge-twoway {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
}

.tx-badge.badge-twoway-move {
  background: rgba(99, 102, 241, 0.15);
  color: #818cf8;
  border: 1px solid rgba(99, 102, 241, 0.35);
}

.tx-badge.badge-waived {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.35);
}

.tx-badge.badge-coach {
  background: rgba(168, 85, 247, 0.15);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.35);
}

.tx-badge.badge-exhibit10 {
  background: rgba(236, 72, 153, 0.15);
  color: #f472b6;
  border: 1px solid rgba(236, 72, 153, 0.35);
}

.tx-badge.badge-retirement {
  background: rgba(251, 191, 36, 0.15);
  color: #fde047;
  border: 1px solid rgba(251, 191, 36, 0.35);
}

.tx-card-team-name {
  font-weight: 700;
  font-size: 0.9rem;
  color: #ffffff;
}

.tx-card-desc {
  font-size: 0.92rem;
  line-height: 1.45;
  color: #d1d5db;
}

.tx-card-desc .tx-highlight-player {
  font-weight: 700;
  color: #f9fafb;
}

.tx-card-desc .tx-highlight-asset {
  color: #38bdf8;
  font-weight: 600;
}

.tx-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 32px 0 16px 0;
}

/* ==========================================================================
   PLAYER FINDER MODULE STYLES (VERCEL DARK / GEIST AESTHETICS)
   ========================================================================== */

.player-finder-page .finder-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 24px 20px 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.finder-hero-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.finder-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.btn-finder-reset {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f3f4f6;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-finder-reset:hover {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #fca5a5;
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.2);
}

.finder-kpi-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 24px;
  background: linear-gradient(135deg, rgba(24, 24, 27, 0.85) 0%, rgba(15, 15, 18, 0.95) 100%);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
}

.kpi-banner-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.kpi-metric-group {
  display: flex;
  align-items: baseline;
  gap: 12px;
}

.kpi-number-row {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.kpi-number {
  font-family: var(--font-mono);
  font-size: 2.2rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
}

.highlight-glow {
  text-shadow: 0 0 20px rgba(56, 189, 248, 0.4);
  color: #38bdf8;
}

.kpi-total-denom {
  font-family: var(--font-mono);
  font-size: 1.1rem;
  color: #9ca3af;
}

.kpi-sub-text {
  font-size: 0.85rem;
  color: #9ca3af;
}

.kpi-banner-right {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 65%;
}

.active-filters-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
}

.active-filter-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

.active-tag-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #7dd3fc;
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 500;
  padding: 4px 8px;
  border-radius: 6px;
}

.btn-remove-tag {
  background: none;
  border: none;
  color: #bae6fd;
  cursor: pointer;
  font-size: 0.75rem;
  padding: 0 2px;
  display: flex;
  align-items: center;
  transition: color 0.15s;
}

.btn-remove-tag:hover {
  color: #ef4444;
}

.chip-none {
  font-size: 0.82rem;
  color: #6b7280;
  font-style: italic;
}

.finder-presets-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.quick-chip-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: #9ca3af;
  margin-right: 4px;
}

/* 5 Groups Controls Grid */
.finder-controls-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.slider-group-card {
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: rgba(18, 18, 22, 0.65);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.slider-group-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.group-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f3f4f6;
  margin: 0;
  line-height: 1.2;
}

.group-sub {
  font-size: 0.75rem;
  color: #9ca3af;
  display: block;
}

.slider-controls-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.slider-control-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.slider-label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.slider-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: #e5e7eb;
}

.slider-val-bubble {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  color: #9ca3af;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 2px 8px;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.slider-val-bubble.active-filter {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.2);
}

/* Dual Range Slider Slider Container */
.range-slider-wrapper {
  position: relative;
  height: 20px;
  display: flex;
  align-items: center;
}

.range-slider-wrapper::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  z-index: 1;
}

.range-track {
  position: absolute;
  height: 4px;
  background: #38bdf8;
  border-radius: 2px;
  z-index: 2;
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.5);
}

.range-input {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  z-index: 3;
}

.range-input::-webkit-slider-thumb {
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #38bdf8;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.6);
  cursor: pointer;
  transition: transform 0.1s ease, background 0.15s ease;
}

.range-input::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  background: #38bdf8;
  border-color: #ffffff;
}

.range-input::-moz-range-thumb {
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #38bdf8;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.6);
  cursor: pointer;
}

.single-slider-wrapper {
  position: relative;
  height: 20px;
  display: flex;
  align-items: center;
}

.single-range {
  width: 100%;
  height: 4px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.single-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #38bdf8;
  border: 2px solid #ffffff;
  cursor: pointer;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.6);
}

.single-range::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #38bdf8;
  border: 2px solid #ffffff;
  cursor: pointer;
}

.range-scale-labels {
  display: flex;
  justify-content: space-between;
  font-family: var(--font-mono);
  font-size: 0.7rem;
  color: #6b7280;
  margin-top: -2px;
}

.finder-select {
  width: 100%;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f3f4f6;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  padding: 8px 12px;
  border-radius: 6px;
  outline: none;
  cursor: pointer;
}

.finder-select:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.25);
}

/* Results Leaderboard Table */
.finder-results-section {
  margin-top: 10px;
}

.finder-table-container {
  padding: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(15, 15, 18, 0.7);
}

.finder-table-header {
  padding: 16px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  background: rgba(24, 24, 27, 0.75);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.finder-table-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.scope-toggle-wrapper,
.mode-toggle-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.scope-toggle-wrapper .mode-label,
.mode-toggle-wrapper .mode-label {
  font-size: 0.75rem;
  font-weight: 700;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-family: var(--font-mono);
}

.table-acc-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.acc-pill {
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  line-height: 1.2;
}

.mvp-pill {
  background: rgba(234, 179, 8, 0.15);
  border: 1px solid rgba(234, 179, 8, 0.4);
  color: #fde047;
}

.allnba-pill {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
}

.allstar-pill {
  background: rgba(168, 85, 247, 0.15);
  border: 1px solid rgba(168, 85, 247, 0.4);
  color: #c084fc;
}

.alldef-pill {
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34d399;
}

.player-identity-col {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}

.player-sub-desc {
  font-size: 0.72rem;
  color: #9ca3af;
  font-family: var(--font-mono);
}

.finder-table-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(20, 20, 24, 0.4);
}

.btn-load-more {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #f3f4f6;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-load-more:hover {
  background: #38bdf8;
  border-color: #38bdf8;
  color: #09090b;
}

.btn-load-more.secondary {
  background: transparent;
  color: #9ca3af;
  border-color: rgba(255, 255, 255, 0.08);
}

.btn-load-more.secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #f3f4f6;
}

.table-loading-cell,
.table-empty-cell {
  text-align: center;
  padding: 40px 20px;
  color: #9ca3af;
  font-size: 0.95rem;
}

.empty-icon {
  font-size: 1.4rem;
  display: block;
  margin-bottom: 8px;
}

/* Quick Presets white highlight */
.finder-presets-row .chip-btn.active {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
  font-weight: 700 !important;
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.4) !important;
}

/* Status Segmented Toggle */
.finder-status-toggle {
  display: flex;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 3px;
  gap: 4px;
}

.finder-status-toggle .pill-btn {
  flex: 1;
  text-align: center;
  padding: 6px 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-secondary);
  border-radius: 6px;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.15s ease;
}

.finder-status-toggle .pill-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.finder-status-toggle .pill-btn.active {
  background: #ffffff !important;
  color: #000000 !important;
  font-weight: 700 !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3) !important;
}

/* Custom Searchable Country Dropdown */
.custom-country-dropdown {
  position: relative;
  width: 100%;
}

.country-dropdown-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f3f4f6;
  font-family: var(--font-sans);
  font-size: 0.82rem;
  padding: 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.country-dropdown-trigger:hover,
.custom-country-dropdown.open .country-dropdown-trigger {
  border-color: #38bdf8;
  background: rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 0 2px rgba(56, 189, 248, 0.15);
}

.dropdown-chevron {
  font-size: 0.75rem;
  color: #9ca3af;
  transition: transform 0.2s ease;
}

.custom-country-dropdown.open .dropdown-chevron {
  transform: rotate(180deg);
}

.country-dropdown-menu {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: rgba(18, 18, 24, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  z-index: 100;
  overflow: hidden;
}

.custom-country-dropdown.open .country-dropdown-menu {
  display: flex;
  flex-direction: column;
}

.country-search-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.35);
}

.search-lens-icon {
  font-size: 0.85rem;
  color: #9ca3af;
}

.country-search-field {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #ffffff;
  font-family: var(--font-sans);
  font-size: 0.82rem;
}

.country-search-field::placeholder {
  color: #6b7280;
}

.country-search-clear {
  background: none;
  border: none;
  color: #9ca3af;
  cursor: pointer;
  font-size: 0.8rem;
  padding: 0 4px;
}

.country-search-clear:hover {
  color: #ef4444;
}

.country-options-scroll {
  max-height: 220px;
  overflow-y: auto;
  padding: 4px 0;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.country-opt-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7px 12px;
  font-size: 0.82rem;
  color: #d1d5db;
  cursor: pointer;
  transition: all 0.12s ease;
}

.country-opt-row:hover {
  background: rgba(56, 189, 248, 0.12);
  color: #ffffff;
}

.country-opt-row.selected {
  background: rgba(56, 189, 248, 0.2);
  color: #38bdf8;
  font-weight: 600;
}

.country-opt-row .opt-badge {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  color: #9ca3af;
  background: rgba(255, 255, 255, 0.06);
  padding: 2px 6px;
  border-radius: 4px;
}

.country-opt-row.selected .opt-badge {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.18);
}


/* ==========================================================================
   PAGE 3: NBA WORLD PASSPORT STYLES
   ========================================================================== */

.passport-hero-section {
  margin-bottom: 24px;
}

.passport-metrics-bar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
  margin-bottom: 24px;
}

.passport-metric-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: rgba(17, 24, 39, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.passport-metric-icon {
  font-size: 2rem;
  line-height: 1;
}

.passport-metric-num {
  font-family: var(--font-mono, monospace);
  font-size: 1.6rem;
  font-weight: 800;
  color: #f3f4f6;
  letter-spacing: -0.02em;
}

.passport-metric-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.passport-continent-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 20px;
}

.passport-view-toggle {
  margin-left: auto;
  display: flex;
  gap: 8px;
  background: rgba(255, 255, 255, 0.05);
  padding: 4px;
  border-radius: 9999px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.passport-view-btn {
  background: transparent;
  border: none;
  color: #9ca3af;
  font-family: var(--font-sans, sans-serif);
  font-size: 0.82rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.passport-view-btn.active {
  background: #38bdf8;
  color: #030712;
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.4);
}

/* Passport Booklet Widget */
.passport-booklet-bar {
  background: linear-gradient(135deg, rgba(30, 41, 59, 0.9), rgba(15, 23, 42, 0.95));
  border: 1px solid rgba(234, 179, 8, 0.35);
  border-radius: 14px;
  padding: 16px 22px;
  margin-bottom: 24px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 20px rgba(234, 179, 8, 0.12);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.passport-booklet-left {
  display: flex;
  align-items: center;
  gap: 14px;
}

.passport-booklet-icon {
  font-size: 2.2rem;
  filter: drop-shadow(0 2px 8px rgba(234, 179, 8, 0.4));
}

.passport-booklet-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fef08a;
  letter-spacing: -0.01em;
}

.passport-booklet-subtitle {
  font-size: 0.8rem;
  color: #94a3b8;
}

.passport-stamps-preview {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  max-width: 500px;
  padding: 4px;
}

.mini-stamp-badge {
  background: rgba(234, 179, 8, 0.12);
  border: 1px solid rgba(234, 179, 8, 0.3);
  border-radius: 8px;
  padding: 4px 8px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fef08a;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.view-passport-btn {
  background: linear-gradient(135deg, #eab308, #ca8a04);
  color: #0f172a;
  border: none;
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 0.88rem;
  padding: 8px 18px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 4px 14px rgba(234, 179, 8, 0.35);
}

.view-passport-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(234, 179, 8, 0.5);
}

/* Interactive SVG World Map Canvas */
.world-map-card {
  position: relative;
  background: radial-gradient(circle at center, rgba(30, 58, 138, 0.15) 0%, rgba(10, 15, 30, 0.95) 75%);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 30px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.7), 0 0 30px rgba(56, 189, 248, 0.1);
  overflow: hidden;
}

.map-svg-container {
  width: 100%;
  max-height: 480px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.world-map-svg {
  width: 100%;
  height: auto;
  max-height: 460px;
  transition: all 0.2s ease;
}

/* Floating HUD Controls in World Map Viewport */
.world-map-hud {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  pointer-events: none;
  z-index: 10;
}

.map-hud-left {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 9999px;
  padding: 6px 14px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
  pointer-events: auto;
}

.map-hud-badge {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 0.85rem;
  color: #f8fafc;
  display: flex;
  align-items: center;
  gap: 6px;
}

.map-hud-sub {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  color: #38bdf8;
  border-left: 1px solid rgba(255, 255, 255, 0.15);
  padding-left: 8px;
}

.map-hud-zoom-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  color: #facc15;
  background: rgba(250, 204, 21, 0.12);
  border: 1px solid rgba(250, 204, 21, 0.3);
  padding: 2px 7px;
  border-radius: 9999px;
  margin-left: 2px;
}

.map-hud-right {
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: auto;
}

.map-zoom-buttons-group {
  display: flex;
  align-items: center;
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 9999px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
  pointer-events: auto;
}

.map-zoom-ctrl-btn {
  background: transparent;
  border: none;
  color: #cbd5e1;
  font-size: 0.82rem;
  padding: 6px 12px;
  cursor: pointer;
  transition: all 0.18s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.map-zoom-ctrl-btn:hover {
  background: rgba(56, 189, 248, 0.2);
  color: #38bdf8;
}

.map-zoom-ctrl-btn:first-child {
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.map-hud-reset-btn {
  background: rgba(15, 23, 42, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: #94a3b8;
  border-radius: 9999px;
  padding: 6px 14px;
  font-size: 0.76rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

.map-hud-reset-btn:hover {
  background: rgba(56, 189, 248, 0.18);
  border-color: #38bdf8;
  color: #ffffff;
  transform: translateY(-1px);
}

.map-svg-container {
  width: 100%;
  max-height: 480px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: grab;
  user-select: none;
  touch-action: none;
}

.map-svg-container.is-panning {
  cursor: grabbing !important;
}

/* Authentic Country Vector Paths (Consistent with NBA Geography Atlas) */
.map-country-land {
  fill: #0d1527;
  stroke: rgba(56, 189, 248, 0.18);
  stroke-width: 0.6;
  transition: fill 0.2s ease, stroke 0.2s ease, filter 0.2s ease;
  cursor: pointer;
}

.map-country-land.has-players {
  fill: #111e38;
  stroke: rgba(56, 189, 248, 0.35);
  stroke-width: 0.75;
}

.map-country-land:hover,
.map-country-land.country-hovered {
  fill: #1e2e4f;
  stroke: rgba(56, 189, 248, 0.85);
  stroke-width: 1.2;
  filter: drop-shadow(0 0 8px rgba(56, 189, 248, 0.5));
}

.map-country-land.selected-country {
  fill: #0284c7 !important;
  stroke: #ffffff !important;
  stroke-width: 1.6;
  filter: drop-shadow(0 0 12px #38bdf8);
}

/* 50 US States Outline Layer (Active in USA 50 States View) */
.map-canada-land {
  fill: #090e17;
  stroke: rgba(255, 255, 255, 0.06);
  stroke-width: 0.6;
  pointer-events: none;
}

.map-state-land {
  fill: #0f172a;
  stroke: rgba(56, 189, 248, 0.28);
  stroke-width: 0.6;
  transition: fill 0.2s ease, stroke 0.2s ease, filter 0.2s ease;
  cursor: pointer;
}

.map-state-land:hover,
.map-state-land.state-hovered {
  fill: #1e3a8a !important;
  stroke: #38bdf8 !important;
  stroke-width: 1.4 !important;
  filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.7));
}

.map-state-land.selected-state {
  fill: #0284c7 !important;
  stroke: #ffffff !important;
  stroke-width: 2.2 !important;
  filter: drop-shadow(0 0 16px #38bdf8);
}

.state-back-btn {
  background: rgba(30, 41, 59, 0.85);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.state-back-btn:hover {
  background: rgba(56, 189, 248, 0.2);
  border-color: #38bdf8;
  color: #ffffff;
  transform: translateX(-3px);
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.4);
}

/* City Birthplace Filter Chips */
.city-chips-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 24px;
}

.city-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 9999px;
  font-size: 0.82rem;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.city-chip:hover {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.45);
  color: #ffffff;
  transform: translateY(-1px);
}

.city-chip.active {
  background: linear-gradient(135deg, rgba(2, 132, 199, 0.35), rgba(56, 189, 248, 0.2));
  border-color: #38bdf8;
  color: #38bdf8;
  font-weight: 700;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.35);
}

.city-chip-count {
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  padding: 1px 7px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

.city-chip.active .city-chip-count {
  background: #38bdf8;
  color: #0f172a;
  font-weight: 800;
}

/* Country & State Tooltip Card */
.map-tooltip {
  position: absolute;
  pointer-events: none;
  background: rgba(15, 23, 42, 0.96);
  border: 1px solid #38bdf8;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 0.8rem;
  color: #ffffff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.8);
  transform: translate(-50%, -120%);
  opacity: 0;
  transition: opacity 0.15s ease;
  z-index: 100;
}

/* Country Cards Carousel / Grid */
.countries-grid-section {
  margin-bottom: 36px;
}

.countries-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}

.country-preview-card {
  background: rgba(17, 24, 39, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 18px;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.country-preview-card:hover {
  border-color: rgba(56, 189, 248, 0.5);
  background: rgba(15, 23, 42, 0.9);
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), 0 0 18px rgba(56, 189, 248, 0.18);
}

.country-preview-card.selected {
  border-color: #38bdf8;
  box-shadow: 0 0 24px rgba(56, 189, 248, 0.3);
  background: rgba(14, 165, 233, 0.08);
}

.country-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.country-flag-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.country-flag-emoji {
  font-size: 1.8rem;
  line-height: 1;
}

.country-card-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #f3f4f6;
  letter-spacing: -0.01em;
}

.country-continent-badge {
  font-size: 0.68rem;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.country-pill-count {
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
  font-family: var(--font-mono, monospace);
  font-size: 0.74rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 9999px;
}

.country-top-scorer-row {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.8rem;
}

.country-ts-label {
  color: #9ca3af;
}

.country-ts-name {
  font-weight: 700;
  color: #f9fafb;
}

.country-ts-pts {
  font-family: var(--font-mono, monospace);
  color: #38bdf8;
  font-weight: 700;
}

/* Detailed Country Dossier Modal / View */
.country-dossier-container {
  background: rgba(15, 23, 42, 0.95);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 16px;
  padding: 26px;
  margin-bottom: 36px;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.8), 0 0 30px rgba(56, 189, 248, 0.15);
}

.dossier-hero {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.dossier-title-box {
  display: flex;
  align-items: center;
  gap: 16px;
}

.dossier-flag-large {
  font-size: 3.2rem;
  line-height: 1;
}

.dossier-country-name {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.02em;
}

.dossier-motto {
  font-size: 0.88rem;
  color: #38bdf8;
  font-weight: 600;
}

.dossier-stamp-action {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.stamp-passport-btn {
  background: linear-gradient(135deg, #eab308, #ca8a04);
  color: #0f172a;
  border: none;
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  padding: 10px 20px;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(234, 179, 8, 0.4);
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.stamp-passport-btn:hover {
  transform: scale(1.03);
  box-shadow: 0 6px 24px rgba(234, 179, 8, 0.6);
}

.stamp-passport-btn.stamped {
  background: rgba(34, 197, 94, 0.2);
  color: #4ade80;
  border: 1px solid rgba(34, 197, 94, 0.4);
  box-shadow: none;
  cursor: default;
}

.dossier-fact-alert {
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.dossier-fact-icon {
  font-size: 1.5rem;
}

.dossier-fact-text {
  font-size: 0.88rem;
  color: #e0f2fe;
  line-height: 1.5;
}

.dossier-records-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
  margin-bottom: 28px;
}

.dossier-record-pill {
  background: rgba(17, 24, 39, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 12px 14px;
}

.dossier-record-label {
  font-size: 0.72rem;
  font-weight: 700;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 4px;
}

.dossier-record-holder {
  font-size: 0.9rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dossier-record-val {
  font-family: var(--font-mono, monospace);
  font-size: 1rem;
  font-weight: 800;
  color: #38bdf8;
}

.dossier-roster-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: #f3f4f6;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dossier-roster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
}

.roster-player-card {
  background: rgba(17, 24, 39, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  position: relative;
}

.roster-player-card:hover {
  border-color: rgba(56, 189, 248, 0.5);
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6), 0 0 14px rgba(56, 189, 248, 0.18);
  background: rgba(22, 31, 50, 0.95);
}

.roster-player-card:hover .roster-name,
.roster-name-link:hover {
  color: #38bdf8 !important;
  text-decoration: underline;
}

.roster-player-card:hover .roster-avatar {
  border-color: rgba(56, 189, 248, 0.7);
  transform: scale(1.05);
}

.roster-name-link {
  text-decoration: none;
  display: inline-block;
  color: #ffffff;
  transition: color 0.15s ease;
}

.roster-avatar-link {
  display: block;
  flex-shrink: 0;
  text-decoration: none;
}

.roster-card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.roster-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  background: #1f2937;
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.roster-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
  transition: color 0.15s ease;
}

.roster-meta {
  font-size: 0.75rem;
  color: #9ca3af;
}

.roster-stats-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding: 8px;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  text-align: center;
  font-size: 0.78rem;
  margin-bottom: 8px;
}

.roster-stat-val {
  font-family: var(--font-mono, monospace);
  font-weight: 700;
  color: #f3f4f6;
}

.roster-stat-lbl {
  font-size: 0.65rem;
  color: #9ca3af;
  text-transform: uppercase;
}

.roster-card-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 0.7rem;
}

.roster-birthplace {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 4px;
  padding: 2px 7px;
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-radius: 6px;
  font-size: 0.72rem;
  font-family: var(--font-sans, sans-serif);
  color: #7dd3fc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.roster-birthplace .birthplace-pin {
  font-size: 0.75rem;
  line-height: 1;
}

/* Highlighted state when city filter is active */
.roster-player-card.roster-card-highlighted {
  border-color: #f59e0b;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.25);
  background: rgba(245, 158, 11, 0.06);
}

/* Dossier Birthplace Hotspots & Cities Ribbon */
.dossier-cities-ribbon {
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 24px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.dossier-cities-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.dossier-cities-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dossier-cities-icon {
  font-size: 1.2rem;
}

.dossier-cities-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: #f1f5f9;
  letter-spacing: -0.01em;
}

.dossier-cities-hint {
  font-size: 0.72rem;
  color: #94a3b8;
  font-style: italic;
}

.dossier-cities-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.city-chip {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #cbd5e1;
  font-family: var(--font-sans, sans-serif);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 9999px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.18s ease;
}

.city-chip:hover {
  background: rgba(245, 158, 11, 0.15);
  border-color: rgba(245, 158, 11, 0.45);
  color: #fef08a;
  transform: translateY(-1px);
}

.city-chip.active {
  background: #f59e0b;
  border-color: #fbbf24;
  color: #0f172a;
  font-weight: 800;
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.4);
}

.city-chip .city-count {
  background: rgba(0, 0, 0, 0.25);
  padding: 1px 6px;
  border-radius: 9999px;
  font-family: var(--font-mono, monospace);
  font-size: 0.7rem;
  font-weight: 700;
}

.city-chip.active .city-count {
  background: rgba(15, 23, 42, 0.35);
  color: #ffffff;
}

/* World Map City Node Markers */
.map-city-node {
  transition: transform 0.2s ease;
}

.map-city-node:hover circle:first-child {
  stroke: #ffffff;
  stroke-width: 0.6;
}

/* Europe Zoom Specific Adjustments */
#world-map-svg.is-europe-zoomed .map-country-land {
  stroke-width: 0.35;
}

#world-map-svg.is-europe-zoomed .map-country-land:hover,
#world-map-svg.is-europe-zoomed .map-country-land.country-hovered {
  stroke-width: 0.6;
}

#world-map-svg.is-europe-zoomed .map-country-land.selected-country {
  stroke-width: 0.8;
}

/* Animated Rubber Stamp */
@keyframes stampThud {
  0% {
    transform: scale(3) rotate(-25deg);
    opacity: 0;
  }
  60% {
    transform: scale(0.9) rotate(-4deg);
    opacity: 1;
  }
  100% {
    transform: scale(1) rotate(-6deg);
    opacity: 1;
  }
}

.passport-stamp-seal {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 14px 18px;
  border: 3px dashed #ca8a04;
  border-radius: 12px;
  background: rgba(234, 179, 8, 0.08);
  color: #fef08a;
  box-shadow: inset 0 0 14px rgba(234, 179, 8, 0.2);
  text-align: center;
  animation: stampThud 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

.stamp-remove-btn {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(239, 68, 68, 0.22);
  border: 1px solid rgba(239, 68, 68, 0.55);
  color: #fca5a5;
  font-size: 0.72rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.18s ease;
  padding: 0;
  line-height: 1;
  z-index: 10;
}

.stamp-remove-btn:hover {
  background: #ef4444;
  border-color: #f87171;
  color: #ffffff;
  transform: scale(1.15);
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.6);
}

.mini-stamp-remove-btn {
  background: transparent;
  border: none;
  color: #f87171;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
  padding: 0 2px;
  margin-left: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  line-height: 1;
}

.mini-stamp-remove-btn:hover {
  color: #ef4444;
  transform: scale(1.25);
}

.passport-stamp-seal .seal-flag {
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 4px;
}

.passport-stamp-seal .seal-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.passport-stamp-seal .seal-motto {
  font-size: 0.68rem;
  color: #fde047;
  font-style: italic;
}


/* ==========================================================================
   PAGE 4: NBA GUESS WHO GAME STYLES
   ========================================================================== */

.guess-who-page {
  padding-bottom: 60px;
}

.gw-hero-section {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.gw-stats-strip {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 10px 18px;
}

.gw-stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.gw-stat-num {
  font-family: var(--font-mono, monospace);
  font-size: 1.3rem;
  font-weight: 800;
  color: #38bdf8;
}

.gw-stat-lbl {
  font-size: 0.68rem;
  font-weight: 600;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.gw-difficulty-selector {
  display: flex;
  gap: 8px;
  background: rgba(255, 255, 255, 0.04);
  padding: 4px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.gw-diff-btn {
  background: transparent;
  border: none;
  color: #9ca3af;
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.gw-diff-btn.active {
  background: #38bdf8;
  color: #030712;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

/* Mystery Vault Header */
.gw-mystery-vault {
  background: linear-gradient(135deg, rgba(30, 27, 75, 0.85), rgba(15, 23, 42, 0.95));
  border: 2px solid rgba(168, 85, 247, 0.4);
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 24px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.7), 0 0 24px rgba(168, 85, 247, 0.15);
}

.gw-vault-left {
  display: flex;
  align-items: center;
  gap: 16px;
}

.gw-vault-box {
  width: 60px;
  height: 60px;
  border-radius: 12px;
  background: linear-gradient(135deg, #7c3aed, #4f46e5);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  color: #ffffff;
  box-shadow: 0 0 20px rgba(124, 58, 237, 0.5);
  animation: pulseGlow 2.5s infinite alternate;
}

@keyframes pulseGlow {
  0% { box-shadow: 0 0 14px rgba(124, 58, 237, 0.4); }
  100% { box-shadow: 0 0 28px rgba(124, 58, 237, 0.8); }
}

.gw-vault-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: #f3e8ff;
  letter-spacing: -0.01em;
}

.gw-vault-desc {
  font-size: 0.82rem;
  color: #c084fc;
}

.gw-clue-announcement {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(168, 85, 247, 0.3);
  border-radius: 10px;
  padding: 10px 18px;
  font-size: 0.95rem;
  font-weight: 700;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 280px;
}

.new-game-btn {
  background: linear-gradient(135deg, #38bdf8, #0284c7);
  color: #030712;
  border: none;
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  padding: 8px 18px;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(56, 189, 248, 0.3);
  transition: all 0.2s ease;
}

.new-game-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(56, 189, 248, 0.5);
}

/* Interrogation Question Categories */
.gw-question-console {
  background: rgba(15, 23, 42, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 28px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

.gw-console-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #f3f4f6;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.gw-category-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.gw-cat-tab {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #9ca3af;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.gw-cat-tab:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

.gw-cat-tab.active {
  background: rgba(56, 189, 248, 0.18);
  border-color: #38bdf8;
  color: #38bdf8;
}

.gw-questions-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.gw-question-pill {
  background: rgba(30, 41, 59, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e2e8f0;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.gw-question-pill:hover {
  background: rgba(56, 189, 248, 0.15);
  border-color: #38bdf8;
  color: #ffffff;
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(56, 189, 248, 0.2);
}

.gw-question-pill.asked {
  opacity: 0.4;
  pointer-events: none;
  text-decoration: line-through;
  background: rgba(0, 0, 0, 0.2);
}

/* 3D Flip Card Grid */
.gw-board-section {
  margin-bottom: 30px;
}

.gw-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
  gap: 12px;
  perspective: 1200px;
}

.gw-card-wrapper {
  height: 135px;
  perspective: 1000px;
  cursor: pointer;
}

.gw-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform 0.6s cubic-bezier(0.4, 0.2, 0.2, 1);
  transform-style: preserve-3d;
}

.gw-card-wrapper.flipped .gw-card-inner {
  transform: rotateY(180deg);
}

.gw-card-front, .gw-card-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}

.gw-card-front {
  background: linear-gradient(165deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.gw-card-wrapper:hover .gw-card-front {
  border-color: rgba(56, 189, 248, 0.6);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.7), 0 0 16px rgba(56, 189, 248, 0.2);
}

.gw-card-front .avatar-box {
  position: relative;
  width: 55px;
  height: 55px;
  margin: 6px auto 6px;
}

.gw-card-front .player-avatar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  background: #1f2937;
  border: 2px solid rgba(56, 189, 248, 0.4);
}

.gw-card-front .jersey-circle {
  position: absolute;
  bottom: 0;
  right: -2px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #38bdf8;
  color: #0f172a;
  font-family: var(--font-mono, monospace);
  font-weight: 800;
  font-size: 0.72rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.gw-card-front .player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 6px;
}

.gw-card-front .bio-pill {
  font-size: 0.7rem;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 8px;
}

.gw-card-front .stats-chips {
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-size: 0.68rem;
  color: #cbd5e1;
  background: rgba(0, 0, 0, 0.25);
  border-radius: 6px;
  padding: 6px;
  margin-bottom: 10px;
  margin-top: auto;
}

.gw-guess-btn {
  background: rgba(234, 179, 8, 0.15);
  border: 1px solid rgba(234, 179, 8, 0.4);
  color: #fef08a;
  font-family: 'Outfit', sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  padding: 4px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.gw-guess-btn:hover {
  background: #eab308;
  color: #0f172a;
  box-shadow: 0 0 12px rgba(234, 179, 8, 0.4);
}

/* Card Back (Eliminated Face) */
.gw-card-back {
  background: radial-gradient(circle at center, #1e1b4b 0%, #09090b 90%);
  border: 1px dashed rgba(239, 68, 68, 0.4);
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
}

.gw-eliminated-icon {
  font-size: 2.2rem;
  margin-bottom: 8px;
  opacity: 0.5;
}

.gw-eliminated-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.9rem;
  font-weight: 800;
  color: #f87171;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 6px;
  background: rgba(239, 68, 68, 0.1);
  margin-bottom: 10px;
}

.gw-unflip-btn {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #94a3b8;
  font-size: 0.68rem;
  padding: 4px 8px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.12s ease;
}

.gw-unflip-btn:hover {
  color: #ffffff;
  border-color: #ffffff;
}

/* Detective Clue Log Notebook */
.detective-notebook-card {
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 18px 22px;
}

.detective-log-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  color: #f3f4f6;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.detective-log-entries {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 220px;
  overflow-y: auto;
}

.detective-log-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 12px;
  background: rgba(0, 0, 0, 0.3);
  border-left: 3px solid #38bdf8;
  border-radius: 4px;
  font-size: 0.82rem;
}

.detective-log-row.verdict-no {
  border-left-color: #ef4444;
}

.detective-log-q {
  color: #e2e8f0;
  font-weight: 600;
}

.detective-log-ans {
  font-family: var(--font-mono, monospace);
  font-weight: 800;
  font-size: 0.85rem;
}

.detective-log-ans.yes {
  color: #4ade80;
}

.detective-log-ans.no {
  color: #f87171;
}

/* Victory & Deduction Modal */
.gw-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.gw-modal-backdrop.open {
  opacity: 1;
  pointer-events: auto;
}

.gw-modal-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.98), rgba(30, 27, 75, 0.95));
  border: 2px solid #eab308;
  border-radius: 20px;
  padding: 32px;
  max-width: 480px;
  width: 90%;
  text-align: center;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.9), 0 0 40px rgba(234, 179, 8, 0.3);
  transform: scale(0.9);
  transition: transform 0.25s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.gw-modal-backdrop.open .gw-modal-card {
  transform: scale(1);
}

.gw-modal-badge {
  font-size: 3.5rem;
  margin-bottom: 12px;
  line-height: 1;
}

.gw-modal-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #fef08a;
  margin-bottom: 8px;
}

.gw-modal-desc {
  font-size: 0.92rem;
  color: #cbd5e1;
  margin-bottom: 20px;
  line-height: 1.5;
}

.gw-modal-player-preview {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 14px;
  margin-bottom: 24px;
  text-align: left;
}

.gw-modal-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #eab308;
}

.gw-modal-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: #ffffff;
}

.gw-modal-fact {
  font-size: 0.78rem;
  color: #94a3b8;
}

.gw-play-again-btn {
  background: linear-gradient(135deg, #eab308, #ca8a04);
  color: #0f172a;
  border: none;
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  padding: 12px 28px;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(234, 179, 8, 0.4);
  transition: all 0.2s ease;
}

.gw-play-again-btn:hover {
  transform: scale(1.04);
  box-shadow: 0 6px 28px rgba(234, 179, 8, 0.6);
}


/* ==============================================================================
   BASKETBOTLE (Spotle-style NBA Deduction Game)
   ============================================================================== */

.basketbotle-container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 16px 20px 80px 20px;
}

.basketbotle-hero {
  text-align: center;
  margin-bottom: 28px;
  position: relative;
}

.basketbotle-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
  border-radius: 9999px;
  color: #34d399;
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 12px;
}

.basketbotle-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1.1;
  background: linear-gradient(135deg, #ffffff 30%, #34d399 75%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 8px;
}

.basketbotle-subtitle {
  color: #94a3b8;
  font-size: 1rem;
  max-width: 640px;
  margin: 0 auto 20px auto;
}

/* Controls Bar */
.basketbotle-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 24px;
  padding: 12px 18px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.bb-mode-pills {
  display: flex;
  gap: 8px;
}

.bb-mode-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bb-mode-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.bb-mode-btn.active {
  background: rgba(16, 185, 129, 0.2);
  border-color: #10b981;
  color: #34d399;
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.2);
}

.bb-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.bb-icon-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.bb-icon-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
}

/* Guess Status Header & Dots */
.bb-status-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding: 0 4px;
}

.bb-guess-counter {
  font-family: 'Geist Mono', monospace;
  font-size: 0.9rem;
  font-weight: 700;
  color: #f1f5f9;
}

.bb-dots-container {
  display: flex;
  gap: 6px;
}

.bb-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  transition: all 0.25s ease;
}

.bb-dot.used {
  background: #64748b;
  border-color: #94a3b8;
}

.bb-dot.won {
  background: #10b981;
  border-color: #34d399;
  box-shadow: 0 0 8px rgba(16, 185, 129, 0.6);
}

/* Search Input & Dropdown */
.bb-search-wrapper {
  position: relative;
  margin-bottom: 24px;
}

.bb-search-input-box {
  display: flex;
  align-items: center;
  background: rgba(15, 23, 42, 0.85);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  padding: 10px 16px;
  transition: all 0.25s ease;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}

.bb-search-input-box:focus-within {
  border-color: #10b981;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.25);
  background: rgba(15, 23, 42, 0.95);
}

.bb-search-icon {
  font-size: 1.1rem;
  margin-right: 12px;
  opacity: 0.6;
}

.bb-search-input {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 1.05rem;
  font-weight: 500;
}

.bb-search-input::placeholder {
  color: #64748b;
}

.bb-guess-btn {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff;
  border: none;
  padding: 8px 18px;
  border-radius: 10px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.3);
}

.bb-guess-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.45);
}

.bb-guess-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  box-shadow: none;
}

/* Search Dropdown */
.bb-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: rgba(15, 23, 42, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  max-height: 380px;
  overflow-y: auto;
  z-index: 100;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5);
  display: none;
}

.bb-dropdown.active {
  display: block;
}

.bb-dropdown-item {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  gap: 12px;
  cursor: pointer;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  transition: all 0.15s ease;
}

.bb-dropdown-item:last-child {
  border-bottom: none;
}

.bb-dropdown-item:hover,
.bb-dropdown-item.highlighted {
  background: rgba(16, 185, 129, 0.12);
}

.bb-item-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.bb-item-info {
  flex: 1;
  min-width: 0;
}

.bb-item-name {
  font-weight: 700;
  font-size: 0.95rem;
  color: #f1f5f9;
}

.bb-item-meta {
  font-size: 0.78rem;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 8px;
}

.bb-item-pill {
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 600;
  color: #cbd5e1;
}

/* ==============================================================================
   Guess Matrix / Board
   ============================================================================== */

.bb-board-wrapper {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 16px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  overflow-x: auto;
}

.bb-grid-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 8px;
  min-width: 820px;
}

.bb-grid-header th {
  padding: 10px 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
  text-align: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.bb-grid-header th.th-player {
  text-align: left;
  padding-left: 12px;
  min-width: 180px;
}

/* Cell Box */
.bb-cell {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px 10px;
  text-align: center;
  vertical-align: middle;
  transition: all 0.3s ease;
  font-size: 0.95rem;
  font-weight: 700;
  color: #f1f5f9;
  position: relative;
}

.bb-player-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  text-align: left;
  padding: 8px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
}

.bb-guess-num {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 800;
  width: 18px;
}

.bb-cell-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  background: rgba(0, 0, 0, 0.2);
}

.bb-cell-name {
  font-weight: 700;
  font-size: 0.92rem;
  color: #f8fafc;
  line-height: 1.2;
}

/* Direction Arrows */
.bb-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 6px;
  font-size: 0.85rem;
  font-weight: 900;
  vertical-align: middle;
  color: #ffffff !important;
}

.bb-arrow-up,
.bb-arrow-down {
  color: #ffffff !important;
}

.bb-arrow svg {
  display: inline-block;
  stroke: #ffffff !important;
  vertical-align: middle;
}

/* Category Specific Status Colors */
.tile-green {
  background: rgba(16, 185, 129, 0.25) !important;
  border: 1.5px solid #10b981 !important;
  color: #34d399 !important;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.25);
}

.tile-yellow {
  background: rgba(245, 158, 11, 0.25) !important;
  border: 1.5px solid #f59e0b !important;
  color: #fbbf24 !important;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.22);
}

.tile-gray {
  background: rgba(55, 65, 81, 0.35) !important;
  border: 1px solid rgba(156, 163, 175, 0.2) !important;
  color: #9ca3af !important;
}

/* Flip animation */
@keyframes tileReveal {
  0% {
    transform: rotateX(90deg);
    opacity: 0;
  }
  100% {
    transform: rotateX(0deg);
    opacity: 1;
  }
}

.bb-flip-reveal {
  animation: tileReveal 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

/* Empty Placeholder Rows */
.bb-empty-row td {
  height: 52px;
  background: rgba(255, 255, 255, 0.015);
  border: 1px dashed rgba(255, 255, 255, 0.05);
  border-radius: 10px;
}

/* ==============================================================================
   Modals (How to Play, Game Over / Victory, Stats)
   ============================================================================== */

.bb-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.bb-modal-overlay.active {
  display: flex;
}

.bb-modal-card {
  background: #0d131f;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  max-width: 540px;
  width: 100%;
  padding: 28px;
  position: relative;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.7), 0 0 30px rgba(16, 185, 129, 0.15);
  animation: modalPop 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 90vh;
  overflow-y: auto;
}

.bb-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  background: rgba(255, 255, 255, 0.06);
  border: none;
  color: #94a3b8;
  font-size: 1.2rem;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.bb-modal-close:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
}

.bb-modal-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 16px;
  text-align: center;
}

/* How to play guide items */
.bb-guide-item {
  display: flex;
  gap: 14px;
  margin-bottom: 16px;
  align-items: flex-start;
}

.bb-guide-demo-tile {
  width: 50px;
  height: 50px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.9rem;
  flex-shrink: 0;
}

.bb-guide-text h4 {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f8fafc;
  margin-bottom: 4px;
}

.bb-guide-text p {
  font-size: 0.84rem;
  color: #94a3b8;
  line-height: 1.4;
}

/* Victory Reveal Bio Card */
.bb-reveal-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 18px;
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
}

.bb-reveal-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #10b981;
  background: #000;
}

.bb-reveal-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 4px;
}

.bb-reveal-meta {
  font-size: 0.85rem;
  color: #94a3b8;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Stats distribution */
.bb-stats-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 24px;
  text-align: center;
}

.bb-stat-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 12px 6px;
}

.bb-stat-val {
  font-family: 'Geist Mono', monospace;
  font-size: 1.5rem;
  font-weight: 800;
  color: #34d399;
}

.bb-stat-lbl {
  font-size: 0.72rem;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-top: 4px;
}

/* Share & Play Again Buttons */
.bb-modal-actions {
  display: flex;
  gap: 12px;
  margin-top: 20px;
}

.bb-share-btn {
  flex: 1;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff;
  border: none;
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  padding: 12px;
  border-radius: 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 16px rgba(16, 185, 129, 0.35);
  transition: all 0.2s ease;
}

.bb-share-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(16, 185, 129, 0.5);
}

.bb-play-next-btn {
  flex: 1;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #f1f5f9;
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  padding: 12px;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.bb-play-next-btn:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* ==========================================================================
   PLAYER FINDER: FRANCHISE MULTI-SELECT POPUP MODAL (Geist Vercel Dark Standard)
   ========================================================================== */

.franchise-filter-control .btn-franchise-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px 12px;
  color: #f1f5f9;
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 0.85rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 4px;
}

.franchise-filter-control .btn-franchise-trigger:hover {
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

.franchise-trigger-content {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.franchise-trigger-icon {
  font-size: 1rem;
}

.franchise-trigger-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.franchise-trigger-pill {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  font-family: var(--font-mono, 'Geist Mono', monospace);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 12px;
  white-space: nowrap;
}

/* Modal Backdrop */
.franchise-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: fadeInModal 0.2s ease-out;
}

@keyframes fadeInModal {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* Modal Dialog */
.franchise-modal-dialog {
  background: #090a0d !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 18px !important;
  box-shadow: 0 25px 60px -12px rgba(0, 0, 0, 0.85), 0 0 50px rgba(56, 189, 248, 0.1) !important;
  max-width: 960px;
  width: 100%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: slideUpModal 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes slideUpModal {
  from { transform: translateY(20px) scale(0.98); opacity: 0; }
  to { transform: translateY(0) scale(1); opacity: 1; }
}

/* Modal Header */
.franchise-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.franchise-modal-header .modal-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.franchise-modal-header .modal-title-icon {
  font-size: 1.6rem;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.25);
  border-radius: 10px;
  padding: 6px 10px;
}

.franchise-modal-title {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-size: 1.35rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0;
  letter-spacing: -0.01em;
}

.franchise-modal-subtitle {
  font-size: 0.82rem;
  color: #94a3b8;
  margin: 3px 0 0;
}

.btn-modal-close {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-modal-close:hover {
  background: rgba(239, 68, 68, 0.15);
  border-color: rgba(239, 68, 68, 0.4);
  color: #ef4444;
}

/* Modal Controls Bar */
.franchise-modal-controls {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  flex-wrap: wrap;
  background: rgba(255, 255, 255, 0.015);
}

.franchise-search-box {
  flex: 1;
  min-width: 240px;
  position: relative;
  display: flex;
  align-items: center;
}

.franchise-search-box .search-lens-icon {
  position: absolute;
  left: 12px;
  font-size: 0.9rem;
  color: #64748b;
  pointer-events: none;
}

.franchise-search-input {
  width: 100%;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 9px 36px 9px 34px;
  color: #f1f5f9;
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 0.85rem;
  outline: none;
  transition: all 0.2s ease;
}

.franchise-search-input:focus {
  border-color: #38bdf8;
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.2);
}

.franchise-search-clear {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  font-size: 0.85rem;
  padding: 4px;
}

.franchise-search-clear:hover {
  color: #f1f5f9;
}

.franchise-mode-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.franchise-mode-label {
  font-size: 0.8rem;
  color: #94a3b8;
  font-weight: 500;
}

.franchise-match-toggle .pill-btn {
  font-size: 0.78rem;
  padding: 6px 12px;
}

/* Quick Selection Pills */
.franchise-quick-pills-row {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  background: rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  overflow-x: auto;
  white-space: nowrap;
}

.quick-pill-label {
  font-size: 0.75rem;
  color: #64748b;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-right: 4px;
}

.quick-sel-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 0.74rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.quick-sel-btn:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: rgba(255, 255, 255, 0.2);
  color: #ffffff;
}

.pill-divider {
  width: 1px;
  height: 18px;
  background: rgba(255, 255, 255, 0.1);
  margin: 0 2px;
}

/* Franchises Grid */
.franchises-grid-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 16px 24px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 10px;
  min-height: 280px;
  max-height: 50vh;
}

.franchise-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.18s ease;
  user-select: none;
  position: relative;
}

.franchise-card:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.2);
  transform: translateY(-1px);
}

.franchise-card.selected {
  background: rgba(56, 189, 248, 0.09);
  border-color: #38bdf8;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.22);
}

.franchise-card-badge {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono, 'Geist Mono', monospace);
  font-size: 0.85rem;
  font-weight: 800;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  flex-shrink: 0;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}

.franchise-card-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.franchise-card-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.franchise-card-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 2px;
  font-size: 0.72rem;
  color: #94a3b8;
}

.franchise-card-meta .meta-div {
  color: #64748b;
}

.franchise-card-alias {
  font-size: 0.68rem;
  color: #38bdf8;
  opacity: 0.85;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.franchise-card-check {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 1.5px solid rgba(255, 255, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s ease;
  color: transparent;
  font-weight: 800;
  font-size: 0.75rem;
}

.franchise-card.selected .franchise-card-check {
  background: #38bdf8;
  border-color: #38bdf8;
  color: #0b0f19;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.4);
}

/* Modal Footer */
.franchise-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.35);
  flex-wrap: wrap;
  gap: 12px;
}

.modal-footer-summary {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.modal-count-highlight {
  font-size: 0.88rem;
  font-weight: 700;
  color: #38bdf8;
  font-family: var(--font-mono, 'Geist Mono', monospace);
}

.modal-match-preview {
  font-size: 0.74rem;
  color: #94a3b8;
}

.modal-footer-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn-modal-cancel {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-modal-cancel:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.btn-modal-apply {
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  border: 1px solid #38bdf8;
  color: #ffffff;
  font-family: var(--font-sans, 'Inter', sans-serif);
  font-size: 0.85rem;
  font-weight: 700;
  padding: 8px 22px;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.4);
  transition: all 0.2s ease;
}

.btn-modal-apply:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(2, 132, 199, 0.6);
}

/* Player Table Franchise Badges */
.player-franchise-pill {
  display: inline-block;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1px 5px;
  border-radius: 4px;
  font-family: var(--font-mono, 'Geist Mono', monospace);
  font-size: 0.68rem;
  color: #94a3b8;
  margin-left: 6px;
  letter-spacing: 0.03em;
  vertical-align: middle;
}

/* Admin Logout Button */
.admin-logout-btn {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #f87171;
  font-family: var(--font-mono, 'Geist Mono', monospace);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 5px 13px;
  border-radius: 9999px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
}

.admin-logout-btn:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.6);
  color: #fca5a5;
  transform: translateY(-1px);
}


/* ==========================================================================
   DRAFT OUTCOMES (STEALS & BUSTS) & PLAYER SPECTRUM EVALUATOR
   ========================================================================== */

/* Outcome Mode Toggle (Draft Steals vs Draft Busts) */
.outcome-mode-toggle {
  display: flex;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  padding: 4px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.outcome-mode-toggle .pill-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 18px;
  font-size: 0.85rem;
  font-weight: 600;
  border-radius: 20px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.outcome-mode-toggle .pill-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.outcome-mode-toggle .pill-btn.active[data-mode="steals"] {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(6, 182, 212, 0.18));
  border-color: rgba(16, 185, 129, 0.5);
  color: #34d399;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.25);
}

.outcome-mode-toggle .pill-btn.active[data-mode="busts"] {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.24), rgba(225, 29, 72, 0.2));
  border-color: rgba(239, 68, 68, 0.55);
  color: #f87171;
  box-shadow: 0 0 18px rgba(239, 68, 68, 0.28);
}

/* Player Steal vs. Bust Evaluator Card */
.evaluator-card {
  margin-bottom: 24px;
  padding: 24px 28px;
  border-radius: 16px;
  background: rgba(15, 15, 20, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(16px);
  overflow: visible !important;
}

.evaluator-header {
  margin-bottom: 18px;
}

.evaluator-body,
.eval-search-row {
  position: relative;
  width: 100%;
  overflow: visible !important;
}

.search-autocomplete-box.wide {
  width: 100%;
}

.eval-input {
  width: 100%;
  padding: 13px 40px 13px 44px;
  font-size: 0.95rem;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  color: #ffffff;
  transition: all 0.2s ease;
}

.eval-input:focus {
  outline: none;
  border-color: rgba(56, 189, 248, 0.6);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.25);
  background: rgba(0, 0, 0, 0.65);
}

.eval-clear-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.1);
  border: none;
  color: var(--text-secondary);
  font-size: 0.85rem;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  z-index: 10;
}

.eval-clear-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

/* Evaluator Autocomplete Dropdown (Matches Career Trajectory) */
#eval-autocomplete-list.autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #0d0f17;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  max-height: 340px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(20px);
}

.eval-item-pick-badge {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.25);
}

/* Uniform draft pick badges for All-Time Steals & Busts Table */
.outcomes-table .pick-badge,
#outcomes-table .pick-badge,
.pick-badge.uniform-pick-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  min-width: 54px;
  max-width: 54px;
  box-sizing: border-box;
  text-align: center;
}

/* Evaluator Result Report Container */
.eval-report-container {
  margin-top: 24px;
  padding: 24px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  animation: evalFadeIn 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes evalFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.eval-player-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.eval-player-bio {
  display: flex;
  align-items: center;
  gap: 18px;
}

.eval-player-avatar {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.05);
  border: 2px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

.eval-player-name {
  font-size: 1.45rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 4px 0;
  letter-spacing: -0.02em;
}

.eval-player-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.eval-verdict-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  border-radius: 20px;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: 0.01em;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.verdict-legendary {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.3), rgba(245, 158, 11, 0.25));
  border: 1px solid #10b981;
  color: #34d399;
  text-shadow: 0 0 10px rgba(16, 185, 129, 0.5);
}

.verdict-steal {
  background: rgba(16, 185, 129, 0.2);
  border: 1px solid #10b981;
  color: #34d399;
}

.verdict-solid {
  background: rgba(6, 182, 212, 0.2);
  border: 1px solid #06b6d4;
  color: #22d3ee;
}

.verdict-expected {
  background: rgba(148, 163, 184, 0.18);
  border: 1px solid #94a3b8;
  color: #e2e8f0;
}

.verdict-underperformer {
  background: rgba(245, 158, 11, 0.2);
  border: 1px solid #f59e0b;
  color: #fbbf24;
}

.verdict-bust {
  background: rgba(244, 63, 94, 0.22);
  border: 1px solid #f43f5e;
  color: #fb7185;
}

.verdict-historic {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.35), rgba(153, 27, 27, 0.5));
  border: 1px solid #ef4444;
  color: #f87171;
  text-shadow: 0 0 10px rgba(239, 68, 68, 0.6);
}

/* Visual Steal vs. Bust Spectrum Gauge */
.spectrum-box {
  margin: 28px 0 24px 0;
  padding: 20px 24px;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.spectrum-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.spectrum-title {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
}

.spectrum-score-pill {
  font-family: var(--font-mono);
  font-size: 0.85rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.spectrum-track-wrapper {
  position: relative;
  margin: 28px 0 14px 0;
}

.spectrum-track {
  height: 14px;
  border-radius: 8px;
  background: linear-gradient(
    90deg,
    #ef4444 0%,
    #f97316 18%,
    #f59e0b 35%,
    #64748b 50%,
    #06b6d4 65%,
    #10b981 82%,
    #a855f7 95%,
    #fbbf24 100%
  );
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.7), 0 0 16px rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.15);
}

.spectrum-needle {
  position: absolute;
  top: -12px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: left 0.6s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.spectrum-needle-pin {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #ffffff;
  border: 3px solid #000000;
  box-shadow: 0 0 14px #ffffff, 0 4px 8px rgba(0, 0, 0, 0.8);
  animation: needleGlow 2s infinite alternate;
}

@keyframes needleGlow {
  0% { transform: scale(1); box-shadow: 0 0 10px #ffffff; }
  100% { transform: scale(1.18); box-shadow: 0 0 20px #38bdf8; }
}

.spectrum-needle-arrow {
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 7px solid #ffffff;
  margin-top: -2px;
}

.spectrum-scale-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  font-size: 0.72rem;
  font-family: var(--font-mono);
  color: var(--text-tertiary);
}

.spectrum-scale-labels span {
  white-space: nowrap;
}

/* Evaluator Stats Grid */
.eval-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
  margin: 20px 0;
}

.eval-stat-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 12px 14px;
  text-align: center;
}

.eval-stat-label {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-tertiary);
  margin-bottom: 4px;
}

.eval-stat-value {
  font-family: var(--font-mono);
  font-size: 1.15rem;
  font-weight: 700;
  color: #ededed;
}

.eval-stat-sub {
  font-size: 0.72rem;
  font-family: var(--font-mono);
  color: var(--text-secondary);
  margin-top: 2px;
}

.eval-stat-surplus {
  color: #34d399 !important;
}

.eval-stat-deficit {
  color: #f87171 !important;
}

.eval-narrative-box {
  padding: 14px 18px;
  border-radius: 10px;
  background: rgba(56, 189, 248, 0.05);
  border: 1px solid rgba(56, 189, 248, 0.2);
  color: #e0f2fe;
  font-size: 0.88rem;
  line-height: 1.5;
}

/* Career Stage Badges */
.eval-stage-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 0.76rem;
  font-weight: 600;
  font-family: var(--font-mono);
  letter-spacing: 0.02em;
}

.eval-stage-active {
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34d399;
}

.eval-stage-retired {
  background: rgba(148, 163, 184, 0.12);
  border: 1px solid rgba(148, 163, 184, 0.3);
  color: #cbd5e1;
}

.table-stage-pill {
  display: inline-block;
  font-size: 0.68rem;
  padding: 1px 6px;
  border-radius: 8px;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.25);
  color: #38bdf8;
  font-family: var(--font-mono);
  margin-top: 3px;
  white-space: nowrap;
}

/* Outcomes Hero Header & Integrated Title Toggle */
.outcomes-title-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin: 0 0 8px 0;
}

.title-draft-word {
  font-size: 2.1rem;
  font-weight: 800;
  font-family: var(--font-sans);
  letter-spacing: -0.02em;
  color: #ffffff;
}

.outcomes-title-pill-toggle {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 20px;
  padding: 3px;
  gap: 4px;
  height: 38px;
  box-sizing: border-box;
}

.outcomes-title-pill-toggle .pill-btn {
  height: 30px;
  padding: 0 16px;
  font-size: 0.9rem;
  font-weight: 700;
  border-radius: 16px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
}

.outcomes-title-pill-toggle .pill-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.outcomes-title-pill-toggle .pill-btn.active#outcome-mode-steals {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.25), rgba(59, 130, 246, 0.25));
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.4);
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.25);
}

.outcomes-title-pill-toggle .pill-btn.active#outcome-mode-busts {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(249, 115, 22, 0.25));
  color: #fca5a5;
  border-color: rgba(239, 68, 68, 0.4);
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.25);
}

/* Outcomes Filter Toolbar (Standard Capsule Design System) */
.outcomes-filter-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 14px;
  padding: 14px 18px;
  margin-bottom: 24px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
}

/* Slider Filter Capsules */
.slider-filter-wrapper {
  height: 36px;
  min-height: 36px;
  border-radius: 20px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.slider-filter-wrapper:hover {
  border-color: var(--border-medium);
}

.dual-slider-container {
  position: relative;
  width: 110px;
  height: 24px;
  display: flex;
  align-items: center;
  margin: 0 4px;
}

.dual-slider-track-bg {
  position: absolute;
  width: 100%;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.12);
}

.dual-slider-track-fill {
  position: absolute;
  height: 4px;
  border-radius: 2px;
  background: linear-gradient(90deg, #38bdf8, #818cf8);
  pointer-events: none;
}

.dual-range-input {
  position: absolute;
  width: 100%;
  height: 4px;
  background: none;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  outline: none;
}

.dual-range-input::-webkit-slider-thumb {
  pointer-events: auto;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #38bdf8;
  cursor: pointer;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  -webkit-appearance: none;
  transition: transform 0.1s ease, border-color 0.1s ease;
}

.dual-range-input::-webkit-slider-thumb:hover {
  transform: scale(1.18);
  border-color: #60a5fa;
}

.dual-range-input::-moz-range-thumb {
  pointer-events: auto;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #ffffff;
  border: 2px solid #38bdf8;
  cursor: pointer;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.5);
  transition: transform 0.1s ease;
}

.dual-range-input::-moz-range-thumb:hover {
  transform: scale(1.18);
}

.quick-preset-chips {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.preset-chip {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  padding: 2px 7px;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.preset-chip:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.18);
}

.preset-chip.active {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.35);
}

/* Multi-Select Popovers (Franchise & Position) */
.multi-select-wrapper {
  position: relative;
  height: 36px;
  min-height: 36px;
  border-radius: 20px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  transition: border-color 0.2s, box-shadow 0.2s;
  box-sizing: border-box;
}

.multi-select-wrapper:hover {
  border-color: var(--border-medium);
}

.multi-select-trigger {
  background: transparent;
  border: none;
  color: var(--text-primary);
  font-family: var(--font-sans);
  font-size: 0.82rem;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  padding: 0;
  outline: none;
  max-width: 170px;
}

.multi-select-trigger span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.multi-select-popover {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 1050;
  width: 290px;
  background: rgba(14, 14, 18, 0.97);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.popover-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 6px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.popover-title {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.popover-actions {
  display: flex;
  gap: 8px;
}

.popover-action-btn {
  background: none;
  border: none;
  color: #38bdf8;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  transition: color 0.15s;
}

.popover-action-btn:hover {
  color: #7dd3fc;
  text-decoration: underline;
}

.popover-search-box {
  position: relative;
}

.popover-search-input {
  width: 100%;
  height: 30px;
  padding: 0 8px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  color: #ffffff;
  font-size: 0.78rem;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s;
}

.popover-search-input:focus {
  border-color: rgba(56, 189, 248, 0.4);
}

.popover-options-list {
  max-height: 220px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.popover-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.8rem;
  color: #e5e7eb;
  transition: background 0.12s;
  user-select: none;
}

.popover-checkbox-label:hover {
  background: rgba(255, 255, 255, 0.06);
}

.popover-checkbox-label input[type="checkbox"] {
  accent-color: #38bdf8;
  width: 14px;
  height: 14px;
  cursor: pointer;
}

.popover-team-logo {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

/* Origin Autocomplete Dropdown (Career Trajectory Style) */
#outcome-origin-dropdown.autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #0d0d0d;
  border: 1px solid var(--border-medium, rgba(255, 255, 255, 0.15));
  border-radius: 8px;
  max-height: 320px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.85);
  display: none;
}

.origin-item-icon {
  font-size: 1.15rem;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.origin-count-badge {
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  color: var(--accent-gold, #fbbf24);
  border: 1px solid rgba(251, 191, 36, 0.25);
  white-space: nowrap;
}

.btn-reset-filters {
  height: 36px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 8px;
  background: var(--bg-surface, #0d0d0d);
  border: 1px solid var(--border-subtle, rgba(255, 255, 255, 0.1));
  color: var(--text-secondary);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.btn-reset-filters:hover {
  background: var(--bg-surface-hover, rgba(255, 255, 255, 0.08));
  color: #ffffff;
  border-color: var(--border-medium, rgba(255, 255, 255, 0.25));
}

/* Bust Podium Cards Styling */
.podium-card.podium-bust-1 {
  border: 1px solid rgba(239, 68, 68, 0.45);
  background: linear-gradient(150deg, rgba(239, 68, 68, 0.15), rgba(15, 15, 20, 0.85));
  box-shadow: 0 10px 30px rgba(239, 68, 68, 0.2);
}

.podium-card.podium-bust-1:hover {
  border-color: #ef4444;
  box-shadow: 0 14px 40px rgba(239, 68, 68, 0.35);
}

.podium-card.podium-bust-2 {
  border: 1px solid rgba(244, 63, 94, 0.4);
  background: linear-gradient(150deg, rgba(244, 63, 94, 0.12), rgba(15, 15, 20, 0.85));
  box-shadow: 0 10px 30px rgba(244, 63, 94, 0.16);
}

.podium-card.podium-bust-2:hover {
  border-color: #f43f5e;
  box-shadow: 0 14px 40px rgba(244, 63, 94, 0.3);
}

.podium-card.podium-bust-3 {
  border: 1px solid rgba(249, 115, 22, 0.38);
  background: linear-gradient(150deg, rgba(249, 115, 22, 0.1), rgba(15, 15, 20, 0.85));
  box-shadow: 0 10px 30px rgba(249, 115, 22, 0.14);
}

.podium-card.podium-bust-3:hover {
  border-color: #f97316;
  box-shadow: 0 14px 40px rgba(249, 115, 22, 0.25);
}

.podium-rank-tag.bust-tag {
  background: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.4);
}

/* Outcome Value Column Styling */
.outcome-surplus {
  color: #34d399 !important;
  font-weight: 700;
}

.outcome-deficit {
  color: #f87171 !important;
  font-weight: 700;
}

/* ==========================================================================
   CARD SPECIAL EFFECTS: INNOVATIVE THEMES & LITERAL ANKLE BREAKER
   Applies to both Platinum (.fx-[name]) and Diamond (.dfx-[name])
   ========================================================================== */

/* --------------------------------------------------------------------------
   SHARED INNOVATIVE OVERLAY BASE
   -------------------------------------------------------------------------- */
.platinum-special-overlay,
.diamond-special-overlay {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  overflow: hidden;
  z-index: 10;
}

/* ==========================================================================
   EFFECT: ANKLE BREAKER (LITERAL BREAK!) (crossover)
   ========================================================================== */
.trading-card.tier-platinum.fx-crossover,
.card-detail-card.tier-platinum.fx-crossover,
.cards-collection-grid.fx-crossover .trading-card.tier-platinum,
.trading-card.tier-diamond.dfx-crossover,
.card-detail-card.tier-diamond.dfx-crossover,
.cards-collection-grid.dfx-crossover .trading-card.tier-diamond {
  border: 3px solid #ef4444 !important;
  background: radial-gradient(circle at 50% 65%, #2a0808 0%, #170404 55%, #080101 100%) !important;
  box-shadow: 0 0 35px rgba(239, 68, 68, 0.75), 0 0 70px rgba(249, 115, 22, 0.5), inset 0 0 25px rgba(239, 68, 68, 0.35) !important;
  animation: ankle-break-card-pulse 2.4s ease-in-out infinite alternate !important;
}

@keyframes ankle-break-card-pulse {
  0% { border-color: #ef4444; box-shadow: 0 0 25px rgba(239, 68, 68, 0.6), 0 0 50px rgba(249, 115, 22, 0.35); }
  41% { border-color: #f97316; }
  42% { border-color: #ffffff; box-shadow: 0 0 60px #ffffff, 0 0 100px #ef4444; }
  45% { border-color: #ef4444; box-shadow: 0 0 45px rgba(239, 68, 68, 0.9), 0 0 85px rgba(249, 115, 22, 0.6); }
  100% { border-color: #dc2626; box-shadow: 0 0 30px rgba(220, 38, 38, 0.7), 0 0 60px rgba(249, 115, 22, 0.4); }
}

.trading-card.tier-platinum.fx-crossover .card-tier-banner,
.card-detail-card.tier-platinum.fx-crossover .card-tier-banner,
.cards-collection-grid.fx-crossover .trading-card.tier-platinum .card-tier-banner,
.trading-card.tier-diamond.dfx-crossover .card-tier-banner,
.card-detail-card.tier-diamond.dfx-crossover .card-tier-banner,
.cards-collection-grid.dfx-crossover .trading-card.tier-diamond .card-tier-banner {
  background: linear-gradient(135deg, #fef08a 0%, #f97316 40%, #dc2626 75%, #991b1b 100%) !important;
  color: #ffffff !important;
  font-weight: 900 !important;
  letter-spacing: 1.5px !important;
  border: 1px solid #fef08a !important;
  text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), 0 0 16px #ef4444 !important;
}

/* Hardwood Court Skids */
.ankle-break-court {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.court-skid {
  position: absolute;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(90deg, transparent 0%, #1c1917 25%, #ef4444 60%, #fbbf24 80%, transparent 100%);
  box-shadow: 0 0 10px #ef4444, 0 0 18px #f97316;
}
.court-skid.skid-left {
  bottom: 22%;
  left: 6%;
  width: 44%;
  transform: rotate(-18deg);
  animation: skid-burn-left 2.4s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}
.court-skid.skid-right {
  bottom: 18%;
  right: 6%;
  width: 48%;
  transform: rotate(16deg);
  animation: skid-burn-right 2.4s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}
@keyframes skid-burn-left {
  0%, 30% { transform: scaleX(0.4) translateX(-20px) rotate(-14deg); opacity: 0.1; }
  38% { transform: scaleX(1.25) translateX(6px) rotate(-18deg); opacity: 1; filter: brightness(2); }
  70% { opacity: 0.7; }
  100% { transform: scaleX(0.8) translateX(0) rotate(-16deg); opacity: 0.2; }
}
@keyframes skid-burn-right {
  0%, 32% { transform: scaleX(0.4) translateX(20px) rotate(12deg); opacity: 0.1; }
  40% { transform: scaleX(1.3) translateX(-6px) rotate(16deg); opacity: 1; filter: brightness(2); }
  70% { opacity: 0.7; }
  100% { transform: scaleX(0.8) translateX(0) rotate(14deg); opacity: 0.2; }
}

/* The Literal Ankle Break Rig */
.ankle-break-rig {
  position: absolute;
  bottom: 6%;
  left: 50%;
  transform: translateX(-50%);
  width: 130px;
  height: 155px;
  pointer-events: none;
}
.bone-shin-container {
  position: absolute;
  top: 0;
  left: 45px;
  width: 40px;
  height: 85px;
  filter: drop-shadow(0 0 10px #38bdf8) drop-shadow(0 0 18px rgba(56, 189, 248, 0.4));
  animation: shin-bone-shake 2.4s ease-in-out infinite;
}
.bone-tibia-svg {
  width: 100%;
  height: 100%;
}
@keyframes shin-bone-shake {
  0%, 35% { transform: rotate(0deg); }
  38% { transform: rotate(6deg); }
  42% { transform: rotate(-3deg) translateY(-2px); }
  43%, 70% { transform: rotate(1deg); }
  100% { transform: rotate(0deg); }
}

/* Ankle Joint & Snapping Foot */
.ankle-joint-pivot {
  position: absolute;
  top: 68px;
  left: 38px;
  width: 55px;
  height: 80px;
  transform-origin: 27px 12px;
  animation: literal-ankle-snap 2.4s cubic-bezier(0.2, 0.8, 0.2, 1) infinite;
}
@keyframes literal-ankle-snap {
  0%, 28% {
    transform: rotate(0deg) translate(0, 0);
  }
  35% {
    transform: rotate(16deg) translate(6px, -2px); /* aggressive lateral juke */
  }
  41% {
    transform: rotate(-12deg) translate(-4px, 1px); /* sudden crossover change of direction */
  }
  42% {
    /* THE LITERAL SNAP: Snaps unnaturally at 95 degrees */
    transform: rotate(-95deg) translate(-14px, 12px);
    filter: drop-shadow(0 0 20px #ef4444) brightness(2.2);
  }
  43% {
    transform: rotate(-98deg) translate(-16px, 14px);
  }
  45% {
    transform: rotate(-93deg) translate(-13px, 11px);
  }
  48% {
    transform: rotate(-96deg) translate(-15px, 13px);
  }
  55%, 72% {
    /* Hanging broken, vibrating in shock */
    transform: rotate(-94deg) translate(-14px, 12px);
  }
  85% {
    /* Recovering */
    transform: rotate(-20deg) translate(-3px, 2px);
    opacity: 0.6;
  }
  95%, 100% {
    transform: rotate(0deg) translate(0, 0);
    opacity: 1;
  }
}

.bone-fracture-svg {
  position: absolute;
  top: -8px;
  left: -2px;
  width: 60px;
  height: 40px;
  z-index: 5;
  overflow: visible;
}
.fracture-lightning {
  animation: fracture-flash 2.4s ease-out infinite;
}
@keyframes fracture-flash {
  0%, 41% { opacity: 0; stroke-dasharray: 60; stroke-dashoffset: 60; }
  42% { opacity: 1; stroke-dashoffset: 0; stroke: #ffffff; filter: drop-shadow(0 0 12px #ffffff); }
  44% { opacity: 1; stroke: #ef4444; filter: drop-shadow(0 0 15px #ef4444); }
  65% { opacity: 0.8; stroke: #f97316; }
  80%, 100% { opacity: 0; }
}

.broken-sneaker-foot {
  position: absolute;
  top: 10px;
  left: -22px;
  width: 100px;
  height: 60px;
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.8));
}
.sneaker-svg {
  width: 100%;
  height: 100%;
}

/* Comic Book Exploding Bubble: CRACK! */
.ankle-crack-burst {
  position: absolute;
  top: 48%;
  left: 54%;
  width: 86px;
  height: 86px;
  transform: translate(-50%, -50%) scale(0);
  pointer-events: none;
  z-index: 20;
  animation: crack-pop-burst 2.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) infinite;
}
.crack-star-svg {
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 0 12px #ef4444);
}
.crack-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  color: #fef08a;
  text-shadow: 2px 2px 0 #991b1b, -2px -2px 0 #991b1b, 2px -2px 0 #991b1b, -2px 2px 0 #991b1b, 0 0 10px #ffffff;
  transform: rotate(-10deg);
  letter-spacing: 0.5px;
}
@keyframes crack-pop-burst {
  0%, 41% { transform: translate(-50%, -50%) scale(0) rotate(-20deg); opacity: 0; }
  42% { transform: translate(-50%, -50%) scale(1.35) rotate(-6deg); opacity: 1; filter: brightness(1.8); }
  45% { transform: translate(-50%, -50%) scale(1.1) rotate(-8deg); opacity: 1; }
  68% { transform: translate(-50%, -50%) scale(1) rotate(-8deg); opacity: 0.9; }
  78%, 100% { transform: translate(-50%, -50%) scale(0.3) rotate(15deg); opacity: 0; }
}

/* Shockwave Rings */
.ankle-shockwave {
  position: absolute;
  bottom: 22%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 2px solid #ef4444;
  opacity: 0;
  pointer-events: none;
}
.ankle-shockwave.asw1 {
  animation: shockwave-expand 2.4s cubic-bezier(0.1, 0.9, 0.2, 1) infinite;
}
.ankle-shockwave.asw2 {
  animation: shockwave-expand 2.4s cubic-bezier(0.1, 0.9, 0.2, 1) 0.15s infinite;
}
@keyframes shockwave-expand {
  0%, 41% { width: 10px; height: 10px; opacity: 0; }
  42% { width: 20px; height: 20px; opacity: 1; border-color: #ffffff; }
  65% { width: 220px; height: 140px; opacity: 0; border-color: #ef4444; }
  100% { width: 240px; height: 160px; opacity: 0; }
}

/* ==========================================================================
   UNSIGNED / NEVER PLAYED PLAYER MODAL (DRAFT CLASS EXPLORER)
   ========================================================================== */
.draft-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.draft-modal-backdrop.is-active {
  display: flex;
  opacity: 1;
  pointer-events: auto;
}

.draft-modal-dialog {
  position: relative;
  width: 92%;
  max-width: 500px;
  background: #090d16;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 26px 28px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.9), 0 0 40px rgba(56, 189, 248, 0.08);
  transform: scale(0.95);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.draft-modal-backdrop.is-active .draft-modal-dialog {
  transform: scale(1);
}

.draft-modal-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.draft-modal-avatar-wrap {
  position: relative;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--bg-tertiary);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  flex-shrink: 0;
}

.draft-modal-avatar {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

.draft-modal-team-badge {
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #0f172a;
  border: 1px solid rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.draft-modal-team-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.draft-modal-meta {
  flex: 1;
  min-width: 0;
}

.draft-modal-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  font-family: var(--font-mono, monospace);
  background: rgba(234, 179, 8, 0.12);
  color: #facc15;
  border: 1px solid rgba(234, 179, 8, 0.3);
  margin-bottom: 4px;
}

.draft-modal-name {
  font-size: 1.3rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 3px 0;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.draft-modal-sub {
  font-size: 0.8rem;
  color: var(--text-secondary);
  font-family: var(--font-mono, monospace);
  line-height: 1.3;
}

.draft-modal-notice-box {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
}

.draft-modal-notice-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: 0.9rem;
  color: #f1f5f9;
  margin-bottom: 6px;
}

.draft-modal-notice-text {
  font-size: 0.83rem;
  line-height: 1.5;
  color: #94a3b8;
  margin: 0;
}

.draft-modal-notice-sub {
  font-size: 0.78rem;
  line-height: 1.4;
  color: #64748b;
  margin: 8px 0 0 0;
}

.draft-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-bottom: 20px;
}

.draft-modal-cell {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 10px 12px;
}

.draft-modal-cell-lbl {
  font-size: 0.7rem;
  font-family: var(--font-mono, monospace);
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 3px;
}

.draft-modal-cell-val {
  font-size: 0.88rem;
  font-weight: 700;
  color: #ffffff;
  font-family: var(--font-mono, monospace);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* --- Left Column: Trivia Arena Card --- */
.trivia-arena-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  padding: 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.85), rgba(30, 41, 59, 0.6));
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.trivia-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.trivia-date-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--text-primary);
}

.trivia-calendar-icon {
  font-size: 1.1rem;
}

.trivia-tags-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.trivia-category-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.4);
  color: #fbbf24;
  font-family: 'Outfit', sans-serif;
  font-size: 0.76rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.trivia-difficulty-pill {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
}

.trivia-mode-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 8px;
  border-radius: 6px;
}

.trivia-mode-pill.daily-mode {
  background: rgba(168, 85, 247, 0.15);
  border: 1px solid rgba(168, 85, 247, 0.4);
  color: #d8b4fe;
}

.trivia-mode-pill.practice-mode {
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34d399;
}

/* Question Prompt Box */
.trivia-question-box {
  margin-bottom: 24px;
}

.trivia-q-number {
  font-family: 'Geist Mono', monospace;
  font-size: 1.05rem;
  font-weight: 800;
  color: #38bdf8;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.trivia-question-prompt {
  font-family: 'Outfit', sans-serif;
  font-size: 1.35rem;
  font-weight: 800;
  line-height: 1.4;
  color: #ffffff;
  margin: 0;
}

/* 5 Multiple Choice Options */
.trivia-options-container {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.trivia-option-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 14px;
  background: rgba(30, 41, 59, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-family: 'Geist', sans-serif;
  font-size: 0.98rem;
  font-weight: 600;
  color: #f1f5f9;
  text-align: left;
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}

.trivia-option-btn:hover:not(:disabled) {
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.5);
  transform: translateX(4px);
  box-shadow: 0 4px 16px rgba(56, 189, 248, 0.16);
  color: #ffffff;
}

.trivia-option-btn .option-letter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  color: #38bdf8;
  flex-shrink: 0;
}

.trivia-option-btn .option-text {
  flex: 1;
}

.option-player-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #0f172a;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
  margin-left: auto;
  margin-right: 4px;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.trivia-option-btn:hover:not(:disabled) .option-player-avatar {
  border-color: rgba(56, 189, 248, 0.7);
  transform: scale(1.08);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.35);
}

.trivia-option-btn .option-status-icon {
  font-size: 1.1rem;
  flex-shrink: 0;
}

/* Correct / Incorrect Option States */
.trivia-option-btn.option-correct {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.28), rgba(5, 150, 105, 0.4)) !important;
  border-color: #10b981 !important;
  box-shadow: 0 0 18px rgba(16, 185, 129, 0.45) !important;
  color: #ffffff !important;
}

.trivia-option-btn.option-correct .option-letter {
  background: #10b981 !important;
  color: #ffffff !important;
  border-color: #10b981 !important;
}

.trivia-option-btn.option-correct .option-player-avatar {
  border-color: #10b981 !important;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.6) !important;
}

.trivia-option-btn.option-correct.is-clickable {
  cursor: pointer !important;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.trivia-option-btn.option-correct.is-clickable:hover {
  transform: translateY(-2px) scale(1.01);
  box-shadow: 0 0 24px rgba(16, 185, 129, 0.65) !important;
  border-color: #34d399 !important;
}

.trivia-option-btn.option-correct.is-clickable:active {
  transform: translateY(0);
}

.option-trajectory-hint {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  background: rgba(16, 185, 129, 0.25);
  border: 1px solid rgba(16, 185, 129, 0.5);
  border-radius: 9999px;
  color: #a7f3d0;
  margin-left: 8px;
  letter-spacing: 0.03em;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
}

.trivia-option-btn.option-correct.is-clickable:hover .option-trajectory-hint {
  background: rgba(16, 185, 129, 0.45);
  border-color: #34d399;
  color: #ffffff;
}

.trivia-option-btn.option-incorrect {
  background: linear-gradient(135deg, rgba(244, 63, 94, 0.28), rgba(225, 29, 72, 0.4)) !important;
  border-color: #f43f5e !important;
  box-shadow: 0 0 18px rgba(244, 63, 94, 0.45) !important;
  color: #ffffff !important;
}

.trivia-option-btn.option-incorrect .option-letter {
  background: #f43f5e !important;
  color: #ffffff !important;
  border-color: #f43f5e !important;
}

.trivia-option-btn.option-incorrect .option-player-avatar {
  border-color: #f43f5e !important;
  box-shadow: 0 0 12px rgba(244, 63, 94, 0.6) !important;
}

.trivia-option-btn.option-dimmed {
  opacity: 0.4;
  filter: grayscale(0.6);
}

/* Post-Submission Reveal Card */
.trivia-reveal-panel {
  margin-top: 20px;
  animation: fadeInReveal 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes fadeInReveal {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.reveal-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding: 18px 22px;
  border-radius: 16px;
  margin-bottom: 16px;
  position: relative;
  overflow: hidden;
}

.reveal-banner-main {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 240px;
}

.reveal-text-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.reveal-player-spotlight {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 14px;
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 14px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
  flex-shrink: 0;
  animation: fadeInReveal 0.35s ease-out;
}

.reveal-player-spotlight.is-clickable {
  cursor: pointer;
  transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);
  user-select: none;
  border-color: rgba(56, 189, 248, 0.35);
}

.reveal-player-spotlight.is-clickable:hover {
  background: rgba(15, 23, 42, 0.95);
  border-color: #38bdf8;
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(56, 189, 248, 0.35);
}

.reveal-player-spotlight.is-clickable:hover .reveal-player-name {
  color: #38bdf8;
}

.reveal-player-spotlight.is-clickable:active {
  transform: translateY(0);
}

.reveal-player-spotlight.is-clickable .external-icon {
  font-size: 0.75rem;
  opacity: 0.85;
  margin-left: 2px;
}

.reveal-player-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #0f172a;
  border: 2px solid #38bdf8;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.35);
  flex-shrink: 0;
}

.banner-correct .reveal-player-avatar {
  border-color: #10b981;
  box-shadow: 0 0 16px rgba(16, 185, 129, 0.5);
}

.banner-incorrect .reveal-player-avatar {
  border-color: #fbbf24;
  box-shadow: 0 0 16px rgba(251, 191, 36, 0.45);
}

.reveal-player-meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.reveal-player-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-tertiary);
}

.banner-correct .reveal-player-tag {
  color: #34d399;
}

.banner-incorrect .reveal-player-tag {
  color: #fbbf24;
}

.reveal-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  max-width: 170px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.reveal-banner.banner-correct {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.2), rgba(5, 150, 105, 0.28));
  border: 1px solid rgba(16, 185, 129, 0.5);
}

.reveal-banner.banner-incorrect {
  background: linear-gradient(135deg, rgba(244, 63, 94, 0.2), rgba(225, 29, 72, 0.28));
  border: 1px solid rgba(244, 63, 94, 0.5);
}

.reveal-status-icon {
  font-size: 2rem;
  flex-shrink: 0;
}

.reveal-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0 0 4px 0;
}

.reveal-subtitle {
  font-size: 0.85rem;
  color: var(--text-secondary);
}

.reveal-explanation-box {
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 20px;
}

.reveal-sec-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  color: #38bdf8;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}

.reveal-text {
  font-size: 0.92rem;
  line-height: 1.6;
  color: #e2e8f0;
  margin: 0 0 14px 0;
}

.reveal-fun-fact {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.3);
  border-radius: 10px;
  padding: 12px 14px;
  font-size: 0.85rem;
  color: #fde68a;
  line-height: 1.5;
}

.reveal-fun-fact .fun-fact-icon {
  font-size: 1.2rem;
  flex-shrink: 0;
}

.trivia-actions-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.btn-share {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff !important;
  font-weight: 700;
}


/* --- Right Column: Streaks & Analytics Vault --- */
.trivia-stats-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  padding: 24px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.85), rgba(30, 41, 59, 0.6));
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.card-header-styled {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.header-icon-pill {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(249, 115, 22, 0.15);
  border: 1px solid rgba(249, 115, 22, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  flex-shrink: 0;
}

.stats-panel-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0;
}

.stats-panel-subtitle {
  font-size: 0.75rem;
  color: var(--text-tertiary);
}

/* Streak Tiles Grid */
.streak-tiles-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-bottom: 18px;
}

.streak-tile {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(30, 41, 59, 0.5);
}

.streak-tile.streak-win {
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.15), rgba(234, 88, 12, 0.22));
  border-color: rgba(249, 115, 22, 0.4);
}

.streak-tile.streak-best {
  background: linear-gradient(135deg, rgba(234, 179, 8, 0.15), rgba(202, 138, 4, 0.22));
  border-color: rgba(234, 179, 8, 0.4);
}

.streak-tile.streak-loss {
  background: linear-gradient(135deg, rgba(56, 189, 248, 0.12), rgba(14, 165, 233, 0.18));
  border-color: rgba(56, 189, 248, 0.35);
}

.streak-tile .streak-icon {
  font-size: 1.4rem;
  flex-shrink: 0;
}

.streak-tile .streak-val {
  font-family: 'Outfit', sans-serif;
  font-size: 1.3rem;
  font-weight: 900;
  color: #ffffff;
  line-height: 1;
}

.streak-tile .streak-lbl {
  font-size: 0.68rem;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  margin-top: 3px;
}

/* Trivia Metrics Grid */
.trivia-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 22px;
}

@media (max-width: 600px) {
  .trivia-metrics-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.metric-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 6px;
  border-radius: 12px;
  background: rgba(30, 41, 59, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.metric-box:hover {
  background: rgba(30, 41, 59, 0.7);
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.metric-box .metric-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.64rem;
  font-weight: 700;
  color: var(--text-tertiary);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 5px;
  white-space: nowrap;
}

.metric-box .metric-val {
  font-family: 'Outfit', sans-serif;
  font-size: 1.35rem;
  font-weight: 900;
  line-height: 1.1;
  color: #ffffff;
}

.text-emerald {
  color: #10b981 !important;
}

.text-rose {
  color: #f43f5e !important;
}

.text-cyan {
  color: #38bdf8 !important;
}

.text-amber {
  color: #fbbf24 !important;
}

/* Category Diagnostics */
.category-diagnostics-section {
  padding-top: 16px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.diagnostics-header {
  font-family: 'Outfit', sans-serif;
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 0 12px 0;
}

.diagnostic-cards-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 18px;
  transition: all 0.25s ease;
}

.diagnostic-cards-grid.single-card {
  grid-template-columns: 1fr;
}

.diagnostic-card {
  padding: 12px 14px;
  border-radius: 12px;
  background: rgba(30, 41, 59, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  transition: all 0.25s ease;
}

.best-category-card {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.12), rgba(5, 150, 105, 0.18));
  border-color: rgba(16, 185, 129, 0.35);
}

.worst-category-card {
  background: linear-gradient(135deg, rgba(244, 63, 94, 0.12), rgba(225, 29, 72, 0.18));
  border-color: rgba(244, 63, 94, 0.35);
}

.diagnostic-top {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 6px;
}

.diag-tag {
  font-family: 'Outfit', sans-serif;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.diag-tag.best-tag {
  color: #34d399;
}

.diag-tag.worst-tag {
  color: #fb7185;
}

.diag-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.92rem;
  font-weight: 800;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 2px;
}

.diag-sub {
  font-size: 0.72rem;
  color: var(--text-tertiary);
}

/* Category Progress Bars */
.category-bars-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.category-bar-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cat-bar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.78rem;
}

.cat-bar-name {
  font-weight: 600;
  color: #e2e8f0;
}

.cat-bar-score {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  color: var(--text-tertiary);
}

.cat-progress-track {
  height: 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.cat-progress-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #38bdf8, #818cf8);
  transition: width 0.4s ease;
}

.stats-footer-note {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.7rem;
  color: var(--text-tertiary);
}

.btn-text-subtle {
  background: none;
  border: none;
  color: #f43f5e;
  font-size: 0.72rem;
  font-weight: 600;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
}

.btn-text-subtle:hover {
  text-decoration: underline;
}

/* ==========================================================================
   Franchise Records (Team Lab Tab 3) Styling
   ========================================================================== */

.records-kings-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}

@media (max-width: 1400px) {
  .records-kings-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .records-kings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .records-kings-grid {
    grid-template-columns: 1fr;
  }
}

.king-stat-card {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  overflow: hidden;
  min-height: auto;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.king-stat-card::before,
.king-stat-card.crown-gold::before {
  display: none !important;
}

.king-stat-card:hover {
  transform: translateY(-2px);
  border-color: rgba(56, 189, 248, 0.4);
  background: rgba(255, 255, 255, 0.04);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.king-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.king-card-label {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-tertiary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.king-card-icon {
  font-size: 1.1rem;
}

.king-player-header {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.king-player-name {
  font-size: 0.96rem;
  font-weight: 800;
  color: var(--text-primary);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.king-player-header .pos-badge {
  flex-shrink: 0;
}

.king-player-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.king-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--bg-tertiary);
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45);
  flex-shrink: 0;
}

.king-player-info {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.king-player-tenure {
  font-size: 0.74rem;
  font-family: var(--font-mono);
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.king-player-sub {
  font-size: 0.72rem;
  font-family: var(--font-mono);
  color: var(--text-tertiary);
  white-space: nowrap;
}

.king-val-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  padding-top: 6px;
  margin-top: 4px;
}

.king-val-big {
  font-family: var(--font-mono);
  font-size: 1.25rem;
  font-weight: 800;
  color: #38bdf8;
}

.king-stat-card.crown-gold .king-val-big {
  color: #fbbf24;
}

.king-val-sub {
  font-family: var(--font-mono);
  font-size: 0.75rem;
  color: var(--text-tertiary);
}

/* Rank Badges */
/* Rank Badges */
.rank-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  border-radius: 50%;
  font-family: var(--font-mono);
  font-size: 0.88rem;
  font-weight: 800;
}

.rank-gold {
  background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%);
  color: #000;
  box-shadow: 0 0 10px rgba(251, 191, 36, 0.4);
}

.rank-silver {
  background: linear-gradient(135deg, #e2e8f0 0%, #94a3b8 100%);
  color: #000;
  box-shadow: 0 0 8px rgba(226, 232, 240, 0.3);
}

.rank-bronze {
  background: linear-gradient(135deg, #d97706 0%, #92400e 100%);
  color: #fff;
  box-shadow: 0 0 8px rgba(217, 119, 6, 0.3);
}

.rank-default {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-secondary);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Franchise Records Table: 50% Taller Rows, Flush Left Alignment & Scaled Typography */
#franchise-records-table {
  width: 100%;
  border-collapse: collapse;
}

#franchise-records-table thead th {
  padding: 14px 16px;
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-tertiary);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

#franchise-records-table thead th.col-player {
  text-align: left;
  padding-left: 16px;
}

#franchise-records-table tbody td {
  padding: 18px 16px;
  vertical-align: middle;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

#franchise-records-table tbody tr {
  transition: background 0.18s ease;
}

#franchise-records-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.035);
}

#franchise-records-table tbody tr.clickable-row {
  cursor: pointer;
}

#franchise-records-table tbody tr.clickable-row:hover {
  background: rgba(56, 189, 248, 0.07);
}

#franchise-records-table tbody tr.clickable-row:hover .player-cell-name {
  color: #38bdf8;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.back-to-franchise-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-subtle);
  border-radius: 8px;
  color: var(--text-secondary);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.back-to-franchise-btn:hover {
  background: rgba(56, 189, 248, 0.1);
  border-color: rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  transform: translateX(-2px);
}

.back-to-franchise-btn .back-icon {
  font-size: 1rem;
  transition: transform 0.2s ease;
}

.back-to-franchise-btn:hover .back-icon {
  transform: translateX(-3px);
}

.player-cell-box {
  display: flex;
  align-items: center;
  gap: 16px;
  text-align: left;
}

.player-table-avatar {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  object-fit: cover;
  object-position: top center;
  background: #0f172a;
  border: 1.5px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.45);
  flex-shrink: 0;
}

.player-cell-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 3px;
  min-width: 0;
}

.player-cell-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #ffffff;
}

/* ==========================================================================
   PAGE 3: ICE IN THEIR VEINS: NBA CLUTCH LAB
   ========================================================================== */
.clutch-lab-page {
  background: #090d16;
  color: #f8fafc;
  min-height: 100vh;
}

.clutch-main-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 20px 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.clutch-hero-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.clutch-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #ffffff 0%, #38bdf8 60%, #0284c7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0;
}

.clutch-hero-desc {
  font-size: 0.88rem;
  color: #94a3b8;
  max-width: 780px;
  margin: 4px 0 0 0;
  line-height: 1.45;
}

.clutch-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 10px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.clutch-filter-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.clutch-ctrl-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.08em;
}

.clutch-filter-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.clutch-pill {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.clutch-pill:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
}

.clutch-pill.active {
  background: #38bdf8;
  color: #090d16;
  border-color: #38bdf8;
  font-weight: 800;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

.clutch-stat-badge {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 4px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.cs-num {
  font-family: 'Geist Mono', monospace;
  font-size: 1.1rem;
  font-weight: 900;
  color: #38bdf8;
}

.cs-lbl {
  font-size: 0.72rem;
  color: #94a3b8;
}

/* 2-Column Visual Stage */
.clutch-visual-stage {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 20px;
  align-items: stretch;
}

.clutch-court-panel {
  background: rgba(13, 17, 26, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.court-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.court-panel-title-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.court-panel-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: #cbd5e1;
}

.court-toggle-btn {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.45);
  color: #38bdf8;
  font-family: 'Outfit', sans-serif;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 3px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  outline: none;
}

.court-toggle-btn:hover {
  background: #38bdf8;
  color: #090d16;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

.court-panel-hint {
  font-family: 'Geist Mono', monospace;
  font-size: 0.64rem;
  color: #64748b;
}

.clutch-court-canvas-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}

.clutch-court-video-wrap {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  min-height: 480px;
  animation: clutchFadeSlideDown 0.25s ease-out;
}

.court-video-aspect-container {
  position: relative;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 12px;
  overflow: hidden;
  background: #000000;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.85), 0 0 28px rgba(56, 189, 248, 0.25);
  border: 1.5px solid rgba(56, 189, 248, 0.45);
}

.court-video-aspect-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.court-video-caption-bar {
  margin-top: 14px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.court-caption-icon {
  font-size: 1rem;
  flex-shrink: 0;
}

.court-video-caption-quote {
  font-size: 0.82rem;
  font-style: italic;
  color: #e2e8f0;
  line-height: 1.4;
}

.clutch-halfcourt-svg {
  width: 100%;
  max-width: 500px;
  height: auto;
  border-radius: 12px;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.9);
}

.court-shot-marker:hover .marker-pulse-ring {
  stroke-width: 3;
  stroke: #38bdf8;
}

.court-shot-marker.selected .marker-core-dot {
  fill: #38bdf8;
  filter: drop-shadow(0 0 8px #38bdf8);
}

/* Frozen Spotlight Hero Card */
.clutch-hero-card-panel {
  display: flex;
}

.frozen-card-glass {
  width: 100%;
  background: linear-gradient(180deg, rgba(20, 32, 54, 0.85) 0%, rgba(10, 16, 28, 0.95) 100%);
  border: 1.5px solid rgba(56, 189, 248, 0.4);
  border-radius: 16px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.7), inset 0 0 30px rgba(56, 189, 248, 0.08);
  box-sizing: border-box;
}

.frozen-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.frozen-hero-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 900;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  padding: 3px 9px;
  border-radius: 6px;
}

.frozen-time-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.76rem;
  font-weight: 800;
  color: #ef4444;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  padding: 2px 8px;
  border-radius: 4px;
}

.frozen-player-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.frozen-avatar-wrap {
  position: relative;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 2px solid #38bdf8;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.5);
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.35);
  flex-shrink: 0;
}

.frozen-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.frozen-ice-flake {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 0.8rem;
}

.frozen-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.4rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0;
}

.frozen-sub-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
}

.frozen-team-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  color: #38bdf8;
}

.frozen-date-tag {
  font-size: 0.72rem;
  color: #94a3b8;
}

.frozen-metrics-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background: rgba(0, 0, 0, 0.35);
  border-radius: 10px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.f-metric-box {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.f-lbl {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6rem;
  font-weight: 800;
  color: #64748b;
}

.f-val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.86rem;
  font-weight: 700;
  color: #e2e8f0;
}

.f-val.score {
  color: #38bdf8;
  font-weight: 900;
}

.f-val.dist {
  color: #fbbf24;
}

.f-val.def {
  color: #cbd5e1;
}

.frozen-broadcast-call {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 8px 12px;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.mic-icon {
  font-size: 0.95rem;
  flex-shrink: 0;
}

.call-quote {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-style: italic;
  color: #e2e8f0;
  line-height: 1.4;
}

.frozen-desc-text {
  font-size: 0.78rem;
  color: #94a3b8;
  line-height: 1.45;
  margin: 0;
}

.frozen-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.frozen-replay-btn,
.frozen-youtube-btn,
.frozen-profile-btn,
.frozen-hud-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  font-family: 'Outfit', sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  border-radius: 8px;
  padding: 8px 16px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.15s ease;
  box-sizing: border-box;
  width: 100%;
}

.frozen-replay-btn:hover {
  background: #38bdf8;
  color: #090d16;
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.4);
}

.frozen-youtube-btn {
  background: rgba(255, 0, 0, 0.12);
  border-color: rgba(255, 0, 0, 0.35);
  color: #ffffff;
}

.frozen-youtube-btn:hover {
  background: #ef4444;
  border-color: #ef4444;
  color: #ffffff;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.5);
}

.frozen-profile-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.18);
  color: #e2e8f0;
}

.frozen-profile-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.2);
}

/* Clutch Vault Table */
.clutch-vault-section {
  background: rgba(13, 17, 26, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.vault-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.vault-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0;
}

.vault-subtitle {
  font-size: 0.75rem;
  color: #94a3b8;
}

.clutch-table-wrapper {
  overflow-x: auto;
}

.clutch-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8rem;
  text-align: center;
}

.clutch-table th {
  background: rgba(255, 255, 255, 0.05);
  color: #94a3b8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  font-weight: 800;
  padding: 8px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  letter-spacing: 0.06em;
}

.clutch-table th.sortable-th {
  cursor: pointer;
  user-select: none;
  transition: all 0.15s ease;
  white-space: nowrap;
}

.clutch-table th.sortable-th:hover {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.12);
}

.clutch-table th.sortable-th.active-sort {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.16);
  border-bottom: 2px solid #38bdf8;
}

.clutch-table th.sortable-th .sort-icon {
  display: inline-block;
  font-size: 0.65rem;
  margin-left: 4px;
  color: #64748b;
  opacity: 0.7;
  transition: all 0.15s ease;
  vertical-align: middle;
}

.clutch-table th.sortable-th:hover .sort-icon {
  color: #38bdf8;
  opacity: 1;
}

.clutch-table th.sortable-th.active-sort .sort-icon {
  color: #38bdf8;
  opacity: 1;
  font-weight: 900;
}

.clutch-table td {
  padding: 10px 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: #cbd5e1;
}

.clutch-score-cell {
  white-space: nowrap !important;
}

.clutch-row {
  cursor: pointer;
  transition: background 0.12s;
}

.clutch-row:hover {
  background: rgba(56, 189, 248, 0.08);
}

.clutch-row.active-row {
  background: rgba(56, 189, 248, 0.16);
  border-left: 3px solid #38bdf8;
}

.table-player-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.table-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.4);
}

.table-p-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.table-p-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  color: #ffffff;
}

.table-p-badge {
  font-size: 0.65rem;
  color: #38bdf8;
}

.table-team-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.74rem;
  font-weight: 800;
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  padding: 2px 6px;
  border-radius: 4px;
}

.table-team-pill.opp {
  background: rgba(244, 63, 94, 0.15);
  color: #f43f5e;
}

.table-stage-tag {
  font-size: 0.72rem;
  color: #94a3b8;
}

.table-youtube-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  background: rgba(255, 0, 0, 0.08);
  border: 1px solid rgba(255, 0, 0, 0.22);
  border-radius: 6px;
  cursor: pointer;
  text-decoration: none;
  outline: none;
  font: inherit;
  color: inherit;
  transition: all 0.15s ease;
}

.table-youtube-btn:hover {
  background: rgba(255, 0, 0, 0.22);
  border-color: rgba(255, 0, 0, 0.55);
  transform: scale(1.14);
  box-shadow: 0 0 12px rgba(255, 0, 0, 0.45);
}

.table-youtube-btn .youtube-svg-icon {
  width: 22px;
  height: 22px;
  display: block;
}

.table-watch-arc-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #ffffff;
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 4px 10px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.12s;
}

.table-watch-arc-btn:hover {
  background: #38bdf8;
  color: #090d16;
}

.clutch-row.isolated-active-row {
  background: rgba(239, 68, 68, 0.12) !important;
  border-left: 3px solid #ef4444 !important;
}

.clutch-row.isolated-active-row:hover {
  background: rgba(239, 68, 68, 0.18) !important;
}

.table-youtube-btn.active-playing {
  background: rgba(255, 0, 0, 0.35);
  border-color: #ff0000;
  box-shadow: 0 0 16px rgba(255, 0, 0, 0.65);
  transform: scale(1.12);
}

.clutch-video-dropdown-row {
  background: rgba(15, 23, 42, 0.7);
  animation: clutchFadeSlideDown 0.25s ease-out;
}

@keyframes clutchFadeSlideDown {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.clutch-video-dropdown-cell {
  padding: 6px 14px 20px 14px !important;
  border-bottom: 2px solid rgba(239, 68, 68, 0.4) !important;
}

.clutch-video-dropdown-card {
  background: linear-gradient(180deg, rgba(24, 33, 53, 0.95) 0%, rgba(15, 23, 42, 0.98) 100%);
  border: 1px solid rgba(239, 68, 68, 0.4);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.65), 0 0 24px rgba(239, 68, 68, 0.15);
  padding: 16px 20px;
}

.clutch-video-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.clutch-video-info {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.clutch-video-badge {
  font-size: 0.72rem;
  font-weight: 800;
  background: rgba(239, 68, 68, 0.2);
  color: #fca5a5;
  border: 1px solid rgba(239, 68, 68, 0.4);
  padding: 3px 8px;
  border-radius: 6px;
  letter-spacing: 0.02em;
}

.clutch-video-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: #ffffff;
}

.clutch-video-clock {
  font-family: 'Geist Mono', monospace;
  font-size: 0.8rem;
  font-weight: 800;
  color: #ef4444;
  background: rgba(239, 68, 68, 0.12);
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid rgba(239, 68, 68, 0.25);
}

.clutch-video-close-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  background: rgba(239, 68, 68, 0.16);
  border: 1px solid rgba(239, 68, 68, 0.45);
  color: #fecaca;
  padding: 6px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.clutch-video-close-btn:hover {
  background: #ef4444;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4);
}

.clutch-video-player-container {
  position: relative;
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
  background: #000000;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.clutch-video-iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.clutch-video-details-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}

.clutch-video-quote {
  font-size: 0.86rem;
  color: #cbd5e1;
  display: flex;
  align-items: center;
  gap: 8px;
  font-style: italic;
  max-width: 620px;
}

.clutch-video-quote .quote-icon {
  font-style: normal;
  font-size: 1rem;
}

.clutch-video-specs {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 0.78rem;
  color: #94a3b8;
  flex-wrap: wrap;
}

.clutch-video-specs .spec-item strong {
  color: #e2e8f0;
}

.clutch-video-ext-link {
  color: #ef4444;
  font-family: 'Outfit', sans-serif;
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 0, 0, 0.08);
  border: 1px solid rgba(255, 0, 0, 0.25);
  padding: 3px 8px;
  border-radius: 5px;
  transition: all 0.15s ease;
}

.clutch-video-ext-link:hover {
  background: rgba(255, 0, 0, 0.2);
  border-color: #ef4444;
  color: #ffffff;
  text-decoration: none;
}

@media (max-width: 960px) {
  .clutch-visual-stage {
    grid-template-columns: 1fr;
  }
}

/* ==============================================================================
   SITUATIONAL CONTEXT FILTER MATRIX & CRUNCHTIME PROFILE HUD (ITEM 7)
   ============================================================================== */

.clutch-matrix-container {
  background: rgba(13, 17, 23, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

.clutch-matrix-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.clutch-search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  flex: 1;
  max-width: 460px;
  min-width: 260px;
}

.clutch-search-icon {
  position: absolute;
  left: 12px;
  font-size: 0.85rem;
  opacity: 0.6;
  pointer-events: none;
}

.clutch-search-input {
  width: 100%;
  height: 38px;
  padding: 0 34px 0 36px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #f1f5f9;
  font-family: 'Geist Mono', monospace;
  font-size: 0.82rem;
  outline: none;
  transition: all 0.2s ease;
}

.clutch-search-input:focus {
  border-color: #38bdf8;
  background: rgba(15, 23, 42, 0.6);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.25);
}

.clutch-search-clear {
  position: absolute;
  right: 10px;
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.4);
  font-size: 0.85rem;
  cursor: pointer;
  padding: 4px;
}

.clutch-search-clear:hover {
  color: #ffffff;
}

.clutch-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.clutch-reset-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 7px;
  color: #94a3b8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 7px 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.clutch-reset-btn:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.25);
  background: rgba(255, 255, 255, 0.1);
}

.clutch-counter-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(56, 189, 248, 0.08);
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-radius: 7px;
  padding: 6px 12px;
  font-family: 'Geist Mono', monospace;
}

.clutch-counter-badge .counter-num {
  font-size: 0.85rem;
  font-weight: 900;
  color: #38bdf8;
}

.clutch-counter-badge .counter-lbl {
  font-size: 0.72rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.55);
}

.clutch-filter-row {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.clutch-dimension-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.55);
  letter-spacing: 0.5px;
  min-width: 115px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.clutch-dimension-label .dim-icon {
  font-size: 0.85rem;
}

.clutch-filter-pills {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: center;
}

.clutch-pill {
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.035);
  color: #94a3b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  user-select: none;
}

.clutch-pill:hover {
  border-color: rgba(56, 189, 248, 0.35);
  color: #ffffff;
  background: rgba(56, 189, 248, 0.08);
}

.clutch-pill.active {
  background: #38bdf8;
  color: #020617;
  border-color: #38bdf8;
  font-weight: 800;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.35);
}

/* Spotlight Card HUD Button */
.frozen-hud-btn {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  font-size: 0.84rem;
  padding: 8px 16px;
  border-radius: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  gap: 6px;
  box-sizing: border-box;
  transition: all 0.2s ease;
}

.frozen-hud-btn:hover {
  background: rgba(56, 189, 248, 0.28);
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.45);
  color: #ffffff;
  transform: translateY(-1px);
}

/* Table Player Link to HUD */
.table-p-name-btn {
  background: none;
  border: none;
  padding: 0;
  color: #f1f5f9;
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
  transition: color 0.15s ease;
}

.table-p-name-btn:hover {
  color: #38bdf8;
  text-decoration: underline;
}

.table-avatar-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  border-radius: 50%;
  display: inline-flex;
}

.table-avatar-btn:hover img {
  border-color: #38bdf8;
  transform: scale(1.06);
}

/* Clutch Player Profile Modal / Drawer */
.clutch-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  animation: fadeIn 0.2s ease-out;
}

.clutch-profile-drawer {
  max-width: 840px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98) 0%, rgba(10, 14, 23, 0.99) 100%);
  border: 1px solid rgba(56, 189, 248, 0.28);
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.85), 0 0 35px rgba(56, 189, 248, 0.18);
  display: flex;
  flex-direction: column;
  gap: 20px;
  color: #f1f5f9;
}

.hud-drawer-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 12px;
}

.hud-header-title-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hud-icon {
  font-size: 1.25rem;
}

.hud-drawer-title {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: #38bdf8;
  text-transform: uppercase;
}

.hud-close-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  color: #cbd5e1;
  font-size: 1rem;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.hud-close-btn:hover {
  background: rgba(239, 68, 68, 0.2);
  border-color: #ef4444;
  color: #ef4444;
}

.hud-hero-section {
  display: flex;
  gap: 20px;
  align-items: center;
  background: rgba(15, 23, 42, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  padding: 16px 20px;
}

.hud-avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.hud-avatar {
  width: 88px;
  height: 88px;
  border-radius: 50%;
  object-fit: cover;
  border: 2.5px solid #38bdf8;
  background: #0b0f17;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.35);
}

.hud-avatar-snowflake {
  position: absolute;
  bottom: -4px;
  right: -4px;
  font-size: 1.1rem;
  background: #0f172a;
  border-radius: 50%;
  padding: 2px;
  border: 1px solid #38bdf8;
}

.hud-hero-details {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.hud-hero-name {
  margin: 0;
  font-family: 'Outfit', sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  color: #ffffff;
}

.hud-hero-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.6);
  flex-wrap: wrap;
}

.hud-pos-pill {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.3);
  color: #38bdf8;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 700;
}

.hud-badges-wrap {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.hud-badge-chip {
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #f59e0b;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 5px;
}

.hud-section-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.hud-matrix-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}

.hud-stat-card {
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  transition: all 0.2s ease;
}

.hud-stat-card:hover {
  border-color: rgba(56, 189, 248, 0.4);
  background: rgba(15, 23, 42, 0.5);
}

.hud-stat-num {
  font-family: 'Geist Mono', monospace;
  font-size: 1.35rem;
  font-weight: 900;
  color: #38bdf8;
  line-height: 1.1;
}

.hud-stat-num.gold {
  color: #fbbf24;
}

.hud-stat-num.crimson {
  color: #ef4444;
}

.hud-stat-lbl {
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  color: #e2e8f0;
}

.hud-stat-sub {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.45);
}

.hud-vault-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}

.hud-vault-card {
  background: rgba(15, 23, 42, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.hud-vault-card:hover {
  border-color: #38bdf8;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.5), 0 0 12px rgba(56, 189, 248, 0.2);
}

.hud-vault-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hud-vault-badge {
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #ef4444;
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
}

.hud-vault-time {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  color: #fbbf24;
}

.hud-vault-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.2;
}

.hud-vault-details {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.6);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hud-vault-play-btn {
  background: rgba(56, 189, 248, 0.15);
  border: 1px solid rgba(56, 189, 248, 0.35);
  color: #38bdf8;
  font-family: 'Outfit', sans-serif;
  font-size: 0.76rem;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  transition: all 0.15s ease;
  margin-top: 4px;
}

.hud-vault-play-btn:hover {
  background: #38bdf8;
  color: #020617;
  font-weight: 800;
}

.hud-action-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 14px;
  flex-wrap: wrap;
  gap: 12px;
}

.hud-trajectory-link {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #38bdf8;
  padding: 8px 14px;
  border-radius: 8px;
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.hud-trajectory-link:hover {
  background: rgba(56, 189, 248, 0.15);
  border-color: #38bdf8;
  color: #ffffff;
  text-decoration: none;
}

/* ==========================================================================
   PAGE 4: PLAYER DNA: STAT TWIN & HISTORICAL CLONE MACHINE
   ========================================================================== */
.player-dna-page {
  background: #090d16;
  color: #f8fafc;
  min-height: 100vh;
}

.dna-main-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 20px 60px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.dna-hero-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.dna-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, #ffffff 0%, #38bdf8 50%, #f59e0b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin: 0;
}

.dna-hero-desc {
  font-size: 0.88rem;
  color: #94a3b8;
  max-width: 780px;
  margin: 4px 0 0 0;
  line-height: 1.45;
}

.dna-controls-bar {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 12px 18px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.dna-controls-primary-row {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
  flex-wrap: wrap;
}

.dna-search-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 320px;
  max-width: 680px;
}

.dna-ctrl-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.dna-search-input-box {
  position: relative;
  width: 100%;
}

.dna-search-input {
  width: 100%;
  height: 38px;
  background: rgba(0, 0, 0, 0.5);
  border: 1.5px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  padding: 0 12px 0 34px;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 0.84rem;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s;
}

.dna-search-input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.35);
}

.dna-search-input-box .search-ico {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.8rem;
  color: #94a3b8;
}

.dna-search-dropdown {
  position: absolute;
  top: 44px;
  left: 0;
  width: 100%;
  max-height: 280px;
  overflow-y: auto;
  background: #0f172a;
  border: 1.5px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.85);
  z-index: 50;
}

.dna-dd-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  cursor: pointer;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  transition: background 0.12s;
}

.dna-dd-item:hover {
  background: rgba(56, 189, 248, 0.15);
}

.dna-dd-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.5);
}

.dna-dd-meta {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.dna-dd-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  color: #ffffff;
}

.dna-dd-season {
  font-size: 0.7rem;
  color: #94a3b8;
}

.dna-dd-pts {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  color: #38bdf8;
}

.dna-dd-empty {
  font-size: 0.78rem;
  color: #64748b;
  text-align: center;
  padding: 16px;
}

.dna-scope-filter-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dna-scope-toggle-group {
  display: inline-flex;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 3px;
  gap: 3px;
}

.dna-scope-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.74rem;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: 0.05em;
  transition: all 0.15s ease;
}

.dna-scope-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.dna-scope-btn.active {
  background: #38bdf8;
  color: #090d16;
  font-weight: 900;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

.dna-benchmarks-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  width: 100%;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.dna-benchmarks-group {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.dna-bench-pill {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #94a3b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.74rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.12s;
}

.dna-bench-pill:hover {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.dna-bench-pill.active {
  background: #38bdf8;
  color: #090d16;
  border-color: #38bdf8;
  font-weight: 800;
}

/* 3-Column DNA Arena */
.dna-arena-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 18px;
  align-items: stretch;
}

.dna-profile-panel {
  background: rgba(13, 17, 26, 0.95);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
}

.dna-profile-panel.twin {
  border-color: rgba(245, 158, 11, 0.4);
  background: linear-gradient(180deg, rgba(28, 22, 14, 0.85) 0%, rgba(13, 17, 26, 0.95) 100%);
}

.dna-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dna-tag-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.74rem;
  font-weight: 900;
  padding: 3px 8px;
  border-radius: 6px;
}

.dna-tag-pill.target {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.4);
}

.dna-tag-pill.twin {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.4);
}

.dna-season-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  color: #94a3b8;
}

.dna-career-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
  padding: 2px 7px;
  border-radius: 4px;
}

.dna-profile-panel.twin .dna-career-pill {
  background: rgba(245, 158, 11, 0.12);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.3);
}

.dna-match-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.82rem;
  font-weight: 900;
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
  border: 1.5px solid rgba(245, 158, 11, 0.5);
  padding: 3px 10px;
  border-radius: 20px;
  box-shadow: 0 0 12px rgba(245, 158, 11, 0.3);
}

.dna-avatar-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.dna-avatar-img {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: rgba(0, 0, 0, 0.5);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.2s ease, border-color 0.2s ease;
}

#twin-avatar,
#target-avatar {
  cursor: pointer;
}

#twin-avatar:hover {
  transform: scale(1.08);
  border-color: #f59e0b;
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.45);
}

#target-avatar:hover {
  transform: scale(1.08);
  border-color: #38bdf8;
  box-shadow: 0 0 16px rgba(56, 189, 248, 0.45);
}

#twin-avatar:active,
#target-avatar:active {
  transform: scale(0.96);
}


.dna-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 900;
  color: #ffffff;
  margin: 0;
  line-height: 1.2;
}

.dna-sub-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
  flex-wrap: wrap;
}

.dna-team-pill {
  font-family: 'Outfit', sans-serif;
  font-size: 0.72rem;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.08);
  padding: 2px 6px;
  border-radius: 4px;
  color: #cbd5e1;
}

.dna-pos-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  font-weight: 800;
  color: #38bdf8;
}

.dna-stats-strip {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 8px;
  padding: 8px 4px;
  text-align: center;
  margin: 10px 0;
}

.dna-stat-col {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dna-stat-col .val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.84rem;
  font-weight: 900;
  color: #ffffff;
}

.dna-stat-col .lbl {
  font-family: 'Geist Mono', monospace;
  font-size: 0.58rem;
  font-weight: 800;
  color: #64748b;
}

.dna-stat-col.highlight-cyan .val {
  color: #38bdf8;
}

.dna-stat-col.highlight-amber .val {
  color: #fbbf24;
}

/* Secondary Expanded Stats Strip */
.dna-secondary-stats-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 6px 8px;
  margin: 6px 0 10px 0;
}

.dna-sec-stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  padding: 2px 6px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  line-height: 1.2;
}

.dna-sec-stat-pill .lbl {
  color: #64748b;
  font-weight: 700;
  text-transform: uppercase;
}

.dna-sec-stat-pill .val {
  color: #e2e8f0;
  font-weight: 800;
}

.dna-sec-stat-pill.highlight-cyan .val {
  color: #38bdf8;
}

.dna-sec-stat-pill.highlight-amber .val {
  color: #fbbf24;
}

.dna-sec-stat-pill.highlight-emerald .val {
  color: #34d399;
}

/* Career Accolades & All-Time Ranks Strip */
.dna-career-accolades-strip {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: rgba(15, 23, 42, 0.6);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 8px;
  padding: 7px 9px;
  margin-bottom: 10px;
}

.dna-accolade-badges-row, .dna-ranks-badges-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.dna-acc-badge {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fbbf24;
  font-family: 'Outfit', sans-serif;
  font-size: 0.66rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 10px;
}

.dna-rank-badge-item {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.22);
  color: #38bdf8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.63rem;
  font-weight: 800;
  padding: 2px 5px;
  border-radius: 4px;
}

.dna-rank-badge-item.top-10 {
  background: rgba(250, 204, 21, 0.18);
  border-color: rgba(250, 204, 21, 0.6);
  color: #facc15;
  font-weight: 900;
  box-shadow: 0 0 6px rgba(250, 204, 21, 0.25);
}

.dna-dimensions-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.dim-meter-row {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.dim-meta {
  display: flex;
  justify-content: space-between;
  font-size: 0.7rem;
}

.dim-lbl {
  color: #94a3b8;
}

.dim-score {
  font-family: 'Geist Mono', monospace;
  font-weight: 800;
  color: #38bdf8;
}

.dim-bar-track {
  width: 100%;
  height: 5px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 4px;
  overflow: hidden;
}

.dim-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #38bdf8 0%, #0284c7 100%);
  border-radius: 4px;
  transition: width 0.4s ease;
}

/* Radar Center Panel */
.dna-radar-panel {
  position: relative;
  background: rgba(13, 17, 26, 0.95);
  border: 1.5px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
}

.radar-panel-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}

.radar-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: #cbd5e1;
}

.radar-legend {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 0.72rem;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #94a3b8;
}

.legend-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.legend-dot.cyan {
  background: #38bdf8;
  box-shadow: 0 0 6px #38bdf8;
}

.legend-dot.amber {
  background: #f59e0b;
  box-shadow: 0 0 6px #f59e0b;
}

.radar-canvas-container {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
}

.dna-radar-svg {
  width: 100%;
  max-width: 420px;
  height: auto;
  overflow: visible;
}

.radar-axis-lbl {
  font-family: 'Geist Mono', monospace;
  font-size: 8.5px;
  font-weight: 700;
  letter-spacing: 0.03em;
  fill: #94a3b8;
  cursor: pointer;
  transition: fill 0.2s ease, font-weight 0.2s ease;
  user-select: none;
}

.radar-axis-lbl:hover,
.radar-axis-lbl.active-hover {
  fill: #38bdf8 !important;
  font-weight: 800;
  filter: drop-shadow(0 0 4px rgba(56, 189, 248, 0.8));
}

.radar-axis-hitline {
  cursor: pointer;
}

.radar-point {
  cursor: pointer;
  transition: r 0.2s cubic-bezier(0.16, 1, 0.3, 1), stroke-width 0.2s ease, filter 0.2s ease;
}

.radar-target-point {
  fill: #38bdf8;
  stroke: #090d16;
  stroke-width: 1.5;
  filter: drop-shadow(0 0 3px rgba(56, 189, 248, 0.6));
}

.radar-twin-point {
  fill: #f59e0b;
  stroke: #090d16;
  stroke-width: 1.5;
  filter: drop-shadow(0 0 3px rgba(245, 158, 11, 0.6));
}

.radar-point.active-hover {
  r: 7 !important;
  stroke: #ffffff !important;
  stroke-width: 2.2 !important;
  filter: drop-shadow(0 0 8px #ffffff) drop-shadow(0 0 12px rgba(56, 189, 248, 0.8)) !important;
}

.radar-point-hit {
  cursor: pointer;
}

/* 12-Dimension Floating Interactive Comparison Tooltip */
.radar-tooltip {
  position: absolute;
  z-index: 120;
  pointer-events: none;
  background: rgba(10, 15, 29, 0.96);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(56, 189, 248, 0.35);
  border-radius: 12px;
  padding: 10px 14px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.8), 0 0 16px rgba(56, 189, 248, 0.15);
  min-width: 260px;
  max-width: 320px;
  color: #e2e8f0;
  animation: radarTipFade 0.15s ease-out;
}

@keyframes radarTipFade {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

.radar-tip-header {
  display: flex;
  align-items: center;
  gap: 7px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 6px;
  margin-bottom: 8px;
}

.radar-tip-icon {
  font-size: 0.95rem;
}

.radar-tip-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  color: #f8fafc;
}

.radar-tip-rows {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.radar-tip-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tip-player-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  flex: 1;
}

.tip-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}

.tip-dot.cyan {
  background: #38bdf8;
  box-shadow: 0 0 6px #38bdf8;
}

.tip-dot.amber {
  background: #f59e0b;
  box-shadow: 0 0 6px #f59e0b;
}

.tip-name {
  font-weight: 600;
  font-size: 0.74rem;
  color: #cbd5e1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tip-sub {
  color: #64748b;
  font-size: 0.68rem;
  font-weight: 400;
}

.tip-vals {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.tip-raw-stat {
  font-family: 'Geist Mono', monospace;
  font-size: 0.76rem;
  font-weight: 700;
  color: #f8fafc;
}

.tip-score-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  padding: 1.5px 5px;
  border-radius: 4px;
}

.tip-score-badge.cyan {
  background: rgba(56, 189, 248, 0.16);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.35);
}

.tip-score-badge.amber {
  background: rgba(245, 158, 11, 0.16);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.35);
}

.tip-score-badge.purple {
  background: rgba(168, 85, 247, 0.16);
  color: #c084fc;
  border: 1px solid rgba(168, 85, 247, 0.35);
}

.tip-score-badge.emerald {
  background: rgba(16, 185, 129, 0.16);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}

.radar-tip-footer {
  margin-top: 8px;
  padding-top: 6px;
  border-top: 1px dashed rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 0.7rem;
}

.tip-edge-badge {
  font-weight: 700;
  font-size: 0.68rem;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
}

.tip-edge-badge.target {
  background: rgba(56, 189, 248, 0.2);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.tip-edge-badge.twin {
  background: rgba(245, 158, 11, 0.2);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.tip-edge-badge.equal {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.tip-diff-detail {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  color: #94a3b8;
  white-space: nowrap;
}

.dna-insight-box {
  background: rgba(245, 158, 11, 0.08);
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.insight-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.68rem;
  font-weight: 800;
  color: #fbbf24;
  letter-spacing: 0.06em;
}

.insight-desc {
  font-size: 0.76rem;
  color: #cbd5e1;
  line-height: 1.4;
  margin: 0;
}

.dna-link-btn {
  display: inline-block;
  text-align: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #ffffff;
  font-family: 'Outfit', sans-serif;
  font-size: 0.8rem;
  font-weight: 800;
  border-radius: 8px;
  padding: 8px 14px;
  text-decoration: none;
  transition: all 0.12s;
  width: 100%;
  box-sizing: border-box;
}

.dna-link-btn:hover {
  background: #38bdf8;
  color: #090d16;
  border-color: #38bdf8;
}

/* Top 5 Clones Grid */
.dna-clones-vault-section {
  background: rgba(13, 17, 26, 0.95);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  padding: 20px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.clones-subgroup {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.clones-vault-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.clones-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.clones-group-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 3px 8px;
  border-radius: 6px;
  text-transform: uppercase;
}

.clones-group-pill.current {
  background: rgba(56, 189, 248, 0.16);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.4);
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.15);
}

.clones-group-pill.retired {
  background: rgba(245, 158, 11, 0.16);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.4);
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.15);
}

.vault-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.05rem;
  font-weight: 800;
  color: #f8fafc;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.vault-subtitle {
  font-size: 0.76rem;
  color: #94a3b8;
}

.clones-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}

.clone-card {
  background: rgba(15, 23, 42, 0.7);
  border: 1.5px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  cursor: pointer;
  position: relative;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.clone-card:hover,
.clone-card.active-clone {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.08);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(245, 158, 11, 0.2);
}

.clone-rank-badge {
  position: absolute;
  top: 8px;
  left: 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.66rem;
  font-weight: 800;
  color: #94a3b8;
  background: rgba(0, 0, 0, 0.4);
  padding: 2px 6px;
  border-radius: 4px;
}

.clone-match-pill {
  position: absolute;
  top: 8px;
  right: 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.64rem;
  font-weight: 800;
  color: #fbbf24;
  background: rgba(245, 158, 11, 0.15);
  padding: 2px 6px;
  border-radius: 4px;
}

.clone-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  border: 1.5px solid rgba(255, 255, 255, 0.2);
  margin-top: 14px;
}

.clone-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.88rem;
  font-weight: 800;
  color: #ffffff;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
}

.clone-season {
  font-size: 0.7rem;
  color: #94a3b8;
}

.clone-stat-row {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4px 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.66rem;
  color: #cbd5e1;
  margin-top: 2px;
}

.clone-view-link {
  font-size: 0.68rem;
  font-weight: 800;
  color: #38bdf8;
  text-decoration: none;
  margin-top: 4px;
}

.clone-view-link:hover {
  text-decoration: underline;
}

@media (max-width: 1080px) {
  .dna-arena-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   CROSS-ERA NORMALIZER, MULTI-PLAYER RADAR SLOTS & COMPARISON MATRIX
   ========================================================================== */

/* Cross-Era Pace & Efficiency Normalizer Toggle */
.dna-normalizer-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dna-normalizer-toggle-group {
  display: inline-flex;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 3px;
  gap: 3px;
}

.dna-norm-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 800;
  padding: 5px 12px;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: 0.05em;
  transition: all 0.15s ease;
}

.dna-norm-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.dna-norm-btn.active {
  background: #38bdf8;
  color: #090d16;
  font-weight: 900;
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.4);
}

/* Radar Subtitle / Badge */
.radar-subtitle {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.radar-subtitle.per100-active {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.35);
}

/* 4-Player Holographic Radar Slots Bar */
.radar-slots-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.radar-slot-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 4px 10px;
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
}

.radar-slot-chip:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.25);
}

.radar-slot-chip:not(.empty):hover {
  transform: translateY(-1px);
}

.radar-slot-chip.slot-p0:not(.empty):hover,
.radar-slot-chip.slot-p0.spotlight-active {
  border-color: #38bdf8;
  background: rgba(56, 189, 248, 0.16);
  box-shadow: 0 0 14px rgba(56, 189, 248, 0.45);
}

.radar-slot-chip.slot-p1:not(.empty):hover,
.radar-slot-chip.slot-p1.spotlight-active {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.16);
  box-shadow: 0 0 14px rgba(245, 158, 11, 0.45);
}

.radar-slot-chip.slot-p2:not(.empty):hover,
.radar-slot-chip.slot-p2.spotlight-active {
  border-color: #a855f7;
  background: rgba(168, 85, 247, 0.16);
  box-shadow: 0 0 14px rgba(168, 85, 247, 0.45);
}

.radar-slot-chip.slot-p3:not(.empty):hover,
.radar-slot-chip.slot-p3.spotlight-active {
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.16);
  box-shadow: 0 0 14px rgba(16, 185, 129, 0.45);
}

.radar-slot-chip.empty {
  border-style: dashed;
  color: #64748b;
  background: rgba(0, 0, 0, 0.25);
}

.radar-slot-chip.empty:hover {
  color: #cbd5e1;
  border-color: #38bdf8;
  background: rgba(56, 189, 248, 0.06);
}

.slot-chip-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.dot-cyan { background: #38bdf8; box-shadow: 0 0 6px #38bdf8; }
.dot-amber { background: #f59e0b; box-shadow: 0 0 6px #f59e0b; }
.dot-purple { background: #a855f7; box-shadow: 0 0 6px #a855f7; }
.dot-emerald { background: #10b981; box-shadow: 0 0 6px #10b981; }

.radar-slot-chip.slot-p0 { border-color: rgba(56, 189, 248, 0.4); color: #e0f2fe; }
.radar-slot-chip.slot-p1 { border-color: rgba(245, 158, 11, 0.4); color: #fef3c7; }
.radar-slot-chip.slot-p2:not(.empty) { border-color: rgba(168, 85, 247, 0.4); color: #f3e8ff; }
.radar-slot-chip.slot-p3:not(.empty) { border-color: rgba(16, 185, 129, 0.4); color: #d1fae5; }

.slot-vis-btn {
  background: transparent;
  border: none;
  font-size: 0.7rem;
  cursor: pointer;
  padding: 0 2px;
  opacity: 0.8;
  transition: opacity 0.12s, transform 0.12s;
}

.slot-vis-btn:hover {
  opacity: 1;
  transform: scale(1.15);
}

.slot-vis-btn.dimmed {
  opacity: 0.3;
  filter: grayscale(1);
}

.slot-chip-remove {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 0.72rem;
  font-weight: 800;
  cursor: pointer;
  padding: 0 2px;
  margin-left: 2px;
  line-height: 1;
  transition: color 0.12s;
}

.slot-chip-remove:hover {
  color: #f87171;
}

/* Slot Quick Search Popover */
.radar-slot-search-popover {
  position: absolute;
  top: 75px;
  left: 20px;
  right: 20px;
  max-width: 420px;
  background: #0f172a;
  border: 1.5px solid rgba(56, 189, 248, 0.35);
  border-radius: 12px;
  padding: 12px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.85);
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.slot-search-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.slot-search-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.82rem;
  font-weight: 800;
  color: #e2e8f0;
}

.slot-search-close {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 0.85rem;
  cursor: pointer;
  padding: 2px 6px;
}

.slot-search-close:hover {
  color: #ffffff;
}

.slot-search-input {
  width: 100%;
  height: 34px;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 6px;
  padding: 0 10px;
  color: #ffffff;
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  outline: none;
  box-sizing: border-box;
}

.slot-search-input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 10px rgba(56, 189, 248, 0.3);
}

.slot-search-results {
  max-height: 200px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.slot-search-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.12s;
  font-size: 0.78rem;
}

.slot-search-item:hover {
  background: rgba(56, 189, 248, 0.14);
}

.slot-search-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
}

.slot-search-name {
  font-weight: 700;
  color: #ffffff;
}

.slot-search-meta {
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  color: #94a3b8;
  margin-left: auto;
}

/* Radar Polygons Transitions */
#radar-poly-0, #radar-poly-1, #radar-poly-2, #radar-poly-3 {
  transition: points 0.3s ease, opacity 0.25s ease, stroke-width 0.2s ease, fill 0.25s ease;
}

/* Radar Polygons Spotlight & Dim States (Triggered by Player Chip Hover) */
.radar-poly-spotlight {
  opacity: 1 !important;
  stroke-width: 3.8 !important;
  transition: all 0.2s ease !important;
}

#radar-poly-0.radar-poly-spotlight {
  fill: rgba(56, 189, 248, 0.45) !important;
  stroke: #38bdf8 !important;
  filter: drop-shadow(0 0 12px rgba(56, 189, 248, 0.9)) !important;
}

#radar-poly-1.radar-poly-spotlight {
  fill: rgba(245, 158, 11, 0.42) !important;
  stroke: #f59e0b !important;
  filter: drop-shadow(0 0 12px rgba(245, 158, 11, 0.9)) !important;
}

#radar-poly-2.radar-poly-spotlight {
  fill: rgba(168, 85, 247, 0.42) !important;
  stroke: #a855f7 !important;
  filter: drop-shadow(0 0 12px rgba(168, 85, 247, 0.9)) !important;
}

#radar-poly-3.radar-poly-spotlight {
  fill: rgba(16, 185, 129, 0.40) !important;
  stroke: #10b981 !important;
  filter: drop-shadow(0 0 12px rgba(16, 185, 129, 0.9)) !important;
}

.radar-poly-dimmed {
  opacity: 0.10 !important;
  stroke-width: 1.2 !important;
  filter: none !important;
  transition: all 0.2s ease !important;
}

/* Radar Radial Dots */
.radar-point-p0 { fill: #38bdf8; stroke: #090d16; stroke-width: 1.5; filter: drop-shadow(0 0 3px rgba(56, 189, 248, 0.6)); }
.radar-point-p1 { fill: #f59e0b; stroke: #090d16; stroke-width: 1.5; filter: drop-shadow(0 0 3px rgba(245, 158, 11, 0.6)); }
.radar-point-p2 { fill: #a855f7; stroke: #090d16; stroke-width: 1.5; filter: drop-shadow(0 0 3px rgba(168, 85, 247, 0.6)); }
.radar-point-p3 { fill: #10b981; stroke: #090d16; stroke-width: 1.5; filter: drop-shadow(0 0 3px rgba(16, 185, 129, 0.6)); }

.radar-point-spotlight {
  r: 6.5 !important;
  stroke: #ffffff !important;
  stroke-width: 2 !important;
  opacity: 1 !important;
  filter: drop-shadow(0 0 8px #ffffff) !important;
  transition: all 0.2s ease !important;
}

.radar-point-dimmed {
  opacity: 0.12 !important;
  r: 3 !important;
  filter: none !important;
  transition: all 0.2s ease !important;
}

/* In-Panel Axis Comparison Breakdown Card (Under Radar Canvas) */
.radar-axis-breakdown-card {
  width: 100%;
  max-width: 420px;
  margin-top: 14px;
  background: rgba(10, 15, 29, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 12px 14px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.radar-axis-breakdown-card.axis-active {
  border-color: rgba(56, 189, 248, 0.35);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6), 0 0 16px rgba(56, 189, 248, 0.12);
}

.radar-breakdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 8px;
  margin-bottom: 8px;
}

.radar-breakdown-header-left {
  display: flex;
  align-items: center;
  gap: 7px;
}

.radar-breakdown-icon {
  font-size: 1rem;
}

.radar-breakdown-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.84rem;
  font-weight: 800;
  color: #38bdf8;
  letter-spacing: 0.04em;
}

.radar-breakdown-hint {
  font-family: 'Geist Mono', monospace;
  font-size: 0.62rem;
  color: #64748b;
  letter-spacing: 0.05em;
}

.radar-breakdown-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 0.74rem;
}

.radar-breakdown-table tr {
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.radar-breakdown-table tr:last-child {
  border-bottom: none;
}

.radar-breakdown-table td {
  padding: 6px 4px;
  vertical-align: middle;
}

.radar-breakdown-player-col {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #f8fafc;
}

.radar-breakdown-stage {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  color: #94a3b8;
}

.radar-breakdown-stat-col {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  color: #cbd5e1;
  text-align: right;
}

.radar-breakdown-score-col {
  text-align: right;
  padding-right: 0;
  width: 44px;
}

.radar-breakdown-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
}

.radar-breakdown-leader {
  color: #38bdf8;
  font-weight: 800;
}

.radar-breakdown-nav-hint {
  color: #64748b;
  font-size: 0.62rem;
}

/* Head-to-Head Comparison Matrix Section */
.dna-compare-matrix-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: rgba(15, 23, 42, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 16px 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

.matrix-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.matrix-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.matrix-tag-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.64rem;
  font-weight: 800;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.25);
}

.matrix-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.15rem;
  font-weight: 900;
  color: #f8fafc;
  margin: 0;
}

.matrix-subtitle {
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  color: #94a3b8;
}

.dna-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

.dna-compare-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  text-align: right;
  white-space: nowrap;
}

.dna-compare-table th {
  background: rgba(10, 14, 23, 0.95);
  color: #94a3b8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  text-align: right;
}

.dna-compare-table td {
  padding: 8px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  font-family: 'Geist Mono', monospace;
  color: #cbd5e1;
}

.dna-compare-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

.dna-compare-table .sticky-col {
  position: sticky;
  left: 0;
  background: #0d121f;
  z-index: 2;
  text-align: left;
}

.dna-compare-table th.sticky-col {
  z-index: 3;
}

.player-cell-content {
  display: flex;
  align-items: center;
  gap: 8px;
}

.compare-player-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  object-fit: cover;
}

.compare-player-name {
  font-family: 'Outfit', sans-serif;
  font-weight: 800;
  color: #ffffff;
}

/* Category leader highlights */
.cell-leader-p0 {
  color: #38bdf8 !important;
  font-weight: 900 !important;
  background: rgba(56, 189, 248, 0.12);
}
.cell-leader-p1 {
  color: #f59e0b !important;
  font-weight: 900 !important;
  background: rgba(245, 158, 11, 0.12);
}
.cell-leader-p2 {
  color: #a855f7 !important;
  font-weight: 900 !important;
  background: rgba(168, 85, 247, 0.12);
}
.cell-leader-p3 {
  color: #10b981 !important;
  font-weight: 900 !important;
  background: rgba(16, 185, 129, 0.12);
}

/* Clone Card + Add to Radar Button */
.clone-add-radar-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #94a3b8;
  font-family: 'Geist Mono', monospace;
  font-size: 0.64rem;
  font-weight: 800;
  padding: 3px 8px;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 4px;
  transition: all 0.12s ease;
}

.clone-add-radar-btn:hover {
  background: #38bdf8;
  color: #090d16;
  border-color: #38bdf8;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.4);
}

.clone-add-radar-btn.in-radar {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border-color: rgba(16, 185, 129, 0.4);
  cursor: default;
}




/* =========================================================================
   ALL-TIME HEAD-TO-HEAD PLAYER DUEL LAB STYLES (Geist / Vercel Dark)
   ========================================================================= */

.duel-container {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0 0 60px;
  box-sizing: border-box;
}

/* Page Hero Header */
.duel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 16px;
}

.duel-title-group h1 {
  font-family: 'Outfit', sans-serif;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff;
  margin: 0 0 6px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.duel-title-group p {
  color: var(--text-secondary, rgba(255, 255, 255, 0.6));
  font-size: 14px;
  margin: 0;
  max-width: 780px;
  line-height: 1.5;
}

/* Primary Mode Switcher Tabs */
.duel-mode-switch-wrapper {
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.duel-mode-tabs {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 4px;
  border-radius: 12px;
}

.duel-mode-btn {
  background: transparent;
  border: none;
  color: var(--text-secondary, rgba(255, 255, 255, 0.7));
  padding: 8px 18px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.18s ease;
}

.duel-mode-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

.duel-mode-btn.active {
  background: #fff;
  color: #000;
  font-weight: 700;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}

/* Controls Bar */
.duel-controls-card {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 16px 20px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.duel-selectors-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.duel-player-input-wrap {
  flex: 1;
  min-width: 260px;
  position: relative;
}

.duel-search-input {
  width: 100%;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 10px;
  padding: 12px 16px 12px 42px;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  outline: none;
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.duel-search-input:focus {
  border-color: rgba(255, 255, 255, 0.35);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.08);
  background: rgba(0, 0, 0, 0.6);
}

.duel-search-icon {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.4);
  pointer-events: none;
  z-index: 2;
}

/* Autocomplete Dropdown - Exact Parity with Career Trajectory */
.duel-player-input-wrap .autocomplete-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  background: #111113;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 10px;
  max-height: 340px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.8);
  display: none;
}

.duel-player-input-wrap .autocomplete-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  cursor: pointer;
  transition: background 0.15s ease;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.duel-player-input-wrap .autocomplete-item:last-child {
  border-bottom: none;
}

.duel-player-input-wrap .autocomplete-item:hover,
.duel-player-input-wrap .autocomplete-item.active {
  background: rgba(255, 255, 255, 0.08);
}

.duel-player-input-wrap .autocomplete-item.no-results {
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  font-size: 13px;
  padding: 14px;
  justify-content: center;
  cursor: default;
}

.duel-player-input-wrap .search-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.duel-player-input-wrap .search-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  gap: 2px;
}

.duel-player-input-wrap .search-name {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.duel-player-input-wrap .search-meta {
  font-size: 12px;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  font-family: 'Geist Mono', monospace;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.duel-item-meta {
  display: flex;
  flex-direction: column;
}

.duel-item-name {
  font-size: 14px;
  font-weight: 600;
  color: #fff;
}

.duel-item-sub {
  font-size: 12px;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  font-family: 'Geist Mono', monospace;
}

.duel-swap-btn {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: center;
}

.duel-swap-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  transform: rotate(180deg);
}

/* Quick Rivals Chips Bar */
.duel-quick-chips-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: thin;
}

.duel-quick-label {
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  white-space: nowrap;
}

.duel-chip-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 6px 12px;
  color: var(--text-secondary, rgba(255, 255, 255, 0.75));
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.duel-chip-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.duel-chip-btn.active {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.08);
}

/* Scope Filters Pill Bar */
.duel-scope-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.duel-scope-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 8px 16px;
  color: var(--text-secondary, rgba(255, 255, 255, 0.7));
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  gap: 6px;
}

.duel-scope-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.duel-scope-btn.active {
  background: #fff;
  color: #000;
  border-color: #fff;
  font-weight: 700;
}

/* Hero Tale-of-the-Tape Dossier Card */
.duel-hero-card {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 24px;
  margin-bottom: 28px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
  overflow: hidden;
}

.duel-hero-card .poss-arrow-btn {
  position: absolute;
  top: 20px;
  right: 24px;
  z-index: 10;
}

.duel-tale-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}

@media (max-width: 900px) {
  .duel-tale-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
  }
}

.duel-player-card {
  display: flex;
  align-items: center;
  gap: 20px;
}

.duel-player-card.player-2 {
  flex-direction: row-reverse;
  text-align: right;
}

@media (min-width: 901px) {
  .duel-player-card.player-2 {
    padding-right: 56px;
  }
}

@media (max-width: 900px) {
  .duel-player-card,
  .duel-player-card.player-2 {
    flex-direction: column;
    text-align: center;
  }
}

.duel-headshot-wrap {
  position: relative;
  width: 108px;
  height: 108px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
}

.duel-headshot-wrap.winner-glow {
  border-color: #10b981;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.35);
}

.duel-headshot-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.duel-player-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.duel-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 24px;
  font-weight: 800;
  color: #fff;
  margin: 0;
  letter-spacing: -0.02em;
}

.duel-player-team {
  font-size: 13px;
  color: var(--text-secondary, rgba(255, 255, 255, 0.7));
  display: flex;
  align-items: center;
  gap: 6px;
}

.duel-player-card.player-2 .duel-player-team {
  justify-content: flex-end;
}

@media (max-width: 900px) {
  .duel-player-card.player-2 .duel-player-team {
    justify-content: center;
  }
}

.duel-player-era {
  font-family: 'Geist Mono', monospace;
  font-size: 12px;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
}

/* Center Scoreboard */
.duel-center-scoreboard {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 12px;
  min-width: 200px;
}

.duel-score-headline {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  margin-bottom: 4px;
}

.duel-score-numbers {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: 'Geist Mono', monospace;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 6px;
}

.duel-score-p1 {
  color: #fff;
}

.duel-score-p2 {
  color: #fff;
}

.duel-score-divider {
  color: rgba(255, 255, 255, 0.3);
  font-size: 24px;
}

.duel-score-p1.is-leader {
  color: #10b981;
  text-shadow: 0 0 16px rgba(16, 185, 129, 0.4);
}

.duel-score-p2.is-leader {
  color: #10b981;
  text-shadow: 0 0 16px rgba(16, 185, 129, 0.4);
}

.duel-score-subtitle {
  font-size: 12px;
  color: var(--text-secondary, rgba(255, 255, 255, 0.7));
  display: flex;
  gap: 8px;
}

/* Splits Breakdown Row */
.duel-splits-row {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  flex-wrap: wrap;
}

.duel-split-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 8px;
  padding: 8px 16px;
  min-width: 110px;
}

.duel-split-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  margin-bottom: 2px;
}

.duel-split-val {
  font-family: 'Geist Mono', monospace;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

/* Sections & Collapsible Cards */
.duel-section-card {
  position: relative;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.duel-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-right: 48px; /* Clearance for top-right possession arrow */
}

.duel-section-title-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.duel-section-icon {
  font-size: 20px;
}

.duel-section-title {
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}

.duel-section-desc {
  font-size: 12px;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  margin: 0;
}

.duel-section-card .poss-arrow-btn {
  position: absolute;
  top: 18px;
  right: 20px;
  z-index: 5;
}

/* Statistical Averages Comparison Matrix */
.duel-matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
}

.duel-matrix-table th {
  padding: 10px 14px;
  background: rgba(0, 0, 0, 0.3);
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  font-weight: 600;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.duel-matrix-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  color: #fff;
}

.duel-matrix-table tr:hover td {
  background: rgba(255, 255, 255, 0.02);
}

.duel-td-metric {
  font-weight: 600;
  color: var(--text-secondary, rgba(255, 255, 255, 0.8));
  text-align: center;
  width: 180px;
}

.duel-td-val {
  font-family: 'Geist Mono', monospace;
  font-size: 15px;
  font-weight: 700;
  width: 25%;
}

.duel-td-val.p1-side {
  text-align: right;
  padding-right: 24px;
}

.duel-td-val.p2-side {
  text-align: left;
  padding-left: 24px;
}

.duel-advantage-pill {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  background: rgba(16, 185, 129, 0.15);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.duel-val-highlight {
  color: #10b981 !important;
  text-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
}

/* Playoff Series Battle Cards */
.duel-series-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.duel-series-card {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.15s ease;
}

.duel-series-card:hover {
  border-color: rgba(255, 255, 255, 0.15);
}

.duel-series-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.duel-series-title {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
}

.duel-series-winner-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 12px;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
}

.duel-series-winner-badge.p1-won {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.35);
  color: #10b981;
}

.duel-series-winner-badge.p2-won {
  background: rgba(59, 130, 246, 0.15);
  border-color: rgba(59, 130, 246, 0.35);
  color: #60a5fa;
}

.duel-series-splits {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  background: rgba(255, 255, 255, 0.02);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-family: 'Geist Mono', monospace;
}

.duel-series-splits .p1-series-stat {
  text-align: right;
  color: #fff;
}

.duel-series-splits .p2-series-stat {
  text-align: left;
  color: #fff;
}

.duel-series-splits .stat-divider {
  color: rgba(255, 255, 255, 0.25);
  font-size: 11px;
  text-transform: uppercase;
  font-family: 'Inter', sans-serif;
}

/* Game-by-Game Duel Log Table */
.duel-table-filters {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.duel-filter-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--text-secondary, rgba(255, 255, 255, 0.7));
  cursor: pointer;
  transition: all 0.15s ease;
}

.duel-filter-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.duel-filter-btn.active {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.3);
  color: #fff;
}

.duel-table-container {
  width: 100%;
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.2);
}

.duel-games-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  white-space: nowrap;
}

.duel-games-table th {
  background: #111113;
  padding: 10px 12px;
  font-weight: 700;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 11px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: sticky;
  top: 0;
  z-index: 2;
}

.duel-games-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  color: #fff;
  font-family: 'Geist Mono', monospace;
}

.duel-games-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

/* Sticky Identity Columns on Logs Table */
.duel-games-table th.sticky-col,
.duel-games-table td.sticky-col {
  position: sticky;
  left: 0;
  background: #111113;
  z-index: 3;
}

.duel-games-table tr:hover td.sticky-col {
  background: #161619;
}

.duel-games-table td.sticky-col.matchup-col {
  left: 90px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.duel-games-table th.sticky-col.matchup-col {
  left: 90px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.duel-tag-win {
  color: #10b981;
  font-weight: 700;
}

.duel-tag-loss {
  color: #ef4444;
  font-weight: 600;
}

.duel-game-type-pill {
  font-family: 'Inter', sans-serif;
  font-size: 10px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.duel-game-type-pill.playoffs {
  background: rgba(245, 158, 11, 0.15);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.duel-high-badge {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border-radius: 4px;
  padding: 1px 4px;
  font-weight: 800;
}

/* Cross-Era Mythical Matchup Mode */
.duel-mythical-banner {
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 12px;
  padding: 18px 24px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  gap: 16px;
}

.duel-mythical-icon {
  font-size: 32px;
}

.duel-mythical-text h3 {
  font-family: 'Outfit', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 4px;
}

.duel-mythical-text p {
  color: var(--text-secondary, rgba(255, 255, 255, 0.65));
  font-size: 13px;
  margin: 0;
  line-height: 1.4;
}

.duel-accolades-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-bottom: 24px;
}

.duel-accolade-card {
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.duel-accolade-title {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
}

.duel-accolade-compare {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Geist Mono', monospace;
  font-size: 18px;
  font-weight: 800;
}

.duel-accolade-p1 {
  color: #fff;
}

.duel-accolade-p2 {
  color: #fff;
}

.duel-accolade-p1.lead,
.duel-accolade-p2.lead {
  color: #10b981;
}

/* Radar Visualizer Container */
.duel-radar-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px;
  width: 100%;
  box-sizing: border-box;
}

.duel-radar-canvas {
  max-width: 480px;
  max-height: 480px;
  width: 100%;
}

/* ==========================================================================
   Year-by-Year Career Trajectory Section
   ========================================================================== */
.duel-trajectory-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.duel-trajectory-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
}

.duel-traj-pill-btn {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  padding: 6px 14px;
  color: var(--text-secondary, rgba(255, 255, 255, 0.7));
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  outline: none;
}

.duel-traj-pill-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.duel-traj-pill-btn.active {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.duel-trajectory-select-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.duel-traj-select-label {
  font-size: 12px;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
  font-weight: 500;
}

.duel-traj-select {
  background: #0f172a;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  padding: 6px 12px;
  outline: none;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.duel-traj-select:focus {
  border-color: rgba(255, 255, 255, 0.4);
}

/* Trajectory Peak & Debut Stat Highlights */
.duel-traj-highlights {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 16px;
}

@media (max-width: 768px) {
  .duel-traj-highlights {
    grid-template-columns: 1fr;
  }
}

.duel-traj-stat-card {
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.duel-traj-stat-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.duel-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.duel-legend-dot.p1-dot {
  background: #60a5fa;
  box-shadow: 0 0 8px rgba(96, 165, 250, 0.6);
}

.duel-legend-dot.p2-dot {
  background: #34d399;
  box-shadow: 0 0 8px rgba(52, 211, 153, 0.6);
}

.duel-traj-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}

.duel-traj-stat-metrics {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.duel-traj-metric-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.traj-metric-lbl {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted, rgba(255, 255, 255, 0.5));
}

.traj-metric-val {
  font-family: 'Geist Mono', monospace;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}

.duel-chart-wrapper {
  position: relative;
  height: 380px;
  width: 100%;
}

/* ==============================================================================
   PREDICTIONS & HEAD-TO-HEAD DUEL STYLES
   Adheres strictly to the Vercel Dark / Geist Design System
   ============================================================================== */

/* Section Headers & Collapsible standard */
.predictions-section {
  margin-bottom: 28px;
}

.section-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  user-select: none;
}

.section-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.section-title-icon {
  font-size: 1.15rem;
}

.section-title-text {
  font-family: var(--font-display, 'Outfit', sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: #f1f5f9;
}

.section-title-badge {
  font-family: var(--font-mono, 'Geist Mono', monospace);
  font-size: 0.72rem;
  padding: 2px 8px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
  font-weight: 500;
}

/* Red Basketball Possession Scoreboard Arrow Toggle (Standardized site-wide) */
.poss-arrow-btn {
  width: 22px;
  height: 22px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: 4px;
  color: #ef4444;
  transition: all 0.15s ease;
}

.poss-arrow-btn:hover {
  background: rgba(239, 68, 68, 0.25);
  border-color: rgba(239, 68, 68, 0.6);
  color: #f87171;
}

.poss-arrow-btn .poss-arrow-svg {
  transition: transform 0.2s ease;
  transform: rotate(0deg);
}

.poss-arrow-btn.is-collapsed .poss-arrow-svg {
  transform: rotate(-90deg);
}

.collapsible-content {
  transition: max-height 0.25s ease, opacity 0.2s ease;
}

.collapsible-content.is-hidden {
  display: none !important;
}

/* Page Control Bar */
.pred-controls-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin-bottom: 24px;
  padding: 12px 18px;
}

.pred-control-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pred-view-switcher {
  display: inline-flex;
  padding: 3px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

.pred-switch-btn {
  padding: 6px 14px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #94a3b8;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}

.pred-switch-btn:hover {
  color: #ffffff;
}

.pred-switch-btn.active {
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* ==============================================================================
   HERO DUEL SCOREBOARD
   ============================================================================== */
.duel-hero-banner {
  padding: 24px;
  margin-bottom: 24px;
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, rgba(255, 255, 255, 0.015) 100%);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
}

.duel-lead-status-row {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.duel-leader-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #e2e8f0;
}

.duel-leader-pill.p1-leading {
  background: rgba(16, 185, 129, 0.15);
  border-color: rgba(16, 185, 129, 0.4);
  color: #34d399;
}

.duel-leader-pill.p2-leading {
  background: rgba(6, 182, 212, 0.15);
  border-color: rgba(6, 182, 212, 0.4);
  color: #38bdf8;
}

.duel-leader-pill.is-tied {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.4);
  color: #facc15;
}

.duel-main-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 24px;
}

@media (max-width: 820px) {
  .duel-main-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.duel-player-card {
  padding: 22px 24px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.duel-player-card.p1-side {
  border-top: 2px solid #10b981;
}

.duel-player-card.p2-side {
  border-top: 2px solid #06b6d4;
}

.duel-player-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.duel-player-identity {
  display: flex;
  align-items: center;
  gap: 10px;
}

.duel-player-avatar {
  width: 38px;
  height: 38px;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 0.95rem;
}

.p1-avatar {
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff;
  box-shadow: 0 0 12px rgba(16, 185, 129, 0.35);
}

.p2-avatar {
  background: linear-gradient(135deg, #06b6d4, #0284c7);
  color: #ffffff;
  box-shadow: 0 0 12px rgba(6, 182, 212, 0.35);
}

.duel-player-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #f8fafc;
  display: flex;
  align-items: center;
  gap: 8px;
}

.duel-crown-badge {
  font-size: 1rem;
}

.duel-closer-count-box {
  text-align: right;
  padding-left: 12px;
}

.duel-closer-number {
  font-family: var(--font-mono, monospace);
  font-size: 1.75rem;
  font-weight: 800;
  line-height: 1;
}

.p1-side .duel-closer-number {
  color: #34d399;
}

.p2-side .duel-closer-number {
  color: #38bdf8;
}

.duel-closer-label {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
  margin-top: 4px;
}

.duel-metrics-subgrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.duel-submetric-item {
  text-align: left;
  padding: 12px 14px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
  min-width: 0;
}

.duel-submetric-val {
  font-family: var(--font-mono, monospace);
  font-size: 1.25rem;
  font-weight: 800;
  color: #ffffff;
  line-height: 1.2;
}

.duel-submetric-label {
  font-size: 0.68rem;
  font-weight: 600;
  color: #94a3b8;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.duel-vs-divider {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 8px;
}

.duel-vs-badge {
  width: 44px;
  height: 44px;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display, sans-serif);
  font-weight: 900;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  color: #cbd5e1;
}

.duel-tied-count-badge {
  font-family: var(--font-mono, monospace);
  font-size: 0.72rem;
  color: #64748b;
  white-space: nowrap;
}

/* Overall Duel KPI Strip */
.pred-kpi-banner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin-bottom: 24px;
}

.pred-kpi-card {
  padding: 14px 16px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.pred-kpi-kicker {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  margin-bottom: 6px;
}

.pred-kpi-val {
  font-family: var(--font-mono, monospace);
  font-size: 1.35rem;
  font-weight: 700;
  color: #f8fafc;
}

.pred-kpi-sub {
  font-size: 0.72rem;
  color: #94a3b8;
  margin-top: 4px;
}

/* ==============================================================================
   SORTABLE 30-TEAM PREDICTION TABLE
   ============================================================================== */
.pred-table-wrap {
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(15, 17, 21, 0.6);
}

.pred-table-controls-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pred-filter-pills {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.pred-filter-pill {
  padding: 4px 10px;
  border-radius: 9999px;
  font-size: 0.74rem;
  font-weight: 600;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.15s ease;
}

.pred-filter-pill:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.06);
}

.pred-filter-pill.active {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.pred-search-input {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  padding: 6px 12px;
  color: #ffffff;
  font-size: 0.8rem;
  outline: none;
  width: 180px;
  transition: border-color 0.15s ease;
}

.pred-search-input:focus {
  border-color: rgba(255, 255, 255, 0.3);
}

.pred-matrix-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.84rem;
}

.pred-matrix-table th {
  padding: 10px 14px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #94a3b8;
  background: rgba(18, 20, 26, 0.95);
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.pred-matrix-table th:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}

.pred-matrix-table th.active-sort {
  color: #38bdf8;
}

.pred-matrix-table td {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  vertical-align: middle;
}

.pred-matrix-table tr:hover td {
  background: rgba(255, 255, 255, 0.025);
}

.table-team-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.table-team-logo {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}

.table-team-info {
  display: flex;
  flex-direction: column;
}

.table-team-name {
  font-weight: 700;
  color: #f1f5f9;
  white-space: nowrap;
}

.table-team-conf {
  font-size: 0.68rem;
  color: #64748b;
  text-transform: uppercase;
}

.mono-cell {
  font-family: var(--font-mono, monospace);
  font-size: 0.85rem;
}

/* Prediction Delta Badges */
.pred-val-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pred-delta-pill {
  font-family: var(--font-mono, monospace);
  font-size: 0.7rem;
  padding: 1px 6px;
  border-radius: 4px;
  font-weight: 700;
}

.pred-delta-pill.delta-exact {
  background: rgba(16, 185, 129, 0.2);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.35);
}

.pred-delta-pill.delta-over {
  background: rgba(56, 189, 248, 0.12);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.25);
}

.pred-delta-pill.delta-under {
  background: rgba(244, 63, 94, 0.12);
  color: #fb7185;
  border: 1px solid rgba(244, 63, 94, 0.25);
}

/* Closer Status Badges */
.closer-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.closer-badge.p1-closer {
  background: rgba(16, 185, 129, 0.14);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #34d399;
}

.closer-badge.p2-closer {
  background: rgba(6, 182, 212, 0.14);
  border: 1px solid rgba(6, 182, 212, 0.35);
  color: #38bdf8;
}

.closer-badge.closer-push {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #94a3b8;
}

/* Over / Under Line Badges */
.ou-pill {
  font-family: var(--font-mono, monospace);
  font-size: 0.82rem;
  font-weight: 700;
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.28);
  padding: 2px 7px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.ou-odds-text {
  font-family: var(--font-mono, monospace);
  font-size: 0.68rem;
  color: #64748b;
  margin-top: 2px;
  display: block;
}

/* Table Footer Summary */
.pred-matrix-table tfoot td {
  background: rgba(20, 22, 30, 0.95);
  border-top: 2px solid rgba(255, 255, 255, 0.12);
  font-weight: 700;
  color: #f1f5f9;
  padding: 12px 14px;
}

/* ==============================================================================
   NBA AWARDS DUEL GRID
   ============================================================================== */
.awards-duel-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 16px;
}

.award-card {
  padding: 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.2s ease, transform 0.15s ease;
}

.award-card:hover {
  border-color: rgba(255, 255, 255, 0.14);
}

.award-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.award-name-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.award-trophy-icon {
  font-size: 1.25rem;
}

.award-title {
  font-weight: 700;
  font-size: 0.95rem;
  color: #f8fafc;
}

.award-consensus-pill {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.award-consensus-pill.is-consensus {
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #34d399;
}

.award-consensus-pill.is-duel {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #f87171;
}

.award-picks-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
}

.award-pick-box {
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
}

.award-picker-label {
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}

.p1-box .award-picker-label {
  color: #34d399;
}

.p2-box .award-picker-label {
  color: #38bdf8;
}

.award-pick-content {
  display: flex;
  align-items: center;
  gap: 10px;
}

.award-pick-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.award-pick-avatar.team-logo {
  border-radius: 4px;
  object-fit: contain;
  background: transparent;
  border: none;
}

.award-pick-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}

.award-pick-value {
  font-weight: 700;
  font-size: 0.9rem;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.award-pick-team-tag {
  font-family: var(--font-mono, monospace);
  font-size: 0.68rem;
  color: #64748b;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.award-vs-tag {
  font-size: 0.72rem;
  font-weight: 800;
  color: #475569;
}

.award-card-footer {
  font-size: 0.72rem;
  color: #64748b;
  margin-top: auto;
  padding-top: 4px;
}

/* ==============================================================================
   INPUT MODE: WIN-LOSS MATRIX & AWARDS EDITOR
   ============================================================================== */
.pred-input-banner {
  padding: 16px 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.pred-validation-meter {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.person-win-counter {
  display: flex;
  align-items: center;
  gap: 8px;
}

.counter-badge {
  font-family: var(--font-mono, monospace);
  font-size: 0.8rem;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.04);
}

.counter-badge.is-valid {
  background: rgba(16, 185, 129, 0.18);
  border-color: rgba(16, 185, 129, 0.4);
  color: #34d399;
}

.counter-badge.is-invalid {
  background: rgba(234, 179, 8, 0.15);
  border-color: rgba(234, 179, 8, 0.4);
  color: #facc15;
}

/* Stepper Controls in Table */
.win-stepper {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 6px;
  padding: 2px 4px;
}

.stepper-btn {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  color: #e2e8f0;
  font-size: 0.85rem;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.1s ease;
  user-select: none;
}

.stepper-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

.stepper-input {
  width: 36px;
  background: transparent;
  border: none;
  color: #ffffff;
  font-family: var(--font-mono, monospace);
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
  outline: none;
}

.stepper-losses-preview {
  font-family: var(--font-mono, monospace);
  font-size: 0.78rem;
  color: #64748b;
  margin-left: 6px;
}

/* Awards Input Cards */
.awards-input-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 16px;
}

.award-input-card {
  position: relative;
  overflow: visible !important;
  padding: 16px 18px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, z-index 0.1s ease;
}

.award-input-card.dropdown-open {
  z-index: 200;
  border-color: rgba(255, 255, 255, 0.25);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.85);
}

.pred-pickers-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  position: relative;
}

.award-frontrunners-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.frontrunner-chip {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 0.72rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.12s ease;
}

.frontrunner-chip:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
}

/* Award Picker Group & Search Input */
.picker-input-group {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 5px;
  z-index: 1;
}

.picker-input-group:focus-within,
.picker-input-group.dropdown-active {
  z-index: 60;
}

.pred-search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 4px 8px;
  gap: 8px;
  transition: all 0.15s ease;
}

.pred-search-input-wrap:focus-within {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.picker-avatar-slot {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.picker-avatar-slot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.picker-avatar-slot img.team-logo {
  object-fit: contain;
  border-radius: 0;
  background: transparent;
}

.picker-avatar-slot .picker-placeholder-icon {
  font-size: 0.72rem;
  color: #64748b;
  line-height: 1;
}

.picker-input-field {
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 500;
  outline: none;
  transition: border-color 0.15s ease;
  width: 100%;
  padding: 3px 0;
}

.picker-input-field::placeholder {
  color: #64748b;
  font-size: 0.76rem;
}

.picker-clear-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 0.8rem;
  padding: 2px 5px;
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.12s ease;
  flex-shrink: 0;
  line-height: 1;
}

.picker-clear-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
}

/* Autocomplete Dropdown - Expanded 2x Width with Directional Anchoring */
.pred-award-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  width: calc(200% + 12px);
  min-width: 380px;
  max-width: min(540px, calc(100vw - 32px));
  background: #0d0d11;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  max-height: 320px;
  overflow-y: auto;
  z-index: 1000;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.95), 0 0 0 1px rgba(255, 255, 255, 0.06);
  display: none;
}

/* Person 1 (left picker) dropdown expands across to the right */
.picker-input-group[data-person="p1"] .pred-award-dropdown {
  left: 0;
  right: auto;
}

/* Person 2 (right picker) dropdown expands across to the left */
.picker-input-group[data-person="p2"] .pred-award-dropdown {
  right: 0;
  left: auto;
}

@media (max-width: 540px) {
  .pred-pickers-grid {
    grid-template-columns: 1fr;
  }

  .pred-award-dropdown,
  .picker-input-group[data-person="p1"] .pred-award-dropdown,
  .picker-input-group[data-person="p2"] .pred-award-dropdown {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    left: 0;
    right: 0;
  }
}

.pred-award-dropdown::-webkit-scrollbar {
  width: 6px;
}

.pred-award-dropdown::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.2);
}

.pred-award-dropdown::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}

.pred-award-dropdown::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.25);
}

.pred-award-dropdown .autocomplete-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  cursor: pointer;
  transition: background 0.15s ease;
}

.pred-award-dropdown .autocomplete-item:last-child {
  border-bottom: none;
}

.pred-award-dropdown .autocomplete-item:hover,
.pred-award-dropdown .autocomplete-item.active {
  background: rgba(255, 255, 255, 0.08);
}

.pred-award-dropdown .autocomplete-item.no-results {
  color: #64748b;
  font-size: 0.8rem;
  padding: 16px;
  text-align: center;
  justify-content: center;
  cursor: default;
}

.pred-award-dropdown .search-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.12);
  flex-shrink: 0;
}

.pred-award-dropdown .search-avatar.team-logo {
  border-radius: 6px;
  object-fit: contain;
  background: transparent;
  border: none;
}

.pred-award-dropdown .search-info {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-width: 0;
  gap: 3px;
}

.pred-award-dropdown .search-name {
  font-size: 0.86rem;
  font-weight: 600;
  color: #f8fafc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pred-award-dropdown .search-meta {
  font-size: 0.72rem;
  color: #94a3b8;
  font-family: var(--font-mono, 'Geist Mono', monospace);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pred-award-dropdown .badge-hot {
  font-size: 0.64rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.35);
  color: #34d399;
  flex-shrink: 0;
}

.pred-award-dropdown .badge-frontrunner {
  font-size: 0.64rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  color: #fbbf24;
  flex-shrink: 0;
}

.pred-dropdown-section-title {
  padding: 8px 14px 4px;
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #64748b;
  background: rgba(255, 255, 255, 0.02);
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

/* Floating / Bottom Action Bar */
.pred-save-bar {
  margin-top: 24px;
  padding: 16px 20px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}

.pred-save-primary-btn {
  padding: 10px 24px;
  border-radius: 8px;
  font-size: 0.9rem;
  font-weight: 700;
  border: none;
  background: linear-gradient(135deg, #10b981, #059669);
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 2px 10px rgba(16, 185, 129, 0.3);
  transition: all 0.15s ease;
}

.pred-save-primary-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(16, 185, 129, 0.45);
}

/* Modal for renaming players */
.pred-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(4px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.pred-modal-card {
  width: 90%;
  max-width: 440px;
  padding: 24px;
  border-radius: 14px;
  background: #0d1117;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.7);
}

.pred-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}

.pred-modal-title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
}

.pred-modal-close {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 1.2rem;
  cursor: pointer;
}

.pred-modal-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 20px;
}

.pred-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* ==========================================================================
   NBA Intelligence - Team Sim (Monte Carlo Season Simulator) Styles
   Strict adherence to Geist / Vercel Dark Design System
   ========================================================================== */

/* Page Controls & Selectors */
.sim-controls-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 24px;
}

.sim-selectors-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
}

.sim-control-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sim-control-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
}

.sim-dropdown {
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  color: #f1f5f9;
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  padding: 8px 14px;
  cursor: pointer;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.sim-dropdown:hover,
.sim-dropdown:focus {
  border-color: rgba(56, 189, 248, 0.5);
  box-shadow: 0 0 12px rgba(56, 189, 248, 0.15);
}

/* Simulation Mid-Page Configuration Card (Under Hero Card & Above Levers) */
.sim-controls-card {
  margin-bottom: 24px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
}

.sim-controls-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px 24px;
}

.sim-checkpoint-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.sim-buttons-group {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  align-self: flex-start;
}

.sim-status-wrapper {
  margin-left: auto;
  align-self: center;
}

/* Custom Checkpoint Slider Container */
.checkpoint-slider-container {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  margin-top: 2px;
}

.checkpoint-slider-container.is-hidden {
  display: none !important;
}

.checkpoint-slider {
  width: 140px;
  accent-color: #38bdf8;
  cursor: pointer;
}

.checkpoint-val-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.85rem;
  font-weight: 600;
  color: #38bdf8;
  min-width: 48px;
}

/* Hero Overview Card */
.sim-hero-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 24px;
  margin-bottom: 24px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  position: relative;
  overflow: hidden;
}

.sim-hero-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
}

.sim-hero-left {
  display: flex;
  align-items: center;
  gap: 20px;
}

.sim-hero-logo {
  width: 84px;
  height: 84px;
  object-fit: contain;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.6));
}

.sim-hero-meta {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sim-hero-badges {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sim-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: 2rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.15;
}

.sim-hero-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 0.9rem;
  color: #94a3b8;
  margin: 0;
}

.sim-hero-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 12px;
  width: 100%;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.sim-kpi-tile {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 10px;
  transition: transform 0.15s ease, border-color 0.15s ease;
}

.sim-kpi-tile:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.12);
}

.sim-kpi-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #64748b;
}

.sim-kpi-val {
  font-family: 'Geist Mono', monospace;
  font-size: 1.35rem;
  font-weight: 700;
  color: #f8fafc;
  line-height: 1.1;
}

.sim-kpi-sub {
  font-family: 'Inter', sans-serif;
  font-size: 0.76rem;
  color: #94a3b8;
}

/* Levers Section & Presets */
.sim-presets-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
}

.preset-title {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
  margin-right: 6px;
}

.preset-btn {
  font-family: 'Inter', sans-serif;
  font-size: 0.8rem;
  font-weight: 500;
  padding: 6px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  color: #e2e8f0;
  cursor: pointer;
  transition: all 0.15s ease;
}

.preset-btn:hover {
  background: rgba(56, 189, 248, 0.12);
  border-color: rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  transform: translateY(-1px);
}

.preset-btn.active {
  background: rgba(56, 189, 248, 0.18);
  border-color: #38bdf8;
  color: #ffffff;
}

/* Levers Grid */
.levers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.lever-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.lever-card:hover {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.035);
}

.lever-card.is-modified {
  border-color: rgba(56, 189, 248, 0.35);
  background: rgba(56, 189, 248, 0.02);
}

.lever-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.lever-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lever-icon {
  font-size: 1.1rem;
}

.lever-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #f1f5f9;
}

.lever-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.78rem;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0.06);
  color: #94a3b8;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.lever-badge.pos {
  background: rgba(34, 197, 94, 0.15);
  color: #4ade80;
  border-color: rgba(34, 197, 94, 0.3);
}

.lever-badge.neg {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.3);
}

.lever-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  line-height: 1.4;
  color: #64748b;
  margin: 0;
  min-height: 32px;
}

.lever-controls {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.lever-slider {
  flex: 1;
  height: 6px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.1);
  outline: none;
  accent-color: #38bdf8;
  cursor: pointer;
  transition: background 0.15s ease;
}

.lever-slider:hover {
  background: rgba(255, 255, 255, 0.16);
}

.lever-input {
  width: 72px;
  padding: 6px 8px;
  background: rgba(15, 23, 42, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 6px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.85rem;
  font-weight: 600;
  color: #f8fafc;
  text-align: right;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lever-input:focus {
  border-color: #38bdf8;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.25);
}

.lever-reset-btn {
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 0.85rem;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: color 0.15s ease, background 0.15s ease;
}

.lever-reset-btn:hover {
  color: #e2e8f0;
  background: rgba(255, 255, 255, 0.08);
}

/* Simulation Trigger Bar */
.sim-actions-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  margin-top: 8px;
}

.sim-actions-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sim-actions-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.btn-primary-sim {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 22px;
  background: linear-gradient(135deg, #0284c7 0%, #0369a1 100%);
  border: 1px solid rgba(56, 189, 248, 0.4);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.92rem;
  font-weight: 600;
  color: #ffffff;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(2, 132, 199, 0.25);
  transition: all 0.15s ease;
}

.btn-primary-sim:hover {
  background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
  box-shadow: 0 6px 18px rgba(14, 165, 233, 0.35);
  transform: translateY(-1px);
}

.btn-primary-sim:active {
  transform: translateY(0);
}

.btn-secondary-sim {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  font-weight: 500;
  color: #cbd5e1;
  cursor: pointer;
  transition: all 0.15s ease;
}

.btn-secondary-sim:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

/* Simulation Results Grid & Visualizations */
.sim-results-container {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.sim-summary-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 14px;
}

.sim-metric-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
}

.sim-metric-title {
  font-family: 'Inter', sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #94a3b8;
}

.sim-metric-main {
  font-family: 'Geist Mono', monospace;
  font-size: 1.7rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.1;
}

.sim-metric-delta {
  font-family: 'Geist Mono', monospace;
  font-size: 0.8rem;
  font-weight: 500;
}

.sim-metric-delta.positive {
  color: #4ade80;
}

.sim-metric-delta.negative {
  color: #f87171;
}

.sim-metric-delta.neutral {
  color: #64748b;
}

/* Conference Seeding Probability Distribution Chart */
.seeding-chart-card {
  padding: 20px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
}

.seeding-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.seeding-chart-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: #f1f5f9;
}

.chart-legend {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: #94a3b8;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
}

.legend-dot.top6 {
  background: #22c55e;
}

.legend-dot.playin {
  background: #eab308;
}

.legend-dot.lottery {
  background: #64748b;
}

.seeding-bars-row {
  display: flex;
  align-items: flex-end;
  gap: 8px;
  height: 180px;
  padding-top: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  box-sizing: border-box;
}

.seeding-bar-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  justify-content: flex-end;
  position: relative;
}

.seeding-bar-pct {
  font-family: 'Geist Mono', monospace;
  font-size: 0.7rem;
  font-weight: 600;
  color: #cbd5e1;
  margin-bottom: 4px;
}

.seeding-bar {
  width: 100%;
  border-radius: 4px 4px 0 0;
  transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  min-height: 2px;
}

.seeding-bar.top6 {
  background: linear-gradient(180deg, #4ade80 0%, #22c55e 100%);
}

.seeding-bar.playin {
  background: linear-gradient(180deg, #facc15 0%, #ca8a04 100%);
}

.seeding-bar.lottery {
  background: linear-gradient(180deg, #94a3b8 0%, #475569 100%);
}

.seeding-bar-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.74rem;
  font-weight: 600;
  color: #94a3b8;
  margin-top: 8px;
}

/* Division & League Probabilities breakdown */
.sim-breakdowns-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.breakdown-card {
  padding: 16px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
}

.breakdown-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #f1f5f9;
  margin-bottom: 12px;
}

.breakdown-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.breakdown-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.breakdown-rank-name {
  font-family: 'Inter', sans-serif;
  font-size: 0.82rem;
  color: #cbd5e1;
  min-width: 80px;
}

.breakdown-progress-track {
  flex: 1;
  height: 7px;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 4px;
  overflow: hidden;
}

.breakdown-progress-fill {
  height: 100%;
  border-radius: 4px;
  background: #38bdf8;
  transition: width 0.3s ease;
}

.breakdown-pct-val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.82rem;
  font-weight: 600;
  color: #f8fafc;
  min-width: 45px;
  text-align: right;
}

/* Schedule Table */
.sim-schedule-container {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.015);
}

.sim-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  font-family: 'Inter', sans-serif;
  font-size: 0.85rem;
}

.sim-table th {
  padding: 12px 14px;
  font-family: 'Inter', sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #94a3b8;
  background: rgba(15, 23, 42, 0.95);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  white-space: nowrap;
}

.sim-table td {
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
  white-space: nowrap;
}

.sim-table tr:hover td {
  background: rgba(255, 255, 255, 0.025);
}

.sim-table tr.game-played td {
  opacity: 0.7;
}

.sim-table-matchup {
  display: flex;
  align-items: center;
  gap: 10px;
}

.sim-opp-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.venue-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.74rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

.venue-tag.home {
  background: rgba(56, 189, 248, 0.15);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.venue-tag.away {
  background: rgba(148, 163, 184, 0.15);
  color: #94a3b8;
  border: 1px solid rgba(148, 163, 184, 0.3);
}

.win-prob-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
}

.win-prob-bar-track {
  width: 70px;
  height: 6px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  overflow: hidden;
}

.win-prob-bar-fill {
  height: 100%;
  border-radius: 3px;
}

.win-prob-bar-fill.fav {
  background: #22c55e;
}

.win-prob-bar-fill.dog {
  background: #ef4444;
}

/* Saved Runs & Comparison Section */
.saved-runs-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
}

.save-run-form {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  max-width: 500px;
}

.save-run-input {
  flex: 1;
  padding: 8px 12px;
  background: rgba(15, 23, 42, 0.8);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
  color: #ffffff;
  outline: none;
}

.save-run-input:focus {
  border-color: #38bdf8;
}

.saved-runs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}

.saved-run-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  transition: border-color 0.15s ease;
}

.saved-run-card:hover {
  border-color: rgba(255, 255, 255, 0.16);
}

.saved-run-card.selected-for-compare {
  border-color: #38bdf8;
  background: rgba(56, 189, 248, 0.03);
}

.saved-run-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.saved-run-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #f8fafc;
}

.saved-run-time {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  color: #64748b;
}

.saved-run-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.02);
  border-radius: 6px;
}

.saved-run-metric-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.saved-run-metric-lbl {
  font-family: 'Inter', sans-serif;
  font-size: 0.68rem;
  text-transform: uppercase;
  color: #64748b;
}

.saved-run-metric-val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.92rem;
  font-weight: 700;
  color: #f1f5f9;
}

.saved-run-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.saved-run-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  padding: 2px 6px;
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  color: #94a3b8;
}

.saved-run-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.run-action-btn {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  padding: 5px 10px;
  border-radius: 6px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
  cursor: pointer;
  transition: all 0.15s ease;
}

.run-action-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.run-action-btn.btn-load {
  color: #38bdf8;
  border-color: rgba(56, 189, 248, 0.3);
}

.run-action-btn.btn-load:hover {
  background: rgba(56, 189, 248, 0.15);
}

.run-action-btn.btn-compare {
  color: #a855f7;
  border-color: rgba(168, 85, 247, 0.3);
}

.run-action-btn.btn-compare.active {
  background: rgba(168, 85, 247, 0.25);
  border-color: #a855f7;
  color: #ffffff;
}

.run-action-btn.btn-delete {
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.3);
}

.run-action-btn.btn-delete:hover {
  background: rgba(239, 68, 68, 0.15);
}

/* Comparison Diff View */
.sim-compare-panel {
  margin-top: 20px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(168, 85, 247, 0.3);
  border-radius: 12px;
}

.sim-compare-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.sim-compare-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1rem;
  font-weight: 700;
  color: #f8fafc;
}

.sim-diff-table {
  width: 100%;
  border-collapse: collapse;
}

.sim-diff-table th {
  padding: 10px 12px;
  font-family: 'Inter', sans-serif;
  font-size: 0.74rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #94a3b8;
  background: rgba(15, 23, 42, 0.8);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.sim-diff-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-family: 'Geist Mono', monospace;
  font-size: 0.86rem;
  color: #e2e8f0;
}

.diff-delta {
  font-weight: 700;
}

.diff-delta.pos {
  color: #4ade80;
}

.diff-delta.neg {
  color: #f87171;
}

.diff-delta.same {
  color: #64748b;
}

/* Empty state */
.sim-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 20px;
  text-align: center;
  color: #64748b;
  font-family: 'Inter', sans-serif;
  font-size: 0.88rem;
}

/* Collapsible Section Standard */
.collapsible-card {
  transition: all 0.2s ease;
}

.collapsible-card.is-collapsed {
  margin-bottom: 16px;
}

.collapsible-card.is-collapsed .collapsible-header {
  margin-bottom: 0 !important;
  border-bottom: none !important;
}

.collapsible-card.is-collapsed .collapsible-body,
.collapsible-card.is-collapsed .collapsible-content {
  display: none !important;
}

.collapsible-card.is-collapsed .poss-arrow-svg {
  transform: rotate(-90deg) !important;
}

.collapsible-card.is-collapsed .poss-arrow-btn {
  border-color: rgba(239, 68, 68, 0.25);
  box-shadow: 0 0 6px rgba(239, 68, 68, 0.1);
  opacity: 0.85;
}

@media (max-width: 768px) {
  .sim-hero-main {
    flex-direction: column;
    align-items: flex-start;
  }
  .sim-hero-kpis {
    grid-template-columns: repeat(2, 1fr);
  }
  .levers-grid {
    grid-template-columns: 1fr;
  }
  .sim-actions-bar {
    flex-direction: column;
    align-items: stretch;
  }
  .sim-actions-left,
  .sim-actions-right {
    justify-content: space-between;
  }
}


/* ==========================================================================
   NBA Intelligence PRO — On/Off & Lineup Analytics Styles
   Adheres strictly to the Vercel Dark / Geist Minimalist Design System
   ========================================================================== */

/* Page Header & Controls Bar */
.onoff-hero-container {
  margin-bottom: 24px;
}

.onoff-controls-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: rgba(10, 10, 10, 0.7);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  margin-bottom: 24px;
  justify-content: flex-start;
}

.onoff-ctrl-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.onoff-ctrl-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #888888;
}

.onoff-select {
  background: #121212;
  color: #ededed;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  padding: 7px 14px;
  font-size: 0.8125rem;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  outline: none;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.onoff-select:focus,
.onoff-select:hover {
  border-color: rgba(255, 255, 255, 0.3);
  background: #171717;
}

/* Mode Switcher Tabs */
.onoff-mode-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.04);
  padding: 4px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.onoff-mode-btn {
  background: transparent;
  border: none;
  color: #888888;
  font-size: 0.8125rem;
  font-weight: 500;
  padding: 6px 14px;
  border-radius: 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}

.onoff-mode-btn:hover {
  color: #ededed;
  background: rgba(255, 255, 255, 0.04);
}

.onoff-mode-btn.active {
  color: #000000;
  background: #ffffff;
  font-weight: 600;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4);
}

/* Unit Switcher (2-Player vs 5-Player) */
.onoff-unit-pill-group {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 255, 255, 0.04);
  padding: 4px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.onoff-unit-btn {
  background: transparent;
  border: none;
  color: #888888;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.onoff-unit-btn:hover {
  color: #ededed;
}

.onoff-unit-btn.active {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  font-weight: 600;
}

/* Minutes Filter Preset Pills & Slider */
.onoff-filter-container {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.onoff-preset-pills {
  display: flex;
  align-items: center;
  gap: 4px;
}

.onoff-preset-pill {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #a1a1a1;
  font-size: 0.6875rem;
  font-family: 'Geist Mono', monospace;
  padding: 4px 9px;
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.onoff-preset-pill:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.onoff-preset-pill.active {
  background: rgba(56, 189, 248, 0.15);
  border-color: rgba(56, 189, 248, 0.4);
  color: #38bdf8;
  font-weight: 600;
}

.onoff-slider-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
}

.onoff-range-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 110px;
  height: 4px;
  border-radius: 2px;
  background: rgba(255, 255, 255, 0.15);
  outline: none;
  cursor: pointer;
}

.onoff-range-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #38bdf8;
  cursor: pointer;
  box-shadow: 0 0 8px rgba(56, 189, 248, 0.5);
}

.onoff-slider-val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  color: #ededed;
  min-width: 44px;
}

.onoff-pool-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.72rem;
  font-weight: 500;
  color: #a78bfa;
  background: rgba(167, 139, 250, 0.1);
  border: 1px solid rgba(167, 139, 250, 0.25);
  padding: 2px 10px;
  border-radius: 6px;
  letter-spacing: -0.01em;
  transition: all 0.2s ease;
}

.onoff-slider-pool-badge {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  color: #a78bfa;
  background: rgba(167, 139, 250, 0.08);
  border: 1px solid rgba(167, 139, 250, 0.2);
  padding: 2px 7px;
  border-radius: 4px;
  white-space: nowrap;
}

/* Leverage / Garbage Time Filter Toggle */
.onoff-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #a1a1a1;
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s ease;
}

.onoff-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #ededed;
}

.onoff-toggle-btn.active {
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(16, 185, 129, 0.35);
  color: #10b981;
  font-weight: 600;
}

/* Mode 1: League Extremes Split Layout */
.onoff-extremes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

@media (max-width: 1024px) {
  .onoff-extremes-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.onoff-column-card {
  background: rgba(10, 10, 10, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.onoff-card-header {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.015);
}

.onoff-card-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #ededed;
  margin: 0;
}

.onoff-card-meta {
  font-size: 0.72rem;
  color: #888888;
  font-family: 'Geist Mono', monospace;
}

/* Data Table Styling */
.onoff-table-wrapper {
  overflow-x: auto;
  flex: 1;
}

.onoff-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  text-align: left;
}

.onoff-table th {
  padding: 10px 14px;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #888888;
  background: rgba(15, 15, 15, 0.9);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  white-space: nowrap;
  position: sticky;
  top: 0;
  z-index: 2;
}

.onoff-table th.num-col,
.onoff-table td.num-col {
  text-align: right;
  font-family: 'Geist Mono', monospace;
}

.onoff-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  vertical-align: middle;
  color: #ededed;
}

.onoff-table tr:hover td {
  background: rgba(255, 255, 255, 0.025);
}

/* ==========================================================================
   Compact Table for League Extremes (Zero Horizontal Scrolling)
   ========================================================================== */
.onoff-table.onoff-compact-table {
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
}

.onoff-column-card .onoff-table-wrapper {
  overflow-x: hidden;
}

.onoff-table.onoff-compact-table th,
.onoff-table.onoff-compact-table td {
  padding: 7px 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.onoff-table.onoff-compact-table th {
  font-size: 0.625rem;
  letter-spacing: 0.04em;
  padding: 7px 3px;
  color: #888888;
  background: rgba(15, 15, 15, 0.95);
}

.onoff-table.onoff-compact-table td {
  font-size: 0.72rem;
  padding: 6px 3px;
}

/* Specific column sizing for 9 columns in compact extremes table */
.onoff-table.onoff-compact-table th.col-rank,
.onoff-table.onoff-compact-table td.col-rank {
  width: 26px;
  text-align: center;
  padding-left: 4px;
  padding-right: 2px;
}

.onoff-table.onoff-compact-table th.col-lineup,
.onoff-table.onoff-compact-table td.col-lineup {
  width: auto; /* takes remaining fluid space */
  padding-left: 4px;
  padding-right: 4px;
}

.onoff-table.onoff-compact-table th.col-stat-min,
.onoff-table.onoff-compact-table td.col-stat-min {
  width: 44px;
}

.onoff-table.onoff-compact-table th.col-stat-poss,
.onoff-table.onoff-compact-table td.col-stat-poss {
  width: 38px;
}

.onoff-table.onoff-compact-table th.col-stat-ortg,
.onoff-table.onoff-compact-table td.col-stat-ortg {
  width: 44px;
}

.onoff-table.onoff-compact-table th.col-stat-drtg,
.onoff-table.onoff-compact-table td.col-stat-drtg {
  width: 44px;
}

.onoff-table.onoff-compact-table th.col-stat-net,
.onoff-table.onoff-compact-table td.col-stat-net {
  width: 48px;
}

.onoff-table.onoff-compact-table th.col-stat-pm,
.onoff-table.onoff-compact-table td.col-stat-pm {
  width: 36px;
}

.onoff-table.onoff-compact-table th.col-arrow,
.onoff-table.onoff-compact-table td.col-arrow {
  width: 24px;
  text-align: center;
  padding-left: 0;
  padding-right: 4px;
}

/* Compact Lineup Cell */
.onoff-table.onoff-compact-table .onoff-lineup-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
  overflow: hidden;
}

.onoff-table.onoff-compact-table .onoff-headshots-stack {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.onoff-table.onoff-compact-table .onoff-headshot-img,
.onoff-headshot-img.compact {
  width: 22px;
  height: 22px;
  margin-left: -7px;
  border: 1px solid #000000;
  border-radius: 50%;
  background: #1a1a1a;
  object-fit: cover;
  transition: transform 0.15s ease, z-index 0.15s ease;
}

.onoff-table.onoff-compact-table .onoff-headshot-img:first-child,
.onoff-headshots-stack.compact .onoff-headshot-img:first-child {
  margin-left: 0;
}

.onoff-table.onoff-compact-table .onoff-headshot-img:hover {
  transform: scale(1.3);
  z-index: 10;
}

.onoff-table.onoff-compact-table .onoff-lineup-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
  overflow: hidden;
}

.onoff-table.onoff-compact-table .onoff-lineup-name {
  font-size: 0.72rem;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #ededed;
  line-height: 1.2;
}

.onoff-table.onoff-compact-table .onoff-lineup-team {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 0.625rem;
  color: #888888;
  line-height: 1;
}

.onoff-table.onoff-compact-table .onoff-team-logo {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}

.onoff-table.onoff-compact-table .sample-badge {
  padding: 1px 4px;
  font-size: 0.5625rem;
  border-radius: 3px;
  line-height: 1.1;
}

.onoff-table.onoff-compact-table .onoff-rating-pill {
  padding: 2px 4px;
  font-size: 0.6875rem;
  min-width: 38px;
  border-radius: 4px;
}

.onoff-table.onoff-compact-table .poss-arrow-btn {
  padding: 2px;
  width: 20px;
  height: 20px;
}

.onoff-table.onoff-compact-table .poss-arrow-svg {
  width: 12px;
  height: 12px;
}

/* Sortable Headers Styling */
.onoff-table th.sortable-th {
  cursor: pointer;
  user-select: none;
  transition: color 0.15s ease, background 0.15s ease;
}

.onoff-table th.sortable-th:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.05);
}

.onoff-table th.sortable-th .sort-icon {
  display: inline-block;
  font-size: 0.56rem;
  margin-left: 2px;
  opacity: 0.35;
  vertical-align: middle;
  transition: opacity 0.15s ease, color 0.15s ease;
}

.onoff-table th.sortable-th:hover .sort-icon {
  opacity: 0.8;
}

.onoff-table th.sortable-th.active-sort {
  color: #38bdf8;
  background: rgba(56, 189, 248, 0.06);
}

.onoff-table th.sortable-th.active-sort .sort-icon {
  opacity: 1;
  color: #38bdf8;
}

/* Compact Drawer styling inside compact tables */
.onoff-compact-table tr.onoff-drawer-row td {
  white-space: normal;
  padding: 0;
}

.onoff-compact-table .onoff-drawer-content {
  padding: 8px 10px;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.onoff-compact-table .onoff-factor-box {
  padding: 6px 8px;
  gap: 2px;
}

.onoff-compact-table .onoff-factor-name {
  font-size: 0.6rem;
}

.onoff-compact-table .onoff-factor-val {
  font-size: 0.75rem;
}

.onoff-compact-table .onoff-factor-opp {
  font-size: 0.6rem;
}

/* Lineup / Pairing Name Cell with Headshots (Default non-compact) */
.onoff-lineup-cell {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 220px;
}

.onoff-headshots-stack {
  display: flex;
  align-items: center;
}

.onoff-headshot-img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #1a1a1a;
  border: 1.5px solid #000000;
  object-fit: cover;
  margin-left: -10px;
  transition: transform 0.15s ease, z-index 0.15s ease;
}

.onoff-headshot-img:first-child {
  margin-left: 0;
}

.onoff-headshot-img:hover {
  transform: scale(1.15);
  z-index: 5;
}

.onoff-lineup-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.onoff-lineup-name {
  font-weight: 600;
  color: #ededed;
  font-size: 0.8125rem;
}

.onoff-lineup-team {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.6875rem;
  color: #888888;
}

.onoff-team-logo {
  width: 14px;
  height: 14px;
  object-fit: contain;
}

/* Statistical Rating Pills */
.onoff-rating-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 6px;
  font-family: 'Geist Mono', monospace;
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: -0.01em;
}

.onoff-rating-pill.pos {
  background: rgba(16, 185, 129, 0.12);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.25);
}

.onoff-rating-pill.neg {
  background: rgba(239, 68, 68, 0.12);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.25);
}

.onoff-rating-pill.neu {
  background: rgba(255, 255, 255, 0.05);
  color: #a1a1a1;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

/* Sample Confidence Reliability Badges */
.sample-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.625rem;
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.sample-badge.high {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
  border: 1px solid rgba(16, 185, 129, 0.2);
}

.sample-badge.solid {
  background: rgba(56, 189, 248, 0.1);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.2);
}

.sample-badge.moderate {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.sample-badge.low {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
  border: 1px solid rgba(239, 68, 68, 0.2);
}

/* Standardized Basketball Scoreboard Possession Arrow Button */
.poss-arrow-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background 0.15s ease;
}

.poss-arrow-btn:hover {
  background: rgba(255, 255, 255, 0.06);
}

.poss-arrow-svg {
  width: 14px;
  height: 14px;
  fill: #ef4444;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  transform: rotate(0deg); /* Expanded: points downward */
}

.poss-arrow-btn.is-collapsed .poss-arrow-svg {
  transform: rotate(-90deg); /* Collapsed: points right */
}

/* Expandable Four Factors Drawer Row */
.onoff-drawer-row {
  background: rgba(15, 15, 15, 0.7);
}

.onoff-drawer-content {
  padding: 14px 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.onoff-eb-pill {
  font-family: 'Geist Mono', monospace;
  font-size: 0.65rem;
  font-weight: 600;
  color: #818cf8;
  letter-spacing: 0.02em;
  margin-top: 2px;
  cursor: help;
}

.onoff-factor-box.onoff-eb-box {
  background: rgba(99, 102, 241, 0.04);
  border: 1px solid rgba(99, 102, 241, 0.25);
}

.onoff-factor-box.onoff-eb-box .onoff-factor-name {
  color: #a5b4fc;
}

.onoff-factor-box.onoff-eb-box .onoff-factor-val {
  color: #e0e7ff;
}

.onoff-factor-box.onoff-eb-box .onoff-factor-opp {
  color: #94a3b8;
}

.onoff-factor-box {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.onoff-factor-name {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #888888;
  letter-spacing: 0.04em;
}

.onoff-factor-val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #ededed;
}

.onoff-factor-opp {
  font-size: 0.6875rem;
  color: #666666;
  font-family: 'Geist Mono', monospace;
}

/* Mode 2: Starting 5 On vs Off Hero Card */
.starting5-impact-card {
  background: rgba(15, 15, 15, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 24px;
}

.starting5-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 12px;
}

.starting5-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.starting5-team-logo {
  width: 40px;
  height: 40px;
  object-fit: contain;
}

.starting5-names {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
}

.starting5-split-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

@media (max-width: 900px) {
  .starting5-split-grid {
    grid-template-columns: 1fr;
  }
}

.starting5-state-box {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 10px;
  padding: 14px 16px;
}

.starting5-state-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #888888;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.starting5-stat-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-size: 0.8125rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.03);
}

.starting5-stat-row:last-child {
  border-bottom: none;
}

.starting5-stat-label {
  color: #a1a1a1;
}

.starting5-stat-val {
  font-family: 'Geist Mono', monospace;
  font-weight: 600;
  color: #ededed;
}

/* Mode 3: Player Synergy Hero Card & Split Columns */
.player-synergy-hero {
  background: rgba(15, 15, 15, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.player-bio-group {
  display: flex;
  align-items: center;
  gap: 16px;
}

.player-hero-portrait {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.12);
  background: #171717;
}

.player-hero-details h2 {
  margin: 0 0 4px 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: #ffffff;
}

.player-hero-meta {
  font-size: 0.8125rem;
  color: #888888;
  display: flex;
  align-items: center;
  gap: 8px;
}

.player-onoff-summary-stats {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.summary-stat-metric {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.summary-stat-label {
  font-size: 0.6875rem;
  text-transform: uppercase;
  color: #888888;
}

.summary-stat-value {
  font-family: 'Geist Mono', monospace;
  font-size: 1.125rem;
  font-weight: 700;
  color: #ffffff;
}

/* Force Multipliers vs Friction Anchors Cards */
.synergy-extremes-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

@media (max-width: 1000px) {
  .synergy-extremes-grid {
    grid-template-columns: 1fr;
  }
}

.complement-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
}

.complement-item:last-child {
  border-bottom: none;
}

.complement-teammate {
  display: flex;
  align-items: center;
  gap: 10px;
}

.complement-portrait {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  background: #171717;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.complement-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.complement-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #ededed;
}

.complement-mins {
  font-size: 0.6875rem;
  color: #888888;
  font-family: 'Geist Mono', monospace;
}

.complement-metrics {
  display: flex;
  align-items: center;
  gap: 12px;
}

.synergy-delta-tag {
  font-family: 'Geist Mono', monospace;
  font-size: 0.8125rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 6px;
}

.synergy-delta-tag.elevate {
  color: #10b981;
  background: rgba(16, 185, 129, 0.12);
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.synergy-delta-tag.anchor {
  color: #ef4444;
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* 4-Quadrant WOWY Table Matrix */
.wowy-matrix-container {
  background: rgba(10, 10, 10, 0.6);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
}

.wowy-matrix-header {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wowy-state-col-header {
  background: rgba(255, 255, 255, 0.02) !important;
  text-align: center !important;
  border-left: 1px solid rgba(255, 255, 255, 0.06);
}

/* Loading & Empty States */
.onoff-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  color: #888888;
  font-size: 0.875rem;
  gap: 12px;
}

.onoff-spinner {
  width: 28px;
  height: 28px;
  border: 2px solid rgba(255, 255, 255, 0.1);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: onoff-spin 0.6s linear infinite;
}

@keyframes onoff-spin {
  to { transform: rotate(360deg); }
}

.onoff-empty {
  text-align: center;
  padding: 48px 20px;
  color: #888888;
  font-size: 0.875rem;
}

/* RAPM Engine View Styles */
.onoff-methodology-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 10px;
  padding: 16px 20px;
  margin-bottom: 16px;
}

.onoff-methodology-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.onoff-rapm-controls {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  background: rgba(255, 255, 255, 0.015);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
  padding: 12px 16px;
}

.rapm-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  color: #a1a1aa;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 3px 8px;
  border-radius: 4px;
  text-decoration: none;
  transition: all 0.15s ease;
}

.rapm-link-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.2);
}


/* ==========================================================================
   NBA Intelligence PRO — Awards Showcase Stylesheet
   Adheres strictly to the Vercel Dark / Geist design system.
   Strictly complies with the ban on colored left-border callout boxes.
   ========================================================================== */

/* Page Container & Controls Bar */
.awards-page-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 24px 80px 24px;
}

.awards-controls-bar {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 28px;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 14px;
  padding: 16px 20px;
  backdrop-filter: blur(16px);
}

.awards-pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
}

.award-capsule-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 20px;
  font-family: 'Inter', -apple-system, sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-secondary, #94a3b8);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
  user-select: none;
}

.award-capsule-btn:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-1px);
}

.award-capsule-btn.active {
  color: #f8fafc;
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.4);
  box-shadow: 0 0 16px rgba(245, 158, 11, 0.12);
  font-weight: 600;
}

.award-capsule-btn .award-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  font-size: 1rem;
}

.award-capsule-btn .award-badge-count {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  padding: 1px 6px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

.award-capsule-btn.active .award-badge-count {
  background: rgba(245, 158, 11, 0.25);
  color: #fde68a;
}

/* Secondary Filter & Search Row */
.awards-filter-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.awards-filter-group-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.awards-search-box {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.awards-search-input {
  width: 240px;
  height: 36px;
  padding: 0 32px 0 12px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #f8fafc;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  transition: all 0.2s ease;
}

.awards-search-input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.3);
  box-shadow: 0 0 12px rgba(255, 255, 255, 0.06);
  width: 280px;
}

.awards-search-input::placeholder {
  color: #64748b;
}

.awards-search-clear {
  position: absolute;
  right: 8px;
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 0.875rem;
  cursor: pointer;
  padding: 4px;
}

.awards-search-clear:hover {
  color: #cbd5e1;
}

.awards-decade-select {
  height: 36px;
  padding: 0 12px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #f8fafc;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.awards-decade-select:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.3);
}

.awards-view-toggle-group {
  display: inline-flex;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  padding: 2px;
  gap: 2px;
}

.awards-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  background: transparent;
  border: none;
  border-radius: 6px;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  color: #94a3b8;
  cursor: pointer;
  transition: all 0.15s ease;
}

.awards-view-btn:hover {
  color: #f8fafc;
}

.awards-view-btn.active {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  font-weight: 600;
}

.awards-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 36px;
  padding: 0 12px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #94a3b8;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.awards-sort-btn:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.2);
}

/* ==================== HERO SHOWCASE BANNER ==================== */
.awards-hero-card {
  position: relative;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 28px 32px;
  margin-bottom: 32px;
  backdrop-filter: blur(20px);
}

.awards-hero-layout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.awards-hero-info {
  flex: 1;
}

.awards-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  border-radius: 6px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #fde68a;
  margin-bottom: 12px;
}

.awards-hero-title {
  font-family: 'Outfit', sans-serif;
  font-size: 1.875rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 6px 0;
  letter-spacing: -0.02em;
}

.awards-hero-subtitle {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 500;
  color: #cbd5e1;
  margin: 0 0 12px 0;
}

.awards-hero-desc {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #94a3b8;
  margin: 0 0 20px 0;
  max-width: 820px;
}

.awards-hero-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.awards-hero-metric-pill {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 8px 14px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
}

.awards-hero-metric-pill .label {
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.awards-hero-metric-pill .val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #f8fafc;
}

.awards-hero-trophy-display {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 140px;
  height: 140px;
  background: radial-gradient(circle at center, rgba(245, 158, 11, 0.15) 0%, rgba(0, 0, 0, 0) 70%);
  border-radius: 50%;
  flex-shrink: 0;
}

.awards-hero-trophy-display svg {
  width: 96px;
  height: 96px;
  filter: drop-shadow(0 4px 12px rgba(245, 158, 11, 0.3));
}

/* ==================== TIMELINE CARDS VIEW ==================== */
.awards-timeline-container {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.award-winner-card {
  position: relative;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  padding: 22px 26px;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  backdrop-filter: blur(12px);
}

.award-winner-card:hover {
  border-color: rgba(255, 255, 255, 0.14);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.award-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.award-card-year-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.award-year-badge {
  font-family: 'Outfit', sans-serif;
  font-size: 1.25rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.01em;
}

.award-season-label {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  color: #94a3b8;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.award-career-count-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 8px;
  border-radius: 12px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.3);
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #fde68a;
}

.award-card-team-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 8px;
}

.award-team-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.award-team-name {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #cbd5e1;
}

/* Card Body Layout */
.award-card-body {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 20px;
  align-items: center;
  margin-bottom: 16px;
}

@media (max-width: 860px) {
  .award-card-body {
    grid-template-columns: 70px 1fr;
    gap: 16px;
  }
}

.award-portrait-wrapper {
  position: relative;
  width: 80px;
  height: 80px;
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.4));
  border: 1px solid rgba(255, 255, 255, 0.1);
  flex-shrink: 0;
}

.award-player-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.award-player-details {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.award-player-name-link {
  font-family: 'Outfit', sans-serif;
  font-size: 1.1875rem;
  font-weight: 700;
  color: #f8fafc;
  text-decoration: none;
  transition: color 0.15s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.award-player-name-link:hover {
  color: #38bdf8;
}

.award-position-pill {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #94a3b8;
}

/* Stats Badges */
.award-stats-container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.award-stat-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  padding: 4px 10px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: 6px;
}

.award-stat-pill .stat-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  color: #64748b;
  text-transform: uppercase;
}

.award-stat-pill .stat-value {
  font-family: 'Geist Mono', monospace;
  font-size: 0.875rem;
  font-weight: 600;
  color: #f1f5f9;
}

/* ==================== WHY THEY WON SECTION (NO COLORED LEFT BORDER) ==================== */
/* Strictly follows Geist / Vercel Dark obsidian glass design system: uniform subtle 1px border */
.award-narrative-box {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  padding: 14px 16px;
  margin-top: 12px;
}

.award-narrative-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

.award-narrative-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.award-narrative-text {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #cbd5e1;
  margin: 0;
}

/* ==================== TABLE VIEW ==================== */
.awards-table-container {
  overflow-x: auto;
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
}

.awards-table {
  width: 100%;
  border-collapse: collapse;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  text-align: left;
}

.awards-table th {
  padding: 12px 16px;
  background: rgba(0, 0, 0, 0.5);
  color: #94a3b8;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: sticky;
  top: 0;
  z-index: 10;
}

.awards-table td {
  padding: 12px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  color: #cbd5e1;
  vertical-align: middle;
}

.awards-table tr:hover td {
  background: rgba(255, 255, 255, 0.025);
}

.awards-table .mono {
  font-family: 'Geist Mono', monospace;
  font-weight: 500;
}

.awards-table .player-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}

.awards-table .table-player-portrait {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  object-fit: cover;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.awards-table .table-note-row td {
  background: rgba(0, 0, 0, 0.25);
  padding: 12px 20px;
  font-size: 0.8125rem;
  color: #94a3b8;
  line-height: 1.5;
}

/* ==================== MULTI-TIME LEADERS VIEW ==================== */
.awards-leaders-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 18px;
}

.award-leader-card {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 18px 20px;
  transition: all 0.2s ease;
}

.award-leader-card:hover {
  border-color: rgba(255, 255, 255, 0.16);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}

.leader-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.leader-rank-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  color: #f8fafc;
}

.leader-card-top.rank-1 .leader-rank-badge {
  background: rgba(245, 158, 11, 0.2);
  border-color: rgba(245, 158, 11, 0.5);
  color: #fbbf24;
}

.leader-trophy-counter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 10px;
  border-radius: 12px;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.3);
  font-family: 'Geist Mono', monospace;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #fde68a;
}

.leader-player-info {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.leader-portrait {
  width: 54px;
  height: 54px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.3);
}

.leader-name {
  font-family: 'Outfit', sans-serif;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.15s ease;
}

.leader-name:hover {
  color: #38bdf8;
}

.leader-years-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.leader-year-chip {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  padding: 2px 7px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

/* Leaders Table Section */
.awards-leaders-table-section {
  margin-top: 32px;
}

.awards-leaders-section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Outfit', sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  color: #f8fafc;
  margin-bottom: 14px;
}

.awards-leaders-filter-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 8px;
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  background: rgba(245, 158, 11, 0.12);
  border: 1px solid rgba(245, 158, 11, 0.3);
  color: #fde68a;
  margin-bottom: 16px;
}

/* Empty State */
.awards-empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #64748b;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
}

/* ==================== TEAM AWARDS (ALL-NBA, ALL-DEFENSIVE, ALL-ROOKIE) ==================== */
.awards-team-timeline-container {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.award-team-year-block {
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  padding: 22px 24px;
  backdrop-filter: blur(12px);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.award-team-year-block:hover {
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

.award-team-year-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.award-team-year-title-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.award-team-total-count {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  color: #94a3b8;
  padding: 2px 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.award-team-header-award-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(245, 158, 11, 0.1);
  border: 1px solid rgba(245, 158, 11, 0.25);
  font-family: 'Outfit', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: #fbbf24;
  letter-spacing: 0.03em;
}

.award-team-tiers-container {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.award-team-tier-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.award-team-tier-header {
  display: flex;
  align-items: center;
  gap: 8px;
}

.award-team-tier-header .tier-icon {
  font-size: 1rem;
  line-height: 1;
}

.award-team-tier-header .tier-title {
  font-family: 'Outfit', sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #f1f5f9;
  letter-spacing: -0.01em;
}

.award-team-tier-header .tier-title.tier-1 {
  color: #fde68a;
}

.award-team-tier-header .tier-title.tier-2 {
  color: #e2e8f0;
}

.award-team-tier-header .tier-title.tier-3 {
  color: #fdba74;
}

.award-team-tier-header .tier-title.tier-east {
  color: #60a5fa;
}

.award-team-tier-header .tier-title.tier-west {
  color: #f87171;
}

.award-team-tier-row {
  display: grid;
  grid-template-columns: repeat(var(--tier-cols, 5), minmax(170px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.15) rgba(0, 0, 0, 0.2);
}

.award-team-tier-row.allstar-row {
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
}

.award-team-tier-row::-webkit-scrollbar {
  height: 6px;
}

.award-team-tier-row::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3px;
}

.award-team-tier-row::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 3px;
}

.award-team-tier-row::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.25);
}

.award-team-player-card {
  background: rgba(255, 255, 255, 0.02);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
  min-width: 0;
}

.award-team-player-card:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.award-team-player-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}

.award-team-player-franchise {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.award-team-player-franchise .mini-team-logo {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}

.award-team-player-franchise .mini-team-abbr {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  font-weight: 600;
  color: #94a3b8;
}

.award-team-player-badges {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.award-team-mini-tie-pill {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(245, 158, 11, 0.15);
  border: 1px solid rgba(245, 158, 11, 0.35);
  font-family: 'Geist Mono', monospace;
  font-size: 0.625rem;
  font-weight: 700;
  color: #fbbf24;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.award-team-mini-career-pill {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 4px;
  background: rgba(56, 189, 248, 0.1);
  border: 1px solid rgba(56, 189, 248, 0.25);
  font-family: 'Geist Mono', monospace;
  font-size: 0.625rem;
  font-weight: 600;
  color: #7dd3fc;
}

.award-team-player-card-body {
  display: flex;
  align-items: center;
  gap: 10px;
}

.award-team-portrait-wrapper {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.08);
  flex-shrink: 0;
}

.award-team-player-portrait {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.award-team-player-info {
  min-width: 0;
  flex: 1;
}

.award-team-player-name {
  font-family: 'Outfit', sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  color: #f8fafc;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  transition: color 0.15s ease;
}

.award-team-player-name:hover {
  color: #38bdf8;
}

.award-team-mini-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  gap: 4px;
}

.award-team-mini-stats .mini-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.award-team-mini-stats .mini-stat .lbl {
  font-family: 'Inter', sans-serif;
  font-size: 0.5625rem;
  color: #64748b;
  text-transform: uppercase;
  font-weight: 600;
}

.award-team-mini-stats .mini-stat .val {
  font-family: 'Geist Mono', monospace;
  font-size: 0.75rem;
  font-weight: 600;
  color: #cbd5e1;
}

.award-team-mini-stats .mini-stat.highlight .val {
  color: #38bdf8;
}

.award-team-mini-stats-display {
  font-family: 'Geist Mono', monospace;
  font-size: 0.6875rem;
  color: #94a3b8;
  padding-top: 6px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


