    :root {
      --bg:        #0e0e10;
      --panel:     #18181b;
      --panel-2:   #202024;
      --line:      #2c2c31;
      --accent:    #e8202a;   /* broadcast red */
      --accent-dk: #b71219;
      --text:      #f4f4f5;
      --muted:     #9a9aa3;
      --gold:      #f2c14e;    /* secondary highlight for seeds */
      --radius:    14px;
      --shadow:    0 10px 30px rgba(0,0,0,.45);
    }

    * { box-sizing: border-box; }
    html, body { margin: 0; padding: 0; }
    body {
      background: var(--bg);
      color: var(--text);
      font-family: "Barlow", system-ui, sans-serif;
      -webkit-font-smoothing: antialiased;
      min-height: 100vh;
    }
    a { color: inherit; text-decoration: none; }

    /* ---------- Masthead ---------- */
    header.masthead {
      position: sticky; top: 0; z-index: 1000;
      background: linear-gradient(180deg, #0e0e10 0%, rgba(14,14,16,.92) 100%);
      border-bottom: 3px solid var(--accent);
      padding: 14px clamp(14px, 4vw, 40px) 12px;
      backdrop-filter: blur(6px);
    }
    .brand { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
    .brand .kicker {
      font-family: "Oswald", sans-serif; font-weight: 700; letter-spacing: .22em;
      color: var(--accent); font-size: 12px; text-transform: uppercase;
    }
    .brand h1 {
      font-family: "Anton", sans-serif; font-weight: 400; margin: 0;
      font-size: clamp(22px, 5vw, 40px); letter-spacing: .01em; line-height: .95;
      text-transform: uppercase;
    }
    .brand h1 .yr { color: var(--accent); }

    /* ---------- Breadcrumb / nav ---------- */
    .navbar {
      display: flex; align-items: center; gap: 12px; margin-top: 12px;
      font-family: "Oswald", sans-serif;
    }
    #backBtn {
      display: inline-flex; align-items: center; gap: 6px;
      background: var(--panel-2); color: var(--text); border: 1px solid var(--line);
      padding: 7px 14px; border-radius: 999px; cursor: pointer;
      font-family: "Oswald", sans-serif; font-weight: 600; font-size: 13px;
      text-transform: uppercase; letter-spacing: .08em; transition: .15s;
    }
    #backBtn:hover { border-color: var(--accent); color: #fff; }
    #backBtn[hidden] { display: none; }
    .crumbs { font-size: 13px; color: var(--muted); letter-spacing: .04em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .crumbs b { color: var(--text); font-weight: 600; }
    .crumbs .sep { color: var(--line); margin: 0 7px; }

    /* ---------- View container + transitions ---------- */
    main { padding: clamp(16px, 4vw, 36px); max-width: 1180px; margin: 0 auto; }
    .view { display: none; }
    .view.active { display: block; animation: viewIn .34s cubic-bezier(.2,.7,.2,1); }
    @keyframes viewIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
    @media (prefers-reduced-motion: reduce) { .view.active { animation: none; } }

    .section-head { font-family:"Anton",sans-serif; text-transform:uppercase; font-size: clamp(20px,3.6vw,30px); margin: 4px 0 4px; letter-spacing:.01em; }
    .section-sub { font-family:"Oswald",sans-serif; color: var(--muted); text-transform: uppercase; letter-spacing:.14em; font-size: 12px; margin-bottom: 18px; }

    /* ---------- Map ---------- */
    #map {
      height: clamp(380px, 64vh, 640px); width: 100%;
      border-radius: var(--radius); border: 1px solid var(--line);
      box-shadow: var(--shadow); background: #111;
    }
    .leaflet-container { background: #0a0a0b; }
    .map-hint { font-family:"Oswald",sans-serif; color: var(--muted); font-size: 13px; letter-spacing:.06em; text-transform: uppercase; margin: 14px 2px 0; }

    /* seed pin — small circular marker (centered on its coordinate) */
    .pin {
      position: relative;
      width: 22px; height: 22px; border-radius: 50%;
      background: var(--accent); border: 2px solid #fff;
      box-shadow: 0 2px 7px rgba(0,0,0,.55);
      display: grid; place-items: center;
      transition: transform .12s ease;
    }
    .pin span {
      color: #fff; font-family:"Anton",sans-serif; font-size: 12px; line-height: 1;
    }
    .leaflet-marker-icon:hover { z-index: 1000 !important; }
    .leaflet-marker-icon .pin:hover { transform: scale(1.18); background: #fff; }
    .leaflet-marker-icon .pin:hover span { color: var(--accent); }
    /* live site: pulsing dot on the pin's upper-right */
    .pin.live::after {
      content: ""; position: absolute; top: -3px; right: -3px;
      width: 9px; height: 9px; border-radius: 50%;
      background: #28d07a; border: 2px solid #0e0e10;
      animation: pulse 1.3s infinite;
    }

    /* ---------- Map/Bracket top toggle + site list ---------- */
    .map-toggle { margin: 2px 0 16px; }
    .site-list { display: grid; gap: 8px; }
    .site-row {
      display: flex; align-items: center; gap: 14px; cursor: pointer;
      background: var(--panel); border: 1px solid var(--line); border-radius: 12px;
      padding: 11px 14px; transition: .15s; text-align: left; width: 100%;
    }
    .site-row:hover { border-color: var(--accent); transform: translateX(2px); }
    .site-row .sr-main { min-width: 0; flex: 1; }
    .site-row .sr-city { font-family:"Oswald",sans-serif; font-weight:700; font-size:16px; line-height:1.1; }
    .site-row .sr-host { color: var(--muted); font-size: 13px; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .site-row .sr-rec { font-family:"Oswald",sans-serif; font-size:13px; letter-spacing:.04em; color: var(--text); white-space: nowrap; }
    .site-row .sr-live { display:inline-flex; align-items:center; gap:6px; font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:#28d07a; }
    .site-row .sr-live .dot { width:7px; height:7px; border-radius:50%; background:#28d07a; display:inline-block; animation:pulse 1.3s infinite; }
    .site-row .sr-champ { color: var(--gold); font-size: 15px; }

    /* ---------- Cards / grids ---------- */
    .grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }

    .team-card {
      background: linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);
      border: 1px solid var(--line); border-radius: var(--radius);
      padding: 16px; cursor: pointer; transition: .16s; position: relative; overflow: hidden;
      display: flex; gap: 14px; align-items: center;
    }
    .team-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background: var(--line); transition:.16s; }
    .team-card:hover { transform: translateY(-3px); border-color: var(--accent); box-shadow: var(--shadow); }
    .team-card:hover::before { background: var(--accent); }

    .seed-chip {
      flex: 0 0 auto; width: 46px; height: 46px; border-radius: 10px;
      display: grid; place-items: center; font-family:"Anton",sans-serif; font-size: 20px;
      background: #0e0e10; border: 1px solid var(--line); color: var(--muted);
    }
    .seed-chip.national { background: var(--accent); color: #fff; border-color: var(--accent); }
    .seed-chip small { display:block; font-family:"Oswald",sans-serif; font-size:8px; letter-spacing:.12em; margin-top:-2px; }

    .team-meta { min-width: 0; }
    .team-meta .nm { font-family:"Oswald",sans-serif; font-weight:700; font-size: 18px; line-height:1.05; }
    .team-meta .cf { color: var(--muted); font-size: 13px; margin-top: 3px; }
    .team-meta .rec { font-family:"Oswald",sans-serif; font-size: 13px; margin-top: 4px; letter-spacing:.04em; }

    .todo {
      display: inline-block; font-family:"Oswald",sans-serif; font-size: 11px; letter-spacing:.1em;
      background: rgba(242,193,78,.14); color: var(--gold); border: 1px dashed rgba(242,193,78,.5);
      padding: 1px 7px; border-radius: 6px; text-transform: uppercase;
    }
    .reg-seed { font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:5px; }
    .reg-seed b { color: var(--text); }

    /* ---------- Regional schedule ---------- */
    .sched-note { font-family:"Oswald",sans-serif; color:var(--muted); font-size:12px; letter-spacing:.06em; margin:-6px 0 16px; }
    .sched-head { display:flex; align-items:flex-end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .sim-btn { cursor:pointer; font-family:"Oswald",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:11px;
      background:var(--panel-2); color:var(--text); border:1px solid var(--line); padding:6px 12px; border-radius:8px; transition:.15s; }
    .sim-btn:hover { border-color:var(--gold); color:var(--gold); }
    .champ-banner { font-family:"Oswald",sans-serif; font-size:15px; letter-spacing:.04em; color:#0e0e10;
      background:linear-gradient(90deg, var(--gold), #ffd97a); border-radius:10px; padding:11px 16px; margin:4px 0 6px; }
    .champ-banner b { font-weight:700; }
    .sim-banner { font-family:"Oswald",sans-serif; font-weight:600; letter-spacing:.08em; text-transform:uppercase; font-size:12px;
      color:var(--gold); border:1px dashed rgba(242,193,78,.55); border-radius:8px; padding:7px 12px; margin-bottom:10px; }
    .pin.champ { background:var(--gold); border-color:#fff; }
    .pin.champ span { color:#0e0e10; }

    /* regional controls + List/Bracket toggle */
    .reg-controls { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:18px; }
    .view-toggle { display:inline-flex; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
    .view-toggle .vt { cursor:pointer; font-family:"Oswald",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:11px;
      background:transparent; color:var(--muted); border:none; padding:7px 14px; transition:.15s; }
    .view-toggle .vt.on { background:var(--accent); color:#fff; }
    .view-toggle .vt:not(.on):hover { color:var(--text); }
    .view-toggle .vt { white-space:nowrap; }
    /* the top nav bar carries 5 tabs — let it scroll instead of clipping on narrow screens */
    .map-toggle { max-width:100%; overflow-x:auto; overflow-y:hidden; }

    /* double-elim bracket diagram */
    .bracket { display:flex; flex-direction:column; gap:8px; }
    .bk-sec { padding:8px 0; }
    .bk-title { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:12px; color:var(--accent); margin-bottom:10px; }
    .bk-rounds { display:flex; gap:34px; align-items:center; }
    .bk-col { display:flex; flex-direction:column; gap:16px; flex:0 0 auto; min-width:200px; }
    .bk-col.bk-mid { position:relative; }
    .bk-col.bk-mid::before { content:""; position:absolute; left:-22px; top:50%; width:18px; height:1px; background:var(--line); }
    .bg-card { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:9px 11px; min-width:200px; }
    .bg-card.elim { border-left:3px solid rgba(242,193,78,.5); }
    .bg-card.bg-click { cursor:pointer; transition:.15s; }
    .bg-card.bg-click:hover { border-color:var(--accent); }
    .bg-h { font-family:"Oswald",sans-serif; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:5px; }
    .bg-team { display:flex; align-items:center; gap:8px; padding:3px 0; font-family:"Oswald",sans-serif; font-size:14px; }
    .bg-team .sd { color:var(--accent); font-size:11px; font-weight:600; min-width:20px; }
    .bg-team .bn { flex:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--muted); }
    .bg-team .sc { font-family:"Anton",sans-serif; font-size:16px; min-width:18px; text-align:right; color:var(--muted); }
    .bg-team.win .bn, .bg-team.win .sc { color:#fff; }
    .bg-team.feeder { color:var(--muted); font-style:italic; font-size:12px; }
    .bg-status { font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.04em; color:var(--muted); margin-top:5px; }
    .bg-status .st-live { color:var(--accent); font-weight:700; }
    .bk-note { font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
    @media (max-width:700px) {
      .bk-rounds { flex-direction:column; align-items:stretch; gap:16px; }
      .bk-col, .bg-card { min-width:0; }
      .bk-col.bk-mid::before { display:none; }
    }

    /* national "Road to Omaha" bracket */
    .nb-cols { display:flex; gap:18px; align-items:flex-start; overflow-x:auto; padding-bottom:8px; }
    .nb-col { flex:1 1 0; min-width:240px; }
    .nb-col > .bk-title { position:sticky; top:0; }
    .nb-pair { border:1px solid var(--line); border-radius:10px; margin-bottom:12px; overflow:hidden; }
    .nb-node { display:flex; align-items:center; gap:8px; padding:9px 11px; cursor:pointer; transition:.15s; background:var(--panel); }
    .nb-node + .nb-node { border-top:1px solid var(--line); }
    .nb-node:hover { background:rgba(232,32,42,.06); }
    .nb-node .seed { font-family:"Anton",sans-serif; font-size:15px; color:var(--muted); min-width:30px; }
    .nb-node.champ .seed { color:var(--gold); }
    .nb-node .nb-team { flex:1; min-width:0; }
    .nb-node .nb-team .t { font-family:"Oswald",sans-serif; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .nb-node .nb-team .c { font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
    .nb-node .trophy { color:var(--gold); }
    .nb-cws { border:1px solid var(--gold); border-radius:10px; padding:16px; text-align:center; background:linear-gradient(180deg, rgba(242,193,78,.08), transparent); }
    .nb-cws .ttl { font-family:"Anton",sans-serif; text-transform:uppercase; font-size:18px; }
    .nb-cws .sub { font-family:"Oswald",sans-serif; color:var(--muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-top:6px; }
    .map-actions { margin-top:12px; }
    .map-actions .btn { display:inline-flex; }
    @media (max-width:700px) { .nb-cols { flex-direction:column; } .nb-col { min-width:0; } }

    /* ---------- Bracket Challenge pick'em ---------- */
    .pick-banner { font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:.04em; color:var(--gold);
      background:rgba(242,193,78,.10); border:1px dashed rgba(242,193,78,.5); border-radius:8px; padding:9px 13px; margin:12px 0; }
    .pick-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
    .pick-progress { font-family:"Anton",sans-serif; font-size:20px; letter-spacing:.01em; }
    .pick-actions { display:flex; gap:8px; flex-wrap:wrap; }
    .pick-actions .btn { padding:8px 13px; font-size:12px; }
    .pick-score { font-family:"Oswald",sans-serif; font-size:13px; letter-spacing:.04em; color:var(--muted); margin:-4px 0 14px; }
    .pick-score b { color:var(--text); }
    .pick-reg { border:1px solid var(--line); border-radius:10px; margin-bottom:12px; overflow:hidden; }
    .pick-reg-h { display:flex; align-items:center; gap:8px; background:#141417; padding:8px 11px;
      font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
    .pick-reg-h .nseed { font-family:"Anton",sans-serif; color:var(--accent); font-size:14px; min-width:22px; }
    .nb-node.pick { cursor:pointer; }
    .nb-node.picked { background:rgba(232,32,42,.12); box-shadow: inset 3px 0 0 var(--gold); }
    .nb-node.picked .nb-team .t { color:#fff; }
    .nb-node.picked.champ { background:linear-gradient(90deg, rgba(242,193,78,.18), transparent); }
    .nb-node.disabled { cursor:default; opacity:.55; }
    .nb-node.disabled:hover { background:var(--panel); }
    .pick-badge { display:inline-block; font-family:"Oswald",sans-serif; font-size:10px; letter-spacing:.06em; text-transform:uppercase;
      padding:1px 7px; border-radius:6px; border:1px solid var(--line); color:var(--muted); margin-top:3px; }
    .pick-badge.ok { color:#28d07a; border-color:rgba(40,208,122,.5); background:rgba(40,208,122,.10); }
    .pick-badge.no { color:var(--accent); border-color:rgba(232,32,42,.5); background:rgba(232,32,42,.10); }
    .pick-badge.off { color:var(--gold); border-color:rgba(242,193,78,.5); }
    .pick-badge.pending { color:var(--muted); }
    .h2h-table td { font-family:"Oswald",sans-serif; font-size:13px; }
    .h2h-table .h2h-slot { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.06em; text-align:center; white-space:nowrap; }
    .h2h-table .h2h-a { text-align:right; } .h2h-table .h2h-b { text-align:left; }
    .h2h-table .win { color:#28d07a; font-weight:700; }

    /* ---------- Private leagues ---------- */
    .lg-cols { display:grid; gap:14px; grid-template-columns:1fr; margin:14px 0; }
    @media (min-width:680px){ .lg-cols { grid-template-columns:1fr 1fr; } }
    .lg-card { border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:var(--panel); }
    .lg-form { display:flex; flex-direction:column; gap:8px; margin-top:10px; }
    .lg-form input { background:#0e0e10; border:1px solid var(--line); border-radius:8px; color:var(--text);
      font-family:"Oswald",sans-serif; font-size:14px; padding:9px 11px; }
    .lg-form input:focus { outline:none; border-color:var(--accent); }
    .lg-form .lg-codein { letter-spacing:.2em; text-transform:uppercase; font-family:"Anton",sans-serif; }
    .lg-list { display:grid; gap:8px; margin-bottom:16px; }
    .lg-list-row { display:flex; align-items:center; gap:12px; cursor:pointer; width:100%; text-align:left;
      background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:11px 14px; transition:.15s; }
    .lg-list-row:hover { border-color:var(--accent); }
    .lg-list-row .lg-code { font-family:"Anton",sans-serif; font-size:16px; letter-spacing:.12em; }
    .lg-list-row .lg-as { color:var(--muted); font-size:13px; flex:1; }
    .lg-list-row .go { color:var(--accent); font-family:"Oswald",sans-serif; font-size:12px; text-transform:uppercase; letter-spacing:.06em; }
    .lg-empty { color:var(--muted); font-size:14px; padding:10px 2px; }
    .lg-loading { color:var(--muted); font-family:"Oswald",sans-serif; letter-spacing:.06em; padding:20px 2px; }
    .lg-subtoggle { margin:12px 0 4px; }
    .lg-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:12px 0 14px; }
    .lg-actions { display:flex; gap:8px; flex-wrap:wrap; }
    .lg-actions .btn { padding:8px 13px; font-size:12px; }
    .lg-lock { font-family:"Oswald",sans-serif; font-size:12px; letter-spacing:.06em; text-transform:uppercase;
      color:#28d07a; border:1px solid rgba(40,208,122,.5); background:rgba(40,208,122,.08); border-radius:999px; padding:5px 12px; }
    .lg-lock.locked { color:var(--accent); border-color:rgba(232,32,42,.5); background:rgba(232,32,42,.08); }
    .lg-standings .lg-rank { font-family:"Anton",sans-serif; color:var(--muted); width:34px; }
    .lg-standings tbody tr:first-child .lg-rank { color:var(--gold); }
    .lg-note { color:var(--muted); font-size:12px; margin-top:10px; letter-spacing:.02em; }
    .lg-unavailable { border:1px dashed var(--line); border-radius:12px; padding:22px; text-align:center; margin-top:14px; }
    .lg-unavailable .ttl { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
    .lg-unavailable p { color:var(--muted); line-height:1.6; max-width:48ch; margin:0 auto; }

    /* ---------- Daily per-game pick'em ---------- */
    .gp-prevlbl { font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
    .gp-sec { margin:18px 0; }
    .gp-sec > .bk-title { display:flex; align-items:center; gap:8px; }
    .gp-count { font-family:"Oswald",sans-serif; font-size:12px; color:var(--muted); background:var(--panel-2); border:1px solid var(--line); border-radius:999px; padding:1px 9px; }
    .gp-grid { display:grid; gap:10px; grid-template-columns:1fr; }
    @media (min-width:760px){ .gp-grid { grid-template-columns:1fr 1fr; } }
    .gp-game { border:1px solid var(--line); border-radius:12px; padding:12px 14px; background:var(--panel); }
    .gp-game.upcoming { opacity:.5; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 14px; }
    .gp-tbd { font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
    .gp-meta { display:flex; align-items:center; gap:10px; margin-bottom:9px; }
    .gp-meta .gp-label { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:11px; color:var(--accent); }
    .gp-meta .gp-when { font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); letter-spacing:.04em; }
    .gp-meta .gp-status { font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.04em; }
    .gp-meta .gp-cmp { margin-left:auto; font-family:"Oswald",sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); text-decoration:none; }
    .gp-meta .gp-cmp:hover { color:var(--accent); }
    .gp-vs { display:flex; align-items:stretch; gap:8px; }
    .gp-vs .gp-vsx { align-self:center; font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); text-transform:uppercase; }
    .gp-opt { flex:1; display:flex; align-items:center; justify-content:space-between; gap:8px; cursor:pointer; text-align:left;
      background:#0e0e10; border:1px solid var(--line); border-radius:9px; padding:11px 13px; transition:.12s; min-width:0; }
    .gp-opt:hover { border-color:var(--muted); }
    .gp-opt.picked { background:rgba(232,32,42,.14); border-color:var(--accent); box-shadow: inset 3px 0 0 var(--gold); }
    .gp-opt .gp-team { font-family:"Oswald",sans-serif; font-weight:600; font-size:15px; color:var(--text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .gp-vs.ro { padding:2px 0; }
    .gp-vs.ro .gp-team { flex:1; display:flex; align-items:center; justify-content:space-between; gap:8px; font-family:"Oswald",sans-serif; font-weight:600; color:var(--muted); }
    .gp-vs.ro .gp-team.won { color:#fff; }
    .ml { font-family:"Oswald",sans-serif; font-size:12px; color:var(--muted); border:1px solid var(--line); border-radius:6px; padding:1px 7px; white-space:nowrap; }
    .ml.fav { color:var(--gold); border-color:rgba(242,193,78,.5); }
    .gp-pickline { font-size:13px; color:var(--muted); margin-top:9px; padding-top:8px; border-top:1px solid var(--line); }
    .gp-pickline b { color:var(--text); }

    .sched-day { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:12px; color:var(--text);
      margin:18px 0 8px; padding-bottom:6px; border-bottom:1px solid var(--line); }
    .sched-day:first-of-type { margin-top:0; }
    .game-row { display:flex; align-items:center; gap:14px; padding:11px 4px; border-bottom:1px solid var(--line); }
    .game-row:last-child { border-bottom:none; }
    .game-row.tbd { opacity:.62; }
    .game-num { flex:0 0 auto; width:30px; height:30px; border-radius:8px; display:grid; place-items:center;
      font-family:"Anton",sans-serif; font-size:14px; background:#0e0e10; border:1px solid var(--line); color:var(--muted); }
    .game-row.live .game-num { background:var(--accent); color:#fff; border-color:var(--accent); }
    .game-matchup { flex:1 1 auto; min-width:0; font-size:15px; }
    .game-matchup .vs { color:var(--muted); font-style:italic; margin:0 6px; }
    .game-matchup a { font-weight:600; }
    .game-matchup a:hover { color:var(--accent); }
    .game-matchup .sd { font-family:"Oswald",sans-serif; color:var(--accent); font-size:12px; font-weight:600; margin-right:4px; }
    .game-matchup small { color:var(--muted); }
    .game-when { flex:0 0 auto; text-align:right; font-family:"Oswald",sans-serif; font-size:13px; }
    .game-when .tv { display:inline-block; margin-left:8px; padding:2px 8px; border-radius:6px; background:var(--panel-2); border:1px solid var(--line); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
    @media (max-width: 640px) { .game-row { flex-wrap:wrap; } .game-when { width:100%; text-align:left; padding-left:44px; } }

    /* ---------- Team view ---------- */
    .team-hero { display:flex; align-items:center; gap:18px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom: 20px; }
    .team-hero .seed-chip { width:64px; height:64px; font-size:28px; border-radius:14px; }
    .team-hero h2 { font-family:"Anton",sans-serif; text-transform:uppercase; font-size: clamp(26px,6vw,46px); margin:0; line-height:.92; }
    .team-hero .sub { font-family:"Oswald",sans-serif; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; font-size:13px; margin-top:6px; }

    .stat-grid { display:grid; gap:12px; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); margin-bottom: 26px; }
    .stat { background: var(--panel); border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
    .stat .lbl { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-size:11px; }
    .stat .val { font-family:"Anton",sans-serif; font-size: 26px; margin-top:6px; }

    .panel-title { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.12em; font-size:14px; color:var(--accent); margin: 6px 0 12px; }

    table.players { width:100%; border-collapse: collapse; background: var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
    table.players th, table.players td { text-align:left; padding: 11px 14px; font-size: 14px; border-bottom:1px solid var(--line); }
    table.players th { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--muted); background:#141417; }
    table.players tr:last-child td { border-bottom: none; }
    table.players .pos { font-family:"Oswald",sans-serif; color: var(--accent); font-weight:600; }

    .btn-row { display:flex; gap:12px; flex-wrap:wrap; margin-top: 22px; }
    .btn {
      display:inline-flex; align-items:center; gap:8px; cursor:pointer;
      font-family:"Oswald",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:13px;
      padding: 11px 18px; border-radius:10px; border:1px solid var(--line); background:var(--panel-2); color:var(--text);
      transition:.15s;
    }
    .btn:hover { border-color: var(--accent); }
    .btn.primary { background: var(--accent); border-color: var(--accent); color:#fff; }
    .btn.primary:hover { background: var(--accent-dk); }

    /* ---------- Stadium view ---------- */
    .stadium-wrap { display:grid; gap:20px; grid-template-columns: 1fr; }
    @media (min-width: 820px) { .stadium-wrap { grid-template-columns: 1.1fr .9fr; align-items:start; } }
    .photo-ph {
      aspect-ratio: 16/9; width:100%; border-radius:var(--radius); border:1px dashed var(--line);
      background: repeating-linear-gradient(45deg,#161619,#161619 12px,#1b1b1f 12px,#1b1b1f 24px);
      display:grid; place-items:center; text-align:center; padding: 20px;
    }
    .photo-ph .todo { font-size: 12px; }
    .photo-ph .cap { font-family:"Oswald",sans-serif; color:var(--muted); font-size:12px; letter-spacing:.1em; margin-top:10px; text-transform:uppercase; }
    .stadium-photo { margin: 0; }
    .stadium-photo img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius); border:1px solid var(--line); display:block; box-shadow: var(--shadow); }
    .stadium-photo figcaption { font-family:"Oswald",sans-serif; color:var(--muted); font-size:11px; letter-spacing:.04em; margin-top:8px; }
    .stadium-photo figcaption a { color:var(--muted); text-decoration:underline; }
    .stadium-photo figcaption a:hover { color:var(--accent); }
    .stadium-facts { list-style:none; padding:0; margin: 14px 0 0; }
    .stadium-facts li { display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
    .stadium-facts .k { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:12px; color:var(--muted); }
    .stadium-facts .v { font-weight:600; text-align:right; }
    .blurb { color:#d6d6da; line-height:1.6; margin-top: 14px; font-size: 15px; }
    /* compact "key players" list on the stadium about-panel */
    .mini-players { list-style:none; padding:0; margin: 12px 0 0; display:grid; gap:7px; }
    .mini-players li { display:flex; align-items:baseline; gap:10px; font-size:14px; border-bottom:1px solid var(--line); padding-bottom:7px; }
    .mini-players li:last-child { border-bottom:none; }
    .mini-players .mp-pos { font-family:"Oswald",sans-serif; color:var(--accent); font-weight:600; font-size:11px; letter-spacing:.06em; min-width:34px; }
    .mini-players .mp-name { font-weight:600; flex:1; }
    .mini-players .mp-line { color:var(--muted); font-size:13px; text-align:right; }

    /* ---------- Live scoreboard ticker ---------- */
    .scoreboard { margin: 0 0 18px; }
    .sb-head { display:flex; align-items:center; gap:10px; margin-bottom:10px; flex-wrap:wrap; }
    .sb-title { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.14em; font-size:13px; }
    .sb-meta { font-family:"Oswald",sans-serif; color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase; }
    .sb-demo { margin-left:auto; }
    .sb-demo button { cursor:pointer; font-family:"Oswald",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.06em; font-size:11px;
      background:var(--panel-2); color:var(--text); border:1px solid var(--line); padding:6px 11px; border-radius:8px; transition:.15s; }
    .sb-demo button:hover { border-color:var(--accent); }
    .sb-rail { display:flex; gap:12px; overflow-x:auto; padding:4px 2px 10px; scroll-snap-type:x proximity; }
    .sb-rail::-webkit-scrollbar { height:7px; } .sb-rail::-webkit-scrollbar-thumb { background:var(--line); border-radius:4px; }
    .sb-card { scroll-snap-align:start; flex:0 0 auto; width:208px; background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:11px 13px; cursor:pointer; transition:.15s; position:relative; }
    .sb-card:hover { border-color:var(--accent); transform:translateY(-2px); }
    .sb-status { display:flex; align-items:center; gap:6px; font-family:"Oswald",sans-serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
    .sb-status .live { color:#fff; background:var(--accent); padding:1px 7px; border-radius:5px; font-weight:700; }
    .sb-status .final { color:var(--text); }
    .sb-status .dot { width:7px; height:7px; border-radius:50%; background:var(--accent); display:inline-block; animation:pulse 1.3s infinite; }
    @keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:.25;} }
    .sb-card.demo { border-color: var(--gold); }
    .sb-card .demo-tag { position:absolute; top:8px; right:10px; font-family:"Oswald",sans-serif; font-size:9px; letter-spacing:.12em; color:var(--gold); border:1px dashed rgba(242,193,78,.6); border-radius:5px; padding:0 5px; }
    .sb-team { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:3px 0; }
    .sb-team .nm { font-family:"Oswald",sans-serif; font-weight:600; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .sb-team .nm .sd { color:var(--muted); font-size:11px; margin-right:4px; }
    .sb-team .sc { font-family:"Anton",sans-serif; font-size:19px; min-width:24px; text-align:right; }
    .sb-team.lead .sc, .sb-team.lead .nm { color:#fff; }
    .sb-empty { color:var(--muted); font-family:"Oswald",sans-serif; font-size:13px; padding:8px 2px; letter-spacing:.04em; }

    /* live bits inside the regional schedule */
    .game-when .score { font-family:"Anton",sans-serif; font-size:16px; color:#fff; }
    .game-when .st-live { color:var(--accent); font-weight:700; }
    .game-row.has-live { cursor:pointer; }
    .game-row.has-live:hover { background:rgba(232,32,42,.06); }

    /* ---------- Game detail view ---------- */
    .gd-status { display:inline-flex; align-items:center; gap:8px; font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:13px; margin-bottom:4px; }
    .gd-status .live { color:#fff; background:var(--accent); padding:2px 9px; border-radius:6px; font-weight:700; }
    .gd-status .dot { width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;animation:pulse 1.3s infinite;}
    .linescore { width:100%; border-collapse:collapse; margin:16px 0; background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
    .linescore th, .linescore td { padding:9px 10px; text-align:center; font-size:13px; border-bottom:1px solid var(--line); }
    .linescore th { font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:11px; letter-spacing:.06em; color:var(--muted); background:#141417; }
    .linescore td.team { text-align:left; font-family:"Oswald",sans-serif; font-weight:700; white-space:nowrap; }
    .linescore td.rhe { font-family:"Anton",sans-serif; font-size:16px; }
    .linescore tr:last-child td { border-bottom:none; }
    .gd-note { color:var(--muted); font-size:13px; font-family:"Oswald",sans-serif; letter-spacing:.04em; }

    /* live situation strip */
    .situation { display:flex; align-items:center; gap:22px; flex-wrap:wrap; background:var(--panel); border:1px solid var(--line);
      border-left:3px solid var(--accent); border-radius:12px; padding:14px 18px; margin:14px 0; }
    .situation .sit-col { text-align:center; }
    .situation .sit-v { font-family:"Anton",sans-serif; font-size:22px; line-height:1; display:flex; gap:5px; justify-content:center; align-items:center; }
    .situation .sit-l { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:10px; color:var(--muted); margin-top:5px; }
    .odot { width:12px; height:12px; border-radius:50%; border:2px solid var(--line); display:inline-block; }
    .odot.on { background:var(--accent); border-color:var(--accent); }
    .diamond { position:relative; width:54px; height:54px; }
    .diamond .base { position:absolute; width:16px; height:16px; background:#0e0e10; border:2px solid var(--line); transform:rotate(45deg); }
    .diamond .base.on { background:var(--gold); border-color:var(--gold); }
    .diamond .second { top:0; left:19px; } .diamond .third { top:19px; left:0; } .diamond .first { top:19px; right:0; }
    .situation .sit-bp { font-family:"Oswald",sans-serif; font-size:14px; line-height:1.5; }
    .situation .sit-bp .sit-l { display:inline; margin-right:4px; }

    /* scoring plays */
    .plays { background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
    .play { display:flex; align-items:baseline; gap:12px; padding:10px 14px; border-bottom:1px solid var(--line); font-size:14px; }
    .play:last-child { border-bottom:none; }
    .play .pinn { font-family:"Oswald",sans-serif; font-weight:700; color:var(--accent); font-size:12px; min-width:30px; }
    .play .ptext { flex:1; }
    .play .pscore { font-family:"Anton",sans-serif; font-size:15px; white-space:nowrap; }
    .plays-legend { font-family:"Oswald",sans-serif; color:var(--muted); font-size:11px; letter-spacing:.06em; margin:6px 2px 0; text-transform:uppercase; }

    /* box score */
    details.boxteam { background:var(--panel); border:1px solid var(--line); border-radius:12px; margin:10px 0; overflow:hidden; }
    details.boxteam > summary { cursor:pointer; list-style:none; padding:12px 16px; font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:14px; }
    details.boxteam > summary::-webkit-details-marker { display:none; }
    details.boxteam > summary::after { content:"▾"; float:right; color:var(--muted); }
    details.boxteam[open] > summary::after { content:"▴"; }
    .box-sub { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--accent); padding:6px 16px 2px; }
    table.box-table { width:100%; border-collapse:collapse; font-size:13px; }
    table.box-table th, table.box-table td { padding:6px 10px; text-align:center; border-bottom:1px solid var(--line); white-space:nowrap; }
    table.box-table th { font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:10px; letter-spacing:.06em; color:var(--muted); }
    table.box-table .pl { text-align:left; }
    table.box-table tbody tr:last-child td { border-bottom:none; }

    /* ---------- Matchup comparison ---------- */
    .cmp-head { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:14px; margin-bottom:18px; }
    .cmp-team { display:flex; align-items:center; gap:12px; min-width:0; }
    .cmp-team.right { flex-direction:row-reverse; text-align:right; }
    .cmp-team .nm { font-family:"Anton",sans-serif; text-transform:uppercase; font-size:clamp(18px,2.6vw,28px); line-height:.95; }
    .cmp-team .cf { font-family:"Oswald",sans-serif; color:var(--muted); font-size:11px; letter-spacing:.08em; text-transform:uppercase; margin-top:4px; }
    .cmp-vs { font-family:"Anton",sans-serif; color:var(--accent); font-size:18px; }
    /* matchup odds panel */
    .cmp-odds { border:1px solid var(--line); border-radius:12px; background:var(--panel); padding:12px 16px; margin:14px 0; }
    .cmp-odds.none { display:flex; align-items:center; justify-content:space-between; }
    .cmp-odds .co-head { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
    .cmp-odds .co-h { font-family:"Oswald",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:12px; color:var(--accent); }
    .cmp-odds .co-na { font-family:"Oswald",sans-serif; font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.06em; }
    .cmp-odds .co-x { font-family:"Oswald",sans-serif; font-size:11px; color:var(--muted); border:1px solid var(--line); border-radius:6px; padding:1px 8px; }
    .cmp-odds .co-row { display:flex; align-items:center; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--line); }
    .cmp-odds .co-row:last-of-type { border-bottom:none; }
    .cmp-odds .co-t { font-family:"Oswald",sans-serif; font-weight:600; }
    .cmp-odds .co-fav { font-family:"Oswald",sans-serif; font-size:9px; letter-spacing:.08em; color:var(--gold); border:1px solid rgba(242,193,78,.5); border-radius:4px; padding:0 5px; margin-left:6px; vertical-align:middle; }
    .cmp-odds .co-v { font-family:"Anton",sans-serif; font-size:16px; }
    .cmp-odds .co-foot { color:var(--muted); font-size:10px; margin-top:9px; letter-spacing:.02em; }
    .cmp-table { width:100%; border-collapse:collapse; background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
    .cmp-table td { padding:11px 14px; border-bottom:1px solid var(--line); font-family:"Oswald",sans-serif; }
    .cmp-table tr:last-child td { border-bottom:none; }
    .cmp-table .cv { width:34%; font-size:18px; font-weight:600; color:var(--muted); }
    .cmp-table .cv:first-child { text-align:left; }
    .cmp-table .cv:last-child { text-align:right; }
    .cmp-table .cv.win { color:#fff; }
    .cmp-table .cv.win::after { content:"\25C0"; color:var(--accent); font-size:9px; margin-left:7px; vertical-align:middle; }
    .cmp-table .cv:last-child.win::after { content:""; margin:0; }
    .cmp-table .cv:last-child.win::before { content:"\25B6"; color:var(--accent); font-size:9px; margin-right:7px; vertical-align:middle; }
    .cmp-table .cl { text-align:center; color:var(--muted); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }
    .cmp-players { display:grid; grid-template-columns:1fr; gap:18px; margin-top:24px; }
    @media (min-width:720px) { .cmp-players { grid-template-columns:1fr 1fr; } }
    .cmp-pl { display:flex; gap:10px; align-items:baseline; padding:8px 0; border-bottom:1px solid var(--line); font-size:14px; }
    .cmp-pl:last-child { border-bottom:none; }
    .cmp-pl .pos { font-family:"Oswald",sans-serif; color:var(--accent); font-weight:600; font-size:12px; min-width:34px; }
    .cmp-pl .pn { flex:1; }
    .cmp-pl .ln { color:var(--muted); font-size:13px; white-space:nowrap; }
    .game-row.has-compare { cursor:pointer; }
    .game-row.has-compare:hover { background:rgba(232,32,42,.06); }
    .game-when .vsbadge { display:inline-block; margin-left:8px; padding:2px 8px; border-radius:6px; background:var(--panel-2); border:1px solid var(--line); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }

    footer { text-align:center; color:var(--muted); font-size:12px; padding: 30px 16px 40px; font-family:"Oswald",sans-serif; letter-spacing:.06em; }
    footer .todo { vertical-align: middle; }
