:root {
  color-scheme: dark;
  --bg: #070b14;
  --surface: #0f1627;
  --surface-2: #151e33;
  --surface-3: #1b2740;
  --text: #f4f7ff;
  --muted: #9ca9c2;
  --line: rgba(255,255,255,.09);
  --accent: #ff6b2c;
  --accent-2: #ff9a45;
  --good: #49d17d;
  --warn: #ffc857;
  --bad: #ff5d70;
  --shadow: 0 18px 48px rgba(0,0,0,.28);
  --radius: 20px;
}

body.light {
  color-scheme: light;
  --bg: #eef2f8;
  --surface: #ffffff;
  --surface-2: #f7f9fc;
  --surface-3: #e8edf5;
  --text: #111827;
  --muted: #637087;
  --line: rgba(17,24,39,.09);
  --shadow: 0 18px 42px rgba(28,39,63,.12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 88% 4%, rgba(255,107,44,.15), transparent 24rem),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
button, input, select { font: inherit; }
button { cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .58; }

.app-shell { width: min(1180px, 100%); margin: 0 auto; padding: 0 18px 40px; }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 24px 0 18px; }
.eyebrow, .section-label { font-size: .68rem; letter-spacing: .15em; font-weight: 800; color: var(--accent-2); }
h1 { margin: 5px 0 0; font-size: clamp(1.55rem, 5vw, 2.35rem); letter-spacing: -.04em; }
h1 span { color: var(--accent); font-size: .55em; vertical-align: top; letter-spacing: 0; }
h2, h3, p { margin-top: 0; }
.icon-button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); color: var(--text); background: var(--surface); }

.hero-card, .sync-card, .controls-card, .status-info {
  background: linear-gradient(145deg, var(--surface), var(--surface-2));
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero-card { padding: 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.hero-card h2 { font-size: clamp(1.6rem, 5vw, 2.8rem); line-height: 1.03; letter-spacing: -.045em; max-width: 690px; margin-bottom: 12px; }
.hero-kicker { color: var(--accent-2); font-weight: 800; margin-bottom: 8px; }
.muted, .fine-print { color: var(--muted); line-height: 1.55; }
.data-badge { flex: 0 0 auto; font-size: .68rem; font-weight: 900; letter-spacing: .08em; background: rgba(255,200,87,.13); color: var(--warn); border: 1px solid rgba(255,200,87,.28); padding: 8px 10px; border-radius: 999px; }
.data-badge.live { color: var(--good); border-color: rgba(73,209,125,.3); background: rgba(73,209,125,.12); }

.summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 14px 0; }
.metric-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 16px; }
.metric-card span { display: block; color: var(--muted); font-size: .77rem; margin-bottom: 6px; }
.metric-card strong { font-size: 1.55rem; }
.metric-card .small-metric { font-size: .92rem; line-height: 1.3; display: block; }

.sync-card { padding: 20px; margin-bottom: 18px; }
.section-heading { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.section-heading h3 { margin: 4px 0 14px; font-size: 1.3rem; }
.date-grid, .filter-grid { display: grid; gap: 12px; }
.date-grid { grid-template-columns: repeat(2, minmax(0, 230px)); }
.filter-grid { grid-template-columns: repeat(5, 1fr); }
label { display: flex; flex-direction: column; gap: 6px; color: var(--muted); font-size: .75rem; font-weight: 700; }
input, select { width: 100%; border: 1px solid var(--line); background: var(--surface-3); color: var(--text); padding: 11px 12px; border-radius: 12px; outline: none; }
input:focus, select:focus { border-color: rgba(255,107,44,.72); box-shadow: 0 0 0 3px rgba(255,107,44,.1); }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.primary-button, .secondary-button { border: 0; border-radius: 12px; padding: 12px 16px; font-weight: 850; }
.primary-button { color: #fff; background: linear-gradient(135deg, var(--accent), #ef3e2f); }
.secondary-button { color: var(--text); background: var(--surface-3); border: 1px solid var(--line); }
.text-button { background: none; border: 0; padding: 0; color: var(--accent-2); font-weight: 800; }
.text-button.danger { color: var(--bad); }
.fine-print { font-size: .73rem; margin: 14px 0 0; }
.sync-progress { margin-top: 15px; }
.sync-progress p { font-size: .78rem; color: var(--muted); margin: 7px 0 0; }
.progress-track { height: 8px; overflow: hidden; border-radius: 999px; background: var(--surface-3); }
.progress-bar { width: 0%; height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width .25s ease; }

.tabbar { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); background: var(--surface); border: 1px solid var(--line); border-radius: 15px; padding: 5px; position: sticky; top: 8px; z-index: 20; box-shadow: var(--shadow); }
.tab { border: 0; border-radius: 11px; background: transparent; color: var(--muted); padding: 12px; font-weight: 850; }
.tab.active { color: #fff; background: linear-gradient(135deg, var(--accent), #ed4934); }
.panel { display: none; padding-top: 16px; }
.panel.active { display: block; }
.controls-card { padding: 16px; margin-bottom: 14px; }
.controls-card.compact { display: grid; grid-template-columns: repeat(2, minmax(0, 240px)); gap: 12px; }
.search-field { margin-bottom: 12px; }

.leader-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.leader-card { background: var(--surface); border: 1px solid var(--line); border-radius: 16px; padding: 14px; }
.leader-card .rank { color: var(--accent-2); font-size: .69rem; font-weight: 900; letter-spacing: .08em; }
.leader-card strong { display: block; margin-top: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.leader-card span:last-child { color: var(--muted); font-size: .78rem; }

.player-list { display: grid; gap: 10px; }
.player-card { width: 100%; color: inherit; text-align: left; background: var(--surface); border: 1px solid var(--line); border-radius: 17px; padding: 15px; display: grid; grid-template-columns: minmax(170px, 1.35fr) repeat(6, minmax(60px, .55fr)); gap: 8px; align-items: center; transition: transform .15s, border-color .15s; }
.player-card:hover { transform: translateY(-1px); border-color: rgba(255,107,44,.48); }
.player-identity { min-width: 0; }
.player-identity strong { display: block; font-size: .98rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.player-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-top: 5px; color: var(--muted); font-size: .71rem; }
.team-pill, .status-pill { border-radius: 999px; padding: 3px 7px; font-size: .64rem; font-weight: 900; }
.team-pill { background: var(--surface-3); color: var(--text); }
.status-pill.active { background: rgba(73,209,125,.14); color: var(--good); }
.status-pill.questionable, .status-pill.day-to-day, .status-pill.rest { background: rgba(255,200,87,.14); color: var(--warn); }
.status-pill.out, .status-pill.doubtful { background: rgba(255,93,112,.14); color: var(--bad); }
.status-pill.unknown, .status-pill.not-with-team { background: var(--surface-3); color: var(--muted); }
.stat-cell { text-align: center; }
.stat-cell span { display: block; color: var(--muted); font-size: .61rem; font-weight: 800; }
.stat-cell strong { font-size: .91rem; }

.game-list, .status-list { display: grid; gap: 10px; }
.game-card { background: var(--surface); border: 1px solid var(--line); border-radius: 17px; padding: 16px; }
.game-topline { display: flex; justify-content: space-between; color: var(--muted); font-size: .72rem; margin-bottom: 11px; }
.matchup { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; }
.team-side:last-child { text-align: right; }
.team-side strong { display: block; font-size: 1rem; }
.team-side span { color: var(--muted); font-size: .72rem; }
.score { font-size: 1.5rem; font-weight: 900; letter-spacing: -.04em; white-space: nowrap; }
.game-leaders { border-top: 1px solid var(--line); margin-top: 13px; padding-top: 12px; display: flex; gap: 14px; flex-wrap: wrap; color: var(--muted); font-size: .72rem; }
.game-leaders strong { color: var(--text); }

.status-info { padding: 18px; margin-bottom: 12px; }
.status-info p { margin: 0; color: var(--muted); line-height: 1.5; }
.status-row { display: grid; grid-template-columns: 1fr minmax(150px, 220px); align-items: center; gap: 12px; background: var(--surface); border: 1px solid var(--line); border-radius: 15px; padding: 13px; }
.status-row strong { display: block; }
.status-row span { color: var(--muted); font-size: .72rem; }

.empty-state { padding: 35px 20px; border: 1px dashed var(--line); border-radius: 16px; color: var(--muted); text-align: center; }
.hidden { display: none !important; }

footer { color: var(--muted); font-size: .72rem; padding: 26px 3px 12px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
footer p { margin: 0; }
.footer-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.file-label { cursor: pointer; }

.player-dialog, .help-dialog { width: min(760px, calc(100% - 24px)); max-height: 88vh; overflow-y: auto; border: 1px solid var(--line); border-radius: 22px; color: var(--text); background: var(--surface); padding: 24px; box-shadow: 0 30px 90px rgba(0,0,0,.6); }
.player-dialog::backdrop, .help-dialog::backdrop { background: rgba(0,0,0,.68); backdrop-filter: blur(4px); }
.dialog-close { position: sticky; float: right; top: 0; z-index: 2; width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: var(--surface-3); color: var(--text); font-size: 1.45rem; }
.detail-header { padding-right: 46px; }
.detail-header h2 { margin-bottom: 5px; }
.detail-header p { color: var(--muted); }
.detail-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin: 18px 0; }
.detail-stat { background: var(--surface-2); border: 1px solid var(--line); border-radius: 14px; padding: 12px; }
.detail-stat span { color: var(--muted); display: block; font-size: .67rem; }
.detail-stat strong { font-size: 1.15rem; }
.chart-wrap { background: var(--surface-2); border: 1px solid var(--line); border-radius: 16px; padding: 12px; margin-bottom: 18px; }
.chart-wrap h4 { margin: 0 0 10px; }
#trendCanvas { width: 100%; height: 190px; display: block; }
.game-log { width: 100%; border-collapse: collapse; font-size: .75rem; }
.game-log th, .game-log td { padding: 9px 7px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
.game-log th:first-child, .game-log td:first-child { text-align: left; }
.help-dialog li { margin-bottom: 10px; line-height: 1.5; }
.help-dialog p { color: var(--muted); line-height: 1.55; }

.toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 50; background: #111827; color: #fff; padding: 11px 16px; border-radius: 999px; box-shadow: var(--shadow); font-size: .8rem; font-weight: 750; max-width: calc(100% - 30px); text-align: center; }

@media (max-width: 820px) {
  .summary-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-grid { grid-template-columns: repeat(2, 1fr); }
  .filter-grid label:last-child { grid-column: span 2; }
  .player-card { grid-template-columns: minmax(150px, 1fr) repeat(3, minmax(54px, .42fr)); }
  .player-card .stat-cell:nth-child(n+5) { display: none; }
  .detail-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 560px) {
  .app-shell { padding-left: 12px; padding-right: 12px; }
  .hero-card { flex-direction: column; padding: 20px; }
  .summary-grid { gap: 8px; }
  .metric-card { padding: 13px; }
  .date-grid, .controls-card.compact { grid-template-columns: 1fr 1fr; }
  .leader-strip { grid-template-columns: 1fr; }
  .player-card { grid-template-columns: minmax(125px, 1fr) repeat(3, 48px); padding: 13px 10px; gap: 4px; }
  .player-meta { gap: 4px; }
  .status-row { grid-template-columns: 1fr 135px; }
  .detail-grid { grid-template-columns: repeat(2, 1fr); }
  .player-dialog, .help-dialog { padding: 17px; }
  .game-log-wrap { overflow-x: auto; }
  footer { display: block; }
  .footer-actions { margin-top: 12px; }
}

/* V0.2 league layer */
body[data-league="wnba"] {
  --accent: #f05a28;
  --accent-2: #ffad65;
}

body[data-league="nhl"] {
  --accent: #2b7de9;
  --accent-2: #78b4ff;
}

.league-switcher {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 6px;
  margin: 0 0 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 17px;
  box-shadow: var(--shadow);
}

.league-button {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: var(--muted);
}

.league-button strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.league-button.active {
  color: #fff;
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(135deg, var(--accent), #ed4934);
}

.league-short {
  flex: 0 0 auto;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  font-size: .65rem;
  font-weight: 950;
  letter-spacing: .05em;
}

@media (max-width: 560px) {
  .league-button { padding: 11px 8px; gap: 6px; font-size: .78rem; }
  .league-short { font-size: .58rem; padding: 3px 6px; }
}

/* Projection layer */
.tabbar { grid-template-columns: repeat(4, 1fr); }

.projection-intro,
.method-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 18px;
  margin-bottom: 14px;
}

.projection-intro {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.projection-intro h3 { margin: 4px 0 7px; }
.projection-intro p { margin: 0; color: var(--muted); line-height: 1.5; max-width: 760px; }
.model-badge {
  flex: 0 0 auto;
  border: 1px solid var(--line);
  background: var(--surface-3);
  color: var(--accent-2);
  border-radius: 999px;
  padding: 6px 9px;
  font-size: .65rem;
  font-weight: 900;
  letter-spacing: .06em;
}

.projection-fixed-rule {
  min-height: 68px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface-2);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2px;
}
.projection-fixed-rule span { color: var(--muted); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.05em; }
.projection-fixed-rule strong { color: var(--text); font-size: 0.95rem; }
.projection-fixed-rule small { color: var(--muted); font-size: 0.72rem; line-height: 1.25; }

.projection-controls {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}


.projection-game-control { grid-column: span 2; }
.projection-game-control select { font-weight: 750; }

.projection-check {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--muted);
  font-size: .8rem;
}

.projection-check input {
  width: auto;
  margin: 0;
  accent-color: var(--accent);
}

.projection-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.projection-notice {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 12px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.5;
}

.projection-notice strong { color: var(--text); }
.projection-list { display: grid; gap: 12px; margin-bottom: 14px; }

.projection-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
}

.projection-rank {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  padding: 16px 8px;
  background: var(--surface-2);
  border-right: 1px solid var(--line);
}

.projection-rank span { color: var(--accent-2); font-size: 1.25rem; font-weight: 950; }
.projection-rank small { color: var(--muted); font-weight: 850; text-align: center; }
.projection-main { padding: 16px; min-width: 0; }

.projection-headline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.projection-headline h3 { margin: 6px 0 3px; }
.projection-headline p { margin: 0; color: var(--muted); font-size: .75rem; }
.projection-number { flex: 0 0 auto; text-align: right; }
.projection-number span { display: block; color: var(--muted); font-size: .66rem; font-weight: 800; }
.projection-number strong { display: block; margin-top: 3px; font-size: 1.08rem; }

.projection-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0 12px;
}

.projection-metrics span {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface-2);
  padding: 9px;
  text-align: center;
}

.projection-metrics small { display: block; color: var(--muted); font-size: .62rem; font-weight: 800; }
.projection-metrics strong { display: block; margin-top: 2px; font-size: .88rem; }
.projection-reasons { margin: 0; padding-left: 18px; color: var(--muted); font-size: .75rem; line-height: 1.55; }
.projection-reasons li + li { margin-top: 3px; }
.confidence-track { height: 8px; margin-top: 13px; border-radius: 999px; overflow: hidden; background: var(--surface-3); }
.confidence-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }

.method-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.method-grid div { border-top: 2px solid var(--line); padding-top: 10px; }
.method-grid strong { display: block; font-size: .82rem; }
.method-grid span { display: block; color: var(--muted); font-size: .72rem; line-height: 1.45; margin-top: 4px; }

.upcoming-game { border-color: rgba(255,107,44,.34); }
.score .tip-time { display: block; color: var(--accent-2); font-size: .95rem; letter-spacing: 0; }
.score small { display: block; color: var(--muted); font-size: .55rem; letter-spacing: .08em; margin-top: 2px; }

@media (max-width: 820px) {
  .projection-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projection-game-control { grid-column: 1 / -1; }
  .projection-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .method-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .tab { padding: 11px 5px; font-size: .72rem; }
  .projection-intro { display: block; }
  .model-badge { display: inline-block; margin-top: 12px; }
  .projection-controls { grid-template-columns: 1fr 1fr; }
  .projection-game-control { grid-column: 1 / -1; }
  .projection-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .projection-summary .metric-card { padding: 10px 8px; }
  .projection-summary .metric-card span { font-size: .58rem; }
  .projection-card { grid-template-columns: 48px minmax(0, 1fr); }
  .projection-rank { padding: 12px 4px; }
  .projection-rank span { font-size: 1rem; }
  .projection-rank small { writing-mode: vertical-rl; transform: rotate(180deg); font-size: .58rem; }
  .projection-main { padding: 13px 11px; }
  .projection-headline { display: block; }
  .projection-number { margin-top: 10px; text-align: left; }
  .projection-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .method-grid { grid-template-columns: 1fr; }
}

