.tkb-theme :is(#entity-view, #standings-view, #match-page, #player-page) {
  --detail-surface: var(--scoreboard-surface, #fff);
  --detail-tint: var(--scoreboard-tint, #fbf5f1);
  --detail-border: var(--scoreboard-border, #eadbd5);
  --detail-ink: var(--scoreboard-ink, #291d21);
  --detail-muted: var(--scoreboard-muted, #705b61);
  --detail-accent: var(--scoreboard-accent, #ab263b);
  --detail-accent-tint: var(--scoreboard-accent-tint, #faebee);
  --detail-hero: var(--scoreboard-hero, linear-gradient(112deg, #691527 5%, #932131 65%, #ab303c 100%));
  --detail-hero-muted: #f9e5e9;
  color: var(--detail-ink);
}

.tkb-theme :is(#entity-view, #standings-view, #match-page, #player-page)
  :is(.entity-card, .full-table-card, .match-page-card, .player-hero, .player-section) {
  background: var(--detail-surface);
  border: 1px solid var(--detail-border);
  border-radius: var(--scoreboard-radius, 12px);
}

.tkb-theme :is(#entity-view, #standings-view, #match-page, #player-page)
  :is(.entity-heading, .full-table-heading, .match-page-card, .player-hero-main, .player-hero-loading) {
  color: #fff;
  background: var(--detail-hero);
}

.tkb-theme :is(#entity-view, #standings-view, #player-page)
  :is(.entity-heading :is(h1, h2), .full-table-heading h2, .player-hero h1) {
  font-size: clamp(20px, 3vw, 29px);
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.tkb-theme :is(#entity-view, #standings-view, #match-page, #player-page)
  :is(.entity-heading p, .entity-kind, .full-table-heading p, .player-full-name,
    .player-kicker, .player-identity, .match-page-date, .match-page-score .score-dash) {
  color: var(--detail-hero-muted);
}

.tkb-theme :is(#entity-view .entity-badge, #standings-view .full-table-heading > .league-badge,
    #match-page #match-page-league .league-badge, #match-page .match-page-team .team-crest.large) {
  border-radius: 10px;
  background: #fffaf8;
  color: #291d21;
}

.tkb-theme #entity-view .entity-badge { padding: 7px; }

.tkb-theme #entity-view .entity-badge > :is(.league-badge, .flag, .league-mark, .team-crest) {
  max-width: 100%;
  max-height: 100%;
}

.tkb-theme #standings-view .full-table-heading > .league-badge {
  width: 45px;
  height: 45px;
  padding: 6px;
  flex: none;
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-back, .match-page-back, .player-page-back) {
  color: var(--detail-muted);
  font-weight: 700;
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-back, .match-page-back, .player-page-back):hover {
  color: var(--detail-accent);
  background: transparent;
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-tabs, .match-page-tabs, .player-section-heading) {
  background: var(--detail-tint);
  border-color: var(--detail-border);
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-tabs, .match-page-tabs, .player-tabs) {
  justify-content: flex-start;
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-tabs, .match-page-tabs, .player-tabs) :is(button, a) {
  flex: none;
  min-height: 46px;
  color: var(--detail-muted);
  font-weight: 700;
  white-space: nowrap;
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-tabs, .match-page-tabs, .player-tabs) :is(button, a):hover,
.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-tabs, .match-page-tabs, .player-tabs) :is(.active, [aria-pressed="true"]) {
  color: var(--detail-accent);
}

.tkb-theme :is(#entity-view, #match-page) :is(.entity-tabs, .match-page-tabs) .active::after {
  height: 3px;
  background: var(--detail-accent);
}

.tkb-theme :is(#entity-view, #match-page, #player-page)
  :is(.entity-tabs, .match-page-tabs, .player-tabs) :is(a, button):focus-visible {
  outline: 2px solid var(--detail-accent);
  outline-offset: -3px;
}

.tkb-theme #player-page .player-tabs [aria-pressed="true"] { border-color: var(--detail-accent); }

.tkb-theme #entity-view :is(.entity-match-group, .squad-player, .entity-competitions :is(a, button)) {
  border-color: var(--detail-border);
  background: var(--detail-surface);
}

.tkb-theme #entity-view :is(.entity-match-section, .entity-competitions) > h3,
.tkb-theme #entity-view .squad-position h3 { color: var(--detail-ink); }

.tkb-theme #entity-view .entity-match-group > h4 {
  border-color: var(--detail-border);
  background: var(--detail-tint);
  color: var(--detail-muted);
  font-weight: 700;
}

.tkb-theme #entity-view .entity-match-group .match-row {
  min-height: 64px;
  border-color: var(--detail-border);
}

.tkb-theme #entity-view .entity-match-group .match-scores > span {
  border-radius: 5px;
  background: var(--detail-tint);
  color: var(--detail-ink);
}

.tkb-theme #entity-view .entity-match-group .match-scores > .is-winner {
  background: var(--detail-ink);
  color: #fff;
}

.tkb-theme #entity-view :is(.squad-player, .entity-competitions :is(a, button)):hover {
  border-color: #efcbd2;
  background: var(--detail-accent-tint);
  color: var(--detail-accent);
}

.tkb-theme #entity-view .squad-player:focus-visible { outline-color: var(--detail-accent); }

.tkb-theme #entity-view .squad-number {
  color: var(--detail-muted);
  background: var(--detail-tint);
}

.tkb-theme #standings-view #standings-controls:not([hidden]) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  margin-block-end: 14px;
  padding: 14px;
  border: 1px solid var(--detail-border);
  border-radius: var(--scoreboard-radius, 12px);
  background: var(--detail-surface);
}

.tkb-theme #standings-view :is(.standings-search, .standings-picker) {
  display: grid;
  align-content: start;
  gap: 6px;
  margin: 0;
  padding: 0;
  color: var(--detail-muted);
  font-weight: 650;
}

.tkb-theme #standings-view :is(.standings-search input, .standings-picker select),
.tkb-theme #player-page .player-season select {
  min-width: 0;
  max-width: 100%;
  border: 1px solid var(--detail-border);
  border-radius: 8px;
  background: var(--detail-tint);
  color: var(--detail-ink);
  font-weight: 550;
}

.tkb-theme #standings-view :is(.standings-search input, .standings-picker select) {
  width: 100%;
  min-height: 44px;
}

.tkb-theme :is(#entity-view, #standings-view) .standings-group-title {
  padding-block: 12px;
  background: var(--detail-accent-tint);
  color: var(--detail-ink);
}

.tkb-theme #entity-view .standings-group-title + .table-scroll { margin-block-start: 0; }

.tkb-theme :is(#entity-view, #standings-view) .standings-table th {
  color: var(--detail-muted);
  background: var(--detail-tint);
  border-color: var(--detail-border);
  font-weight: 750;
}

.tkb-theme :is(#entity-view, #standings-view) .standings-table td {
  padding-block: 12px;
  border-color: var(--detail-border);
}

.tkb-theme :is(#entity-view, #standings-view) .standings-table .table-team {
  color: var(--detail-ink);
  text-decoration-color: #d98e9b;
}

.tkb-theme :is(#entity-view, #standings-view) .standings-table a.table-team:hover {
  color: var(--detail-accent);
}

.tkb-theme :is(#entity-view, #standings-view) .standings-table tbody tr:first-child td:first-child {
  color: var(--detail-accent);
}

.tkb-theme :is(#entity-view, #standings-view) .standings-table tbody tr:first-child td:first-child::before {
  inset: 50% auto auto 0;
  background: var(--detail-accent);
  transform: translateY(-50%);
}

.tkb-theme #match-page .match-page-heading {
  padding-block: 18px 4px;
}

