/* Challenger Desk — sportsbook / BK visual theme */
body.bk-theme {
  --bg: #0a1018;
  --board: #121a24;
  --board2: #1a2430;
  --board-line: #2a3644;
  --board-line-strong: #3d4f63;
  --board-txt: #eef2f7;
  --board-mut: #94a3b8;
  --accent: #00b755;
  --accent2: #009647;
  --sb-fav: #00e676;
  --sb-odds: #4ade80;
  --sb-odds-bg: rgba(0, 183, 85, 0.18);
  --sb-fav-bg: rgba(0, 230, 118, 0.14);
  --win: #3ecf8e;
  --loss: #f59e6b;
  --pend: #60a5fa;
  --gold: #fbbf24;
  --shadow-board: 0 4px 24px rgba(0, 0, 0, 0.35);
  --shadow-stat: 0 4px 20px rgba(0, 0, 0, 0.4);
}

body.bk-theme {
  background-color: var(--bg) !important;
  background-image:
    radial-gradient(900px 400px at 100% -8%, rgba(0, 183, 85, 0.08), transparent 55%),
    radial-gradient(700px 320px at -5% 0%, rgba(37, 99, 235, 0.07), transparent 50%),
    linear-gradient(180deg, #0a1018 0%, #0d131c 100%) !important;
  color: var(--board-txt);
}

body.bk-theme .wrap {
  max-width: 1024px;
}

/* Top bar — BK header */
body.bk-theme header {
  position: sticky;
  top: 0;
  z-index: 40;
  margin: -4px -16px 12px;
  padding: 12px 16px;
  background: linear-gradient(180deg, #141c26 0%, #101820 100%);
  border-bottom: 1px solid var(--board-line);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(8px);
}

body.bk-theme h1 {
  color: #fff !important;
  background: linear-gradient(92deg, #fff 0%, #86efac 45%, #00b755 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  font-size: 20px;
}

body.bk-theme .sub {
  color: var(--board-mut);
}

body.bk-theme .modeWrap a,
body.bk-theme .nav a {
  color: var(--board-mut);
  font-weight: 700;
  text-decoration: none;
  padding: 6px 10px;
  border-radius: 8px;
  transition: background 0.15s, color 0.15s;
}

body.bk-theme .modeWrap a:hover,
body.bk-theme .nav a:hover,
body.bk-theme .nav a.on {
  color: #fff;
  background: rgba(255, 255, 255, 0.06);
}

body.bk-theme .toggle {
  background: var(--board2);
  border-color: var(--board-line-strong);
}

body.bk-theme .toggle button.on {
  background: linear-gradient(92deg, var(--accent), var(--accent2));
  color: #041208;
}

/* Stats tiles */
body.bk-theme .stat {
  border-color: var(--board-line-strong);
  box-shadow: var(--shadow-stat);
}

body.bk-theme .stat::before {
  background: var(--accent);
}

body.bk-theme .band-vip .stat {
  background: linear-gradient(180deg, #1a2430, #141c26);
  border-color: var(--board-line-strong);
}

/* Match cards — event rows */
body.bk-theme .card {
  background: linear-gradient(180deg, #161f2a 0%, #121a24 100%);
  border: 1px solid var(--board-line-strong);
  border-left: 4px solid var(--pend);
  color: var(--board-txt);
  box-shadow: var(--shadow-board);
}

body.bk-theme .card::before {
  background: linear-gradient(180deg, rgba(0, 183, 85, 0.06), transparent 120px);
}

body.bk-theme .card:hover {
  border-color: #4b6078;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

body.bk-theme .card.c-win {
  border-left-color: var(--win);
}

body.bk-theme .card.c-loss {
  border-left-color: var(--loss);
}

body.bk-theme .card-watch {
  background: linear-gradient(180deg, #141e18 0%, #101820 100%);
  border-left-color: var(--accent);
}

body.bk-theme .match,
body.bk-theme .event-when {
  color: #f8fafc;
}

body.bk-theme .meta,
body.bk-theme .event-tour {
  color: var(--board-mut);
}

body.bk-theme .event-time {
  color: var(--accent);
}

/* Odds cells — BK style */
body.bk-theme .mh-odd,
body.bk-theme .bk-odd {
  background: rgba(0, 183, 85, 0.12) !important;
  border: 1px solid rgba(0, 183, 85, 0.45) !important;
  color: #bbf7d0 !important;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.06);
  font-variant-numeric: tabular-nums;
}

body.bk-theme .mh-side.is-fav .mh-odd,
body.bk-theme .bk-row.fav .bk-odd {
  background: rgba(0, 230, 118, 0.16) !important;
  border-color: rgba(0, 230, 118, 0.55) !important;
  color: #ecfdf5 !important;
}

body.bk-theme .pill {
  background: var(--board2);
  border-color: var(--board-line-strong);
  color: var(--board-txt);
}

body.bk-theme .pill b {
  color: var(--accent);
}

body.bk-theme .odds {
  color: #bbf7d0;
}

body.bk-theme .chip-val {
  background: rgba(62, 207, 142, 0.12);
  border-color: rgba(62, 207, 142, 0.35);
  color: var(--win);
}

body.bk-theme .bk-row {
  background: var(--board2);
  border-color: var(--board-line-strong);
}

body.bk-theme .bk-row.fav {
  background: rgba(251, 191, 36, 0.08);
  border-color: rgba(251, 191, 36, 0.35);
}

body.bk-theme .bk-name {
  color: #f1f5f9;
}

/* Badges */
body.bk-theme .b-pend {
  background: rgba(96, 165, 250, 0.12);
  color: #93c5fd;
  border-color: rgba(96, 165, 250, 0.35);
}

body.bk-theme .b-win {
  background: rgba(62, 207, 142, 0.12);
  color: var(--win);
  border-color: rgba(62, 207, 142, 0.35);
}

body.bk-theme .b-loss {
  background: rgba(245, 158, 107, 0.12);
  color: var(--loss);
  border-color: rgba(245, 158, 107, 0.35);
}

body.bk-theme .b-bet {
  background: rgba(251, 191, 36, 0.1);
  color: var(--gold);
  border-color: rgba(251, 191, 36, 0.35);
}

/* Details / KV grids */
body.bk-theme .kv {
  background: var(--board2);
  border-color: var(--board-line-strong);
}

body.bk-theme .kv .vv {
  color: #fff;
}

body.bk-theme .ctx {
  color: var(--board-mut);
  border-left-color: var(--accent);
}

body.bk-theme .expert-banner {
  background: rgba(37, 99, 235, 0.1);
  border-color: rgba(96, 165, 250, 0.3);
  color: #bfdbfe;
}

body.bk-theme #buyBar {
  background: rgba(0, 183, 85, 0.08) !important;
  border-color: rgba(0, 183, 85, 0.3) !important;
  color: #d1fae5 !important;
}

body.bk-theme .flat-calc {
  border-color: rgba(0, 183, 85, 0.28);
  background: linear-gradient(135deg, rgba(0, 183, 85, 0.1), rgba(37, 99, 235, 0.06));
}

body.bk-theme .paywall,
body.bk-theme .edge-panel,
body.bk-theme .panel {
  background: var(--board);
  border-color: var(--board-line-strong);
  color: var(--board-txt);
}

body.bk-theme .foot {
  color: var(--board-mut);
}

/* Surface badges on dark */
body.bk-theme .surf-Hard {
  background: rgba(59, 130, 246, 0.15);
  color: #93c5fd;
  border-color: rgba(59, 130, 246, 0.35);
}

body.bk-theme .surf-Clay {
  background: rgba(234, 88, 12, 0.15);
  color: #fdba74;
  border-color: rgba(234, 88, 12, 0.35);
}

body.bk-theme .surf-Grass {
  background: rgba(34, 197, 94, 0.15);
  color: #86efac;
  border-color: rgba(34, 197, 94, 0.35);
}

/* Results page alignment */
body.bk-theme .calc {
  border-color: rgba(0, 183, 85, 0.25);
}

body.bk-theme .calc-preset,
body.bk-theme .calc-grid .stat {
  background: var(--board2);
}

body.bk-theme .filters select {
  background: var(--board2);
  border-color: var(--board-line-strong);
  color: var(--board-txt);
}

/* Odds movement flash (desk poll) */
body.bk-theme .mh-odd.odd-up,
body.bk-theme .bk-odd.odd-up,
body.bk-theme .player-odd.odd-up,
body.bk-theme .odds.odd-up {
  color: #bbf7d0 !important;
  border-color: rgba(34, 197, 94, 0.8) !important;
  background: rgba(34, 197, 94, 0.28) !important;
  box-shadow: 0 0 14px rgba(34, 197, 94, 0.4);
}

body.bk-theme .mh-odd.odd-down,
body.bk-theme .bk-odd.odd-down,
body.bk-theme .player-odd.odd-down,
body.bk-theme .odds.odd-down {
  color: #fecaca !important;
  border-color: rgba(239, 68, 68, 0.75) !important;
  background: rgba(239, 68, 68, 0.22) !important;
  box-shadow: 0 0 14px rgba(239, 68, 68, 0.35);
}