/* V0.5 NHL layer */
body[data-league="nhl"] .league-button.active,
body[data-league="nhl"] .tab.active,
body[data-league="nhl"] .primary-button { background: linear-gradient(135deg, var(--accent), #1559b7); }
.position-pill { border-radius: 999px; padding: 3px 7px; font-size: .64rem; font-weight: 900; background: rgba(120,180,255,.12); color: var(--accent-2); }
@media (max-width: 560px) {
  .league-button { flex-direction: column; gap: 3px; padding: 9px 4px; }
  .league-button strong { font-size: .67rem; }
}


/* V0.6 NFL layer */
body[data-league="nfl"] {
  --accent: #2f9e5d;
  --accent-2: #91e4b0;
}
body[data-league="nfl"] .league-button.active,
body[data-league="nfl"] .tab.active,
body[data-league="nfl"] .primary-button { background: linear-gradient(135deg, var(--accent), #17633a); }
body[data-league="nfl"] .position-pill { background: rgba(145,228,176,.12); }
@media (max-width: 700px) {
  .league-switcher { gap: 5px; }
  .league-button { flex-direction: column; gap: 3px; padding: 9px 4px; }
  .league-button strong { font-size: .64rem; }
}
@media (max-width: 390px) {
  .league-button strong { display: none; }
  .league-button { padding: 10px 3px; }
}


/* V0.7 MLB layer */
body[data-league="mlb"] {
  --accent: #d94b4b;
  --accent-2: #ff9c8f;
}
body[data-league="mlb"] .league-button.active,
body[data-league="mlb"] .tab.active,
body[data-league="mlb"] .primary-button { background: linear-gradient(135deg, var(--accent), #8f2424); }
body[data-league="mlb"] .position-pill { background: rgba(255,156,143,.12); }
@media (max-width: 760px) {
  .league-switcher { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* V0.8 speed and mobile polish */
:root { --shadow: 0 10px 28px rgba(0,0,0,.2); }
body.light { --shadow: 0 8px 24px rgba(28,39,63,.09); }

.quick-date-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.quick-date-button {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface-3);
  color: var(--muted);
  padding: 7px 11px;
  font-size: .72rem;
  font-weight: 800;
}
.quick-date-button:hover,
.quick-date-button:focus-visible { color: var(--text); border-color: var(--accent); }

.player-card,
.game-card,
.projection-card,
.status-row {
  content-visibility: auto;
  contain-intrinsic-size: 1px 96px;
}

.league-switcher,
.hero-card,
.sync-card,
.tabbar { isolation: isolate; }

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

@media (max-width: 700px) {
  body { background: var(--bg); }
  .topbar { padding: 16px 0 11px; }
  .topbar > div { min-width: 0; }
  .eyebrow { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: calc(100vw - 92px); }
  h1 { font-size: 1.45rem; }
  .icon-button { width: 40px; height: 40px; flex: 0 0 auto; }

  .league-switcher {
    gap: 5px;
    padding: 5px;
    margin-bottom: 10px;
    border-radius: 14px;
    box-shadow: none;
  }
  .league-button {
    min-height: 42px;
    padding: 8px 3px;
    gap: 0;
    flex-direction: row;
    overflow: hidden;
  }
  .league-button strong { display: none; }
  .league-short {
    padding: 0;
    background: transparent;
    font-size: .68rem;
    letter-spacing: .02em;
  }
  .league-button.active .league-short { color: #fff; }

  .hero-card {
    padding: 16px;
    gap: 10px;
    border-radius: 16px;
    box-shadow: none;
  }
  .hero-card h2 {
    font-size: clamp(1.2rem, 5.5vw, 1.5rem);
    line-height: 1.08;
    letter-spacing: -.025em;
    margin-bottom: 8px;
  }
  .hero-kicker { margin-bottom: 6px; font-size: .78rem; }
  .hero-card .muted {
    font-size: .78rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
  .data-badge { padding: 6px 8px; font-size: .6rem; }

  .summary-grid { margin: 10px 0; gap: 7px; }
  .metric-card { border-radius: 13px; padding: 11px; }
  .metric-card span { font-size: .67rem; margin-bottom: 4px; }
  .metric-card strong { font-size: 1.2rem; }
  .metric-card .small-metric { font-size: .75rem; }

  .sync-card {
    padding: 15px;
    margin-bottom: 12px;
    border-radius: 16px;
    box-shadow: none;
  }
  .section-heading h3 { margin-bottom: 10px; font-size: 1.05rem; }
  .section-heading .text-button { font-size: .72rem; white-space: nowrap; }
  .date-grid { gap: 8px; }
  input, select { padding: 10px; border-radius: 10px; }
  .quick-date-row { gap: 6px; margin-top: 8px; }
  .quick-date-button { flex: 1 1 auto; padding: 7px 8px; }
  .button-row { margin-top: 10px; gap: 7px; }
  .primary-button, .secondary-button { padding: 10px 12px; border-radius: 10px; }
  .fine-print { margin-top: 10px; line-height: 1.4; }

  .tabbar {
    top: 5px;
    padding: 4px;
    border-radius: 13px;
    box-shadow: 0 6px 18px rgba(0,0,0,.18);
  }
  .tab { min-width: 0; padding: 10px 3px; font-size: .69rem; }
  .panel { padding-top: 11px; }
  .controls-card { padding: 12px; margin-bottom: 10px; border-radius: 15px; box-shadow: none; }
  .leader-strip { gap: 7px; margin-bottom: 10px; }
  .leader-card { border-radius: 13px; padding: 11px; }
  .player-list, .game-list, .status-list, .projection-list { gap: 7px; }
  .player-card, .game-card, .status-row { border-radius: 14px; }
}

@media (max-width: 420px) {
  .app-shell { padding-left: 9px; padding-right: 9px; }
  .topbar { padding-top: max(12px, env(safe-area-inset-top)); }
  .eyebrow { font-size: .56rem; letter-spacing: .11em; }
  h1 { font-size: 1.3rem; }
  .league-button { min-height: 40px; }
  .league-short { font-size: .64rem; }
  .hero-card { display: grid; grid-template-columns: 1fr auto; align-items: start; }
  .hero-card > div:first-child { min-width: 0; }
  .hero-card .muted { grid-column: 1 / -1; }
  .summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .date-grid, .controls-card.compact { grid-template-columns: 1fr 1fr; }
  .quick-date-button { font-size: .67rem; }
  .player-card { transform: translateZ(0); }
}



.date-preset-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.preset-button { min-height: 38px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-3); color: var(--text); font-size: .76rem; font-weight: 750; padding: 8px 10px; }
.preset-button:active { transform: translateY(1px); }

/* V0.9 safe-start recovery notice */
.boot-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 10px 0 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.boot-status > div { display: grid; gap: 3px; min-width: 0; }
.boot-status strong { font-size: .86rem; }
.boot-status span { color: var(--muted); font-size: .78rem; line-height: 1.35; }
.boot-status .secondary-button { flex: 0 0 auto; padding: 9px 12px; }
@media (max-width: 560px) {
  .boot-status { align-items: flex-start; flex-direction: column; }
  .boot-status .secondary-button { width: 100%; }
}

/* V0.9 News & Game Context */
.tabbar { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.news-header-card,
.projection-context {
  background: linear-gradient(145deg, var(--surface), var(--surface-2));
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.news-header-card { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 20px; margin-bottom: 12px; }
.news-header-card h3 { margin: 4px 0 8px; font-size: 1.35rem; }
.news-header-card p { margin: 0; color: var(--muted); line-height: 1.5; max-width: 760px; }
.news-refresh { flex: 0 0 auto; }
.news-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 12px; }
.news-controls { display: grid; grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr)); gap: 12px; }
.news-feed-status { min-height: 20px; color: var(--muted); font-size: .75rem; margin: 2px 3px 10px; }
.news-feed-status.loading { color: var(--accent-2); }
.news-feed-status.error { color: var(--bad); }
.news-list { display: grid; gap: 10px; }
.news-card {
  content-visibility: auto;
  contain-intrinsic-size: 190px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--muted);
  border-radius: 17px;
  padding: 16px;
}
.news-card.level-verified { border-left-color: var(--good); }
.news-card.level-reported { border-left-color: var(--accent-2); }
.news-card.level-rumour { border-left-color: var(--warn); }
.news-card-top, .news-card-footer { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.news-card-top time { color: var(--muted); font-size: .69rem; white-space: nowrap; }
.news-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.news-level, .news-category, .news-impact, .news-guardrail, .news-teams, .news-demo-label {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-size: .63rem;
  font-weight: 850;
  padding: 4px 7px;
}
.news-level { background: var(--surface-3); color: var(--text); }
.level-verified .news-level { color: var(--good); background: rgba(73,209,125,.12); }
.level-reported .news-level { color: var(--accent-2); background: rgba(255,154,69,.12); }
.level-rumour .news-level { color: var(--warn); background: rgba(255,200,87,.12); }
.news-category, .news-teams { background: var(--surface-3); color: var(--muted); }
.news-impact { background: transparent; border: 1px solid var(--line); color: var(--muted); }
.news-impact.impact-high { color: var(--bad); }
.news-impact.impact-medium { color: var(--warn); }
.news-card h4 { margin: 12px 0 7px; font-size: 1rem; line-height: 1.35; }
.news-card p { margin: 0 0 13px; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.news-card-footer { padding-top: 11px; border-top: 1px solid var(--line); font-size: .72rem; color: var(--muted); }
.news-card-footer > span { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.news-card-footer strong { color: var(--text); }
.news-link { color: var(--accent-2); text-decoration: none; font-weight: 800; }
.news-link:hover { text-decoration: underline; }
.news-guardrail { color: var(--warn); background: rgba(255,200,87,.1); }
.news-demo-label { color: var(--muted); background: var(--surface-3); }
.news-policy-card { margin-top: 14px; }
.projection-context { padding: 15px; margin-bottom: 12px; box-shadow: none; }
.projection-context:empty { display: none; }
.projection-context-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.projection-context-head h3 { margin: 4px 0 0; font-size: 1.05rem; }
.context-counts { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.context-counts span { border: 1px solid var(--line); border-radius: 999px; padding: 5px 8px; color: var(--muted); font-size: .65rem; font-weight: 800; }
.context-headlines { display: grid; gap: 8px; margin-top: 12px; }
.context-headlines > div { display: grid; grid-template-columns: 10px 1fr; column-gap: 8px; align-items: start; }
.context-headlines strong { font-size: .78rem; line-height: 1.35; }
.context-headlines small { grid-column: 2; color: var(--muted); margin-top: 2px; }
.context-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 4px; background: var(--muted); }
.context-dot.verified { background: var(--good); }
.context-dot.reported { background: var(--accent-2); }
.context-dot.rumour { background: var(--warn); }
.context-guardrail { margin: 12px 0 0; color: var(--muted); font-size: .7rem; }
.projection-context-empty { display: grid; gap: 4px; }
.projection-context-empty span { color: var(--muted); font-size: .75rem; }

@media (max-width: 820px) {
  .news-summary { grid-template-columns: repeat(2, 1fr); }
  .news-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .news-search-control { grid-column: span 2; }
}

@media (max-width: 560px) {
  .tabbar { overflow-x: auto; scrollbar-width: none; grid-template-columns: repeat(5, minmax(64px, 1fr)); }
  .tabbar::-webkit-scrollbar { display: none; }
  .news-header-card { padding: 14px; border-radius: 15px; flex-direction: column; gap: 10px; }
  .news-header-card h3 { font-size: 1.05rem; margin-bottom: 6px; }
  .news-header-card p { font-size: .77rem; }
  .news-refresh { width: 100%; }
  .news-summary { gap: 7px; margin-bottom: 10px; }
  .news-controls { gap: 8px; grid-template-columns: 1fr 1fr; }
  .news-search-control { grid-column: 1 / -1; }
  .news-card { border-radius: 14px; padding: 13px; contain-intrinsic-size: 220px; }
  .news-card-top, .news-card-footer, .projection-context-head { flex-direction: column; }
  .news-card-top time { white-space: normal; }
  .news-card h4 { font-size: .93rem; margin-top: 10px; }
  .news-card p { font-size: .77rem; }
  .news-card-footer > span:last-child { width: 100%; justify-content: space-between; }
  .projection-context { padding: 12px; border-radius: 14px; }
  .context-counts { justify-content: flex-start; }
}
.news-players { display: inline-flex; color: var(--accent-2); font-size: .67rem; font-weight: 750; }

/* V1.0 product experience */
body[data-league="nba"] { --accent: #7c5cff; --accent-2: #b29cff; --league-rgb: 124,92,255; }
body[data-league="wnba"] { --accent: #f05a28; --accent-2: #ffad65; --league-rgb: 240,90,40; }
body[data-league="nhl"] { --accent: #338cff; --accent-2: #8bc3ff; --league-rgb: 51,140,255; }
body[data-league="nfl"] { --accent: #19a974; --accent-2: #70dfb2; --league-rgb: 25,169,116; }
body[data-league="mlb"] { --accent: #e64b5d; --accent-2: #ff9aa6; --league-rgb: 230,75,93; }

body {
  background:
    radial-gradient(circle at 88% 2%, rgba(var(--league-rgb, 124,92,255), .14), transparent 22rem),
    radial-gradient(circle at 4% 22%, rgba(var(--league-rgb, 124,92,255), .07), transparent 28rem),
    var(--bg);
}

.brand-lockup, .topbar-actions { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px;
  background: linear-gradient(145deg, var(--accent), var(--accent-2)); color: #fff;
  font-size: .72rem; font-weight: 950; letter-spacing: -.03em; box-shadow: 0 8px 24px rgba(var(--league-rgb,124,92,255),.2);
}
.product-pill {
  color: var(--muted); background: var(--surface); border: 1px solid var(--line); border-radius: 999px;
  padding: 8px 11px; font-size: .68rem; font-weight: 800; white-space: nowrap;
}

.league-switcher { box-shadow: 0 8px 24px rgba(0,0,0,.13); }
.league-button { position: relative; overflow: hidden; }
.league-button::after {
  content: ''; position: absolute; inset: auto 12px 5px; height: 2px; border-radius: 999px;
  background: transparent; transition: background .16s ease, transform .16s ease; transform: scaleX(.35);
}
.league-button.active::after { background: var(--accent); transform: scaleX(1); }
.league-button.active { border-color: rgba(var(--league-rgb,124,92,255),.35); }

.hero-card { box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.hero-card h2 { max-width: 760px; }
.data-badge.live { box-shadow: 0 0 0 4px rgba(73,209,125,.05); }

.tabbar { grid-template-columns: repeat(6, minmax(0, 1fr)); box-shadow: 0 8px 28px rgba(0,0,0,.16); }
.tab { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; }
.tab > span { font-size: .84rem; opacity: .8; }
.tab.active { box-shadow: 0 7px 18px rgba(var(--league-rgb,124,92,255),.22); }

.ghost-button {
  border: 0; background: transparent; color: var(--accent-2); padding: 11px 5px; font-weight: 850;
}

.home-hero {
  position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px;
  padding: 26px; border: 1px solid rgba(var(--league-rgb,124,92,255),.24); border-radius: 24px;
  background: linear-gradient(135deg, rgba(var(--league-rgb,124,92,255),.14), var(--surface) 46%, var(--surface-2));
}
.home-hero::after {
  content: ''; position: absolute; width: 220px; height: 220px; right: -90px; top: -105px; border-radius: 50%;
  border: 42px solid rgba(var(--league-rgb,124,92,255),.07); pointer-events: none;
}
.home-label { display: flex; align-items: center; gap: 8px; color: var(--accent-2); font-size: .69rem; font-weight: 900; letter-spacing: .13em; }
.home-label span:first-child { color: #fff; background: var(--accent); border-radius: 7px; padding: 4px 6px; letter-spacing: .04em; }
.home-hero h2 { margin: 10px 0 8px; font-size: clamp(1.7rem, 5vw, 2.65rem); line-height: 1.02; letter-spacing: -.045em; }
.home-hero p { max-width: 720px; color: var(--muted); line-height: 1.55; margin-bottom: 0; }
.home-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 18px; }
.home-scorecard {
  position: relative; z-index: 1; min-width: 150px; align-self: stretch; display: flex; flex-direction: column; justify-content: center;
  padding: 18px; border-radius: 18px; background: rgba(7,11,20,.28); border: 1px solid rgba(255,255,255,.08); text-align: right;
}
body.light .home-scorecard { background: rgba(255,255,255,.58); }
.home-scorecard span { color: var(--accent-2); font-size: .62rem; font-weight: 900; letter-spacing: .12em; }
.home-scorecard strong { display: block; margin: 4px 0 2px; font-size: 2.15rem; letter-spacing: -.05em; }
.home-scorecard small { color: var(--muted); max-width: 145px; }

.home-stat-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 12px 0; }
.home-stat-row article {
  min-width: 0; padding: 14px 15px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line);
}
.home-stat-row span, .home-stat-row small { display: block; color: var(--muted); font-size: .68rem; }
.home-stat-row strong { display: block; font-size: 1.25rem; margin: 4px 0 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-stat-row small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.home-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.home-panel-card {
  min-width: 0; padding: 18px; background: var(--surface); border: 1px solid var(--line); border-radius: 19px;
}
.home-card-heading { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 12px; }
.home-card-heading h3 { margin: 4px 0 0; font-size: 1.12rem; }
.home-link { border: 0; background: transparent; color: var(--accent-2); padding: 3px 0; font-size: .74rem; font-weight: 850; }
.home-game-list, .home-ranked-list, .home-news-list { display: grid; gap: 7px; }
.home-game-row, .home-rank-row, .home-news-row {
  width: 100%; min-width: 0; color: inherit; text-align: left; border: 1px solid transparent; background: var(--surface-2);
  border-radius: 14px; transition: background .14s ease, border-color .14s ease, transform .14s ease;
}
.home-game-row:hover, .home-rank-row:hover, .home-news-row:hover { border-color: rgba(var(--league-rgb,124,92,255),.28); transform: translateY(-1px); }
.home-game-row { display: grid; grid-template-columns: 74px minmax(0,1fr) 15px; gap: 10px; align-items: center; padding: 10px 11px; }
.home-game-time strong, .home-game-time small, .home-matchup strong, .home-matchup small { display: block; }
.home-game-time strong { font-size: .88rem; }
.home-game-time small, .home-matchup small { margin-top: 2px; color: var(--muted); font-size: .65rem; }
.home-matchup strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .84rem; }
.home-matchup em { color: var(--muted); font-style: normal; font-weight: 600; }
.home-chevron { color: var(--accent-2); font-size: 1.35rem; }
.home-rank-row { display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 10px; }
.home-rank { width: 25px; height: 25px; display: grid; place-items: center; color: var(--accent-2); background: rgba(var(--league-rgb,124,92,255),.1); border-radius: 8px; font-size: .69rem; font-weight: 950; }
.home-rank-main, .home-rank-value { min-width: 0; }
.home-rank-main strong, .home-rank-main small, .home-rank-value strong, .home-rank-value small { display: block; }
.home-rank-main strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: .82rem; }
.home-rank-main small, .home-rank-value small { color: var(--muted); margin-top: 2px; font-size: .62rem; }
.home-rank-value { text-align: right; }
.home-rank-value strong { font-size: .86rem; }
.trend-up { color: var(--good) !important; }
.trend-down { color: var(--bad) !important; }
.home-news-row { display: grid; grid-template-columns: 9px minmax(0,1fr); gap: 10px; align-items: start; padding: 11px; }
.home-news-row strong, .home-news-row small { display: block; }
.home-news-row strong { font-size: .8rem; line-height: 1.3; }
.home-news-row small { color: var(--muted); margin-top: 4px; font-size: .62rem; }
.home-news-row .context-dot { margin-top: 5px; }
.home-empty { min-height: 74px; display: flex; flex-direction: column; justify-content: center; padding: 11px; border: 1px dashed var(--line); border-radius: 13px; }
.home-empty strong { font-size: .8rem; }
.home-empty span { margin-top: 4px; color: var(--muted); font-size: .68rem; line-height: 1.35; }

/* V1.0 fast-feel refinements */
.player-card, .game-card, .news-card, .projection-card, .status-row, .home-panel-card { content-visibility: auto; contain-intrinsic-size: 1px 96px; }
.player-card, .game-card, .status-row, .controls-card, .home-panel-card { box-shadow: none; }
.primary-button { box-shadow: 0 8px 22px rgba(var(--league-rgb,124,92,255),.17); }
.primary-button:active, .secondary-button:active, .tab:active, .league-button:active { transform: translateY(1px); }

@media (max-width: 820px) {
  .home-grid { grid-template-columns: 1fr; }
  .home-next-card { order: -1; }
  .home-stat-row { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .tabbar { grid-template-columns: repeat(6, minmax(88px, 1fr)); overflow-x: auto; scrollbar-width: none; }
  .tabbar::-webkit-scrollbar { display: none; }
}

@media (max-width: 600px) {
  .product-pill { display: none; }
  .brand-mark { width: 38px; height: 38px; border-radius: 11px; }
  .home-hero { grid-template-columns: 1fr; gap: 14px; padding: 20px; }
  .home-hero::after { width: 150px; height: 150px; right: -65px; top: -75px; border-width: 30px; }
  .home-scorecard { min-width: 0; min-height: 74px; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 0 10px; align-items: center; text-align: left; padding: 13px 15px; }
  .home-scorecard span { align-self: end; }
  .home-scorecard strong { grid-column: 2; grid-row: 1 / 3; font-size: 1.75rem; }
  .home-scorecard small { align-self: start; max-width: none; }
  .home-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .home-actions .ghost-button { grid-column: 1 / -1; text-align: left; }
  .home-panel-card { padding: 14px; }
  .home-stat-row { gap: 7px; }
  .home-stat-row article { padding: 12px; }
  .home-stat-row strong { font-size: 1.1rem; }
  .tabbar { top: 6px; margin-left: -2px; margin-right: -2px; padding: 4px; grid-template-columns: repeat(6, minmax(76px, 1fr)); }
  .tab { min-height: 42px; padding: 9px 7px; font-size: .7rem; }
  .tab > span { font-size: .76rem; }
}

@media (max-width: 420px) {
  .topbar { gap: 8px; }
  .brand-lockup { gap: 9px; }
  .brand-lockup .eyebrow { font-size: .58rem; }
  .brand-lockup h1 { font-size: 1.35rem; }
  .home-stat-row article:nth-child(3), .home-stat-row article:nth-child(4) { background: var(--surface-2); }
  .home-game-row { grid-template-columns: 66px minmax(0,1fr) 12px; padding: 9px; }
  .home-rank-row { grid-template-columns: 25px minmax(0,1fr) auto; padding: 9px; gap: 7px; }
}

/* V1.0 keeps the working data engine available without making it dominate the product UI. */
.hero-card, .summary-grid { display: none; }
.sync-card { display: none; margin-top: 0; }
body.data-drawer-open .sync-card { display: block; animation: drawerIn .16s ease-out; }
@keyframes drawerIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: translateY(0); } }
.top-data-button {
  border: 1px solid var(--line); background: var(--surface); color: var(--text); border-radius: 999px;
  padding: 9px 13px; font-size: .72rem; font-weight: 850;
}
body.data-drawer-open .top-data-button { color: var(--accent-2); border-color: rgba(var(--league-rgb,124,92,255),.35); }
.tabbar { margin-top: 12px; }
@media (max-width: 600px) {
  .top-data-button { padding: 8px 10px; font-size: .68rem; }
  body.data-drawer-open .sync-card { margin-top: 10px; }
}

/* ========================================================================== */
/* V1.1 — Refined product UI                                                  */
/* ========================================================================== */
:root {
  --surface-glass: rgba(15,22,39,.88);
  --soft-shadow: 0 10px 32px rgba(0,0,0,.16);
  --lift-shadow: 0 14px 34px rgba(var(--league-rgb,124,92,255),.11);
}
body.light {
  --surface-glass: rgba(255,255,255,.92);
  --soft-shadow: 0 8px 26px rgba(28,39,63,.08);
  --lift-shadow: 0 12px 30px rgba(var(--league-rgb,124,92,255),.09);
}

html { -webkit-tap-highlight-color: transparent; }
body {
  background:
    radial-gradient(circle at 50% -10%, rgba(var(--league-rgb,124,92,255),.14), transparent 36rem),
    var(--bg);
  transition: background-color .18s ease, color .18s ease;
}
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid rgba(var(--league-rgb,124,92,255),.74);
  outline-offset: 2px;
}

.app-shell { width: min(1120px, 100%); padding-bottom: 46px; }
.topbar { padding: 19px 0 14px; }
.brand-lockup { gap: 10px; }
.brand-mark {
  width: 42px; height: 42px; border-radius: 13px;
  background: linear-gradient(145deg, rgba(var(--league-rgb,124,92,255),.96), rgba(var(--league-rgb,124,92,255),.58));
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 9px 25px rgba(var(--league-rgb,124,92,255),.22);
}
.eyebrow { color: var(--muted); letter-spacing: .13em; font-size: .61rem; }
h1 { font-size: clamp(1.35rem, 3.5vw, 1.9rem); margin-top: 2px; }
h1 span { color: var(--accent-2); font-size: .48em; }
.product-pill {
  border: 1px solid rgba(var(--league-rgb,124,92,255),.18);
  background: rgba(var(--league-rgb,124,92,255),.07);
  color: var(--muted);
}
.top-data-button, .icon-button {
  background: var(--surface-glass);
  border-color: var(--line);
  box-shadow: none;
}
.top-data-button:hover, .icon-button:hover { border-color: rgba(var(--league-rgb,124,92,255),.35); }

.league-switcher {
  padding: 4px;
  gap: 4px;
  margin-bottom: 10px;
  border-radius: 15px;
  background: var(--surface-glass);
  box-shadow: var(--soft-shadow);
  backdrop-filter: blur(16px);
}
.league-button {
  min-height: 46px;
  border-radius: 11px;
  transition: color .14s ease, background .14s ease, border-color .14s ease, transform .14s ease;
}
.league-button::after { inset: auto 18px 4px; height: 2px; }
.league-button:hover { color: var(--text); background: rgba(var(--league-rgb,124,92,255),.055); }
body[data-league] .league-button.active {
  color: var(--text) !important;
  background: rgba(var(--league-rgb,124,92,255),.13) !important;
  border-color: rgba(var(--league-rgb,124,92,255),.26) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--league-rgb,124,92,255),.06);
}
.league-button.active .league-short { color: var(--accent-2); }
.league-short { background: transparent; padding: 0; }

.tabbar {
  margin-top: 10px;
  padding: 4px;
  border-radius: 15px;
  background: var(--surface-glass);
  box-shadow: var(--soft-shadow);
  backdrop-filter: blur(16px);
}
.tab {
  min-height: 43px;
  border-radius: 11px;
  transition: background .14s ease, color .14s ease, transform .14s ease;
}
.tab:hover { color: var(--text); background: rgba(var(--league-rgb,124,92,255),.055); }
body[data-league] .tab.active {
  color: var(--text) !important;
  background: rgba(var(--league-rgb,124,92,255),.15) !important;
  box-shadow: inset 0 0 0 1px rgba(var(--league-rgb,124,92,255),.18) !important;
}
.tab.active > span { color: var(--accent-2); opacity: 1; }

.home-hero {
  padding: 24px;
  border-radius: 21px;
  border-color: rgba(var(--league-rgb,124,92,255),.18);
  background:
    linear-gradient(135deg, rgba(var(--league-rgb,124,92,255),.105), transparent 44%),
    var(--surface);
  box-shadow: var(--soft-shadow);
}
.home-hero::after {
  width: 150px; height: 150px; right: -82px; top: -82px;
  border-width: 28px; opacity: .72;
}
.home-label { letter-spacing: .105em; }
.home-label span:first-child {
  background: rgba(var(--league-rgb,124,92,255),.17);
  color: var(--accent-2);
  border: 1px solid rgba(var(--league-rgb,124,92,255),.22);
}
.home-hero h2 { max-width: 720px; font-size: clamp(1.7rem, 4.2vw, 2.45rem); }
.home-scorecard {
  min-width: 160px;
  border-color: rgba(var(--league-rgb,124,92,255),.18);
  background: rgba(var(--league-rgb,124,92,255),.055);
}
.home-scorecard strong { color: var(--accent-2); }
.home-actions .primary-button, .news-refresh.primary-button { min-height: 43px; }
.ghost-button { border-radius: 10px; padding-inline: 10px; }
.ghost-button:hover { background: rgba(var(--league-rgb,124,92,255),.07); }

.home-stat-row { gap: 8px; margin: 10px 0; }
.home-stat-row article {
  padding: 13px 14px;
  border-radius: 14px;
  background: var(--surface);
}
.home-stat-row article:first-child { border-color: rgba(var(--league-rgb,124,92,255),.22); }
.home-stat-row strong { font-size: 1.16rem; }

.home-grid { gap: 10px; }
.home-panel-card {
  padding: 16px;
  border-radius: 17px;
  transition: border-color .14s ease, box-shadow .14s ease;
}
.home-panel-card:hover { border-color: rgba(var(--league-rgb,124,92,255),.19); box-shadow: var(--lift-shadow); }
.home-card-heading { margin-bottom: 10px; }
.home-card-heading h3 { font-size: 1.04rem; }
.home-link { color: var(--muted); }
.home-link:hover { color: var(--accent-2); }
.home-game-row, .home-rank-row, .home-news-row {
  background: rgba(255,255,255,.025);
  border-color: rgba(255,255,255,.035);
}
body.light .home-game-row, body.light .home-rank-row, body.light .home-news-row { background: var(--surface-2); }
.home-game-row:hover, .home-rank-row:hover, .home-news-row:hover {
  background: rgba(var(--league-rgb,124,92,255),.055);
  border-color: rgba(var(--league-rgb,124,92,255),.18);
  transform: none;
}
.home-rank { border-radius: 999px; }

.controls-card, .status-info, .projection-intro, .method-card, .news-header-card, .projection-context {
  border-radius: 16px;
  box-shadow: none;
}
.controls-card { background: var(--surface); }
input, select {
  background: var(--surface-2);
  border-radius: 10px;
  border-color: rgba(255,255,255,.075);
  transition: border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
body.light input, body.light select { border-color: rgba(17,24,39,.08); }
input:focus, select:focus {
  border-color: rgba(var(--league-rgb,124,92,255),.5);
  box-shadow: 0 0 0 3px rgba(var(--league-rgb,124,92,255),.085);
}
.primary-button, .secondary-button, .preset-button {
  border-radius: 10px;
  transition: transform .12s ease, filter .12s ease, background .12s ease, border-color .12s ease;
}
body[data-league] .primary-button {
  background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 70%, #000)) !important;
  box-shadow: 0 8px 20px rgba(var(--league-rgb,124,92,255),.15);
}
.primary-button:hover { filter: brightness(1.06); }
.secondary-button:hover, .preset-button:hover { border-color: rgba(var(--league-rgb,124,92,255),.3); background: rgba(var(--league-rgb,124,92,255),.07); }

.player-card, .game-card, .status-row, .projection-card, .news-card {
  border-radius: 15px;
  background: var(--surface);
  transition: border-color .14s ease, background .14s ease;
}
.player-card:hover, .game-card:hover, .status-row:hover, .projection-card:hover, .news-card:hover {
  transform: none;
  border-color: rgba(var(--league-rgb,124,92,255),.22);
}
.team-pill, .position-pill { border: 1px solid rgba(var(--league-rgb,124,92,255),.1); }

.projection-intro { background: var(--surface); }
.projection-card { overflow: hidden; }
.projection-rank { background: rgba(var(--league-rgb,124,92,255),.07); }
.projection-number strong, .projection-rank span { color: var(--accent-2); }
.projection-metrics span { background: var(--surface-2); border-radius: 9px; }
.projection-notice { border-radius: 13px; }

.news-header-card {
  background: var(--surface);
  border-color: rgba(var(--league-rgb,124,92,255),.14);
}
.news-summary { gap: 8px; }
.news-summary .metric-card { padding: 13px; border-radius: 13px; }
.news-card {
  border-left-width: 2px;
  padding: 15px 16px;
}
.news-card h4 { font-size: .98rem; letter-spacing: -.01em; }
.news-card p { line-height: 1.48; }
.news-level, .news-category, .news-impact, .news-guardrail, .news-teams, .news-demo-label { padding: 3px 7px; }
.news-card-footer { align-items: center; }
.news-link { padding: 4px 0; }
.news-feed-status { margin-bottom: 8px; }

.sync-card {
  border-radius: 17px;
  background: var(--surface);
  box-shadow: var(--soft-shadow);
  border-color: rgba(var(--league-rgb,124,92,255),.13);
}
.boot-status { box-shadow: none; }
.toast { bottom: 84px; border: 1px solid rgba(255,255,255,.08); }

@media (max-width: 820px) {
  .home-grid { gap: 9px; }
  .home-panel-card:hover { box-shadow: none; }
}

@media (max-width: 600px) {
  body { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .app-shell { padding-left: 10px; padding-right: 10px; padding-bottom: 24px; }
  .topbar { padding: max(10px, env(safe-area-inset-top)) 0 10px; }
  .brand-mark { width: 36px; height: 36px; border-radius: 11px; }
  .brand-lockup h1 { font-size: 1.22rem; }
  .brand-lockup .eyebrow { font-size: .52rem; letter-spacing: .1em; }
  .topbar-actions { gap: 7px; }
  .icon-button { width: 36px; height: 36px; }
  .top-data-button { min-height: 36px; padding: 7px 10px; }

  .league-switcher {
    margin-bottom: 8px;
    box-shadow: none;
    border-radius: 13px;
  }
  .league-button { min-height: 38px; padding: 6px 3px; }
  .league-button::after { inset-inline: 11px; bottom: 3px; }
  .league-short { font-size: .65rem; }

  .tabbar {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 80;
    width: min(100%, 620px);
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: visible;
    margin: 0;
    padding: 6px 7px calc(6px + env(safe-area-inset-bottom));
    border-radius: 17px 17px 0 0;
    border-bottom: 0;
    background: color-mix(in srgb, var(--surface) 92%, transparent);
    box-shadow: 0 -10px 30px rgba(0,0,0,.22);
    backdrop-filter: blur(20px);
  }
  .tab {
    min-width: 0;
    min-height: 50px;
    padding: 5px 1px;
    border-radius: 10px;
    flex-direction: column;
    gap: 2px;
    font-size: .57rem;
    line-height: 1.05;
    white-space: nowrap;
  }
  .tab > span { font-size: 1rem; line-height: 1; }
  body[data-league] .tab.active { background: rgba(var(--league-rgb,124,92,255),.11) !important; box-shadow: none !important; }

  .panel { padding-top: 7px; }
  .home-hero {
    padding: 17px;
    border-radius: 17px;
    box-shadow: none;
  }
  .home-hero h2 { font-size: clamp(1.45rem, 7vw, 1.85rem); margin-top: 8px; }
  .home-hero p { font-size: .78rem; line-height: 1.45; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .home-actions { margin-top: 14px; gap: 7px; }
  .home-actions .primary-button, .home-actions .secondary-button { padding: 10px 8px; font-size: .72rem; }
  .home-actions .ghost-button { padding: 5px 2px; font-size: .72rem; }
  .home-scorecard { border-radius: 13px; }
  .home-stat-row { margin: 8px 0; gap: 6px; }
  .home-stat-row article { padding: 10px 11px; border-radius: 12px; }
  .home-stat-row span, .home-stat-row small { font-size: .61rem; }
  .home-stat-row strong { font-size: 1rem; margin-block: 2px; }
  .home-panel-card { padding: 12px; border-radius: 14px; }
  .home-card-heading h3 { font-size: .98rem; }
  .home-game-row, .home-rank-row, .home-news-row { border-radius: 11px; }

  .controls-card, .projection-intro, .method-card, .news-header-card, .projection-context, .status-info { border-radius: 14px; }
  .news-card, .projection-card, .player-card, .game-card, .status-row { border-radius: 13px; }
  .news-card { padding: 12px; }
  .news-card-footer { gap: 7px; }
  .news-summary .metric-card { padding: 10px; }
  .toast { bottom: calc(80px + env(safe-area-inset-bottom)); }
}

@media (max-width: 380px) {
  .brand-lockup .eyebrow { display: none; }
  .brand-lockup h1 { font-size: 1.16rem; margin: 0; }
  .topbar-actions { gap: 5px; }
  .top-data-button { padding-inline: 8px; }
  .tab { font-size: .53rem; }
  .tab > span { font-size: .94rem; }
  .home-actions { grid-template-columns: 1fr; }
  .home-actions .ghost-button { grid-column: auto; }
}

/* ========================================================================== */
/* V1.1.1 — Broadcast black / volt visual system                              */
/* ========================================================================== */
:root {
  --bg: #070807;
  --surface: #101210;
  --surface-2: #161916;
  --surface-3: #1d211c;
  --text: #f6f5ee;
  --muted: #999d96;
  --line: rgba(246,245,238,.10);
  --brand: #dfff43;
  --brand-rgb: 223,255,67;
  --accent: var(--brand);
  --accent-2: #efffaf;
  --good: #68e391;
  --warn: #ffd56a;
  --bad: #ff6b76;
  --shadow: 0 18px 50px rgba(0,0,0,.30);
  --soft-shadow: 0 10px 28px rgba(0,0,0,.20);
  --surface-glass: rgba(16,18,16,.92);
}
body.light {
  --bg: #f2f1eb;
  --surface: #fbfaf5;
  --surface-2: #f0efe8;
  --surface-3: #e8e6de;
  --text: #11130f;
  --muted: #686c64;
  --line: rgba(17,19,15,.10);
  --surface-glass: rgba(251,250,245,.94);
  --shadow: 0 14px 36px rgba(24,28,20,.10);
  --soft-shadow: 0 8px 24px rgba(24,28,20,.08);
}

body[data-league="nba"]  { --accent: var(--brand); --accent-2: #efffaf; --sport-accent: #ff9138; --league-rgb: 255,145,56; }
body[data-league="wnba"] { --accent: var(--brand); --accent-2: #efffaf; --sport-accent: #ff6688; --league-rgb: 255,102,136; }
body[data-league="nhl"]  { --accent: var(--brand); --accent-2: #efffaf; --sport-accent: #71d8ff; --league-rgb: 113,216,255; }
body[data-league="nfl"]  { --accent: var(--brand); --accent-2: #efffaf; --sport-accent: #66df90; --league-rgb: 102,223,144; }
body[data-league="mlb"]  { --accent: var(--brand); --accent-2: #efffaf; --sport-accent: #ff6868; --league-rgb: 255,104,104; }

body {
  background:
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.014) 1px, transparent 1px),
    radial-gradient(circle at 50% -12%, rgba(var(--league-rgb),.085), transparent 34rem),
    var(--bg);
  background-size: 48px 48px, 48px 48px, auto, auto;
}
body.light {
  background:
    linear-gradient(rgba(17,19,15,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17,19,15,.025) 1px, transparent 1px),
    radial-gradient(circle at 50% -12%, rgba(var(--league-rgb),.08), transparent 34rem),
    var(--bg);
  background-size: 48px 48px, 48px 48px, auto, auto;
}

.brand-mark {
  color: #0a0c09;
  background: var(--brand);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 8px 22px rgba(var(--brand-rgb),.18);
  font-weight: 1000;
  letter-spacing: -.06em;
}
h1 span { color: var(--brand); }
.eyebrow, .section-label { color: var(--muted); }
.product-pill {
  color: #0b0d09;
  background: var(--brand);
  border-color: transparent;
  font-weight: 900;
}
.top-data-button, .icon-button { border-color: var(--line); }
.top-data-button:hover, .icon-button:hover { border-color: rgba(var(--brand-rgb),.44); }

.league-switcher {
  border-radius: 13px;
  background: var(--surface);
  border-color: var(--line);
}
.league-button { position: relative; color: var(--muted); }
.league-button:hover { background: var(--surface-2); color: var(--text); }
body[data-league] .league-button.active {
  color: var(--text) !important;
  background: var(--surface-2) !important;
  border-color: rgba(var(--league-rgb),.36) !important;
  box-shadow: inset 0 -2px 0 rgb(var(--league-rgb)) !important;
}
.league-button.active .league-short { color: rgb(var(--league-rgb)); }
.league-short { font-weight: 1000; }

.tabbar { background: var(--surface); border-radius: 13px; }
.tab:hover { background: var(--surface-2); }
body[data-league] .tab.active {
  color: #0a0c09 !important;
  background: var(--brand) !important;
  box-shadow: none !important;
}
.tab.active > span { color: #0a0c09; }

.home-hero {
  isolation: isolate;
  position: relative;
  overflow: hidden;
  min-height: 270px;
  align-items: center;
  padding: 32px;
  border-radius: 18px;
  border-color: rgba(255,255,255,.10);
  background:
    linear-gradient(100deg, rgba(7,8,7,.98) 0%, rgba(7,8,7,.92) 42%, rgba(7,8,7,.35) 73%, rgba(7,8,7,.58) 100%),
    linear-gradient(135deg, rgba(var(--league-rgb),.14), transparent 55%),
    var(--surface);
  box-shadow: var(--shadow);
}
body.light .home-hero {
  background:
    linear-gradient(100deg, rgba(251,250,245,.98) 0%, rgba(251,250,245,.91) 44%, rgba(251,250,245,.45) 76%, rgba(251,250,245,.7) 100%),
    linear-gradient(135deg, rgba(var(--league-rgb),.10), transparent 56%),
    var(--surface);
}
.home-hero::after { display: none; }
.home-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 0 0 auto;
  width: min(58%, 650px);
  background-position: center right 8px;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: .48;
  filter: drop-shadow(0 22px 30px rgba(0,0,0,.35));
  pointer-events: none;
}
body.light .home-hero::before { opacity: .24; filter: none; }
body[data-league="nba"] .home-hero::before { background-image: url("assets/sports/nba.svg"); }
body[data-league="wnba"] .home-hero::before { background-image: url("assets/sports/wnba.svg"); }
body[data-league="nhl"] .home-hero::before { background-image: url("assets/sports/nhl.svg"); }
body[data-league="nfl"] .home-hero::before { background-image: url("assets/sports/nfl.svg"); }
body[data-league="mlb"] .home-hero::before { background-image: url("assets/sports/mlb.svg"); }
.home-hero > div:first-child { position: relative; z-index: 2; max-width: 720px; }
.home-hero h2 {
  max-width: 660px;
  font-size: clamp(2rem, 5vw, 3.35rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.home-hero p { max-width: 640px; color: #b8bbb4; }
body.light .home-hero p { color: var(--muted); }
.home-label { color: var(--muted); }
.home-label span:first-child {
  color: #0a0c09;
  background: rgb(var(--league-rgb));
  border-color: transparent;
}
.home-scorecard {
  position: relative;
  z-index: 3;
  color: var(--text);
  background: rgba(10,12,9,.70);
  border-color: rgba(255,255,255,.14);
  backdrop-filter: blur(12px);
}
body.light .home-scorecard { background: rgba(251,250,245,.80); border-color: var(--line); }
.home-scorecard strong { color: var(--brand); }

.primary-button,
body[data-league] .primary-button {
  color: #0a0c09 !important;
  background: var(--brand) !important;
  border: 1px solid transparent !important;
  box-shadow: 0 8px 20px rgba(var(--brand-rgb),.13) !important;
}
.primary-button:hover { filter: brightness(1.04); }
.secondary-button, .preset-button { background: var(--surface-2); }
.secondary-button:hover, .preset-button:hover { border-color: rgba(var(--brand-rgb),.36); background: var(--surface-3); }
.text-button, .home-link, .ghost-button { color: var(--brand); }
.ghost-button:hover { background: rgba(var(--brand-rgb),.08); }

.home-stat-row article,
.home-panel-card,
.player-card,
.game-card,
.status-row,
.projection-card,
.news-card,
.controls-card,
.projection-intro,
.method-card,
.news-header-card,
.projection-context,
.status-info,
.sync-card {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: none;
}
.home-panel-card { position: relative; overflow: hidden; }
.home-panel-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, rgb(var(--league-rgb)), transparent 55%);
  opacity: .58;
}
.home-panel-card:hover,
.player-card:hover,
.game-card:hover,
.status-row:hover,
.projection-card:hover,
.news-card:hover { border-color: rgba(var(--league-rgb),.30); }
.home-game-row, .home-rank-row, .home-news-row { background: var(--surface-2); border-color: transparent; }
.home-game-row:hover, .home-rank-row:hover, .home-news-row:hover { background: var(--surface-3); }
.home-rank { color: #0a0c09; background: var(--brand); }
.context-dot { box-shadow: 0 0 0 3px rgba(var(--league-rgb),.08); }

.metric-card { background: var(--surface); border-color: var(--line); }
.team-pill, .position-pill { background: var(--surface-2); border-color: var(--line); }
.projection-rank { background: var(--surface-2); }
.projection-number strong, .projection-rank span { color: var(--brand); }
.projection-metrics span { background: var(--surface-2); }

input, select { background: var(--surface-2); }
input:focus, select:focus {
  border-color: rgba(var(--brand-rgb),.66);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb),.08);
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline-color: rgba(var(--brand-rgb),.75); }
.progress-bar { background: var(--brand); }
.data-badge.live { color: var(--good); }

.news-card.verified { border-left-color: var(--good); }
.news-card.reported { border-left-color: var(--sport-accent); }
.news-card.rumour { border-left-color: var(--warn); }
.news-card h4 { letter-spacing: -.018em; }

@media (max-width: 600px) {
  body { background-size: 34px 34px, 34px 34px, auto, auto; }
  .product-pill { display: none; }
  .league-switcher { padding: 3px; gap: 2px; }
  .league-button { min-height: 40px; }
  .league-button strong { display: none; }
  .league-short { font-size: .72rem; }

  .home-hero {
    min-height: 258px;
    padding: 20px 18px 18px;
    align-items: flex-end;
    background:
      linear-gradient(180deg, rgba(7,8,7,.15) 0%, rgba(7,8,7,.66) 38%, rgba(7,8,7,.98) 76%),
      linear-gradient(135deg, rgba(var(--league-rgb),.14), transparent 58%),
      var(--surface);
  }
  body.light .home-hero {
    background:
      linear-gradient(180deg, rgba(251,250,245,.20) 0%, rgba(251,250,245,.65) 40%, rgba(251,250,245,.98) 78%),
      linear-gradient(135deg, rgba(var(--league-rgb),.10), transparent 58%),
      var(--surface);
  }
  .home-hero::before {
    width: 100%;
    height: 66%;
    inset: 0 0 auto 0;
    background-position: center top -4px;
    background-size: 94% auto;
    opacity: .34;
  }
  body.light .home-hero::before { opacity: .18; }
  .home-hero h2 { font-size: clamp(1.65rem, 8.4vw, 2.2rem); line-height: 1; max-width: 92%; }
  .home-hero p { max-width: 96%; }
  .home-scorecard { background: rgba(10,12,9,.86); }
  body.light .home-scorecard { background: rgba(251,250,245,.92); }

  .tabbar {
    background: rgba(12,14,12,.96);
    border-color: rgba(255,255,255,.10);
    box-shadow: 0 -10px 32px rgba(0,0,0,.30);
  }
  body.light .tabbar { background: rgba(251,250,245,.96); border-color: var(--line); }
  body[data-league] .tab.active { background: var(--brand) !important; color: #0a0c09 !important; }
  .home-panel-card::before { opacity: .45; }
}

/* ========================================================================== */
/* V1.2 — My Board + Results Lab                                               */
/* ========================================================================== */

.v12-command-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.28fr);
  gap: 16px;
  margin: 16px 0;
}

.v12-board-card,
.v12-results-card {
  min-width: 0;
  overflow: hidden;
}

.v12-count-badge,
.v12-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  white-space: nowrap;
}

.v12-live-badge { color: var(--accent); }
.v12-live-badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 16%, transparent);
}

.v12-team-follow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: end;
  margin-bottom: 14px;
}

.v12-team-follow label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.v12-team-follow select { min-width: 0; }

.v12-board-list {
  display: grid;
  gap: 14px;
}

.v12-board-empty,
.v12-empty-line {
  display: grid;
  gap: 5px;
  padding: 15px;
  border: 1px dashed var(--border);
  border-radius: 14px;
  color: var(--muted);
  background: rgba(255,255,255,.018);
}

.v12-board-empty strong,
.v12-empty-line strong { color: var(--text); }

.v12-board-empty span,
.v12-empty-line span { font-size: 12px; line-height: 1.45; }

.v12-board-group { display: grid; gap: 7px; }
.v12-board-group-label {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}

.v12-team-chips { display: flex; gap: 7px; flex-wrap: wrap; }
.v12-team-chips button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  border: 1px solid color-mix(in srgb, var(--league-accent, var(--accent)) 38%, var(--border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--league-accent, var(--accent)) 9%, transparent);
  color: var(--text);
  padding: 0 11px;
  cursor: pointer;
}
.v12-team-chips button span { color: var(--muted); }

.v12-board-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 6px;
  align-items: stretch;
}

.v12-board-row > button:first-child {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,255,255,.02);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.v12-board-row > button:first-child > span:first-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.v12-board-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v12-board-row small { color: var(--muted); font-size: 11px; }

.v12-remove {
  border: 1px solid var(--line);
  border-radius: 11px;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 18px;
}
.v12-remove:hover { color: var(--danger, #ff6464); border-color: currentColor; }

.v12-grade {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 9px;
  letter-spacing: .07em;
}
.v12-grade.hit { color: #80f3a5; background: rgba(70,214,119,.11); }
.v12-grade.beat { color: #9ed8ff; background: rgba(91,173,255,.13); }
.v12-grade.miss { color: #ff8e8e; background: rgba(255,92,92,.11); }
.v12-grade.pending { color: var(--muted); background: rgba(255,255,255,.05); }

.v12-results-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 15px;
}
.v12-results-metrics article {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
}
.v12-results-metrics span,
.v12-results-metrics small { color: var(--muted); font-size: 10px; }
.v12-results-metrics strong { font-size: clamp(20px, 3vw, 28px); letter-spacing: -.04em; }

.v12-calibration {
  display: grid;
  gap: 7px;
  padding: 13px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.v12-cal-head,
.v12-result-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 3px;
}
.v12-cal-head span,
.v12-result-head span { color: var(--muted); font-size: 11px; }
.v12-cal-row {
  display: grid;
  grid-template-columns: 52px minmax(70px, 1fr) 40px minmax(100px, auto);
  gap: 8px;
  align-items: center;
  font-size: 11px;
}
.v12-cal-row > span { color: var(--muted); font-weight: 800; }
.v12-cal-row > strong { text-align: right; }
.v12-cal-row > small { color: var(--muted); text-align: right; }
.v12-cal-track {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.07);
}
.v12-cal-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--accent);
}
.v12-cal-row.empty { opacity: .55; }

.v12-recent-results { display: grid; gap: 7px; padding-top: 13px; }
.v12-result-row {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr) minmax(145px, auto);
  gap: 9px;
  align-items: center;
  padding: 9px 0;
  border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}
.v12-result-head + .v12-result-row { border-top: 0; }
.v12-result-mark {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  font-weight: 950;
}
.v12-result-row.hit .v12-result-mark { color: #78f09f; background: rgba(70,214,119,.12); }
.v12-result-row.beat .v12-result-mark { color: #9ed8ff; background: rgba(91,173,255,.13); }
.v12-result-row.miss .v12-result-mark { color: #ff8a8a; background: rgba(255,92,92,.12); }
.v12-result-main,
.v12-result-values { min-width: 0; display: grid; gap: 2px; }
.v12-result-main small,
.v12-result-values small { color: var(--muted); font-size: 10px; }
.v12-result-values { text-align: right; }
.v12-result-values strong { font-size: 12px; }

.v12-results-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 13px;
}
.v12-results-actions > span { max-width: 62ch; color: var(--muted); font-size: 11px; line-height: 1.45; }

.v12-favorite-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .02em;
  cursor: pointer;
}
.v12-favorite-button.saved {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 46%, var(--border));
  background: color-mix(in srgb, var(--accent) 9%, transparent);
}
.game-card { position: relative; }
.v12-game-favorite { margin-top: 10px; }
.v12-projection-tools,
.v12-detail-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 10px;
}

.v12-signal-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}
.v12-signal {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .025em;
  white-space: nowrap;
}
.v12-signal.hot,
.v12-signal.usage-up { color: #7df0a1; background: rgba(68,211,113,.08); border-color: rgba(68,211,113,.22); }
.v12-signal.cold,
.v12-signal.usage-down { color: #8fc8ff; background: rgba(80,157,226,.08); border-color: rgba(80,157,226,.22); }
.v12-signal.context { color: #ffd780; background: rgba(229,174,67,.08); border-color: rgba(229,174,67,.22); }
.player-card .v12-signal-row { margin-top: 6px; }

body.light .v12-results-metrics article,
body.light .v12-board-row > button:first-child,
body.light .v12-board-empty,
body.light .v12-empty-line,
body.light .v12-favorite-button { background: rgba(14,18,20,.025); }
body.light .v12-cal-track { background: rgba(14,18,20,.09); }

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

@media (max-width: 640px) {
  .v12-command-grid { gap: 11px; margin: 12px 0; }
  .v12-team-follow { grid-template-columns: minmax(0, 1fr) auto; }
  .v12-team-follow .danger { grid-column: 1 / -1; justify-self: start; }
  .v12-results-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v12-cal-row { grid-template-columns: 45px minmax(55px, 1fr) 36px; }
  .v12-cal-row > small { grid-column: 2 / -1; text-align: left; margin-top: -4px; }
  .v12-result-row { grid-template-columns: 26px minmax(0, 1fr); }
  .v12-result-values { grid-column: 2; text-align: left; }
  .v12-results-actions { align-items: stretch; flex-direction: column; }
  .v12-results-actions button { width: 100%; }
  .v12-board-row { grid-template-columns: minmax(0, 1fr) 32px; }
}

/* V1.3 — Data Health + Full Recovery Backup */
.v121-health-card {
  margin: 14px 0;
  overflow: hidden;
}

.v121-health-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: var(--muted);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
}
.v121-health-badge.healthy { color: #7df0a1; border-color: rgba(68,211,113,.28); background: rgba(68,211,113,.08); }
.v121-health-badge.due { color: #ffd780; border-color: rgba(229,174,67,.28); background: rgba(229,174,67,.08); }
.v121-health-badge.issue { color: #ff8e8e; border-color: rgba(255,92,92,.28); background: rgba(255,92,92,.08); }

.v121-health-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
.v121-health-metrics article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
}
.v121-health-metrics span,
.v121-health-metrics small {
  display: block;
  color: var(--muted);
  font-size: 10px;
}
.v121-health-metrics strong {
  display: block;
  margin: 4px 0 3px;
  overflow: hidden;
  color: var(--text);
  font-size: clamp(15px, 2.2vw, 20px);
  letter-spacing: -.03em;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.v121-backup-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
  padding: 13px 14px;
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--border));
  border-radius: 15px;
  background: color-mix(in srgb, var(--accent) 5%, transparent);
}
.v121-backup-bar > div:first-child { min-width: 0; display: grid; gap: 3px; }
.v121-backup-bar > div:first-child span { color: var(--muted); font-size: 11px; line-height: 1.45; }
.v121-backup-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.v121-restore-label { display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.v121-backup-fine { margin: 9px 1px 0; }

body.light .v121-health-metrics article { background: rgba(14,18,20,.025); }
body.light .v121-health-badge { background: rgba(14,18,20,.025); }

@media (max-width: 900px) {
  .v121-health-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v121-backup-bar { align-items: stretch; flex-direction: column; }
  .v121-backup-actions { width: 100%; }
  .v121-backup-actions > * { flex: 1 1 0; }
}

@media (max-width: 620px) {
  .v121-health-card { margin: 11px 0; }
  .v121-health-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
  .v121-health-metrics article:first-child { grid-column: 1 / -1; }
  .v121-health-metrics article { padding: 10px; }
  .v121-backup-actions { flex-direction: column; }
  .v121-backup-actions > * { width: 100%; }
  .v121-health-badge { min-height: 25px; padding: 0 8px; font-size: 9px; }
}

/* ========================================================================== */
/* V1.3 — Results Lab History cleanup                                        */
/* ========================================================================== */

.v122-results-history {
  display: grid;
  gap: 11px;
  padding-top: 14px;
}

.v122-history-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.v122-history-heading > div { min-width: 0; }
.v122-history-heading h4 {
  margin: 3px 0 0;
  color: var(--text);
  font-size: 15px;
  letter-spacing: -.015em;
}

.v122-history-summary {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.v122-results-toolbar {
  display: grid;
  grid-template-columns: minmax(200px, auto) minmax(150px, 1fr) minmax(150px, 1fr);
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--panel) 72%, transparent);
}

.v122-results-toolbar label {
  min-width: 0;
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.v122-results-toolbar select {
  width: 100%;
  min-width: 0;
}

.v122-outcome-filter {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.v122-outcome-filter button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.025);
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.v122-outcome-filter button.active {
  color: #080a08;
  border-color: var(--accent);
  background: var(--accent);
}

.v12-recent-results {
  gap: 9px;
  padding-top: 0;
}

.v122-game-group {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
}

.v122-game-group summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  cursor: pointer;
  user-select: none;
}

.v122-game-group summary::-webkit-details-marker { display: none; }
.v122-game-group summary::after {
  content: '⌄';
  grid-column: 3;
  grid-row: 1;
  align-self: center;
  justify-self: end;
  margin-right: -2px;
  color: var(--muted);
  font-size: 15px;
  transition: transform .16s ease;
}
.v122-game-group[open] summary::after { transform: rotate(180deg); }

.v122-game-summary-main,
.v122-game-summary-score {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.v122-game-summary-main strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.v122-game-summary-main small,
.v122-game-summary-score small { color: var(--muted); font-size: 10px; }
.v122-game-summary-score {
  padding-right: 0;
  text-align: right;
}
.v122-game-summary-score strong { color: var(--accent); font-size: 11px; }

.v122-game-results {
  display: grid;
  padding: 0 12px 5px;
  border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
}
.v122-game-results .v12-result-row:first-child { border-top: 0; }

.v122-history-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-top: 2px;
}
.v122-history-actions > span { color: var(--muted); font-size: 11px; font-weight: 750; }
.v122-history-actions > div { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }

@media (max-width: 760px) {
  .v122-history-heading { align-items: start; }
  .v122-history-summary { white-space: normal; text-align: right; max-width: 46%; }
  .v122-results-toolbar { grid-template-columns: 1fr 1fr; }
  .v122-outcome-filter { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .v122-history-heading { display: grid; gap: 4px; }
  .v122-history-summary { max-width: none; text-align: left; }
  .v122-results-toolbar { grid-template-columns: 1fr; }
  .v122-outcome-filter { grid-column: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v122-game-group summary { grid-template-columns: minmax(0, 1fr) auto 16px; gap: 7px; }
  .v122-game-summary-score small { display: none; }
  .v122-game-results { padding-inline: 10px; }
  .v12-result-row { grid-template-columns: 27px minmax(0, 1fr); gap: 8px; }
  .v12-result-values { grid-column: 2; text-align: left; }
  .v12-result-values strong { font-size: 11px; }
  .v122-history-actions { align-items: flex-start; flex-direction: column; }
  .v122-history-actions > div { width: 100%; justify-content: stretch; }
  .v122-history-actions button { flex: 1 1 auto; }
}

/* ========================================================================== */
/* V1.3 — Floating command bar + Projection Builder + My Board refresh        */
/* ========================================================================== */

.floating-command-shell {
  position: sticky;
  top: 0;
  z-index: 120;
  margin: 0 -2px 10px;
  padding: 0 2px 2px;
  background: color-mix(in srgb, var(--bg) 88%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  backdrop-filter: blur(22px) saturate(1.15);
  -webkit-backdrop-filter: blur(22px) saturate(1.15);
}
body.light .floating-command-shell { background: color-mix(in srgb, var(--bg) 91%, transparent); }
.floating-command-shell .topbar { padding-top: max(10px, env(safe-area-inset-top)); }
.floating-command-shell .league-switcher { margin-bottom: 6px; }
.sync-card { scroll-margin-top: 132px; }

.v13-projection-controls { align-items: stretch; }
.v13-projection-controls .projection-fixed-rule { min-height: 64px; }
.v13-builder-readout {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px 14px;
  margin: -2px 0 12px;
  padding: 11px 13px;
  border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 26%, var(--line));
  border-radius: 14px;
  background: color-mix(in srgb, rgb(var(--league-rgb)) 5%, var(--surface));
}
.v13-builder-readout > span {
  color: var(--brand);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .12em;
}
.v13-builder-readout strong { font-size: 12px; }
.v13-builder-readout small { color: var(--muted); font-size: 11px; text-align: right; }

.projection-card.v13-builder-leg { position: relative; }
.projection-card.v13-builder-leg::after {
  content: "BUILDER LEG";
  position: absolute;
  top: 9px;
  right: 10px;
  padding: 4px 7px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  color: var(--muted);
  font-size: 8px;
  font-weight: 950;
  letter-spacing: .11em;
  pointer-events: none;
}
.projection-card.v13-hot-leg { border-color: color-mix(in srgb, var(--good) 34%, var(--line)); }
.projection-card.v13-cold-leg { border-color: color-mix(in srgb, #7aa7ff 28%, var(--line)); }

.v13-board-subtitle {
  margin: 4px 0 0;
  max-width: 520px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
}
.v12-board-card {
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, rgb(var(--league-rgb)) 8%, transparent), transparent 18rem),
    var(--surface);
}
.v13-board-empty { padding: 19px; }
.v13-board-group { gap: 9px; }
.v13-team-grid,
.v13-player-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.v13-saved-stack { display: grid; gap: 7px; }

.v13-team-card,
.v13-player-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 32px;
  gap: 6px;
  min-width: 0;
}
.v13-board-main {
  width: 100%;
  min-width: 0;
  min-height: 66px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface-2) 80%, transparent);
  color: var(--text);
  text-align: left;
  transition: transform .14s ease, border-color .14s ease, background .14s ease;
}
.v13-board-main:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, rgb(var(--league-rgb)) 32%, var(--line));
  background: var(--surface-3);
}
.v13-team-badge,
.v13-player-avatar {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: color-mix(in srgb, rgb(var(--league-rgb)) 12%, var(--surface-3));
  border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 28%, var(--line));
  color: var(--brand);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
}
.v13-player-avatar { border-radius: 50%; font-size: 14px; }
.v13-board-copy {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 3px;
}
.v13-board-copy > small:first-child {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
}
.v13-board-copy strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 12px;
}
.v13-board-copy small,
.v13-board-copy em,
.v13-board-row em {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.v13-board-arrow { flex: 0 0 auto; color: var(--brand); font-weight: 950; }
.v13-confidence-pill {
  flex: 0 0 auto;
  min-width: 52px;
  display: grid;
  gap: 1px;
  justify-items: end;
}
.v13-confidence-pill small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.v13-confidence-pill strong { color: var(--brand); font-size: 15px; }
.v13-player-card .v12-signal-row { margin-top: 2px; }
.v13-board-row > button:first-child { border-radius: 14px; background: color-mix(in srgb, var(--surface-2) 80%, transparent); }
.v13-board-row > button:first-child:hover { background: var(--surface-3); }
.v13-board-row > button:first-child > span:first-child { gap: 4px; }

@media (max-width: 760px) {
  .floating-command-shell { margin-inline: -1px; }
  .sync-card { scroll-margin-top: 104px; }
  .v13-builder-readout { grid-template-columns: 1fr; gap: 4px; }
  .v13-builder-readout small { text-align: left; }
  .v13-team-grid, .v13-player-grid { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .floating-command-shell {
    margin-left: -2px;
    margin-right: -2px;
    padding-left: 2px;
    padding-right: 2px;
  }
  .floating-command-shell .topbar { padding-bottom: 7px; }
  .floating-command-shell .league-switcher { margin-bottom: 4px; }
  .v13-projection-controls { grid-template-columns: 1fr 1fr; }
  .v13-projection-controls .projection-game-control { grid-column: 1 / -1; }
  .v13-projection-controls .projection-fixed-rule { grid-column: 1 / -1; min-height: 58px; }
  .projection-card.v13-builder-leg::after { display: none; }
  .v13-board-main { min-height: 62px; padding: 9px 10px; }
  .v13-team-badge, .v13-player-avatar { width: 34px; height: 34px; }
}

/* ========================================================================== */

/* V1.5 — Projection Data Consistency ------------------------------------ */
.v132-data-input {
  margin: 14px 0;
  padding: 15px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255,255,255,.025), rgba(255,255,255,.008));
  box-shadow: 0 18px 42px rgba(0,0,0,.13);
}

.v132-data-input-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.v132-data-input-head > div { display: grid; gap: 3px; }
.v132-data-input-head strong { color: var(--text); font-size: 13px; line-height: 1.25; }

.v132-data-state {
  flex: 0 0 auto;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 6px 9px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  color: var(--muted);
  background: var(--surface-strong, var(--surface));
}
.v132-data-state.ready { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 34%, var(--border)); }
.v132-data-state.review { color: #d5aa63; border-color: rgba(213,170,99,.35); }
.v132-data-state.needs-data { color: #d98585; border-color: rgba(217,133,133,.35); }

.v132-data-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.v132-data-grid > div {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 3px;
  padding: 11px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: var(--surface);
}
.v132-data-grid span,
.v132-data-foot > span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.v132-data-grid strong { color: var(--text); font-size: 20px; line-height: 1.05; }
.v132-data-grid strong.v132-date-value { font-size: 12px; line-height: 1.2; }
.v132-data-grid small { color: var(--muted); font-size: 9px; line-height: 1.25; }

.v132-data-foot {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin-top: 9px;
  padding: 9px 11px;
  border-radius: 12px;
  border: 1px dashed var(--border);
}
.v132-data-foot strong {
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 11px;
  letter-spacing: .05em;
}
.v132-data-foot small { color: var(--muted); font-size: 10px; line-height: 1.3; }

@media (max-width: 980px) {
  .v132-data-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .v132-data-input { padding: 12px; border-radius: 15px; }
  .v132-data-input-head { align-items: flex-start; }
  .v132-data-input-head strong { font-size: 12px; }
  .v132-data-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .v132-data-grid > div { padding: 9px; }
  .v132-data-grid strong { font-size: 17px; }
  .v132-data-foot { grid-template-columns: auto 1fr; }
  .v132-data-foot small { grid-column: 1 / -1; }
}

/* V1.5 — Mobile Data ID visibility -------------------------------------- */
.v134-mobile-data-id {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 0 0 10px;
  padding: 10px 11px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--border));
  border-radius: 13px;
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}
.v134-mobile-data-id > div { min-width: 0; display: grid; gap: 3px; }
.v134-mobile-data-id span { color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.v134-mobile-data-id strong {
  min-width: 0;
  color: var(--text);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: .03em;
  overflow-wrap: anywhere;
}
.v134-copy-data-id { flex: 0 0 auto; min-height: 34px; padding: 7px 10px; font-size: 10px; white-space: nowrap; }

@media (max-width: 620px) {
  .v134-mobile-data-id { display: flex; }
  .v132-data-foot {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .v132-data-foot strong { overflow-wrap: anywhere; }
  .v132-data-foot small { grid-column: auto; }
}

body.light .v134-mobile-data-id {
  background: rgba(237,242,231,.92);
}

body.light .v132-data-input {
  background: linear-gradient(145deg, rgba(249,250,244,.92), rgba(239,242,233,.88));
  box-shadow: 0 14px 34px rgba(35,43,34,.07);
}
body.light .v132-data-grid > div { background: rgba(250,251,247,.82); }

/* V1.5 — Soft Day Mode                                                     */
/* Dark mode intentionally unchanged.                                         */
/* ========================================================================== */
body.light {
  color-scheme: light;
  --bg: #e7ebe7;
  --surface: #f5f7f3;
  --surface-2: #edf0eb;
  --surface-3: #e2e7e1;
  --text: #26312a;
  --muted: #69736c;
  --line: rgba(38,49,42,.105);
  --brand: #62752c;
  --brand-rgb: 98,117,44;
  --accent: var(--brand);
  --accent-2: #71813f;
  --good: #3f7b58;
  --warn: #9a7432;
  --bad: #a9535c;
  --surface-glass: rgba(245,247,243,.94);
  --shadow: 0 14px 34px rgba(52,66,57,.075);
  --soft-shadow: 0 7px 20px rgba(52,66,57,.055);
}

body.light[data-league="nba"]  { --league-rgb: 196,125,70; }
body.light[data-league="wnba"] { --league-rgb: 190,91,116; }
body.light[data-league="nhl"]  { --league-rgb: 73,136,160; }
body.light[data-league="nfl"]  { --league-rgb: 69,137,89; }
body.light[data-league="mlb"]  { --league-rgb: 177,81,81; }

body.light {
  background:
    radial-gradient(circle at 50% -12%, rgba(var(--league-rgb),.07), transparent 34rem),
    radial-gradient(circle at 10% 24%, rgba(111,132,51,.035), transparent 24rem),
    var(--bg);
  background-attachment: fixed;
}

body.light .floating-command-shell,
body.light .mobile-bottom-nav {
  background: rgba(245,247,243,.92);
  border-color: rgba(38,49,42,.09);
  box-shadow: 0 10px 30px rgba(52,66,57,.07);
  backdrop-filter: blur(16px) saturate(112%);
}

body.light .league-switcher,
body.light .tabbar,
body.light .controls-card,
body.light .projection-intro,
body.light .home-panel-card,
body.light .home-stat-row article,
body.light .player-card,
body.light .game-card,
body.light .status-row,
body.light .projection-card,
body.light .news-card,
body.light .method-card,
body.light .news-header-card,
body.light .projection-context,
body.light .status-info,
body.light .sync-card,
body.light .metric-card {
  border-color: rgba(38,49,42,.09);
}

body.light .home-hero {
  border-color: rgba(38,49,42,.08);
  background:
    linear-gradient(100deg, rgba(245,247,243,.985) 0%, rgba(245,247,243,.95) 46%, rgba(245,247,243,.72) 76%, rgba(245,247,243,.86) 100%),
    linear-gradient(135deg, rgba(var(--league-rgb),.075), transparent 58%),
    var(--surface);
  box-shadow: 0 16px 38px rgba(52,66,57,.065);
}
body.light .home-hero::before { opacity: .14; }
body.light .home-scorecard {
  background: rgba(237,240,235,.88);
  border-color: rgba(38,49,42,.08);
  box-shadow: none;
}
body.light .home-scorecard strong { color: var(--brand); }

body.light .home-game-row,
body.light .home-rank-row,
body.light .home-news-row,
body.light .projection-metrics span,
body.light .team-pill,
body.light .position-pill,
body.light .projection-rank,
body.light .secondary-button,
body.light .preset-button,
body.light input,
body.light select {
  background: var(--surface-2);
}

body.light input,
body.light select {
  border-color: rgba(38,49,42,.10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.45);
}
body.light input:focus,
body.light select:focus {
  border-color: rgba(var(--brand-rgb),.48);
  box-shadow: 0 0 0 3px rgba(var(--brand-rgb),.08);
}

body.light .primary-button,
body.light[data-league] .primary-button,
body.light .product-pill,
body.light .brand-mark,
body.light[data-league] .tab.active {
  color: #f8faf5 !important;
  background: var(--brand) !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
body.light .tab.active > span { color: #f8faf5; }
body.light .primary-button:hover { filter: brightness(.96); }
body.light .text-button,
body.light .home-link,
body.light .ghost-button { color: #65782f; }
body.light .ghost-button:hover { background: rgba(var(--brand-rgb),.075); }

body.light .home-label span:first-child {
  color: #fff;
  background: rgb(var(--league-rgb));
}
body.light .home-rank {
  color: #fff;
  background: var(--brand);
}
body.light .projection-number strong,
body.light .projection-rank span { color: #65782f; }

body.light .v12-results-metrics article,
body.light .v12-board-row > button:first-child,
body.light .v12-board-empty,
body.light .v12-empty-line,
body.light .v12-favorite-button,
body.light .v121-health-metrics article,
body.light .v121-health-badge {
  background: rgba(38,49,42,.028);
}
body.light .v12-cal-track { background: rgba(38,49,42,.085); }

body.light .home-panel-card:hover,
body.light .player-card:hover,
body.light .game-card:hover,
body.light .status-row:hover,
body.light .projection-card:hover,
body.light .news-card:hover {
  border-color: rgba(var(--league-rgb),.22);
}

@media (max-width: 600px) {
  body.light .home-hero {
    background:
      linear-gradient(180deg, rgba(245,247,243,.985) 0%, rgba(245,247,243,.95) 63%, rgba(245,247,243,.88) 100%),
      linear-gradient(135deg, rgba(var(--league-rgb),.065), transparent 62%),
      var(--surface);
  }
}

/* ========================================================================== */
/* V1.5 — Quick Start / Data Sharing                                        */
/* ========================================================================== */

.v133-starter-pack {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 14px;
  padding: 15px;
  border: 1px solid color-mix(in srgb, var(--accent-2) 20%, var(--line));
  border-radius: 16px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 5%, transparent), transparent 54%),
    rgba(255,255,255,.02);
}

.v133-starter-copy {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.v133-starter-copy > strong {
  color: var(--text);
  font-size: 14px;
  letter-spacing: -.01em;
}

.v133-starter-copy > span:not(.section-label) {
  max-width: 720px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.v133-starter-copy > small {
  margin-top: 3px;
  color: color-mix(in srgb, var(--accent-2) 70%, var(--text));
  font-size: 10px;
  font-weight: 750;
  line-height: 1.45;
}

.v133-starter-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.v133-starter-actions > * {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
}

.v133-import-label { cursor: pointer; }
.v133-starter-fine { margin: 9px 1px 0; }
.v133-starter-fine strong { color: var(--text); }

body.light .v133-starter-pack {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--accent) 4%, transparent), transparent 58%),
    rgba(35,46,52,.018);
}

@media (max-width: 900px) {
  .v133-starter-pack { align-items: stretch; flex-direction: column; }
  .v133-starter-actions { width: 100%; justify-content: stretch; }
  .v133-starter-actions > * { flex: 1 1 180px; }
}

@media (max-width: 620px) {
  .v133-starter-pack { padding: 13px; gap: 13px; }
  .v133-starter-actions { flex-direction: column; }
  .v133-starter-actions > * { width: 100%; flex: 0 0 auto; }
}

/* ========================================================================== */
/* V1.5 — Guided Experience + stronger visual hierarchy                     */
/* ========================================================================== */

.v136-info-button.active {
  color: #091008;
  background: var(--brand);
  border-color: transparent;
}
body.light .v136-info-button.active { color: #f8faf5; }

.v136-flow-rail {
  display: grid;
  grid-template-columns: minmax(220px,.8fr) minmax(420px,1.2fr);
  gap: 18px;
  align-items: center;
  margin: 14px 0 22px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 20%, var(--line));
  border-radius: 18px;
  background:
    linear-gradient(110deg, color-mix(in srgb, rgb(var(--league-rgb)) 8%, transparent), transparent 52%),
    var(--surface);
}
.v136-flow-copy { display: grid; gap: 4px; }
.v136-flow-copy strong { font-size: 15px; letter-spacing: -.015em; }
.v136-flow-copy small { color: var(--muted); font-size: 10px; line-height: 1.4; }
.v136-flow-actions { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.v136-flow-actions button {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface-2);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.v136-flow-actions button:hover { border-color: color-mix(in srgb, rgb(var(--league-rgb)) 34%, var(--line)); transform: translateY(-1px); }
.v136-flow-actions b {
  flex: 0 0 auto;
  width: 26px; height: 26px;
  display: grid; place-items: center;
  border-radius: 9px;
  background: color-mix(in srgb, rgb(var(--league-rgb)) 14%, var(--surface-3));
  color: var(--brand);
  font-size: 10px;
}
.v136-flow-actions span { font-size: 10px; font-weight: 850; }

.v136-home-zone {
  position: relative;
  margin: 0 0 26px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  overflow: hidden;
}
.v136-home-zone::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: color-mix(in srgb, rgb(var(--league-rgb)) 68%, var(--brand));
  opacity: .76;
}
.v136-zone-board::before { background: var(--accent-2); }
.v136-zone-results::before { background: var(--good); }
.v136-zone-data::before { background: var(--muted); opacity: .45; }
.v136-zone-data { background: color-mix(in srgb, var(--surface-2) 52%, var(--surface)); }
.v136-zone-heading {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 0 0 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}
.v136-zone-number {
  flex: 0 0 auto;
  display: grid; place-items: center;
  width: 34px; height: 34px;
  border-radius: 11px;
  border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 24%, var(--line));
  background: color-mix(in srgb, rgb(var(--league-rgb)) 8%, var(--surface-2));
  color: var(--brand);
  font-size: 10px;
  font-weight: 950;
}
.v136-zone-heading > div { display: grid; gap: 2px; }
.v136-zone-heading h3 { margin: 0; font-size: 17px; letter-spacing: -.02em; }
.v136-zone-heading p { margin: 2px 0 0; max-width: 760px; color: var(--muted); font-size: 10.5px; line-height: 1.45; }
.v136-home-zone .home-stat-row { margin-top: 0; }
.v136-home-zone .home-grid { margin-bottom: 0; }
.v136-home-zone .home-panel-card { margin: 0; }
.v136-zone-board .v12-board-card,
.v136-zone-results .v12-results-card,
.v136-zone-data .v121-health-card { border: 0; background: transparent; box-shadow: none; padding: 0; }
.v136-zone-board .v12-board-card::before,
.v136-zone-results .v12-results-card::before,
.v136-zone-data .v121-health-card::before { display: none; }

.v136-panel-masthead {
  margin-bottom: 12px;
  padding: 16px 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(120deg, color-mix(in srgb, rgb(var(--league-rgb)) 7%, transparent), transparent 55%), var(--surface);
}
.v136-panel-masthead h2 { margin: 4px 0 5px; font-size: 22px; letter-spacing: -.03em; }
.v136-panel-masthead p { max-width: 760px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.5; }

.v136-builder-steps {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);
  gap: 7px;
  align-items: center;
  margin: 0 0 13px;
}
.v136-builder-steps > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface);
}
.v136-builder-steps b {
  flex: 0 0 auto;
  width: 25px; height: 25px;
  display: grid; place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, rgb(var(--league-rgb)) 12%, var(--surface-3));
  color: var(--brand);
  font-size: 9px;
}
.v136-builder-steps span { min-width: 0; display: grid; gap: 1px; }
.v136-builder-steps strong { font-size: 10px; white-space: nowrap; }
.v136-builder-steps small { color: var(--muted); font-size: 8.5px; white-space: nowrap; }
.v136-builder-steps > i { color: var(--muted); font-size: 11px; font-style: normal; opacity: .55; }

