/* Night-game presentation. Nothing in this file applies until the user opts in. */

html[data-display-mode="stadium"] {
  color-scheme: dark;
  --navy: #1467a5;
  --navy-dark: #041a2d;
  --blue: #67baff;
  --blue-soft: #112d45;
  --red: #ff3e54;
  --ink: #f3f8fd;
  --muted: #afc0d0;
  --line: #2b4860;
  --surface: #0b2135;
  --background: #030b14;
  --success: #62db8d;
  --success-soft: #0d3525;
  --danger: #ff8a96;
  --danger-soft: #39151d;
  --shadow: 0 13px 34px rgba(0, 0, 0, 0.38);
}

html[data-display-mode="stadium"] body {
  background: var(--background);
  color: var(--ink);
}

html[data-display-mode="stadium"] body::before {
  position: fixed;
  z-index: 0;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(ellipse 36% 48% at -4% -5%, rgba(212, 238, 255, 0.2), transparent 67%),
    radial-gradient(ellipse 36% 48% at 104% -5%, rgba(212, 238, 255, 0.17), transparent 67%),
    radial-gradient(circle at 50% 14%, rgba(23, 105, 170, 0.16), transparent 36%);
}

html[data-display-mode="stadium"] .team-logo-backdrop {
  background:
    radial-gradient(ellipse 38% 50% at -4% -6%, rgba(220, 241, 255, 0.2), transparent 67%),
    radial-gradient(ellipse 38% 50% at 104% -6%, rgba(220, 241, 255, 0.17), transparent 67%),
    radial-gradient(circle at 50% 18%, rgba(23, 105, 170, 0.17), transparent 36%),
    var(--background);
}

html[data-display-mode="stadium"] .team-logo-grid img {
  opacity: 0.13;
  filter: grayscale(0.12) saturate(0.95) brightness(0.83);
}

html[data-display-mode="stadium"] .site-header {
  border-bottom: 1px solid rgba(103, 186, 255, 0.25);
  background:
    radial-gradient(circle at 18% 0%, rgba(103, 186, 255, 0.12), transparent 34%),
    radial-gradient(circle at 82% 0%, rgba(255, 62, 84, 0.09), transparent 34%),
    linear-gradient(135deg, #020c15, #062846 58%, #03111e);
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.35);
}

html[data-display-mode="stadium"] .site-header h1,
html[data-display-mode="stadium"] .site-header p {
  text-shadow: 0 0 20px rgba(103, 186, 255, 0.13);
}

html[data-display-mode="stadium"] .header-mark {
  border-color: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 24px rgba(255, 62, 84, 0.27);
}

html[data-display-mode="stadium"] .header-nav-button,
html[data-display-mode="stadium"] .stadium-toggle {
  border-color: rgba(155, 209, 249, 0.68);
  background: rgba(10, 54, 87, 0.68);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 7px 22px rgba(0, 0, 0, 0.25);
}

html[data-display-mode="stadium"] .header-nav-button:hover,
html[data-display-mode="stadium"] .stadium-toggle:hover {
  border-color: #c7eaff;
  background: rgba(22, 103, 165, 0.8);
}