.tkb-theme #match-page #match-page-league > :is(a, button, span) { color: var(--detail-hero-muted); }
.tkb-theme #match-page #match-page-league .league-badge { padding: 3px; border-radius: 5px; }

.tkb-theme #match-page .match-page-team .team-crest.large { padding: 7px; }
.tkb-theme #match-page .match-page-team :is(a, button):hover { color: var(--detail-hero-muted); }
.tkb-theme #match-page .match-page-score > strong { color: #fff; }
.tkb-theme #match-page .match-page-score:has(.live-dot) > strong { color: #ffd1d7; }

.tkb-theme #match-page .match-page-status {
  background: var(--detail-accent-tint);
  color: #862539;
}

.tkb-theme #match-page .match-page-status:has(.live-dot) {
  background: var(--live-soft, var(--brand-soft, #fff0f0));
  color: #a02236;
}

.tkb-theme #match-page .match-page-score .favorite-button { color: var(--detail-hero-muted); }
.tkb-theme #match-page .match-page-score .favorite-button:hover { background: #ffffff20; }
.tkb-theme #match-page .match-page-score .favorite-button.active { color: #ffdd83; }

.tkb-theme #match-page :is(.match-page-heading, .match-page-scoreboard) :is(a, button):focus-visible {
  outline-color: #ffe1e8;
}