.v136-builder-controls {
  display: grid !important;
  grid-template-columns: minmax(0,1.15fr) minmax(0,1fr) minmax(230px,.85fr) !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.v136-control-group {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
}
.v136-control-heading { display: flex; gap: 8px; align-items: center; margin-bottom: 10px; }
.v136-control-heading > b {
  flex: 0 0 auto;
  width: 27px; height: 27px;
  display: grid; place-items: center;
  border-radius: 9px;
  background: color-mix(in srgb, rgb(var(--league-rgb)) 10%, var(--surface-3));
  color: var(--brand);
  font-size: 9px;
}
.v136-control-heading > span { display: grid; gap: 1px; }
.v136-control-heading small { color: var(--muted); font-size: 8px; font-weight: 900; letter-spacing: .1em; }
.v136-control-heading strong { font-size: 11px; }
.v136-control-grid { display: grid; grid-template-columns: 1fr; gap: 8px; }
.v136-control-grid label { margin: 0; }
.v136-control-grid .projection-fixed-rule { min-height: 0 !important; }
.v136-control-grid .projection-check { margin-top: 1px; }

/* Info panel */
.v136-info-panel { max-width: 1060px; margin-inline: auto; }
.v136-info-hero {
  display: grid;
  grid-template-columns: minmax(0,1fr) 190px;
  gap: 20px;
  align-items: center;
  margin-bottom: 14px;
  padding: 22px;
  border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 24%, var(--line));
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, rgb(var(--league-rgb)) 12%, transparent), transparent 20rem),
    var(--surface);
}
.v136-info-hero h2 { margin: 5px 0 7px; font-size: clamp(1.7rem,4vw,2.55rem); line-height: 1; letter-spacing: -.045em; }
.v136-info-hero p { max-width: 740px; margin: 0; color: var(--muted); line-height: 1.55; font-size: 12px; }
.v136-info-current { display: grid; gap: 4px; padding: 14px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface-2); }
.v136-info-current span { color: var(--muted); font-size: 8px; font-weight: 950; letter-spacing: .11em; }
.v136-info-current strong { color: var(--brand); font-size: 23px; }
.v136-info-current small { color: var(--muted); font-size: 9px; line-height: 1.35; }

