/* 模板 2 · Nocturno 午夜转播 */
html.basketball-page.basketball-theme-nocturno,
body.basketball-page.basketball-theme-nocturno { background: #070b16; color: #e8eefc; }
.basketball-wrap.basketball-theme-nocturno {
  --font-display: "Trebuchet MS", "Segoe UI", sans-serif;
  --bg: #070b16;
  --surface: #121a2e;
  --card: #182238;
  --line: rgba(90, 200, 255, 0.16);
  --text: #e8eefc;
  --muted: #8b9bb8;
  --lime: #3ee0ff;
  --gold: #f5d36b;
  --live: #ff3b6b;
  --radius: 8px;
  --logo-radius: 8px;
  --tab-radius: 8px;
  --hover: rgba(62, 224, 255, 0.08);
  --league-bg: rgba(16, 24, 44, 0.92);
  --input-bg: #0c1220;
  --drawer-bg: #0c1222;
  --bar-track: #1a2744;
  --img-bg: #0a1020;
  --logo-shadow: 0 0 0 3px rgba(62, 224, 255, 0.18);
  --hero-bg: linear-gradient(180deg, rgba(62,224,255,0.1), rgba(12,18,34,0.95));
  --page-bg:
    radial-gradient(900px 420px at 0% 0%, rgba(62, 224, 255, 0.1), transparent 50%),
    radial-gradient(700px 380px at 100% 10%, rgba(255, 59, 107, 0.08), transparent 46%),
    linear-gradient(180deg, #0a1020 0%, #070b16 40%, #050814 100%);
  background: var(--page-bg);
  letter-spacing: 0.01em;
}
.basketball-wrap.basketball-theme-nocturno .logo {
  background: #071018;
  color: var(--lime);
  border: 1px solid var(--lime);
  box-shadow: 0 0 16px rgba(62, 224, 255, 0.25);
}
.basketball-wrap.basketball-theme-nocturno header.top {
  position: sticky; top: 0; z-index: 30;
  background: rgba(7, 11, 22, 0.92);
  backdrop-filter: blur(12px);
  padding: 12px 4px;
  margin: 0 -4px 16px;
  border-bottom: 1px solid var(--line);
}
.basketball-wrap.basketball-theme-nocturno .brand h1 {
  letter-spacing: 0.14em;
  font-size: 18px;
}
.basketball-wrap.basketball-theme-nocturno .clock,
.basketball-wrap.basketball-theme-nocturno .lang,
.basketball-wrap.basketball-theme-nocturno .search {
  border-radius: 8px;
}
.basketball-wrap.basketball-theme-nocturno .lang button.active,
.basketball-wrap.basketball-theme-nocturno .tab.active,
.basketball-wrap.basketball-theme-nocturno .subtab.active {
  background: var(--lime);
  color: #041018;
}
.basketball-wrap.basketball-theme-nocturno .hero-card,
.basketball-wrap.basketball-theme-nocturno .quota {
  border-radius: 10px;
  border-color: rgba(62, 224, 255, 0.22);
}
.basketball-wrap.basketball-theme-nocturno .hero-card h2 { font-size: 30px; }
.basketball-wrap.basketball-theme-nocturno .league {
  border-left: 3px solid var(--lime);
  border-radius: 8px;
}
.basketball-wrap.basketball-theme-nocturno .filters select,
.basketball-wrap.basketball-theme-nocturno .filter-clear,
.basketball-wrap.basketball-theme-nocturno .hist-bar,
.basketball-wrap.basketball-theme-nocturno .scoreboard {
  border-radius: 8px;
}
.basketball-wrap.basketball-theme-nocturno .player-chip i { color: #041018; }

/* 2026 · Courtside Night */
.basketball-wrap.basketball-theme-nocturno { --bg:#080817; --surface:rgba(23,22,54,.86); --card:#1d1b48; --line:rgba(151,139,255,.19); --text:#f8f6ff; --muted:#a19ac8; --lime:#ff9b62; --gold:#ffd17a; --live:#ff5576; --radius:18px; --logo-radius:50%; --tab-radius:11px; --hover:rgba(255,155,98,.08); --league-bg:rgba(17,16,43,.92); --input-bg:#0d0c24; --drawer-bg:#0d0c24; --bar-track:#302d67; --hero-bg:linear-gradient(135deg,rgba(48,43,115,.98),rgba(16,14,48,.95)); --page-bg:radial-gradient(circle at 18% -10%,rgba(113,88,255,.27),transparent 34rem),radial-gradient(circle at 92% 12%,rgba(255,155,98,.1),transparent 28rem),#080817; }
.basketball-wrap.basketball-theme-nocturno::before { background-size:72px 72px; opacity:.8; }
.basketball-wrap.basketball-theme-nocturno header.top { position:relative; padding:8px 0 20px; margin:0 0 24px; background:transparent; backdrop-filter:none; }
.basketball-wrap.basketball-theme-nocturno .logo { border:0; background:linear-gradient(145deg,#ffd17a,#ff7a59); color:#241009; box-shadow:0 12px 36px rgba(255,122,89,.28); }
.basketball-wrap.basketball-theme-nocturno .brand h1 { font-size:19px; letter-spacing:.1em; }
.basketball-wrap.basketball-theme-nocturno .hero-card,.basketball-wrap.basketball-theme-nocturno .quota { border-radius:24px; border-color:rgba(151,139,255,.22); }
.basketball-wrap.basketball-theme-nocturno .tabs,.basketball-wrap.basketball-theme-nocturno .search { background:rgba(13,12,36,.84); }
.basketball-wrap.basketball-theme-nocturno .lang button.active,.basketball-wrap.basketball-theme-nocturno .tab.active,.basketball-wrap.basketball-theme-nocturno .subtab.active { background:var(--lime); color:#201008; }
.basketball-wrap.basketball-theme-nocturno .league { border-left:0; background:linear-gradient(110deg,#201e50,#12112f); }
.basketball-wrap.basketball-theme-nocturno .league::before { content:""; display:block; height:2px; background:linear-gradient(90deg,var(--lime),transparent 62%); }
.basketball-wrap.basketball-theme-nocturno .scoreboard { background:linear-gradient(145deg,#302b75,#15133d); }
.basketball-wrap.basketball-theme-nocturno .basketball-dashboard { grid-template-columns:320px minmax(0,1fr); }
.basketball-wrap.basketball-theme-nocturno .basketball-stage .league.open .matches { grid-template-columns:1fr; }
.basketball-wrap.basketball-theme-nocturno .court-card.match { min-height:150px; background:linear-gradient(105deg,#201e50,#12112f); }
.basketball-wrap.basketball-theme-nocturno .quarter-strip { max-width:380px; margin-left:auto; }
@media(max-width:760px){.basketball-wrap.basketball-theme-nocturno .basketball-dashboard{display:block}}
