/* one original broadcast-night visual system across every game surface. */
:root {
  color-scheme: dark;
  --so-focus-inner: #07131e;
  --so-focus-outer: #f4c76f;
  --game-bg: #080f19;
  --game-panel: #111d2b;
  --game-panel-raised: #18283a;
  --game-panel-soft: #203247;
  --game-line: #354c62;
  --game-text: #f1f5fb;
  --game-muted: #b5c4d3;
  --game-teal: #58e1c5;
  --game-teal-dark: #073c36;
  --game-gold: #ffc66f;
  --game-red: #ff7b80;
}
html { background: var(--game-bg); }
body {
  min-height: 100vh;
  background: radial-gradient(ellipse at 50% -16rem, #1a3550 0, transparent 48rem), var(--game-bg);
  color: var(--game-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
a { color: #79eed9; text-underline-offset: 3px; }
button, input, select, textarea { font: inherit; }
button, select, input, summary, a { touch-action: manipulation; }
button:focus-visible, select:focus-visible, input:focus-visible, textarea:focus-visible,
a:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--game-gold) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px #09131e !important;
}
@media (forced-colors: active) {
  :focus-visible { outline: 2px solid Highlight !important; outline-offset: 3px !important; box-shadow: none !important; }
}

/* Shared top-level navigation and the short, optional context note. */
body:has(.career-header) { background: radial-gradient(ellipse at 50% -16rem, #1a3550 0, transparent 48rem), var(--game-bg); }
.career-header {
  position: sticky; top: 0; z-index: 20;
  min-height: 60px; padding: 8px clamp(14px, 3vw, 38px);
  background: linear-gradient(105deg, #0c1724 0%, #12243a 55%, #0c1724 100%);
  color: var(--game-text); border-bottom: 1px solid #38516a;
  box-shadow: 0 8px 24px #03091188;
}
.career-header::after { content: ""; position: absolute; inset: auto 0 -1px; height: 2px; background: linear-gradient(90deg, #58e1c5, #a6f3d6 45%, #ffc66f); opacity: .9; }
.career-header > a { color: var(--game-teal); font-size: 25px; letter-spacing: -.055em; }
.career-header > span { color: #d4deea; font-size: 14px; letter-spacing: .18em; }
.career-header nav { gap: 7px; }
.career-header nav a, .career-header button, .career-footer a, .career-footer button {
  min-height: 44px; padding: 9px 13px; border: 1px solid transparent; border-radius: 9px;
  color: var(--game-muted); background: transparent; text-decoration: none; font-size: 16px; font-weight: 700;
}
.career-header nav a:hover, .career-header button:hover, .career-footer a:hover, .career-footer button:hover { border-color: var(--game-line); background: #ffffff0a; color: var(--game-text); }
.career-header button { border-color: #456078; background: #1a2b3e; color: var(--game-text); } body > details {
  max-width: 1440px; margin: 0 auto; padding: 9px clamp(14px, 3vw, 38px);
  background: #111e2c; border-bottom: 1px solid var(--game-line); color: var(--game-muted); font-size: 16px;
}
main { max-width: 1440px; color: var(--game-text); }
#status:not(:empty) { max-width: 1440px; padding: 12px 18px; background: #382d1d; color: #ffda96; border: 1px solid #735934; }
#status.is-error { background: #3a2028; color: #ffc0c2; border-color: #7b3942; }
.career-footer { max-width: 1440px; border-top: 1px solid var(--game-line); color: var(--game-muted); }
.career-footer a { color: #88e9d7; }
.career-footer button { border-color: var(--game-line); color: var(--game-text); }
.career-tools { padding: 12px clamp(14px, 2.5vw, 28px); background: #101b29; border-block-color: var(--game-line); color: var(--game-muted); }
.career-tools label { color: var(--game-text); }
.career-tools :is(select, input) { border: 1px solid #516981; background: #0b1420; color: var(--game-text); border-radius: 9px; }
.career-tools button, .saved-list button, dialog button {
  min-height: 44px; border: 1px solid #4b6a80; border-radius: 9px; padding: 9px 14px;
  color: var(--game-text); background: #20354b; font-weight: 750;
}
.career-tools button:hover:not(:disabled), .saved-list button:hover:not(:disabled), dialog button:hover { background: #2b4960; }
.saved-list { padding: 14px clamp(14px, 2.5vw, 28px); gap: 12px; }
.saved-list li { padding: 16px; border: 1px solid var(--game-line); border-top: 3px solid var(--game-teal); border-radius: 12px; background: linear-gradient(145deg, #1b2a3b, #111b29); color: var(--game-text); box-shadow: 0 12px 30px #02081155; }
.saved-list li p { color: var(--game-muted); }
.saved-list button[data-action="resume"] { background: var(--game-teal); border-color: var(--game-teal); color: #062a25; }
dialog { border: 1px solid #466178; border-radius: 16px; background: #111d2b; color: var(--game-text); box-shadow: 0 24px 80px #000b; }
dialog::backdrop { background: #020812c9; backdrop-filter: blur(4px); }
dialog td, dialog th { border-color: var(--game-line); }
dialog a { color: var(--game-teal); }

/* New-career entry, Fantasy market and National squad management. */
.so-setup {
  --so-ink: #edf3fa; --so-muted: #bdc9d7; --so-paper: #0c1521;
  --so-card: #172638; --so-line: #3b5269; --so-lime: #58e1c5; --so-wood: #ffc66f;
  max-width: 1440px; padding: clamp(14px, 2.4vw, 30px); border: 0; border-radius: 0;
  background: transparent; color: var(--game-text);
}
.so-setup .so-head { align-items: center; padding: 16px 18px 18px; margin-bottom: 18px; border: 1px solid #354b61; border-left: 4px solid var(--game-teal); border-radius: 14px; background: linear-gradient(105deg, #14243aee, #101b2bd9), url("/career/assets/arena-midnight.webp") center 48% / cover; box-shadow: 0 14px 32px #02081177; }
.so-setup .so-kicker { color: var(--game-teal); letter-spacing: .11em; text-transform: uppercase; }
.so-setup .so-head h1 { font-size: clamp(30px, 4vw, 42px); letter-spacing: -.04em; }
.so-setup .so-subtitle { color: #d6e0eb; }
.so-setup .so-gender { background: #0d1a28; border-color: #3c5269; }
.so-setup .so-gender button { color: var(--game-muted); }
.so-setup .so-gender button[aria-pressed="true"] { background: var(--game-teal); color: #052a24; border-color: var(--game-teal); }
.so-setup .so-edition-choice, .so-setup .so-mode-card, .so-setup .so-resume,
.so-setup .so-team-panel, .so-setup .so-roster, .so-setup .so-squad-guide,
.so-setup .so-workspace, .so-setup .so-lineup, .so-setup .so-market-summary,
.so-setup .so-market-panel, .so-setup .so-selection-counts, .so-setup .so-validation {
  color: var(--game-text); border-color: var(--game-line); background: linear-gradient(145deg, #192a3c, #111d2b);
}
.so-setup .so-edition-choice { border-left: 4px solid var(--game-gold); border-radius: 12px; padding: 18px; }
.so-setup .so-mode-grid { gap: 16px; }
.so-setup .so-mode-card { position: relative; min-height: 238px; gap: 14px; padding: 20px; border-radius: 14px; border-top: 3px solid var(--game-teal); box-shadow: 0 14px 30px #02081166; }
.so-setup .so-mode-card:nth-child(2) { border-top-color: var(--game-gold); }
.so-setup .so-mode-card.is-selected { border-color: var(--game-teal); box-shadow: inset 0 0 0 1px var(--game-teal), 0 14px 30px #02081166; }
.so-setup .so-mode-mark { background: #0e1a28; color: var(--game-teal); border: 1px solid #44677a; }
.so-setup .so-mode-mark--court { background: repeating-linear-gradient(90deg, #ba7846 0 11px, #cb8b57 11px 22px); border-color: #efc18d; }
.so-setup .so-pill, .so-setup .so-role, .so-setup .so-role-count { background: #253b4d; color: #dce8f3; border: 1px solid #405b70; border-radius: 999px; }
.so-setup .so-button { color: var(--game-text); background: #24384c; border-color: #506b83; border-radius: 9px; }
.so-setup .so-button:hover:not(:disabled) { color: #fff; background: #304b62; border-color: #7a99ad; }
.so-setup .so-button--primary:not(:disabled) { color: #052923; background: var(--game-teal); border-color: var(--game-teal); box-shadow: 0 3px 0 #209c88; }
.so-setup .so-button--primary:hover:not(:disabled) { color: #031f1b; background: #8af2df; }
.so-setup button:disabled, .so-setup select:disabled { color: #c0cad6; background: #263444; border-color: #526173; }
.so-setup .so-edition-choice p, .so-setup .so-mode-card > p, .so-setup .so-resume p,
.so-setup .so-help, .so-setup .so-reason, .so-setup .so-empty { color: var(--game-muted); }
.so-setup .so-edition-choice details, .so-setup .so-details, .so-setup .so-lineup,
.so-setup .so-squad-guide, .so-setup .so-player-card, .so-setup .so-team-panel,
.so-setup .so-roster, .so-setup .so-resume { border: 1px solid var(--game-line); border-radius: 12px; }
.so-setup .so-lineup, .so-setup .so-squad-guide { padding: 14px; }
.so-setup .so-player-card { background: linear-gradient(150deg, #1c2d40, #131f2d); box-shadow: 0 8px 20px #02081244; }
.so-setup .so-player-card.is-selected { background: #183a3b; border-color: #5ee2c5; box-shadow: inset 4px 0 0 #5ee2c5; }
.so-setup .so-player-card .so-data-note, .so-setup .so-player-card .so-evidence { color: #ffda94; }
.so-setup .so-player-card .so-physical-note { color: #c5d2df; }
.so-setup .so-player-card .so-rating > span, .so-setup .so-label-inline { color: var(--game-muted); }
.so-setup .so-roster-list > li, .so-setup .so-libero-slot { border-color: var(--game-line); }
.so-setup .so-filters input, .so-setup .so-filters select, .so-setup select {
  color: var(--game-text); background: #0b1521; border: 1px solid #506981; border-radius: 9px;
}
.so-setup select option { color: var(--game-text); background: #111d2b; }
.so-setup .so-check { background: #203349; color: var(--game-text); border-color: #4b657d; border-radius: 9px; }
.so-setup .so-check:has(input:checked) { background: #14453f; border-color: var(--game-teal); }
.so-setup .so-check--libero { background: #3b3022; }
.so-setup .so-check input { accent-color: var(--game-teal); }
.so-setup .so-stat, .so-setup .so-selection-counts { background: #0f1a28; border-color: var(--game-line); }
.so-setup .so-stat > span { color: var(--game-muted); }
.so-setup .so-notice--error { color: #ffd0d1; background: #40232a; border-color: #89424a; }
.so-setup .so-notice--warning { color: #ffe0a7; background: #3a2e1e; border-color: #83643b; }
.so-setup .so-notice--success { color: #b6f3df; background: #12392f; border-color: #32735e; }
.so-setup .so-validation { background: #142337; }
.so-setup .so-errors { color: #ffb7b8; }
.so-setup .so-warnings { color: #ffdc96; }
.so-setup .so-actions { background: #0c1521f2; border-color: var(--game-line); box-shadow: 0 -10px 26px #080f19aa; backdrop-filter: blur(12px); }
.so-setup .so-actions .so-button--primary:not(:disabled) { min-width: 200px; min-height: 50px; font-size: 17px; }

/* The season hub and roster court use one set of surfaces, controls and match accents. */
.so-world {
  --so-w-ink: #edf3fa; --so-w-muted: #b5c4d3; --so-w-paper: #0d1723;
  --so-w-card: #19283a; --so-w-line: #3b5269; --so-w-lime: #58e1c5; --so-w-wood: #ca8a54;
  max-width: 1440px; padding: clamp(14px, 2.2vw, 28px); border: 0; border-radius: 0;
  background: transparent; color: var(--game-text);
}
.so-world .so-w-header { color: var(--game-text); border-bottom-color: #456078; }
.so-world .so-w-kicker, .so-world .so-w-help, .so-world .so-w-fixture > p,
.so-world .so-w-section-title > p, .so-world .so-w-mobile-layout-note { color: var(--game-muted); }
.so-world :is(.so-w-balance,.so-w-match-card,.so-w-last-point,.so-w-plan,.so-w-workload,
.so-w-log-match,.so-w-bracket-team > div,.so-w-diagnostics dl > div,.so-w-empty) {
  color: var(--game-text); background: linear-gradient(145deg, #1a2a3d, #111d2b); border-color: var(--game-line); border-radius: 11px;
}
.so-world .so-w-balance { border-left: 3px solid var(--game-gold); }
.so-world .so-w-date-value, .so-world .so-w-date-source, .so-world .so-w-rest-gap,
.so-world .so-w-badge, .so-world .so-w-table-badges { color: #d3dfeb; background: #203247; border-color: #435b72; }
.so-world .so-w-button { color: var(--game-text); background: #203349; border-color: #516c82; border-radius: 9px; }
.so-world .so-w-button:hover:not(:disabled) { color: #fff; background: #2a455b; border-color: #7993a8; }
.so-world .so-w-primary:not(:disabled) { color: #052923; background: var(--game-teal); border-color: var(--game-teal); box-shadow: 0 3px 0 #209c88; }
.so-world .so-w-primary:hover:not(:disabled) { color: #03221d; background: #8af2df; }
.so-world .so-w-score { background: linear-gradient(110deg, #12243a, #0d1724); border-color: #47627a; box-shadow: 0 12px 28px #02081166; }
.so-world .so-w-tabs { border-color: #405970; }
.so-world .so-w-tabs button, .so-world .so-w-segmented { color: var(--game-muted); background: #172638; border-color: #354c62; }
.so-world .so-w-tabs button[aria-pressed="true"], .so-world .so-w-segmented button[aria-pressed="true"] { background: var(--game-teal); color: #052923; border-color: var(--game-teal); }
.so-world .so-w-court { border-color: #f7f6ef; outline-color: #3f7c78; box-shadow: 0 14px 32px #02081188; }
.so-world .so-w-team-label { color: #122538; }
.so-world .so-w-own-grid > .so-w-actor.is-own { color: #eff9ff; background: #0e5550; border-color: #92f3de; }
.so-world .so-w-actor.is-opponent { color: #fff4df; background: #394256; border-color: #ffce7c; }
.so-world .so-w-actor.is-selected { outline-color: #ffe38e; }
.so-world .so-w-plan-option { color: var(--game-text); background: #203247; border-color: #4c657d; }
.so-world .so-w-plan-option > span, .so-world .so-w-last-point > p { color: #c6d3e0; }
.so-world .so-w-plan-option[aria-pressed="true"] { color: #062a25; background: var(--game-teal); border-color: #9af2df; }
.so-world .so-w-last-point .so-w-consequence { color: #fff; }
.so-world .so-w-terminal { color: var(--game-text); background: #152538; border-color: var(--game-line); }
.so-world .so-w-table-scroll { border-color: var(--game-line); }
.so-world table { color: var(--game-text); background: #111d2b; }
.so-world th { background: #21364b; color: #f2f6fb; }
.so-world td { border-color: #32475c; }
.so-world tbody tr:nth-child(even) { background: #172638; }
.so-world tbody tr:hover { background: #20354a; }
.so-world .so-w-reason, .so-world .so-w-evidence, .so-world .so-w-diagnostics { color: var(--game-muted); }
.so-world .so-w-workload > summary, .so-world .so-w-log-match > summary { color: var(--game-text); }

/* Match presentation: the score and court lead; every action has clear contrast. */
.is-match { background: var(--game-bg); }
.is-match main { max-width: 1440px; }
.room-competition-nav { position: sticky; top: 60px; z-index: 10; background: #111d2b; color: var(--game-muted); border-block: 1px solid var(--game-line); }
.room-competition-nav button, .room-competition-nav select { color: var(--game-text); background: #1e3146; border-color: #536c83; border-radius: 9px; }
.room-competition-nav button:hover { background: #2a455a; } .set-preparation { max-width: none; color: var(--game-text); background: #111d2b; border: 1px solid var(--game-line); } .set-preparation select { color: var(--game-text); background: #0b1521; border-color: #506981; border-radius: 8px; } .set-preparation button { color: #062a25; background: var(--game-teal); border-color: #5de4c7; border-radius: 9px; }
.sideout-room {
  --room-cream: #111d2b; --room-green: #edf3fa; --room-lime: #58e1c5;
  --room-arena: #0a1420; --room-muted: #b5c4d3;
  max-width: 1440px; padding: clamp(12px, 2vw, 24px); color: var(--game-text);
  background: transparent; border-radius: 0;
}
.sideout-room .room-scorebug { position: relative; padding: 12px 16px; min-height: 78px; border: 1px solid #425d75; border-radius: 12px; background: linear-gradient(100deg, #182b41, #101c2a); box-shadow: 0 12px 25px #02081166; }
.sideout-room .room-score { color: var(--game-teal); font-size: 42px; text-shadow: 0 0 22px #58e1c555; }
.sideout-room .room-team, .sideout-room .room-sets-total { color: var(--game-text); }
.sideout-room .room-serving { border-color: var(--game-teal); color: var(--game-teal); }
.sideout-room .room-arena { padding: clamp(12px, 2vw, 26px); border: 1px solid #263b50; background: radial-gradient(ellipse at 50% 0, #1c3853, #0b1521 72%); box-shadow: inset 0 0 40px #03091399; }
.sideout-room .room-court { filter: drop-shadow(0 10px 18px #0007); }
.sideout-room .room-wood { fill: #bd7d49; }
.sideout-room .room-wood-grain { stroke: #8c572f; opacity: .38; }
.sideout-room .room-player { background: #0e6960; border-color: #b0f4e3; color: white; box-shadow: 0 4px 0 #061c24, 0 0 14px #0004; }
.sideout-room .room-player--opponent { background: #26364b; border-color: #ffcd78; color: #fff5e2; }
.sideout-room .room-player:disabled { color: #fff; background: #0e6960; }
.sideout-room .room-player--opponent:disabled { color: #fff4df; background: #26364b; }
.sideout-room .room-player.is-active { outline-color: #ffe08a; box-shadow: 0 0 0 6px #ffe08a44, 0 5px 0 #061c24; }
.sideout-room .room-live-strip { border-bottom: 1px solid var(--game-line); color: var(--game-text); }
.sideout-room .room-actor-badge { background: #184c4a; border: 1px solid #4dbfae; color: #c7fbef; }
.sideout-room .room-commentary, .sideout-room .room-flight-readout, .sideout-room .room-target-caption { color: #e3edf6; }
.sideout-room .room-button, .sideout-room .room-option, .sideout-room .room-secondary { color: var(--game-text); background: #1d3044; border-color: #526a80; border-radius: 9px; box-shadow: none; }
.sideout-room .room-button:hover:not(:disabled), .sideout-room .room-option:hover:not(:disabled) { background: #2a455a; border-color: #7e9ab0; }
.sideout-room .room-primary, .sideout-room .room-button.room-continue {
  color: #052923; background: var(--game-teal); border: 1px solid #83f0d7;
  box-shadow: 0 3px 0 #219784, 0 8px 18px #071a1b88; font-weight: 850;
}
.sideout-room .room-primary:hover:not(:disabled), .sideout-room .room-button.room-continue:hover:not(:disabled) { color: #031f1b; background: #8af2df; }
.sideout-room .room-button:disabled, .sideout-room .room-tab:disabled, .sideout-room .room-roster-player:disabled { color: #aebdcb; background: #1a2736; border-color: #3b4d60; }
.sideout-room .room-option[aria-pressed="true"] { color: #062a25; background: var(--game-teal); border-color: #94f3df; }
.sideout-room .room-details { border-color: var(--game-line); }
.sideout-room .room-tabs { border-color: var(--game-line); }
.sideout-room .room-tab { color: var(--game-muted); }
.sideout-room .room-tab[aria-selected="true"] { color: var(--game-teal); border-color: var(--game-teal); }
.sideout-room .room-set-scores li, .sideout-room .room-roster-player, .sideout-room .room-stat,
.sideout-room .room-route-snapshot dl > div, .sideout-room .room-summary-grid > section {
  color: var(--game-text); background: #152437; border-color: var(--game-line); border-radius: 10px;
}
.sideout-room .room-stat dd, .sideout-room .room-final-score { color: var(--game-teal); }
.sideout-room .room-stat dt, .sideout-room .room-route-snapshot dt, .sideout-room .room-summary-grid h3 { color: #d8e2ed; }
.sideout-room.room-summary { justify-items: stretch; padding-top: 22px; background: transparent; }
.sideout-room .room-result-panel { width: 100%; max-width: 1240px; margin-inline: auto; padding: clamp(18px, 2.5vw, 30px); text-align: left; border: 1px solid #435c72; border-top: 3px solid var(--game-teal); border-radius: 16px; background: linear-gradient(145deg, #172638, #0e1926); box-shadow: 0 20px 48px #02081188; }
.sideout-room .room-result-hero { max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 24px; text-align: left; }
.sideout-room .room-result-label { color: var(--game-teal); font-size: 16px; letter-spacing: .14em; }
.sideout-room .room-result-panel h2 { color: var(--game-text); font-size: clamp(22px, 3vw, 30px); }
.sideout-room .room-final-score { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: clamp(50px, 7vw, 76px); }
.sideout-room .room-summary-grid { margin: 18px 0; gap: 12px; }
.sideout-room .room-summary-grid > section { padding: 16px; }
.sideout-room .room-credit-changes dd { color: #07241f; background: #58e1c5; }
.sideout-room .room-change-note { color: #d8e2ed; }
.sideout-room .room-tab-panel, .sideout-room .room-explanation, .sideout-room .room-coaching,
.sideout-room .room-sideline, .sideout-room .room-timeout, .sideout-room .interruption-panel details {
  color: var(--game-text); background: #111d2b; border-color: var(--game-line);
}
.review-panel { color: var(--game-text); background: linear-gradient(145deg, #17283a, #101b29); border-color: #425b73; border-radius: 14px; box-shadow: 0 14px 30px #02081177; }
.review-panel header > p:first-child { color: var(--game-teal); }
.review-panel :is(p, li, label) { color: #d1dce8; }
.review-controls button { color: var(--game-text); background: #22374d; border-color: #59748a; border-radius: 9px; }
.review-controls .review-primary { color: #052923; background: var(--game-teal); border-color: var(--game-teal); }
.review-controls button:disabled { color: #b2c1cf; background: #192838; border-color: #3a4c60; }

/* Practice is a training mode{ max-width: 1440px; margin: 0 auto; padding: clamp(14px, 2vw, 26px); color: var(--game-text); }

/* Player Audit: a dark scouting database with readable evidence, not a mismatched cream page. */
body:has(.topbar .brand) { background: radial-gradient(ellipse at 50% -18rem, #1b3652, transparent 50rem), var(--game-bg); color: var(--game-text); }
.topbar { position: sticky; top: 0; z-index: 20; padding: 10px clamp(14px, 3vw, 38px); min-height: 60px; background: linear-gradient(105deg, #0c1724, #12243a 55%, #0c1724); border-bottom: 1px solid #38516a; box-shadow: 0 8px 24px #03091188; }
.topbar::after { content: ""; position: absolute; inset: auto 0 -1px; height: 2px; background: linear-gradient(90deg, #58e1c5, #a6f3d6 45%, #ffc66f); }
.topbar .brand { color: var(--game-teal); }
.topbar .brand span, .topbar a { color: #d4deea; }
body:has(.topbar .brand) main { max-width: 1500px; padding: clamp(18px, 3vw, 38px); }
body:has(.topbar .brand) h1, body:has(.topbar .brand) h2, body:has(.topbar .brand) h3 { color: var(--game-text); }
body:has(.topbar .brand) .eyebrow, body:has(.topbar .brand) .scope,
body:has(.topbar .brand) .filter-tip, body:has(.topbar .brand) footer { color: var(--game-muted); }
body:has(.topbar .brand) .coverage span { color: var(--game-text); background: #192a3d; border-color: var(--game-line); }
body:has(.topbar .brand) .coverage span:first-child { background: #12433e; border-color: #3b9886; }
body:has(.topbar .brand) .coverage strong { color: var(--game-teal); } body:has(.topbar .brand) .filter-panel,
body:has(.topbar .brand) .method, body:has(.topbar .brand) .table-scroll,
body:has(.topbar .brand) .empty, body:has(.topbar .brand) .error {
  color: var(--game-text); background: linear-gradient(145deg, #172638, #111d2b); border-color: var(--game-line); border-radius: 13px;
}
body:has(.topbar .brand) .filter-panel { box-shadow: 0 12px 28px #02081166; }
body:has(.topbar .brand) :is(input, select) { color: var(--game-text); background: #0b1521; border-color: #506981; border-radius: 9px; }
body:has(.topbar .brand) .reset { color: var(--game-text); background: #20354a; border-color: #506981; border-radius: 9px; }
body:has(.topbar .brand) .reset:hover { color: #052923; background: var(--game-teal); }
body:has(.topbar .brand) .table-scroll { overflow-x: auto; }
body:has(.topbar .brand) table { color: var(--game-text); background: #111d2b; }
body:has(.topbar .brand) thead { background: #21364b; }
body:has(.topbar .brand) :is(th, td) { border-color: #33495f; }
body:has(.topbar .brand) tbody tr:nth-child(even) { background: #172638; }
body:has(.topbar .brand) tbody tr:hover { background: #20364b; }
body:has(.topbar .brand) :is(.secondary-name, .source-id, .country-code, .confidence, .evidence-note, .role-caption, .source-ref) { color: var(--game-muted); }
body:has(.topbar .brand) .badge { color: #dbe7f2; background: #20364a; border-color: #49627a; }
body:has(.topbar .brand) .badge.warn, body:has(.topbar .brand) .review-warning { color: #ffdfa5; background: #3a3021; border-color: #80633b; }
body:has(.topbar .brand) :is(.stat-item, .assertions > li, .evidence-raw) { color: var(--game-text); background: #152437; border-color: var(--game-line); }
body:has(.topbar .brand) .audit-details > summary { color: var(--game-teal); }
body:has(.topbar .brand) .error { color: #ffc1c2; }
body:has(.topbar .brand) footer { border-color: var(--game-line); }

/* Original League compatibility page keeps its game layout, but shares the brand, buttons and contrast. */
body:has(.topbar):not(:has(.brand)) { background: var(--game-bg); color: var(--game-text); }
body:has(.topbar):not(:has(.brand)) .topbar { background: linear-gradient(105deg, #0c1724, #12243a 55%, #0c1724); color: var(--game-text); }
body:has(.topbar):not(:has(.brand)) main { color: var(--game-text); }
body:has(.topbar):not(:has(.brand)) :is(.button, .text-btn, .tabs button, .match-controls button) { border-radius: 9px; }

@media (max-width: 720px) {
  .career-header { position: relative; gap: 8px; }
  .career-header nav { width: 100%; margin: 0; flex-wrap: wrap; }
  .career-header nav a, .career-header button { flex: 1 1 auto; text-align: center; }
  .so-setup .so-head { align-items: flex-start; flex-direction: column; }
  .so-setup .so-mode-grid { grid-template-columns: 1fr; }
  .so-setup .so-mode-card { min-height: 0; }
  .so-setup .so-actions { align-items: stretch; flex-direction: column; }
  .so-setup .so-start-area { align-items: stretch; flex-direction: column; }
  .so-setup .so-actions .so-button--primary:not(:disabled) { width: 100%; }
  .sideout-room .room-result-hero { grid-template-columns: 1fr; }
  .sideout-room .room-final-score { grid-column: auto; grid-row: auto; font-size: 56px; }
  .room-competition-nav { top: 0; }
}
@media (max-width: 680px) {
  body:has(.topbar .brand) .table-scroll { overflow: visible; background: transparent; border: 0; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