.v136-info-card {
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
}
.v136-info-start { margin-bottom: 12px; }
.v136-info-card-head { margin-bottom: 12px; }
.v136-info-card-head h3 { margin: 3px 0 0; font-size: 17px; letter-spacing: -.02em; }
.v136-info-kicker { color: var(--brand); font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.v136-guide-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
.v136-guide-grid article { min-width: 0; display: flex; gap: 9px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-2); }
.v136-guide-grid article > b { flex: 0 0 auto; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 9px; background: color-mix(in srgb, rgb(var(--league-rgb)) 13%, var(--surface-3)); color: var(--brand); font-size: 10px; }
.v136-guide-grid article > span { display: grid; gap: 3px; }
.v136-guide-grid strong { font-size: 11px; line-height: 1.2; }
.v136-guide-grid small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.v136-info-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 12px; }
.v136-info-split { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.v136-tab-guide { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.v136-tab-guide button { display: flex; gap: 9px; align-items: center; padding: 10px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); color: var(--text); text-align: left; cursor: pointer; }
.v136-tab-guide button:hover { border-color: color-mix(in srgb, rgb(var(--league-rgb)) 30%, var(--line)); }
.v136-tab-guide button > b { width: 28px; color: var(--brand); font-size: 15px; text-align: center; }
.v136-tab-guide button > span { min-width: 0; display: grid; gap: 2px; }
.v136-tab-guide strong { font-size: 10.5px; }
.v136-tab-guide small { color: var(--muted); font-size: 8.5px; line-height: 1.3; }
.v136-simple-list { display: grid; gap: 8px; }
.v136-simple-list > div { display: grid; grid-template-columns: 105px 1fr; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.v136-simple-list > div:last-child { border-bottom: 0; }
.v136-simple-list b { color: var(--text); font-size: 10px; }
.v136-simple-list span { color: var(--muted); font-size: 9.5px; line-height: 1.45; }
.v136-grade-guide { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 7px; }
.v136-grade-guide > span { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
.v136-grade-guide b { font-size: 11px; }
.v136-grade-guide small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.v136-grade-guide .miss b { color: var(--bad); }
.v136-grade-guide .hit b { color: var(--good); }
.v136-grade-guide .beat b { color: var(--brand); }
.v136-maintenance-list { color: var(--muted); font-size: 10px; line-height: 1.5; }
.v136-maintenance-list p { margin: 0 0 8px; }
.v136-maintenance-list strong { color: var(--text); }
.v136-info-note { display: flex; justify-content: center; gap: 7px; flex-wrap: wrap; padding: 13px 15px; border: 1px dashed color-mix(in srgb, rgb(var(--league-rgb)) 28%, var(--line)); border-radius: 15px; color: var(--muted); font-size: 10px; text-align: center; }
.v136-info-note strong, .v136-info-note b { color: var(--text); }

body.light .v136-home-zone,
body.light .v136-flow-rail,
body.light .v136-panel-masthead,
body.light .v136-info-card,
body.light .v136-info-hero,
body.light .v136-builder-steps > div,
body.light .v136-control-group { box-shadow: 0 9px 25px rgba(52,66,57,.04); }

@media (max-width: 900px) {
  .v136-flow-rail { grid-template-columns: 1fr; }
  .v136-builder-controls { grid-template-columns: 1fr 1fr !important; }
  .v136-control-group:last-child { grid-column: 1 / -1; }
  .v136-builder-steps { grid-template-columns: 1fr 1fr; }
  .v136-builder-steps > i { display: none; }
  .v136-info-split { grid-template-columns: 1fr; }
  .v136-guide-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .v136-info-button { padding-inline: 9px; }
  .product-pill { display: none; }
  .v136-flow-rail { margin: 9px 0 16px; padding: 12px; gap: 12px; }
  .v136-flow-actions { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 5px; }
  .v136-flow-actions button { justify-content: center; display: grid; gap: 4px; padding: 8px 2px; text-align: center; }
  .v136-flow-actions b { margin: auto; }
  .v136-flow-actions span { font-size: 8px; }
  .v136-home-zone { padding: 13px 12px; margin-bottom: 15px; border-radius: 17px; }
  .v136-zone-heading { gap: 8px; margin-bottom: 10px; padding-bottom: 9px; }
  .v136-zone-number { width: 30px; height: 30px; }
  .v136-zone-heading h3 { font-size: 15px; }
  .v136-zone-heading p { font-size: 9.5px; }
  .v136-panel-masthead { padding: 13px; border-radius: 15px; }
  .v136-panel-masthead h2 { font-size: 19px; }
  .v136-builder-steps { grid-template-columns: 1fr 1fr; gap: 5px; }
  .v136-builder-steps > div { padding: 8px; }
  .v136-builder-steps strong { white-space: normal; }
  .v136-builder-steps small { white-space: normal; }
  .v136-builder-controls { grid-template-columns: 1fr !important; }
  .v136-control-group:last-child { grid-column: auto; }
  .v136-info-hero { grid-template-columns: 1fr; gap: 13px; padding: 16px; border-radius: 18px; }
  .v136-info-current { grid-template-columns: auto 1fr; align-items: center; }
  .v136-info-current small { grid-column: 1 / -1; }
  .v136-guide-grid, .v136-tab-guide, .v136-grade-guide { grid-template-columns: 1fr; }
  .v136-info-card { padding: 13px; border-radius: 15px; }
  .v136-simple-list > div { grid-template-columns: 1fr; gap: 3px; }
  .v136-info-actions > * { flex: 1 1 100%; }
}

/* V1.5 — Cloud Foundation */
.v140-cloud-foundation {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid color-mix(in srgb, var(--accent) 28%, var(--line));
  border-radius: 18px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--surface-2) 88%, transparent), color-mix(in srgb, var(--surface) 94%, transparent));
}
.v140-cloud-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.v140-cloud-head > div { display:grid; gap:5px; }
.v140-cloud-head strong { font-size:1.02rem; }
.v140-cloud-head span:not(.section-label) { color:var(--muted); font-size:.88rem; line-height:1.45; }
.v140-cloud-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:16px; }
.v140-cloud-grid article { min-width:0; padding:12px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb, var(--surface) 90%, transparent); }
.v140-cloud-grid article > span { display:block; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; }
.v140-cloud-grid article > strong { display:block; margin-top:5px; font-size:.88rem; overflow-wrap:anywhere; }
.v140-cloud-grid article > small { display:block; margin-top:4px; color:var(--muted); font-size:.7rem; }
.v140-id { font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; }
.v140-cloud-toggle { display:flex; gap:12px; align-items:flex-start; margin-top:14px; padding:13px; border:1px solid var(--line); border-radius:14px; cursor:pointer; }
.v140-cloud-toggle input { margin-top:3px; }
.v140-cloud-toggle span { display:grid; gap:3px; }
.v140-cloud-toggle small { color:var(--muted); line-height:1.4; }
.v140-cloud-admin { display:flex; gap:12px; align-items:flex-end; margin-top:12px; }
.v140-cloud-admin label { flex:1; display:grid; gap:6px; }
.v140-cloud-admin label > span { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }
.v140-cloud-admin input { width:100%; }
.v140-cloud-admin > small { max-width:280px; color:var(--muted); line-height:1.35; }
.v140-cloud-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:13px; }
.v140-cloud-warning { margin-top:12px; }
.v140-trim-button { border-color:color-mix(in srgb, #e8a24d 45%, var(--line)); }
body.light .v140-cloud-foundation { background:linear-gradient(145deg, rgba(243,246,239,.96), rgba(236,241,232,.94)); }
@media (max-width: 980px) { .v140-cloud-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) {
  .v140-cloud-foundation { padding:14px; }
  .v140-cloud-head { align-items:center; }
  .v140-cloud-grid { grid-template-columns:1fr 1fr; }
  .v140-cloud-grid article:nth-child(2), .v140-cloud-grid article:nth-child(3) { grid-column:1 / -1; }
  .v140-cloud-admin { flex-direction:column; align-items:stretch; }
  .v140-cloud-admin > small { max-width:none; }
  .v140-cloud-actions { display:grid; grid-template-columns:1fr 1fr; }
  .v140-cloud-actions button { width:100%; }
}

/* V1.5 cloud-first hierarchy */
.v141-cloud-hidden { display:none !important; }
.v140-cloud-toggle:has(input:disabled) { cursor:default; background:color-mix(in srgb, var(--accent) 5%, var(--surface)); }
.v140-cloud-toggle input:disabled { opacity:.9; accent-color:var(--accent); }


/* V1.5 — Admin UX cleanup */
.v1412-consumer-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.v1412-consumer-actions { display:flex; align-items:center; gap:12px; margin-top:14px; }
.v1412-consumer-actions > span { color:var(--muted); font-size:.78rem; line-height:1.4; }
.v1412-admin-entry-row { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding-top:10px; border-top:1px solid var(--line); color:var(--muted); font-size:.76rem; }
.v1412-admin-entry-row .text-button { flex:0 0 auto; }
.v1412-admin-tools { margin-top:14px; padding:14px; border:1px solid color-mix(in srgb, #e8a24d 42%, var(--line)); border-radius:15px; background:color-mix(in srgb, #e8a24d 5%, var(--surface)); }
.v1412-admin-tools-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.v1412-admin-tools-head > div { display:grid; gap:4px; }
.v1412-admin-tools-head small { color:var(--muted); line-height:1.4; }
.v1412-admin-diagnostics { margin-top:12px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; display:grid; gap:4px; }
.v1412-admin-diagnostics > span { color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; }
.v1412-admin-diagnostics > small { color:var(--muted); }
.v1412-admin-dialog { width:min(520px, calc(100vw - 28px)); border:1px solid var(--line); border-radius:20px; padding:22px; background:var(--surface); color:var(--text); box-shadow:0 22px 70px rgba(0,0,0,.42); }
.v1412-admin-dialog::backdrop { background:rgba(0,0,0,.65); backdrop-filter:blur(3px); }
.v1412-admin-dialog h3 { margin:8px 0 6px; }
.v1412-admin-dialog > p { color:var(--muted); line-height:1.5; }
.v1412-admin-token-label { display:grid; gap:7px; margin-top:16px; }
.v1412-admin-token-label > span { color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }
.v1412-admin-token-label input { width:100%; }
.v1412-sync-consumer-hidden { display:none !important; }
.v1412-footer-consumer-hidden { display:none !important; }
body.light .v1412-admin-tools { background:rgba(232,162,77,.055); }
@media (max-width: 980px) { .v1412-consumer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) {
  .v1412-consumer-actions { align-items:stretch; flex-direction:column; }
  .v1412-consumer-actions .primary-button { width:100%; }
  .v1412-admin-entry-row { align-items:flex-start; }
  .v1412-admin-tools-head { flex-direction:column; }
  .v1412-admin-tools-head button { width:100%; }
  .v1412-consumer-grid { grid-template-columns:1fr 1fr; }
  .v1412-consumer-grid article:nth-child(2) { grid-column:1 / -1; }
}

/* V1.5 — Shared Model Lab */
.v142-model-lab-card {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--accent) 34%, var(--line));
  background:
    radial-gradient(circle at 88% 0%, color-mix(in srgb, var(--accent) 12%, transparent) 0, transparent 36%),
    color-mix(in srgb, var(--surface) 94%, transparent);
}
.v142-model-lab-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: var(--accent);
  opacity: .8;
}
.v142-model-head { align-items: flex-start; }
.v142-model-subtitle { margin: 5px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.45; }
.v142-model-badge {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .09em;
  color: var(--muted);
  background: color-mix(in srgb, var(--surface) 90%, transparent);
}
.v142-model-badge[data-state="healthy"] { color: var(--accent); border-color: color-mix(in srgb, var(--accent) 42%, var(--line)); background: color-mix(in srgb, var(--accent) 8%, var(--surface)); }
.v142-model-badge[data-state="due"] { color: #e6b84f; border-color: color-mix(in srgb, #e6b84f 45%, var(--line)); }
.v142-model-badge[data-state="issue"] { color: #ef7a7a; border-color: color-mix(in srgb, #ef7a7a 45%, var(--line)); }
.v142-model-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.v142-model-metrics article { padding:14px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb, var(--surface) 92%, transparent); min-width:0; }
.v142-model-metrics article > span { display:block; color:var(--muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.055em; }
.v142-model-metrics article > strong { display:block; margin-top:5px; font-size:1.35rem; line-height:1.1; }
.v142-model-metrics article > small { display:block; margin-top:5px; color:var(--muted); font-size:.7rem; line-height:1.3; }
.v142-model-meta { display:flex; justify-content:space-between; gap:12px; margin:12px 0; padding:10px 12px; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-size:.76rem; }
.v142-model-meta b { color:var(--text); }
.v142-model-calibration { margin-top:12px; }
.v142-cal-head { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:10px; }
.v142-cal-head span { color:var(--muted); font-size:.75rem; }
.v142-cal-row { display:grid; grid-template-columns:72px minmax(90px,1fr) 54px minmax(120px,auto); align-items:center; gap:10px; min-height:30px; font-size:.76rem; }
.v142-cal-row > span { font-weight:800; color:var(--muted); }
.v142-cal-row > div { height:8px; overflow:hidden; border-radius:999px; background:color-mix(in srgb, var(--line) 65%, transparent); }
.v142-cal-row > div i { display:block; height:100%; border-radius:inherit; background:var(--accent); }
.v142-cal-row > strong { text-align:right; }
.v142-cal-row > small { color:var(--muted); }
.v142-cal-row.empty { opacity:.65; }
.v142-model-recent { margin-top:15px; border-top:1px solid var(--line); padding-top:13px; }
.v142-recent-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:8px; }
.v142-recent-head span { color:var(--muted); font-size:.72rem; }
.v142-grade-row { display:grid; grid-template-columns:30px minmax(0,1fr) minmax(130px,auto); gap:10px; align-items:center; padding:10px 0; border-top:1px solid color-mix(in srgb, var(--line) 70%, transparent); }
.v142-grade-row:first-of-type { border-top:0; }
.v142-grade-row > span { min-width:0; }
.v142-grade-row > span:nth-child(2) { display:grid; gap:2px; }
.v142-grade-row > span:nth-child(3) { display:grid; gap:2px; text-align:right; }
.v142-grade-row small { color:var(--muted); font-size:.7rem; line-height:1.3; }
.v142-grade-mark { width:26px; height:26px; display:grid; place-items:center; border-radius:50%; font-weight:900; border:1px solid var(--line); }
.v142-grade-row.hit .v142-grade-mark { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 48%,var(--line)); }
.v142-grade-row.beat .v142-grade-mark { color:#7fd4ff; border-color:color-mix(in srgb,#7fd4ff 48%,var(--line)); }
.v142-grade-row.miss .v142-grade-mark { color:#ef7a7a; border-color:color-mix(in srgb,#ef7a7a 48%,var(--line)); }
.v142-model-empty { display:grid; gap:4px; padding:13px; border:1px dashed var(--line); border-radius:13px; color:var(--muted); }
.v142-model-empty strong { color:var(--text); }
.v142-personal-results-card { margin-top:16px; border-color:color-mix(in srgb, var(--line) 86%, transparent); }
body.light .v142-model-lab-card { background:linear-gradient(145deg, rgba(241,245,238,.98), rgba(232,239,230,.96)); }

@media (max-width: 760px) {
  .v142-model-metrics { grid-template-columns:1fr 1fr; }
  .v142-model-meta { flex-direction:column; gap:4px; }
  .v142-cal-head { align-items:flex-start; flex-direction:column; gap:3px; }
  .v142-cal-row { grid-template-columns:60px minmax(75px,1fr) 44px; gap:8px; }
  .v142-cal-row > small { grid-column:2 / -1; margin-top:-5px; }
  .v142-grade-row { grid-template-columns:28px minmax(0,1fr); }
  .v142-grade-row > span:nth-child(3) { grid-column:2; text-align:left; margin-top:2px; }
  .v142-model-head { flex-direction:column; gap:10px; }
}

/* V1.5 — Capture Assurance */
.v1421-capture-card{margin:16px 0 18px;padding:18px;border:1px solid rgba(198,255,28,.22);border-radius:18px;background:linear-gradient(180deg,rgba(198,255,28,.045),rgba(255,255,255,.015));box-shadow:0 18px 40px rgba(0,0,0,.12)}
.v1421-capture-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.v1421-capture-head>div{display:grid;gap:4px}.v1421-capture-head strong{font-size:1rem}.v1421-capture-head small{color:var(--muted)}
.v1421-capture-badge{flex:0 0 auto;padding:7px 11px;border-radius:999px;font-weight:900;letter-spacing:.08em;font-size:.72rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08)}
.v1421-capture-badge.healthy{color:var(--accent);background:rgba(198,255,28,.08);border-color:rgba(198,255,28,.24)}.v1421-capture-badge.due{color:#ffd45c;background:rgba(255,212,92,.08);border-color:rgba(255,212,92,.24)}.v1421-capture-badge.issue{color:#ff8a8a;background:rgba(255,90,90,.08);border-color:rgba(255,90,90,.22)}
.v1421-capture-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.v1421-capture-metrics article{padding:13px;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.06);display:grid;gap:3px}.v1421-capture-metrics span,.v1421-capture-metrics small{color:var(--muted);font-size:.76rem}.v1421-capture-metrics strong{font-size:1.18rem}
.v1421-capture-actions{display:flex;align-items:center;gap:12px;margin:14px 0 10px}.v1421-capture-actions span{color:var(--muted);font-size:.78rem}
.v1421-capture-games,.v1421-capture-audit>div:last-child{display:grid;gap:8px}.v1421-game-row{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(110px,.7fr) minmax(105px,.65fr);align-items:center;gap:10px;padding:11px 12px;border-radius:13px;background:rgba(255,255,255,.018);border:1px solid rgba(255,255,255,.055)}.v1421-game-row>span{display:grid;gap:2px}.v1421-game-row strong{font-size:.88rem}.v1421-game-row small{font-size:.72rem;color:var(--muted)}.v1421-game-state{text-align:right;font-weight:900;font-size:.72rem;letter-spacing:.05em}.v1421-game-state.armed,.v1421-game-state.graded{color:var(--accent)}.v1421-game-state.waiting{color:#ffd45c}.v1421-game-state.missing{color:#ff8a8a}.v1421-game-state.neutral{color:var(--muted)}
.v1421-capture-audit{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);display:grid;gap:10px}.v1421-capture-audit>div:first-child{display:grid;gap:3px}.v1421-empty{padding:11px 12px;border-radius:12px;background:rgba(255,255,255,.02);color:var(--muted);font-size:.78rem}
body.light .v1421-capture-card{background:linear-gradient(180deg,rgba(83,105,25,.055),rgba(255,255,255,.5));border-color:rgba(73,94,24,.18);box-shadow:0 14px 34px rgba(41,45,33,.07)}body.light .v1421-capture-metrics article,body.light .v1421-game-row,body.light .v1421-empty{background:rgba(255,255,255,.55);border-color:rgba(42,48,34,.09)}body.light .v1421-capture-audit{border-color:rgba(42,48,34,.1)}
@media(max-width:760px){.v1421-capture-card{padding:14px}.v1421-capture-head{align-items:flex-start}.v1421-capture-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v1421-capture-actions{align-items:stretch;flex-direction:column}.v1421-capture-actions button{width:100%}.v1421-game-row{grid-template-columns:minmax(0,1fr) auto}.v1421-game-row>span:nth-child(2){grid-column:1/2}.v1421-game-state{grid-column:2;grid-row:1/3;align-self:center}.v1421-capture-badge{font-size:.66rem}}

/* V1.5 — Automatic collection */
.v143-auto-card{margin:14px 0 4px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),var(--surface));}
.v143-auto-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.v143-auto-head>div{display:grid;gap:4px}.v143-auto-head small{color:var(--muted);line-height:1.4}
.v143-auto-badge{flex:0 0 auto;padding:7px 10px;border-radius:999px;border:1px solid var(--line);font-size:.68rem;font-weight:900;letter-spacing:.075em}.v143-auto-badge[data-state="healthy"]{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 42%,var(--line));background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.v143-auto-badge[data-state="issue"]{color:#ef7a7a;border-color:color-mix(in srgb,#ef7a7a 45%,var(--line))}.v143-auto-badge[data-state="neutral"]{color:var(--muted)}
.v143-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px}.v143-auto-grid article{min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 92%,transparent)}.v143-auto-grid article>span{display:block;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em}.v143-auto-grid article>strong{display:block;margin-top:5px;font-size:1rem;line-height:1.15;overflow-wrap:anywhere}.v143-auto-grid article>small{display:block;margin-top:4px;color:var(--muted);font-size:.68rem;line-height:1.3}
.v143-auto-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:11px;color:var(--muted);font-size:.72rem}.v143-admin-auto{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:13px;border:1px dashed var(--line);border-radius:13px}.v143-admin-auto>div:first-child{display:grid;gap:3px}.v143-admin-auto small{color:var(--muted)}.v143-admin-auto-actions{display:flex;gap:8px;flex:0 0 auto}
body.light .v143-auto-card{background:linear-gradient(180deg,rgba(83,105,25,.04),rgba(255,255,255,.45))}
@media(max-width:820px){.v143-auto-grid{grid-template-columns:1fr 1fr}.v143-auto-foot{align-items:flex-start;flex-direction:column}.v143-admin-auto{align-items:stretch;flex-direction:column}.v143-admin-auto-actions{display:grid;grid-template-columns:1fr 1fr}.v143-admin-auto-actions button{width:100%}}
@media(max-width:480px){.v143-auto-grid{grid-template-columns:1fr}.v143-auto-head{flex-direction:column}.v143-admin-auto-actions{grid-template-columns:1fr}}