.tkb-theme #match-page .match-page-content {
  color: var(--detail-ink);
  background: var(--detail-surface);
}

.tkb-theme #match-page :is(.match-page-empty > span, .lineup-formation) {
  color: var(--detail-accent);
  background: var(--detail-accent-tint);
}

.tkb-theme #match-page .match-page-empty > a { color: var(--detail-accent); }

.tkb-theme #match-page :is(.lineup-field-card, .lineup-roster, .lineup-roster-player,
    .lineup-roster .lineup-team-heading, .lineup-coach, .fixture-stats-scroll,
    .fixture-stats-scroll :is(th, td), .fixture-stats-controls button,
    .detail-odds-card, .detail-odds-table tbody tr) {
  border-color: var(--detail-border);
}

.tkb-theme #match-page :is(.lineup-team-heading, .fixture-stats-scroll thead th, .detail-odds-table thead) {
  background: var(--detail-tint);
}

.tkb-theme #match-page a.lineup-roster-player:hover,
.tkb-theme #match-page .fixture-stats-controls button[aria-pressed="true"] {
  color: var(--detail-accent);
  border-color: #efcbd2;
  background: var(--detail-accent-tint);
}

.tkb-theme #match-page :is(.fixture-stats-scroll thead th[aria-sort] button,
    .fixture-stats-scroll:focus-visible) {
  color: var(--detail-accent);
  outline-color: var(--detail-accent);
}

.tkb-theme #match-page .detail-odds-heading {
  color: var(--detail-ink);
}

.tkb-theme #match-page :is(.detail-odds-heading span, .detail-odds-table thead,
    .detail-odds-table tbody th, .detail-odds-empty) {
  color: var(--detail-muted);
}

.tkb-theme #match-page :is(.detail-odds-table thead span, .detail-odds-table td) {
  color: var(--detail-ink);
}

.tkb-theme #match-page .detail-odds-table tbody tr[data-market="live"] th {
  color: var(--detail-accent);
}

.tkb-theme #player-page .player-hero .search-player-photo.is-profile {
  color: var(--detail-ink);
  background: var(--detail-accent-tint);
  box-shadow: none;
}

.tkb-theme #player-page .player-facts {
  border-color: var(--detail-border);
  background: var(--detail-tint);
}

.tkb-theme #player-page :is(.player-fixture, .player-stat-card, .player-career-row) {
  border-color: var(--detail-border);
}

.tkb-theme #player-page :is(.player-empty svg, .player-club:hover) { color: var(--detail-accent); }
.tkb-theme #player-page a.player-fixture:hover { background: var(--detail-tint); }

.tkb-theme #player-page .player-fixture-teams > strong {
  background: var(--detail-accent-tint);
  color: var(--detail-ink);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 600px) {
  .tkb-theme #standings-view #standings-controls:not([hidden]) {
    grid-template-columns: minmax(0, 1fr);
    padding: 11px;
    gap: 8px;
  }

  .tkb-theme #standings-view .full-table-heading { padding: 13px; }
  .tkb-theme #standings-view .full-table-heading > .league-badge { width: 38px; height: 38px; }
  .tkb-theme :is(#entity-view, #standings-view) .standings-table td { padding-block: 10px; }
  .tkb-theme #match-page .match-page-heading { padding-block-start: 14px; }
  .tkb-theme #match-page .match-page-scoreboard { padding-block-start: 19px; }
  .tkb-theme #match-page .match-page-tabs { padding-inline: 8px; }
  .tkb-theme #match-page .match-page-content { padding: 13px 11px; }
  .tkb-theme #player-page .player-section-heading { align-items: flex-start; }
}
