/* Shared game-day identity. Rooting insights remain the primary content. */
:root {
  color-scheme: dark;
  --broadcast-bg: #0b1015;
  --broadcast-panel: #121a22;
  --broadcast-raised: #1b2631;
  --broadcast-line: #2c3946;
  --broadcast-text: #f3f5f7;
  --broadcast-muted: #b1bec9;
  --broadcast-red: #ef4d55;
  --broadcast-lime: #d4f87a;
  --broadcast-amber: #f3c46e;
  --broadcast-heading: Impact, 'Arial Narrow', 'Helvetica Neue', sans-serif;
  --green: #d4f87a;
  --lime: #d4f87a;
  --muted: #b1bec9;
  --border: #2c3946;
  --red: #ff8b91;
  background: var(--broadcast-bg);
  color: var(--broadcast-text);
}

body { background: var(--broadcast-bg); color: var(--broadcast-text); }
::selection { background: var(--broadcast-lime); color: #10180b; }
button, input, select, output { font-variant-numeric: tabular-nums; }
:is(button, a, input, select, summary):focus-visible {
  outline: 3px solid var(--broadcast-lime);
  outline-offset: 4px;
}
.brand { color: var(--broadcast-text); }
.brandmark { border-radius: 5px; transform: none; color: #121b0c; }
.eyebrow { color: var(--broadcast-muted); }
.text-button { color: var(--broadcast-muted); }
.button { border-radius: 5px; }
.button.primary { background: var(--broadcast-lime); color: #14200d; }
.button.primary:hover { background: #e0ff9b; }
.icon-button, .close-detail {
  background: var(--broadcast-raised);
  color: var(--broadcast-muted);
}
.product-nav, .bet-product-nav {
  display: flex;
  align-items: center;
  gap: 4px;
}
.product-nav a, .bet-product-nav a {
  padding: 8px 12px;
  border-radius: 4px;
  color: var(--broadcast-muted);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
}
.product-nav a:hover, .bet-product-nav a:hover { background: var(--broadcast-raised); color: white; }
.product-nav a[aria-current="page"], .bet-product-nav a[aria-current="page"] {
  background: #ef4d551c;
  color: #ff969b;
}

/* Import and account surfaces belong to the same experience as the guide. */
.welcome { max-width: 1280px; }
.welcome-nav { border-bottom: 1px solid var(--broadcast-line); padding-bottom: 24px; margin-bottom: 66px; }
.welcome-nav .brand { color: var(--broadcast-text); }
.welcome-tag, .welcome-copy .eyebrow { color: var(--broadcast-muted); }
.welcome-copy h1 {
  font-family: var(--broadcast-heading);
  font-weight: 900;
  font-size: clamp(46px, 5.4vw, 76px);
  line-height: 1.02;
  letter-spacing: -.8px;
  text-transform: uppercase;
}
.welcome-copy h1 > span { color: var(--broadcast-red); }
.welcome-copy > p { color: var(--broadcast-muted); font-size: 16px; }
.welcome-pills span {
  background: #d4f87a0d;
  border-color: #d4f87a40;
  color: var(--broadcast-lime);
  border-radius: 4px;
}
.welcome-pills span + span { background: #ef4d550d; border-color: #ef4d5540; color: #ff969b; }
.welcome-pills span + span + span { background: #f3c46e0d; border-color: #f3c46e40; color: var(--broadcast-amber); }
.welcome-footnote, .welcome-bottom span { color: var(--broadcast-muted); }
.username-card {
  border-color: var(--broadcast-line);
  border-top: 3px solid var(--broadcast-red);
  background: var(--broadcast-panel);
  border-radius: 6px;
  box-shadow: 0 20px 55px #0003;
}
.username-card > h2 { color: var(--broadcast-text); }
.username-card > p, .username-card label, .username-card .trial-privacy,
.username-card .period-options { color: var(--broadcast-muted); }
.username-input { border-color: #4c5c6b; background: var(--broadcast-bg); border-radius: 4px; }
.username-input > span { color: var(--broadcast-muted); }
.username-input input { color: var(--broadcast-text); }
.username-input input::placeholder { color: #8395a4; }
.period-options .form-row input {
  background: var(--broadcast-bg);
  color: var(--broadcast-text);
  border-color: var(--broadcast-line);
}
.username-card .button { background: var(--broadcast-lime); color: #14200d; }
.entry-status { color: var(--broadcast-muted); }
.entry-error, #connect-status.error { color: #ff969b; }
.trial-divider { border-color: var(--broadcast-line); }
.trial-divider span { color: var(--broadcast-muted); background: var(--broadcast-panel); }
.real-example { color: var(--broadcast-text); background: var(--broadcast-raised); border-color: #405160; border-radius: 4px; }
.real-example:hover { border-color: var(--broadcast-lime); }
.welcome-bottom { border-color: var(--broadcast-line); }
.loading-pulse { background: var(--broadcast-lime); }
dialog {
  border-color: #42515f;
  border-radius: 8px;
  background: var(--broadcast-panel);
  color: var(--broadcast-text);
  box-shadow: 0 25px 100px #0008;
}
dialog::backdrop { background: #05090dd9; }
dialog p, dialog label, dialog label span, #connect-status { color: var(--broadcast-muted); }
dialog input, dialog select {
  background: var(--broadcast-bg);
  border-color: #4c5c6b;
  color: var(--broadcast-text);
}
dialog input::placeholder { color: #8395a4; }

/* Secondary evidence panels: keep the full mathematical explanation legible. */
.broadcast-fantasy .watch-settings > summary,
.broadcast-fantasy .watch-settings-panel,
.broadcast-fantasy .player-explanation,
.broadcast-fantasy .watch-evidence .player-explanation,
.broadcast-fantasy .league-outlook,
.broadcast-fantasy .detail-card,
.broadcast-fantasy .rank-list,
.broadcast-fantasy .ranking-row,
.broadcast-fantasy .exact-matchup,
.broadcast-fantasy .no-live {
  background: var(--broadcast-panel);
  color: var(--broadcast-text);
  border-color: var(--broadcast-line);
}
.broadcast-fantasy :is(.watch-settings-panel, .player-explanation, .league-outlook, .detail-card, .exact-matchup) {
  border-radius: 6px;
}
.broadcast-fantasy :is(
  .watch-settings-panel p, .watch-settings-panel .auto-label, .watch-settings > summary span,
  .watch-settings-panel .league-choice select, .player-explanation-head p,
  .watch-evidence .player-explanation-head p, .cohort-league > header span,
  .league-cohorts h4, .league-cohorts > div > span, .league-cohorts p span,
  .league-cohorts small, .unlinked-leagues, .player-objective, .estimate-note,
  .import-notes, .primary-guide-heading p, .exact-targets-intro,
  .player-exact-condition p, .exact-matchup header span, .exact-scoreline,
  .exact-terms, .exact-footnote, .exact-targets-note, .source-times,
  .no-live p, .score-guidance > p, .league-outlook-top > span,
  .league-prob > span, .league-outlook dt, .league-outlook dd span,
  .rank-name small, .rank-exposure, .rank-target, .rank-game, .rank-right small,
  .finished-row, .finished-row > small, .detail-header p,
  .detail-forecast span, .detail-forecast small, .anchor-note,
  .target-block .eyebrow, .target-block p, .target-block small,
  .impact-breakdown span, .impact-breakdown p, .all-targets p,
  .scenario-controls small, .detail-scenario > p, .scenario-result-total span,
  .scenario-result-total small, .weekly-method summary, .weekly-method p,
  .exact-ledger th, .exact-ledger p
) { color: var(--broadcast-muted); }
.broadcast-fantasy :is(
  .cohort-definition strong, .player-exact-condition strong, .exact-terms strong,
  .league-prob strong, .detail-forecast strong, .target-block h4,
  .target-example, .all-targets summary, .all-targets strong, .scenario-result-row strong,
  .scenario-result-total strong, .scenario-controls output, .league-outlook dd,
  .rank-name, .rank-right strong, .detail-header h3
) { color: var(--broadcast-text); }
.broadcast-fantasy :is(
  .cohort-definition, .objective-cohorts > div, .detail-forecast > div,
  .target-block, .scenario-result-total, .detail-card pre, .weekly-method pre,
  .event-links span, .score-guidance > strong, .exact-targets, .player-exact-condition
) {
  background: var(--broadcast-raised);
  border-color: var(--broadcast-line);
  color: var(--broadcast-muted);
}
.broadcast-fantasy :is(.player-exact-condition .eyebrow, .exact-targets > .eyebrow) { color: var(--broadcast-amber); }
.broadcast-fantasy .league-cohorts > div.preferred { background: #d4f87a0d; }
.broadcast-fantasy .league-cohorts > div.preferred strong { color: var(--broadcast-lime); }
.broadcast-fantasy :is(
  .cohort-league, .cohort-league > header, .league-cohorts > div,
  .watch-settings-panel .league-choice, .exact-ledger, .exact-ledger td,
  .detail-scenario, .impact-total, .scenario-result-row,
  .ranking-toolbar, .rank-list, .ranking-row, .impact-breakdown > div
) { border-color: var(--broadcast-line); }
.broadcast-fantasy .league-choice select option { background: var(--broadcast-panel); color: var(--broadcast-text); }
.broadcast-fantasy :is(.ranking-toolbar input, .scenario-controls select) {
  background: var(--broadcast-bg);
  color: var(--broadcast-text);
  border-color: var(--broadcast-line);
}
.broadcast-fantasy :is(.event-counts button, .filter-tabs button, .status-badge) {
  background: var(--broadcast-raised);
  color: var(--broadcast-muted);
  border-color: var(--broadcast-line);
}
.broadcast-fantasy :is(.event-counts button.active, .filter-tabs button.active) {
  background: var(--broadcast-lime);
  color: #14200d;
  border-color: var(--broadcast-lime);
}
.broadcast-fantasy :is(.ranking-row:hover, .ranking-row.selected) { background: var(--broadcast-raised); }
.broadcast-fantasy .rank-number { color: #899cac; }
.broadcast-fantasy .root-badge { background: #d4f87a12; color: var(--broadcast-lime); }
.broadcast-fantasy .root-badge.against { background: #ef4d5514; color: #ff969b; }
.broadcast-fantasy .root-badge.mixed { background: #f3c46e14; color: var(--broadcast-amber); }
.broadcast-fantasy .prob-bar { background: #2a3946; }
.broadcast-fantasy .prob-bar i { background: var(--broadcast-lime); }
.broadcast-fantasy .positive { color: var(--broadcast-lime); }
.broadcast-fantasy .negative { color: #ff969b; }
.broadcast-fantasy :is(.event-links b, .swing-chart > p, .swing-labels) { color: var(--broadcast-muted); }
.broadcast-fantasy .swing-bars { border-color: var(--broadcast-line); }
.broadcast-fantasy .forecast-unavailable,
.broadcast-fantasy .data-quality-notice,
.broadcast-fantasy .data-warnings,
.broadcast-fantasy .coverage-warning,
.broadcast-fantasy .warning,
.broadcast-fantasy .card-reason {
  background: #f3c46e0d;
  color: var(--broadcast-amber);
  border-color: #f3c46e40;
}
.broadcast-fantasy :is(.data-warnings p, .data-warnings ul, .scenario-error) { color: var(--broadcast-amber); }
.broadcast-fantasy .exact-matchup.awaiting_data { border-color: #f3c46e55; }
.broadcast-fantasy .weekly-method { border-color: var(--broadcast-line); }

@media (max-width: 640px) {
  .welcome { padding: 20px 20px 28px; }
  .welcome-nav { margin-bottom: 34px; padding-bottom: 19px; }
  .welcome-copy h1 { font-size: clamp(43px, 12vw, 62px); letter-spacing: -.5px; }
  .welcome-copy > p { font-size: 14px; }
  .username-card { padding: 24px; }
  .welcome-bottom { gap: 22px; }
  .product-nav a, .bet-product-nav a { font-size: 11px; padding: 7px 9px; }
  dialog { padding: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}