/* V1.4.3.1 — Projection quick-pick cleanup */
.v1431-projection-cleanup { max-width: 1120px; margin-inline: auto; }
.v1431-compact-intro {
  padding: 16px 18px;
  border-radius: 20px;
  background: linear-gradient(135deg, color-mix(in srgb, rgb(var(--league-rgb)) 13%, var(--surface)), var(--surface));
}
.v1431-compact-intro h3 { margin-bottom: 5px; font-size: clamp(1.35rem, 4vw, 2.25rem); }
.v1431-compact-intro p { max-width: 760px; font-size: .92rem; }
.v1431-quick-hero {
  display: flex; justify-content: space-between; gap: 14px; align-items: center;
  margin: 12px 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 18px;
  background: color-mix(in srgb, var(--surface) 90%, rgb(var(--league-rgb)) 10%);
}
.v1431-quick-hero strong { display:block; margin-top: 3px; font-size: .98rem; }
.v1431-quick-hero small { display:block; color: var(--muted); margin-top: 2px; }
.v1431-quick-status { flex: 0 0 auto; text-align: right; padding: 9px 11px; border-radius: 14px; border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line)); background: color-mix(in srgb, var(--brand) 8%, var(--surface)); }
.v1431-quick-status span { display:block; color: var(--brand); font-size: 10px; font-weight: 950; letter-spacing:.12em; }
.v1431-quick-status b { display:block; margin-top: 3px; font-size: 12px; }