html[data-display-mode="stadium"] .panel {
  border-color: var(--line);
  background: linear-gradient(150deg, #0c2439, var(--surface));
  box-shadow: var(--shadow);
}

html[data-display-mode="stadium"] input[type="text"],
html[data-display-mode="stadium"] input[type="email"],
html[data-display-mode="stadium"] input[type="password"],
html[data-display-mode="stadium"] input[type="number"],
html[data-display-mode="stadium"] input[type="file"],
html[data-display-mode="stadium"] textarea,
html[data-display-mode="stadium"] select {
  border-color: #44647e;
  background: #061727;
  color: var(--ink);
}

html[data-display-mode="stadium"] input::placeholder,
html[data-display-mode="stadium"] textarea::placeholder {
  color: #8096a9;
}

html[data-display-mode="stadium"] .secondary-button {
  border-color: #67baff;
  background: #0a263d;
  color: #d8efff;
}

html[data-display-mode="stadium"] .secondary-button:hover {
  background: #123c5c;
}

html[data-display-mode="stadium"] .primary-button {
  background: linear-gradient(135deg, #1467a5, #0c4b7a);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32), 0 0 18px rgba(103, 186, 255, 0.1);
}

html[data-display-mode="stadium"] .primary-button:hover {
  background: linear-gradient(135deg, #1b7bc2, #105a90);
}

html[data-display-mode="stadium"] .last-winner-card {
  border-color: rgba(255, 213, 74, 0.72);
  background: linear-gradient(145deg, #3a2b02, #211b09);
  color: #fff4bc;
  box-shadow: 0 0 28px rgba(255, 199, 28, 0.14), 0 12px 30px rgba(0, 0, 0, 0.34);
}

html[data-display-mode="stadium"] .winner-trophy {
  background: rgba(255, 215, 80, 0.14);
}

html[data-display-mode="stadium"] .winner-label,
html[data-display-mode="stadium"] .last-winner-card small {
  color: #e8cd70;
}

html[data-display-mode="stadium"] .announcement-banner {
  border-color: #866b15;
  border-left-color: #f0bd28;
  background: linear-gradient(105deg, #302709, #181b1c 78%);
  color: #fff4c1;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.3), 0 0 24px rgba(240, 189, 40, 0.08);
}

html[data-display-mode="stadium"] .announcement-icon {
  background: rgba(240, 189, 40, 0.16);
}

html[data-display-mode="stadium"] .progress-card,
html[data-display-mode="stadium"] .review-details > div,
html[data-display-mode="stadium"] .review-email-field,
html[data-display-mode="stadium"] .rank-control,
html[data-display-mode="stadium"] .review-rank {
  border-color: var(--line);
  background: #0a1d2f;
}

html[data-display-mode="stadium"] .progress-card strong,
html[data-display-mode="stadium"] .review-details dd,
html[data-display-mode="stadium"] .review-rank strong {
  color: #d9efff;
}

html[data-display-mode="stadium"] .game-card,
html[data-display-mode="stadium"] .review-game {
  border-color: var(--line);
  background: #0a1d2f;
  box-shadow: 0 7px 20px rgba(0, 0, 0, 0.24);
}

html[data-display-mode="stadium"] .team-button[data-team] {
  border-color: #35536c;
  border-inline-start-color: var(--team-primary, var(--blue));
  background:
    linear-gradient(90deg, var(--team-primary-soft, transparent), transparent 56%),
    #0a1d2f;
  color: var(--ink);
}

html[data-display-mode="stadium"] .team-button[data-team]:hover {
  border-color: var(--team-primary, var(--blue));
  box-shadow: inset 5px 0 0 var(--team-primary), 0 0 20px var(--team-primary-soft);
}

html[data-display-mode="stadium"] .team-button[data-team].selected {
  border-color: var(--team-secondary, #9bd8ff);
  background:
    linear-gradient(105deg, var(--team-primary-soft, transparent), transparent 62%),
    #123a5b;
  color: white;
  box-shadow: inset 5px 0 0 var(--team-primary), 0 0 22px var(--team-primary-soft);
}

html[data-display-mode="stadium"] .review-team[data-team] {
  background: linear-gradient(90deg, var(--team-primary-soft, transparent), transparent 64%);
}

html[data-display-mode="stadium"] .live-score-bar {
  border-left-color: #ff3e54;
  background: linear-gradient(105deg, rgba(255, 62, 84, 0.08), transparent 34%), var(--surface);
}

html[data-display-mode="stadium"] .live-score-bar strong,
html[data-display-mode="stadium"] .tracker-section-heading h2,
html[data-display-mode="stadium"] .games-section-heading h2 {
  color: #f5faff;
}

html[data-display-mode="stadium"] .running-leaderboard {
  overflow: hidden;
  background: #081b2c;
}

html[data-display-mode="stadium"] .leaderboard-table th {
  border-bottom-color: #416682;
  background: linear-gradient(180deg, #0e4167, #092b46);
  color: #f1f9ff;
}

html[data-display-mode="stadium"] .leaderboard-table td {
  border-bottom-color: #263f54;
}

html[data-display-mode="stadium"] .leaderboard-table tbody tr,
html[data-display-mode="stadium"] .leaderboard-table tbody tr:nth-child(even) {
  background: #0a1d2f;
}

html[data-display-mode="stadium"] .leaderboard-table tbody tr:nth-child(even) {
  background: #0d2439;
}

html[data-display-mode="stadium"] .leaderboard-table tbody tr:hover {
  background: #133451;
}

html[data-display-mode="stadium"] .leader-place-1 {
  background: linear-gradient(90deg, #40310a, #211f18) !important;
  box-shadow: inset 5px 0 0 #f0bd28;
}

html[data-display-mode="stadium"] .leaderboard-place,
html[data-display-mode="stadium"] .leaderboard-score,
html[data-display-mode="stadium"] .leaderboard-name {
  color: #ecf7ff;
}

html[data-display-mode="stadium"] .leaderboard-score {
  text-shadow: 0 0 13px rgba(103, 186, 255, 0.38);
}

html[data-display-mode="stadium"] .standing-summary-card {
  border-top-color: #67baff;
  background: linear-gradient(145deg, #102b43, #091d2f);
}

html[data-display-mode="stadium"] .weekly-leader-card {
  border-top-color: #f0bd28;
  background: linear-gradient(145deg, #3a2b08, #171b20);
}

html[data-display-mode="stadium"] .season-leader-card {
  border-top-color: #ff5165;
  background: linear-gradient(145deg, #351620, #141c25);
}

html[data-display-mode="stadium"] .standing-summary-card strong,
html[data-display-mode="stadium"] .standing-summary-card small b {
  color: #f3f9fd;
}

html[data-display-mode="stadium"] .standings-tabs {
  background: #041522;
}

html[data-display-mode="stadium"] .standings-tab {
  color: #a9c5da;
}

html[data-display-mode="stadium"] .standings-tab.active {
  background: #123a5b;
  color: white;
  box-shadow: inset 0 0 0 1px #2a668e, 0 5px 16px rgba(0, 0, 0, 0.28);
}

html[data-display-mode="stadium"] .clean-table-wrap {
  border-top-color: var(--line);
}

html[data-display-mode="stadium"] .clean-standings-table th {
  background: linear-gradient(180deg, #0e4167, #092b46);
  color: white;
}

html[data-display-mode="stadium"] .clean-standings-table td {
  border-bottom-color: #263f54;
}

html[data-display-mode="stadium"] .clean-standings-table tbody tr,
html[data-display-mode="stadium"] .clean-standings-table tbody tr:nth-child(even) {
  background: #0a1d2f;
}

html[data-display-mode="stadium"] .clean-standings-table tbody tr:nth-child(even) {
  background: #0d2439;
}

html[data-display-mode="stadium"] .clean-standings-table tbody tr:hover {
  background: #133451;
}

html[data-display-mode="stadium"] .clean-standings-table .standing-name,
html[data-display-mode="stadium"] .standing-score {
  color: #ecf7ff;
}

html[data-display-mode="stadium"] .standing-rank-badge {
  background: #173955;
  color: #e7f5ff;
}

html[data-display-mode="stadium"] .standing-place-1 .standing-rank-badge {
  background: #d39c14;
  color: white;
}

html[data-display-mode="stadium"] .standing-place-2 .standing-rank-badge {
  background: #82909c;
  color: white;
}

html[data-display-mode="stadium"] .standing-place-3 .standing-rank-badge {
  background: #a6683a;
  color: white;
}

html[data-display-mode="stadium"] .standing-place-1 {
  background: linear-gradient(90deg, #40310a, #211f18) !important;
  box-shadow: inset 5px 0 0 #f0bd28;
}

html[data-display-mode="stadium"] .tracked-game {
  border-color: #294b66;
  background: #071929;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.38);
}

html[data-display-mode="stadium"] .tracked-game-upcoming .tracked-game-header,
html[data-display-mode="stadium"] .tracked-game-final .tracked-game-header {
  background:
    linear-gradient(105deg, var(--away-primary-soft, transparent), transparent 42%, var(--home-primary-soft, transparent)),
    #041a2d;
}

html[data-display-mode="stadium"] .tracked-game-live {
  border-color: #ff5165;
  box-shadow: 0 0 0 1px rgba(255, 81, 101, 0.35), 0 0 30px rgba(255, 62, 84, 0.25);
}

html[data-display-mode="stadium"] .tracked-scoreboard {
  border-bottom-color: var(--line);
  background: #081b2c;
}

html[data-display-mode="stadium"] .tracked-score-team {
  background:
    linear-gradient(90deg, var(--team-primary-soft, var(--side-soft)), transparent 56%),
    #0a1d2f;
}

html[data-display-mode="stadium"] .tracked-score-team.score-team-winner {
  background:
    linear-gradient(90deg, var(--team-primary-soft, var(--side-soft)), transparent 58%),
    #0d3525;
  box-shadow: inset 5px 0 0 var(--success);
}

html[data-display-mode="stadium"] .tracked-score-team.score-team-loser {
  background: #101b25;
  color: #8394a4;
}

html[data-display-mode="stadium"] .tracked-team-score {
  color: #f4fbff;
  text-shadow: 0 0 15px rgba(103, 186, 255, 0.48);
}

html[data-display-mode="stadium"] .team-pick-column {
  background:
    linear-gradient(150deg, var(--team-primary-soft, var(--side-soft)), transparent 48%),
    #091d2f;
}

html[data-display-mode="stadium"] .team-pick-column h3 {
  color: #eef8ff;
}

html[data-display-mode="stadium"] .tracked-player-pick {
  background: #102b43;
  color: #f1f8fd;
}

html[data-display-mode="stadium"] .winning-pick-column {
  background:
    linear-gradient(150deg, var(--team-primary-soft, var(--side-soft)), transparent 50%),
    #0d3525;
}

html[data-display-mode="stadium"] .winning-pick-column .tracked-player-pick {
  background: rgba(15, 65, 47, 0.88);
}

html[data-display-mode="stadium"] .losing-pick-column {
  background: #29151a;
}

html[data-display-mode="stadium"] .losing-pick-column .tracked-player-pick {
  background: #261a1e;
  color: #aab3bb;
}

html[data-display-mode="stadium"] .matchup-message {
  border-bottom-color: var(--line);
  background: color-mix(in srgb, var(--message-accent, var(--blue)) 15%, #071929);
  color: #edf7ff;
}

html[data-display-mode="stadium"] .matchup-message strong {
  color: color-mix(in srgb, var(--message-accent, var(--blue)) 54%, white);
}

html[data-display-mode="stadium"] .matchup-message-icon {
  background: rgba(255, 255, 255, 0.1);
}

html[data-display-mode="stadium"] .game-details-link {
  border-top-color: var(--line);
  background: #071929;
  color: #8dccff;
}

html[data-display-mode="stadium"] .game-details-link:hover {
  background: #102f49;
}

html[data-display-mode="stadium"] .error-message {
  background: #3b161f;
  color: #ffabb3;
}

html[data-display-mode="stadium"] .success-message {
  background: #103825;
  color: #8ce7aa;
}

html[data-display-mode="stadium"] .site-footer,
html[data-display-mode="stadium"] .site-footer a {
  color: #9fb4c6;
}

@media (prefers-reduced-motion: reduce) {
  html[data-display-mode="stadium"] *,
  html[data-display-mode="stadium"] *::before,
  html[data-display-mode="stadium"] *::after {
    scroll-behavior: auto !important;
  }
}