.v136-builder-controls.v1431-builder-controls {
  grid-template-columns: minmax(0, 1fr) !important;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.v1431-builder-controls > * { min-width: 0; width: 100%; }
.v1431-primary-scope {
  border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 22%, var(--line)); border-radius: 18px;
  background: var(--surface); padding: 13px; margin-bottom: 10px;
}
.v1431-primary-scope .v136-control-heading { margin-bottom: 10px; }
.v1431-primary-scope .v136-control-grid { grid-template-columns: minmax(220px, 1.7fr) repeat(2, minmax(130px, .8fr)); }
@media (max-width: 900px) and (min-width: 721px) {
  .v1431-primary-scope .v136-control-grid { grid-template-columns: minmax(0, 1fr) minmax(130px, .55fr); }
  .v1431-primary-scope .projection-game-control { grid-column: 1 / -1; }
}
.v1431-accordion {
  border: 1px solid var(--line); border-radius: 16px; background: color-mix(in srgb, var(--surface) 92%, transparent); margin: 10px 0; overflow: hidden;
}
.v1431-accordion > summary {
  cursor: pointer; display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 12px 14px; list-style: none; font-weight: 900;
}
.v1431-accordion > summary::-webkit-details-marker { display:none; }
.v1431-accordion > summary::after { content: '+'; color: var(--brand); font-weight: 950; }
.v1431-accordion[open] > summary::after { content: '–'; }
.v1431-accordion > summary small { color: var(--muted); font-weight: 750; text-align: right; }
.v1431-tune-details .v136-control-group { margin: 0; padding: 12px 14px; border-top: 1px solid var(--line); }
.v1431-tune-details .v136-control-heading b { opacity: .65; }
.v1431-pick-readout { position: sticky; top: var(--floating-offset, 82px); z-index: 13; }
.v1431-summary-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.v1431-projection-notice { padding: 9px 12px; font-size: .82rem; }
.v1431-diagnostics { margin: 10px 0 12px; }
.v1431-diagnostics > *:not(summary) { margin: 10px 12px; }
.v1431-diagnostics .v132-data-input,
.v1431-diagnostics .v1421-capture-card,
.v1431-diagnostics .method-card { margin: 10px 12px; }
.v1431-diagnostics:not([open]) + .projection-summary { margin-top: 0; }

.v1431-pick-list { gap: 10px; }
.projection-card.v1431-pick-card,
.projection-card.v13-builder-leg {
  display: grid; grid-template-columns: 52px minmax(0, 1fr); border-radius: 16px;
  background: linear-gradient(135deg, color-mix(in srgb, rgb(var(--league-rgb)) 8%, var(--surface)), var(--surface));
}
.v1431-pick-rank { padding: 12px 6px; }
.v1431-pick-rank span { font-size: 1.05rem; }
.v1431-pick-rank small { font-size: .62rem; line-height: 1.15; }
.v1431-pick-main { padding: 12px; }
.v1431-pick-topline { display:flex; align-items:flex-start; justify-content:space-between; gap: 10px; }
.v1431-pick-player h3 { margin: 5px 0 2px; font-size: 1.02rem; }
.v1431-pick-player p { margin:0; color: var(--muted); font-size: .72rem; }
.v1431-confidence-chip { flex: 0 0 auto; text-align:center; min-width: 58px; padding: 7px 8px; border-radius: 13px; background: color-mix(in srgb, var(--brand) 10%, var(--surface-2)); border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line)); }
.v1431-confidence-chip small { display:block; color: var(--muted); font-size: 9px; font-weight: 950; letter-spacing:.12em; }
.v1431-confidence-chip strong { display:block; color: var(--brand); font-size: 1.08rem; }
.v1431-pick-range { margin: 10px 0; padding: 12px; border-radius: 15px; background: color-mix(in srgb, rgb(var(--league-rgb)) 9%, var(--surface-2)); border: 1px solid color-mix(in srgb, rgb(var(--league-rgb)) 18%, var(--line)); }
.v1431-pick-range span { display:block; color: var(--muted); font-size: .68rem; font-weight: 900; text-transform: uppercase; letter-spacing:.08em; }
.v1431-pick-range strong { display:block; margin-top: 3px; font-size: clamp(1.25rem, 4vw, 1.65rem); }
.v1431-pick-range small { display:block; margin-top: 4px; color: var(--muted); line-height: 1.35; }
.v1431-pick-mini { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 8px 0; }
.v1431-pick-mini span { display:block; padding: 8px; border-radius: 12px; background: color-mix(in srgb, var(--surface-2) 84%, transparent); border: 1px solid var(--line); }
.v1431-pick-mini small { display:block; color: var(--muted); font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.v1431-pick-mini strong { display:block; margin-top: 2px; font-size: .93rem; }
.v1431-pick-why { margin: 8px 0 10px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.v1431-pick-why summary { cursor:pointer; padding: 8px 0; color: var(--muted); font-size: .78rem; font-weight: 850; }
.v1431-pick-why ul { margin: 0 0 9px 18px; padding: 0; color: var(--muted); font-size: .78rem; line-height: 1.4; }
.v1431-pick-actions { display:flex; align-items:center; justify-content:space-between; gap: 8px; flex-wrap: wrap; }
.v1431-pick-actions .v12-favorite-button { min-height: 34px; padding: 7px 10px; }
.v1431-signal-row { margin: 0; justify-content: flex-end; }
.v1431-pick-card .confidence-track,
.projection-card.v13-builder-leg .confidence-track { margin-top: 10px; }
.v1431-pick-card .projection-headline,
.v1431-pick-card .projection-metrics,
.v1431-pick-card .projection-reasons,
.v1431-pick-card .projection-number,
.projection-card.v13-builder-leg .projection-headline,
.projection-card.v13-builder-leg .projection-metrics,
.projection-card.v13-builder-leg .projection-reasons,
.projection-card.v13-builder-leg .projection-number { display:none; }

@media (max-width: 720px) {
  .v1431-quick-hero { display:block; }
  .v1431-quick-status { margin-top: 10px; text-align:left; }
  .v1431-primary-scope .v136-control-grid { grid-template-columns: 1fr; }
  .v1431-pick-readout { top: 66px; }
  .v1431-summary-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .v1431-summary-strip .metric-card { padding: 9px; }
  .v1431-summary-strip .metric-card span { font-size: .62rem; }
  .v1431-summary-strip .metric-card strong { font-size: 1rem; }
  .projection-card.v1431-pick-card,
.projection-card.v13-builder-leg { grid-template-columns: 44px minmax(0, 1fr); }
  .v1431-pick-main { padding: 10px; }
  .v1431-pick-range { padding: 10px; }
  .v1431-pick-mini { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .v1431-pick-mini span { padding: 7px 6px; }
  .v1431-pick-mini strong { font-size: .82rem; }
  .v1431-accordion > summary { align-items:flex-start; }
  .v1431-accordion > summary small { max-width: 44%; }
}

body.light .v1431-quick-hero,
body.light .v1431-primary-scope,
body.light .projection-card.v1431-pick-card,
body.light .projection-card.v13-builder-leg { background: color-mix(in srgb, var(--surface) 93%, rgb(var(--league-rgb)) 7%); }
body.light .v1431-confidence-chip { background: color-mix(in srgb, var(--brand) 10%, #fff); }
.v1435-history-repair {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  margin-top: 14px;
  border: 1px solid rgba(94, 234, 212, .26);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(20, 184, 166, .10), rgba(56, 189, 248, .06));
}
.v1435-history-repair > div:first-child { display: grid; gap: 4px; }
.v1435-history-repair > div:first-child strong { font-size: 15px; }
.v1435-history-repair > div:first-child small,
.v1435-history-repair-actions small { color: var(--muted); line-height: 1.45; }
.v1435-history-repair-actions { display: grid; gap: 8px; justify-items: end; max-width: 370px; }
.v1435-history-repair-actions small { text-align: right; }
#v1435RepairStatus[data-state="success"] { color: #5eead4; }
#v1435RepairStatus[data-state="error"] { color: #fca5a5; }
#v1435RepairStatus[data-state="working"] { color: #bae6fd; }
@media (max-width: 720px) {
  .v1435-history-repair { grid-template-columns: 1fr; }
  .v1435-history-repair-actions { justify-items: stretch; max-width: none; }
  .v1435-history-repair-actions small { text-align: left; }
}
