/* 🏈 NFL Scores: page frame. The server serves app.css = this file + hub/scoreboard.py's own card CSS + look.css
   (the new look: tokens, header, cards, ⓘ bubbles, login), in that order. */
:root {--bg:#ffffff;--ink:#31333f;--muted:rgba(49,51,63,.6);--link:#1c6fd1;--sx-line:rgba(128,128,128,.22);
       --sx-surface:rgba(128,128,128,.055);--c1:#0f2a1c;--c2:#2b6b3f;color-scheme:light;}
:root[data-theme="dark"] {--bg:#0e1117;--ink:#fafafa;--muted:rgba(250,250,250,.6);--link:#5aa7ff;color-scheme:dark;}
* {box-sizing:border-box;}
html {-webkit-text-size-adjust:100%;}
body {margin:0;background:var(--bg);color:var(--ink);
      font:16px/1.5 "Source Sans 3","Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
:root[data-theme="dark"] {--sb-frost:rgba(14,17,23,.74) !important;}
a {color:var(--link);}
main {max-width:1320px;margin:0 auto;padding:16px 40px 40px;}
@media (max-width:640px) {main {padding:12px 16px 32px;}}
button, select {font:inherit;color:inherit;}


/* week navigation: ◀ [week] ▶ ↩ on one row, also on phones */
.wknav {display:flex;gap:8px;align-items:center;margin:0 0 .6rem;}
.wknav select {flex:1 1 auto;min-width:0;max-width:420px;height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--sx-line);
  background:var(--sx-surface);font-weight:600;}
.wknav button {flex:none;height:40px;min-width:46px;padding:0 12px;border-radius:10px;border:1px solid var(--sx-line);
  background:var(--sx-surface);cursor:pointer;font-weight:700;}
.wknav button:hover:not(:disabled) {border-color:rgba(128,128,128,.5);}
.wknav button:disabled {opacity:.35;cursor:default;}
@media (max-width:640px) {.wknav button#home {font-size:.8rem;padding:0 10px;}}

/* sticky ticker */
.tickbar {position:sticky;top:0;z-index:50;padding:.45rem .6rem;margin:0 -.6rem .3rem;border-radius:0 0 14px 14px;
  border-bottom:1px solid var(--sb-line);background:var(--sb-frost);
  -webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);box-shadow:0 6px 18px -10px rgba(0,0,0,.35);}

/* bits Streamlit used to draw */
.cap {font-size:.86rem;color:var(--muted);margin:.5rem 0 0;}
.note {border-radius:10px;padding:12px 16px;margin:.8rem 0;background:rgba(28,131,225,.1);color:inherit;}
.muted {opacity:.7;}
.cols {display:grid;grid-template-columns:1.25fr 1fr;gap:16px 24px;align-items:start;}
@media (max-width:640px) {.cols {grid-template-columns:1fr;}}
.chart {border:1px solid var(--sx-line);border-radius:16px;background:var(--sx-surface);padding:6px 6px 2px;overflow:hidden;min-height:120px;}
.chart.wp {min-height:372px;} .chart.mo {min-height:272px;}
.lab {margin:1.4rem 0 0;} .sbx .lab a {color:var(--link);}
.err {border:1px solid rgba(227,73,72,.45);background:rgba(227,73,72,.08);border-radius:12px;padding:12px 16px;margin:.8rem 0;}

/* loading: a thin bar at the very top, and grey placeholders before the first answer */
#bar {position:fixed;left:0;top:0;height:3px;width:0;z-index:100;background:linear-gradient(90deg,var(--c1),var(--c2),#6fd08c);
      transition:width .25s ease, opacity .3s ease;opacity:0;}
#bar.on {opacity:1;width:70%;transition:width 4s cubic-bezier(.1,.7,.2,1);}
#bar.done {opacity:0;width:100%;}
@keyframes skel {50% {opacity:.45;}}
.skel {height:180px;border-radius:18px;background:var(--sx-surface);border:1px solid var(--sx-line);margin:12px 0;animation:skel 1.4s infinite;}
#perf {margin-top:2rem;font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;text-align:center;}


@keyframes sbpulse {50% {opacity:.25;}}
.mls {border-collapse:collapse;margin:8px 0 0 auto;font-size:.74rem;font-variant-numeric:tabular-nums;}
.mls th {font-weight:700;opacity:.55;padding:0 7px;text-align:center;}
.mls td {padding:1px 7px;text-align:center;opacity:.85;} .mls td.t {text-align:left;font-weight:700;opacity:1;padding-left:0;}
.mls td.tot {font-weight:900;opacity:1;border-left:1px solid rgba(128,128,128,.35);}
.ls {border-collapse:collapse;margin:.2rem auto .8rem;font-variant-numeric:tabular-nums;min-width:min(520px,100%);}
.ls th {font-size:.72rem;font-weight:800;letter-spacing:.05em;opacity:.6;padding:4px 12px;text-align:center;border-bottom:1px solid rgba(128,128,128,.35);}
.ls td {padding:6px 12px;text-align:center;font-size:1rem;}
.ls td.t {text-align:left;font-weight:800;white-space:nowrap;} .ls td.t img {margin-right:8px;}
.ls td.tot {font-weight:900;font-size:1.15rem;border-left:1px solid rgba(128,128,128,.35);}
.ls td.x {opacity:.65;font-size:.88rem;border-left:1px solid rgba(128,128,128,.35);}
.ls tr.w td.tot {text-decoration:underline;text-underline-offset:4px;}
.stx {display:flex;flex-direction:column;gap:9px;}
.stx .r {display:grid;grid-template-columns:70px 1fr 70px;gap:8px;align-items:center;font-variant-numeric:tabular-nums;}
.stx .v {font-weight:700;font-size:.9rem;} .stx .v.h {text-align:right;}
.stx .v.lead {font-weight:900;}
.stx .mid {display:flex;flex-direction:column;gap:3px;}
.stx .lbl {text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.04em;opacity:.7;text-transform:uppercase;}
.stx .bar {display:flex;height:7px;border-radius:4px;overflow:hidden;gap:2px;background:rgba(128,128,128,.12);}
.per {font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.6;margin:.7rem 0 .3rem;}
.stars {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.star {border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:10px;display:flex;gap:10px;align-items:center;}
.star img.hs {width:52px;height:52px;border-radius:50%;object-fit:cover;background:rgba(128,128,128,.15);}
.star .n {font-weight:800;} .star .s {font-size:.78rem;opacity:.75;} .star .k {font-size:.68rem;font-weight:800;letter-spacing:.08em;opacity:.6;}
.ldr {display:grid;grid-template-columns:110px 1fr 1fr;gap:6px 12px;font-size:.86rem;align-items:start;}
.ldr .c {font-size:.7rem;font-weight:800;letter-spacing:.06em;opacity:.6;text-transform:uppercase;padding-top:2px;}
@media (max-width:640px) {.stars {grid-template-columns:1fr;} .ldr {grid-template-columns:80px 1fr 1fr;font-size:.8rem;}
  .ls th, .ls td {padding:4px 6px;} .mls th, .mls td {padding:0 4px;}}
.gc-tiles {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:.8rem 0;}
.gc-tile {border:1px solid rgba(128,128,128,.3);border-radius:12px;padding:10px 12px;}
.gc-tile .k {font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.65;}
.gc-tile .v {font-size:1.45rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2;}
.gc-tile .s {font-size:.78rem;opacity:.75;}
.gc-list {display:flex;flex-direction:column;gap:6px;}
.gc-item {display:grid;grid-template-columns:86px 1fr auto;gap:10px;align-items:center;padding:7px 10px;
          border:1px solid rgba(128,128,128,.25);border-radius:8px;font-size:.88rem;}
.gc-item .when {opacity:.7;font-variant-numeric:tabular-nums;font-size:.8rem;}
.gc-item .chg {font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;}
.gc-item .tag {font-size:.65rem;font-weight:800;letter-spacing:.06em;padding:0 5px;border-radius:4px;border:1px solid rgba(128,128,128,.5);margin-left:4px;}
@media (max-width:640px) {
  .gc-tiles {grid-template-columns:repeat(2,minmax(0,1fr));}
  .gc-item {grid-template-columns:64px 1fr auto;font-size:.82rem;}
}



:root {--sb-surface:rgba(128,128,128,.055);--sb-line:rgba(128,128,128,.22);--sb-live:#e34948;--sb-frost:rgba(255,255,255,.78);}
@keyframes sbpulse {50% {opacity:.25;}}
/* live views refresh every 15 s: don't dim them while a refresh runs (Streamlit's "stale" fade) */
.st-key-sbview [data-stale="true"], .st-key-liveslate [data-stale="true"] {opacity:1 !important;transition:none !important;}
/* ...instead, only a score that changed glows for a moment */
@keyframes sbflash {0% {background:rgba(255,196,0,.42);box-shadow:0 0 0 6px rgba(255,196,0,.42);}
                    100% {background:transparent;box-shadow:0 0 0 6px transparent;}}
.flash {animation:sbflash 2.6s ease-out;border-radius:10px;}
.bc.upd {font-weight:600;opacity:.75;font-variant-numeric:tabular-nums;}
.sbx a, .sbx a:hover {color:inherit;text-decoration:none;}
[data-gid] {cursor:pointer;}
/* header band */
.board {display:flex;align-items:center;justify-content:space-between;gap:12px 18px;flex-wrap:wrap;padding:14px 18px;
        border:1px solid var(--sb-line);border-radius:16px;background:var(--sb-surface);margin:.2rem 0 .4rem;}
.board .k {font-size:.68rem;font-weight:800;letter-spacing:.14em;opacity:.55;}
.board .h {font-size:1.45rem;font-weight:800;line-height:1.15;letter-spacing:-.01em;}
.board .chips {display:flex;gap:8px;flex-wrap:wrap;}
.bc {font-size:.8rem;font-weight:700;padding:5px 11px;border-radius:999px;border:1px solid var(--sb-line);background:rgba(128,128,128,.06);white-space:nowrap;}
.bc.live {color:var(--sb-live);border-color:rgba(227,73,72,.45);background:rgba(227,73,72,.08);}
.bc.live::before, .chip.live::before, .sx.live .dot, .tk-g.live .tk-s::before {content:"";display:inline-block;width:7px;height:7px;
  border-radius:50%;background:var(--sb-live);margin-right:6px;vertical-align:1px;animation:sbpulse 1.4s infinite;}
/* section headers */
.sx {display:flex;align-items:center;gap:10px;margin:1.3rem 0 .7rem;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.sx .n {font-size:.72rem;font-weight:800;letter-spacing:0;padding:1px 8px;border-radius:999px;background:rgba(128,128,128,.14);}
.sx::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--sb-line),transparent);}
.sx.live {color:var(--sb-live);} .sx.live .n {background:rgba(227,73,72,.14);}
.sx .dot {display:none;} .sx.live .dot {display:inline-block;margin:0;}
/* status chips */
.chip {display:inline-flex;align-items:center;font-size:.72rem;font-weight:800;letter-spacing:.06em;padding:3px 9px;border-radius:999px;
       border:1px solid var(--sb-line);white-space:nowrap;text-transform:uppercase;}
.chip.live {color:var(--sb-live);border-color:rgba(227,73,72,.45);background:rgba(227,73,72,.09);}
.chip.final {background:rgba(128,128,128,.12);}
.chip.hit {color:#2e9e4f;border-color:rgba(46,158,79,.5);background:rgba(46,158,79,.10);}
.chip.miss {color:#e34948;border-color:rgba(227,73,72,.5);background:repeating-linear-gradient(135deg,rgba(227,73,72,.14) 0 4px,transparent 4px 8px);}
.chip.soft {text-transform:none;letter-spacing:0;font-weight:700;opacity:.9;}
/* game cards */
.cg {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:14px;}
.gc2 {position:relative;overflow:hidden;border:1px solid var(--sb-line);border-radius:18px;background:var(--sb-surface);
      padding:16px 16px 12px;transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;}
.gc2:hover {transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.12);border-color:rgba(128,128,128,.4);}
.gc2.live {border-color:rgba(227,73,72,.35);box-shadow:0 0 0 1px rgba(227,73,72,.10) inset;}
.gc2 .acc {position:absolute;left:0;right:0;top:0;height:4px;}
.gc2 .top {display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap;}
.gc2 .sit {font-size:.78rem;font-weight:700;opacity:.8;}
.gc2 .teams {display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;}
.gc2 .tm {display:flex;align-items:center;gap:10px;min-width:0;}
.gc2 .tm.h {flex-direction:row-reverse;text-align:right;}
.gc2 .nm {display:flex;flex-direction:column;line-height:1.1;min-width:0;}
.gc2 .nm b {font-size:1.12rem;letter-spacing:.01em;display:flex;align-items:center;white-space:nowrap;}
.gc2 .tm.h .nm b {justify-content:flex-end;}
/* the ball never changes the row's height (it used to wrap and push the helmets down) */
.gc2 .nm b .possb {margin-block:-4px;vertical-align:0;}
.gc2 .lg {position:relative;flex:none;display:inline-flex;}
.gc2 .lg img {flex:none;object-fit:contain;}
.gc2 .pbd {display:none;position:absolute;bottom:-3px;right:-5px;font-style:normal;font-size:.7rem;line-height:1;padding:2px 3px;
  border-radius:999px;border:1.5px solid var(--pc);background:color-mix(in srgb,var(--pc) 18%,var(--sb-frost));}
.gc2 .tm.h .pbd {right:auto;left:-5px;}
.gc2 {container-type:inline-size;}
@container (max-width:600px) {.gc2 .possb em {display:none;} .gc2 .possb {padding:3px 5px;margin:0 4px;}}
@container (max-width:420px) {.gc2 .nm b .possb {display:none;} .gc2 .pbd {display:block;}}
.gc2 .nm span {font-size:.74rem;opacity:.62;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.gc2 .sc {display:flex;align-items:baseline;gap:12px;font-variant-numeric:tabular-nums;font-weight:900;font-size:2.6rem;line-height:1;}
.gc2 .sc .x {opacity:.3;font-weight:500;font-size:1.6rem;}
.gc2 .sc .trail {opacity:.45;}
.gc2.pre .sc {font-size:1rem;font-weight:700;opacity:.55;}
.gc2 .wp {margin-top:14px;}
.gc2 .wpbar {display:flex;height:10px;border-radius:999px;overflow:hidden;gap:2px;background:rgba(128,128,128,.12);}
.gc2 .wplbl {display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;margin-top:5px;font-variant-numeric:tabular-nums;}
.gc2 .wplbl .c {font-size:.64rem;font-weight:800;letter-spacing:.1em;opacity:.55;}
.gc2 .wplbl b {font-size:.95rem;}
.gc2 .lower {display:flex;align-items:flex-end;gap:14px;margin-top:6px;}
.gc2 .lower .sp {flex:1;min-width:0;}
.gc2 .spark {width:100%;height:48px;display:block;}
.gc2 .spark .mid {stroke:currentColor;stroke-width:1;stroke-dasharray:3 4;opacity:.3;}
.gc2 .spark .pd {stroke:currentColor;stroke-width:1;opacity:.12;}
.gc2 .mls {margin:0;}
.gc2 .meta {display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--sb-line);}
.ball {font-size:.8rem;margin:0 3px;}
.possb {display:inline-flex;align-items:center;gap:3px;font-size:.72rem;line-height:1;padding:3px 7px 3px 5px;margin:0 6px;border-radius:999px;
        vertical-align:2px;border:1.5px solid var(--pc);background:color-mix(in srgb,var(--pc) 16%,transparent);}
.possb em {font-style:normal;font-size:.6rem;font-weight:900;letter-spacing:.08em;}
.gc2 .tm.poss img {filter:drop-shadow(0 0 6px color-mix(in srgb,var(--pc) 70%,transparent));}
.tos {display:flex;gap:4px;margin-top:5px;} .tm.h .tos, .hero .tos {justify-content:flex-end;}
.hero .tos {justify-content:center;}
.tos i {display:block;width:14px;height:5px;border-radius:3px;background:var(--pc);}
.tos i.used {background:transparent;box-shadow:inset 0 0 0 1px rgba(128,128,128,.45);}
/* upcoming mini cards */
.ug {display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:12px;}
.uc {border:1px solid var(--sb-line);border-radius:16px;background:var(--sb-surface);padding:12px 14px;
     transition:transform .14s ease, box-shadow .14s ease;}
.uc:hover {transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.11);}
.uc .ut {display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.uc .ut .t {font-size:.78rem;font-weight:800;opacity:.75;}
.uc .ur {display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:3px 0;}
.uc .ur b {font-size:.98rem;} .uc .ur .nk {font-size:.74rem;opacity:.6;margin-left:4px;}
.uc .ur .p {font-variant-numeric:tabular-nums;font-weight:700;opacity:.65;}
.uc .ur.fav .p {opacity:1;font-weight:900;}
.uc .utv {font-size:.72rem;font-weight:600;opacity:.65;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.uc .ubar {display:flex;height:6px;border-radius:999px;overflow:hidden;gap:2px;margin-top:8px;background:rgba(128,128,128,.12);}
/* ticker */
.tk {position:relative;}
.tk .scroller {display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;padding:2px 2px 6px;scroll-behavior:smooth;}
.tk-g, .tk-all {flex:none;border:1px solid var(--sb-line);border-radius:12px;background:var(--sb-surface);padding:6px 10px;min-width:118px;
                transition:border-color .12s ease, background .12s ease;}
.tk-g:hover, .tk-all:hover {border-color:rgba(128,128,128,.5);}
.tk-g.on {border:2px solid currentColor;padding:5px 9px;background:rgba(128,128,128,.12);}
.tk-all {display:flex;align-items:center;justify-content:center;min-width:auto;font-weight:800;font-size:.8rem;padding:6px 12px;}
.tk-s {font-size:.64rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.65;margin-bottom:2px;white-space:nowrap;}
.tk-g.live .tk-s {color:var(--sb-live);opacity:1;}
.tk-r {display:grid;grid-template-columns:24px 1fr auto;gap:6px;align-items:center;font-size:.82rem;line-height:1.35;font-variant-numeric:tabular-nums;}
.tk-r b {font-weight:800;} .tkb {font-size:.66rem;} .tk-r.l {opacity:.5;} .tk-r .p {font-size:.72rem;opacity:.7;}
.st-key-sbtick {position:sticky;top:3.75rem;z-index:50;padding:.45rem .6rem .45rem;margin:0 -.6rem .3rem;border-radius:0 0 14px 14px;
                border-bottom:1px solid var(--sb-line);background:var(--sb-frost);
                -webkit-backdrop-filter:blur(14px) saturate(1.6);backdrop-filter:blur(14px) saturate(1.6);
                box-shadow:0 6px 18px -10px rgba(0,0,0,.35);}
.momrow {margin-top:10px;padding-top:8px;border-top:1px dashed var(--sb-line);}
.st-key-sbnav [data-testid="stHorizontalBlock"] {flex-wrap:nowrap !important;}
.st-key-sbnav [data-testid="stColumn"] {min-width:0 !important;width:auto !important;}
.st-key-sbnav [data-testid="stColumn"]:nth-child(2) {flex:1 1 auto !important;}
.st-key-sbnav [data-testid="stColumn"]:nth-child(1), .st-key-sbnav [data-testid="stColumn"]:nth-child(3) {flex:0 0 46px !important;}
@media (max-width:640px) {.st-key-sbnav [data-testid="stColumn"]:nth-child(4) {flex:0 0 auto !important;}
  .st-key-sbnav [data-testid="stColumn"]:nth-child(4) button p {font-size:.8rem;}}
/* play by play */
.pbpf details > summary {list-style:none;cursor:pointer;}
.pbpf details > summary::-webkit-details-marker {display:none;}
.pbpf details > summary::before {content:"";display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.5;margin-right:10px;transition:transform .15s ease;flex:none;}
.pbpf details[open] > summary::before {transform:rotate(45deg);}
.pbp-q {border:1px solid var(--sb-line);border-radius:14px;background:var(--sb-surface);margin-bottom:10px;}
.pbp-q > summary {display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:800;}
.pbp-q > summary small {font-weight:600;opacity:.6;font-size:.78rem;}
.pbp-q > summary .qs {margin-left:auto;font-variant-numeric:tabular-nums;font-size:.85rem;}
.pbp-q > .in {padding:0 14px 8px;}
.pbp-dr {border-top:1px solid var(--sb-line);}
.pbp-dr > summary {display:flex;align-items:center;gap:8px;padding:10px 0;font-size:.88rem;}
.pbp-dr > summary .dt {font-weight:800;}
.pbp-dr > summary small {opacity:.62;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pbp-dr > summary .res {margin-left:auto;font-size:.68rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;
  border-radius:999px;border:1px solid var(--sb-line);white-space:nowrap;}
.pbp-dr > summary .res.sc {border-color:currentColor;}
.pbp-dr > summary .ds {font-size:.74rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;opacity:.85;}
.pbp-dr > .in {padding:0 0 6px 17px;}
@media (max-width:640px) {.pbp-dr > summary {flex-wrap:wrap;row-gap:2px;}
  .pbp-dr > summary small {order:9;flex-basis:100%;padding-left:47px;white-space:normal;} .pbp-dr > .in {padding-left:0;}}
.pbp-latest {display:flex;gap:12px;align-items:center;border:1px solid var(--sb-line);border-left:5px solid var(--pc);border-radius:14px;
             background:var(--sb-surface);padding:12px 14px;margin:.6rem 0 .2rem;}
.pbp-latest .k {font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.65;}
.pbp-latest .t {font-size:.98rem;font-weight:600;line-height:1.35;margin-top:2px;}
.pbp-latest .n {font-size:.78rem;opacity:.7;margin-top:3px;}
.pbp {border:1px solid var(--sb-line);border-radius:14px;background:var(--sb-surface);padding:4px 14px 8px;}
.pbp-d {display:flex;align-items:center;gap:8px;margin:12px 0 2px;font-weight:800;font-size:.88rem;}
.pbp-d small {font-weight:600;opacity:.6;font-size:.76rem;}
.pbp-d .res {margin-left:auto;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;padding:2px 8px;
             border-radius:999px;border:1px solid var(--sb-line);white-space:nowrap;}
.pbp-d .res.sc {border-color:currentColor;}
.pbp-r {display:grid;grid-template-columns:3.4rem 1fr;gap:10px;padding:6px 0;border-top:1px dashed var(--sb-line);
        font-size:.86rem;line-height:1.38;align-items:start;}
.pbp-r .w {font-variant-numeric:tabular-nums;opacity:.6;font-size:.78rem;padding-top:1px;}
.pbp-r .dn {display:block;font-size:.7rem;font-weight:700;letter-spacing:.02em;opacity:.6;}
.pbp-r .lb {font-weight:800;margin-right:4px;}
.pbp-r .sc {display:inline-block;font-size:.72rem;font-weight:800;padding:0 7px;margin-left:6px;border-radius:999px;
            border:1px solid currentColor;font-variant-numeric:tabular-nums;}
.pbp-r.hi {font-weight:600;} .pbp-r.mu {opacity:.55;font-size:.8rem;}
.pbp-r img {vertical-align:-4px;margin-right:6px;}
/* game center hero */
.hero {position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;
       padding:22px 18px 18px;border-radius:20px;border:1px solid var(--sb-line);margin:.5rem 0 .4rem;}
.hero .acc {position:absolute;left:0;right:0;top:0;height:5px;}
.hero .tm {display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;}
.hero .tm.poss img {filter:drop-shadow(0 0 10px color-mix(in srgb,var(--pc) 70%,transparent));}
.hero .tm b {font-size:1.12rem;} .hero .tm span {font-size:.78rem;opacity:.7;}
.hero .mid {display:flex;flex-direction:column;align-items:center;gap:8px;}
.hero .big {font-size:3.4rem;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;letter-spacing:-.02em;}
.hero .big .x {opacity:.3;font-weight:500;margin:0 .12em;}
.hero .big .trail {opacity:.45;}
.hero .sub {font-size:.82rem;opacity:.75;font-weight:600;}
.gh {display:flex;align-items:baseline;gap:10px;margin:1.4rem 0 .6rem;}
.gh b {font-size:1.02rem;font-weight:800;} .gh small {font-size:.78rem;opacity:.6;}
.gh::after {content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--sb-line),transparent);}
.gc-tile {background:var(--sb-surface);border-color:var(--sb-line) !important;border-radius:14px !important;}
.gc-item {background:var(--sb-surface);border-color:var(--sb-line) !important;border-radius:10px !important;}
.ls {background:var(--sb-surface);border-radius:14px;overflow:hidden;}
@media (max-width:640px) {
  .board {padding:12px 14px;} .board .h {font-size:1.2rem;}
  .gc2 {padding:14px 12px 10px;} .gc2 .sc {font-size:2.1rem;gap:8px;} .gc2 .nm > span {display:none;} .possb em {display:none;}
  .gc2 .tm img {height:38px !important;width:46px !important;}
  .gc2 .lower {flex-direction:column;align-items:stretch;gap:6px;} .gc2 .mls {margin-left:auto;}
  .hero {padding:18px 10px 14px;gap:8px;} .hero .big {font-size:2.4rem;} .hero .tm b {font-size:.92rem;}
  .hero img {height:52px !important;width:64px !important;}
  .st-key-sbtick {top:3.6rem;}
}



.mom-svg .mt {stroke:currentColor;stroke-opacity:.25;stroke-width:1.5;}
.mom-svg .mc {stroke:currentColor;stroke-opacity:.45;stroke-width:2;}
.mom-svg .mn {stroke:currentColor;stroke-width:4;stroke-linecap:round;}
.mom-svg .mh {fill:currentColor;}
.mom-svg .ml {font-size:13px;font-weight:800;fill:currentColor;opacity:.7;}
.mom-mini {display:flex;align-items:center;gap:8px;min-width:0;}
.mom-mini .mk {font-size:.6rem;font-weight:800;letter-spacing:.1em;opacity:.55;display:block;}
.mom-mini .mv {font-size:.82rem;font-weight:800;white-space:nowrap;}
.mom-mini .md {font-size:.72rem;opacity:.7;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}
.mom-card {display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;border:1px solid rgba(128,128,128,.22);
           border-radius:16px;background:rgba(128,128,128,.055);padding:14px 18px;}
.mom-card .mv {font-size:1.25rem;font-weight:900;letter-spacing:-.01em;}
.mom-card .mk {font-size:.66rem;font-weight:800;letter-spacing:.1em;opacity:.6;}
.mom-card .drv {margin-top:6px;display:flex;flex-direction:column;gap:4px;font-size:.84rem;}
.mom-card .drv span {opacity:.65;font-size:.76rem;margin-right:6px;font-variant-numeric:tabular-nums;}
.mom-card .drv i {display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;}
@media (max-width:640px) {.mom-card {grid-template-columns:1fr;justify-items:center;text-align:center;gap:8px;}
  .mom-card .drv {align-items:center;}}


.byes {display:flex;flex-wrap:wrap;gap:8px;margin:.2rem 0 1rem;}
.bye {display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 6px;border-radius:999px;
  border:1px solid var(--sb-line, rgba(128,128,128,.25));background:var(--sb-surface, transparent);font-size:.9rem;}
.bye img {height:26px;width:auto;}
.bye b {font-weight:700;letter-spacing:.01em;}
.bye i {font-style:normal;opacity:.65;font-variant-numeric:tabular-nums;font-size:.82rem;}
/* ✨ The site's new look (2026-10-06), shared by every page that has it: tokens (light + dark), the slim header with the
   icon nav, ⓘ info, the family password card and the 🧭 Around the Lab cards. fastboard serves it inside app.css (before
   its own static/look.css); Streamlit pages get it from hub/style.py's polish(app, new=True), which maps the dark tokens
   onto :root when the viewer's theme is dark (Streamlit has no data-theme attribute).
   Tabler icons come from hub/icons.py. */
:root {
  --bg:#f4f5f7; --card:#ffffff; --ink:#15171c; --muted:#666c78; --faint:#9aa0ab;
  --line:rgba(17,24,39,.08); --line2:rgba(17,24,39,.15); --hover:rgba(17,24,39,.045);
  --shadow:0 1px 2px rgba(16,24,40,.04), 0 1px 3px rgba(16,24,40,.06);
  --shadow-h:0 2px 4px rgba(16,24,40,.04), 0 12px 28px -8px rgba(16,24,40,.18);
  --accent:#2f7d46; --live:#e5484d; --ok:#2e9e4f; --no:#e5484d;
  --tip-bg:#1d2029; --tip-ink:#f3f4f6;
  --sx-line:var(--line); --sb-line:var(--line); --sx-surface:var(--card); --sb-surface:var(--card); --sb-live:var(--live);
  --sb-frost:rgba(244,245,247,.82); --link:#1f6fd1;
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",Inter,Roboto,"Helvetica Neue",sans-serif;
}
:root[data-theme="dark"] {
  --bg:#0b0d12; --card:#151921; --ink:#eceef2; --muted:#959cab; --faint:#666d7a;
  --line:rgba(255,255,255,.075); --line2:rgba(255,255,255,.15); --hover:rgba(255,255,255,.055);
  --shadow:0 1px 3px rgba(0,0,0,.45); --shadow-h:0 14px 30px -8px rgba(0,0,0,.7);
  --accent:#5cc879; --tip-bg:#2a303c; --link:#6aaeff;
  --sb-frost:rgba(11,13,18,.8) !important;
}
body {background:var(--bg);color:var(--ink);font-family:var(--font);letter-spacing:-.006em;
      -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
a {color:var(--link);}
.ti {flex:none;vertical-align:-.14em;}

/* ------------------------------------------------------------ header: one slim bar + icon nav */
.nb {margin:0 0 18px;}
.nb-top {display:flex;align-items:center;gap:10px;min-height:38px;}
.nb-brand {display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;min-width:0;}
.nb-mark {width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:19px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), 0 2px 6px rgba(0,0,0,.16);}
.nb-name {font-size:1.12rem;font-weight:700;letter-spacing:-.02em;white-space:nowrap;}
.nb-tools {margin-left:auto;display:flex;align-items:center;gap:8px;}
.icb {width:34px;height:34px;padding:0;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);
  background:var(--card);box-shadow:var(--shadow);cursor:pointer;font-size:18px;color:var(--muted);}
.icb:hover {color:var(--ink);}
.nb-nav {display:flex;gap:2px;margin-top:12px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);}
.nb-nav::-webkit-scrollbar {display:none;}
.nb-nav a {display:flex;align-items:center;gap:6px;padding:7px 10px 10px;margin-bottom:-1px;color:var(--muted);text-decoration:none;
  font-size:.84rem;font-weight:500;white-space:nowrap;border-bottom:2px solid transparent;transition:color .12s ease;}
.nb-nav a .ti {font-size:1.08rem;}
.nb-nav a:hover {color:var(--ink);}
.nb-nav a.on {color:var(--ink);font-weight:650;border-bottom-color:var(--accent);}
.nb-nav a.on .ti {color:var(--accent);}
@media (max-width:640px) {
  .nb-name {font-size:1.02rem;} .nb-mark {width:30px;height:30px;font-size:17px;border-radius:9px;}
    .nb-nav {margin:10px -16px 0;padding:0 16px;mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 28px),transparent);}
  .nb-nav a {padding:7px 9px 9px;font-size:.8rem;}
  .wknav #home span {display:none;}                /* ↩ alone: the week's name keeps its room */
}

/* ------------------------------------------------------------ ⓘ info buttons + bubble */
.ib {display:inline-grid;place-items:center;width:24px;height:24px;padding:0;margin:0 0 0 2px;border:0;border-radius:50%;
  background:none;color:var(--faint);cursor:pointer;font-size:16px;line-height:1;vertical-align:middle;flex:none;
  letter-spacing:0;text-transform:none;transition:color .12s ease, background .12s ease;}
.ib:hover, .ib[aria-expanded="true"] {color:var(--ink);background:var(--hover);}
.ib:focus-visible, .tip {position:absolute;z-index:200;left:0;top:0;width:max-content;max-width:min(340px,calc(100vw - 24px));padding:10px 13px;
  border-radius:12px;background:var(--tip-bg);color:var(--tip-ink);font-size:.84rem;font-weight:450;line-height:1.45;
  letter-spacing:0;text-align:left;box-shadow:0 12px 32px -8px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;transform:translateY(3px);transition:opacity .12s ease, transform .12s ease, visibility 0s .12s;}
.tip.on {opacity:1;visibility:visible;transform:none;transition:opacity .12s ease, transform .12s ease;}
.tip::before {content:"";position:absolute;left:calc(var(--ax, 50%) - 6px);width:12px;height:12px;background:inherit;
  transform:rotate(45deg);border-radius:2px;}
.tip[data-side="below"]::before {top:-5px;} .tip[data-side="above"]::before {bottom:-5px;}
.tip a {color:inherit;text-decoration:underline;}
:root[data-theme="dark"] .tip {box-shadow:0 0 0 1px rgba(255,255,255,.08), 0 12px 32px -8px rgba(0,0,0,.7);}

/* ------------------------------------------------------------ family password page */
.login {max-width:380px;margin:9vh auto 0;padding:28px 24px 24px;text-align:center;border-radius:20px;background:var(--card);
  border:1px solid var(--line);box-shadow:var(--shadow-h);}
.login-ic {width:52px;height:52px;margin:0 auto 12px;border-radius:16px;display:grid;place-items:center;font-size:26px;
  color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}
.login h1 {font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;}
.login p {color:var(--muted);font-size:.9rem;margin:0 0 18px;}
.login form {display:flex;flex-direction:column;gap:10px;}
.login input {height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);
  font:inherit;font-size:1rem;}
.login input:focus {outline:2px solid var(--accent);outline-offset:1px;border-color:transparent;}
.login button {height:44px;border:0;border-radius:12px;cursor:pointer;font:inherit;font-weight:650;color:#fff;
  background:linear-gradient(135deg,#0f2a1c,#2b6b3f);}
.login button:hover {filter:brightness(1.12);}
.login .login-err {color:var(--no);font-weight:600;margin:12px 0 0;}
#theme:empty {display:none;}               /* the login page has no script to fill it */

/* ------------------------------------------------------------ 🧭 Around the Lab drawer (the other pages' sidebar) */
.icb.me {width:auto;min-width:34px;padding:0 9px;gap:6px;display:inline-flex;align-items:center;font-size:18px;}
.me-n {font-size:.84rem;font-weight:600;color:var(--ink);max-width:9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.me-n:empty {display:none;}
.atl {position:fixed;inset:0;z-index:150;}
.atl-scrim {position:absolute;inset:0;background:rgba(10,12,16,.38);opacity:0;transition:opacity .2s ease;}
.atl-panel {position:absolute;top:0;right:0;bottom:0;width:min(380px,92vw);overflow-y:auto;overscroll-behavior:contain;
  background:var(--bg);box-shadow:-12px 0 40px -12px rgba(0,0,0,.35);padding:16px 16px calc(24px + env(safe-area-inset-bottom));
  transform:translateX(102%);transition:transform .22s cubic-bezier(.2,.8,.2,1);}
.atl.on .atl-scrim {opacity:1;} .atl.on .atl-panel {transform:none;}
:root.atl-open, :root.atl-open body {overflow:hidden;}
:root[data-theme="dark"] .atl-panel {box-shadow:-1px 0 0 var(--line), -12px 0 40px -12px rgba(0,0,0,.8);}
.atl-head {display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin:2px 0 14px;}
.atl-k {font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--muted);}
.atl-hi {font-size:1.35rem;font-weight:700;letter-spacing:-.025em;}
.atl-cards {display:flex;flex-direction:column;gap:8px;}
.atl-skel {height:84px;margin:0;}
a.atl-c {display:flex;gap:12px;align-items:flex-start;padding:12px;border-radius:14px;background:var(--card);border:1px solid var(--line);
  box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:border-color .12s ease, box-shadow .12s ease;}
a.atl-c:hover {border-color:var(--line2);box-shadow:var(--shadow-h);}
a.atl-c:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
a.atl-c.live {border-color:color-mix(in srgb,var(--live) 35%,var(--line));}
.atl-ic {flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:18px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}
.atl-b {display:flex;flex-direction:column;min-width:0;flex:1;}
.atl-t {display:flex;justify-content:space-between;gap:6px;font-size:.72rem;font-weight:600;color:var(--muted);}
.atl-p {font-weight:600;color:var(--faint);}
.atl-kk {font-size:.78rem;color:var(--muted);margin-top:1px;}
.atl-m {font-size:1rem;font-weight:700;letter-spacing:-.01em;line-height:1.3;}
.atl-s {font-size:.8rem;color:var(--muted);line-height:1.35;margin-top:1px;}
.atl-bd {align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:6px;padding:2px 8px;border-radius:999px;
  font-size:.74rem;font-weight:600;background:var(--hover);color:var(--ink);}
.atl-bd .ti {font-size:.9rem;}
.atl-bd.ok {color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);}
.atl-bd.no, .atl-bd.live {color:var(--live);background:color-mix(in srgb,var(--live) 12%,transparent);}
.atl-bd.warn {color:#c8572a;background:color-mix(in srgb,#c8572a 13%,transparent);}
/* lock / lean / toss = how sure a chance is, not good or bad news: neutral, like any other number */
.atl-bd.live::before {content:"";width:6px;height:6px;border-radius:50%;background:currentColor;animation:sbpulse 1.4s infinite;}
.atl-empty {color:var(--muted);font-size:.9rem;}
.atl-me {margin-top:14px;border-radius:14px;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);}
.atl-me > summary {list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;padding:12px 14px;font-weight:600;font-size:.9rem;}
.atl-me > summary::-webkit-details-marker {display:none;}
.atl-me > summary .ti {font-size:1.1rem;color:var(--muted);}
.atl-me form {display:flex;flex-direction:column;gap:10px;padding:0 14px 14px;}
.atl-me label {display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:var(--muted);}
.atl-me select {height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--line2);background:var(--bg);color:var(--ink);font:inherit;
  font-size:.9rem;}
.atl-me button {height:38px;border:0;border-radius:10px;cursor:pointer;font:inherit;font-weight:650;color:#fff;
  background:linear-gradient(135deg,#0f2a1c,#2b6b3f);}
.atl-me p {margin:0;font-size:.74rem;color:var(--muted);}
@media (max-width:640px) {.me-n {display:none;}}
@media (prefers-reduced-motion:reduce) {.atl-panel, .atl-scrim {transition:none;}}

/* 🏈🥅 The Scores pages' own parts of the new look (week/day navigation, board, cards, ticker, game center, play by
   play). Tokens, header, ⓘ, login and Around the Lab live in hub/look.css (served first). */
main {padding-top:14px;}
/* ------------------------------------------------------------ week navigation */
.wknav {gap:6px;margin:0 0 6px;}
.wknav select, .wknav button {height:38px;border-radius:10px;border:1px solid var(--line);background-color:var(--card);
  box-shadow:var(--shadow);font-size:.9rem;font-weight:600;}
.wknav button {min-width:38px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--ink);}
.wknav button .ti {font-size:1.15rem;}
.wknav button[hidden] {display:none;}
.wknav button:hover:not(:disabled) {border-color:var(--line2);}
.wknav button:disabled {opacity:.4;box-shadow:none;}
.wknav select {appearance:none;-webkit-appearance:none;padding:0 34px 0 12px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238a909c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6l6 -6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;}

/* ------------------------------------------------------------ board header + sections */
.board {border:0;background:none;padding:8px 2px 0;margin:0 0 4px;align-items:flex-end;}
.board .k {font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--muted);opacity:1;}
.board .h {font-size:1.8rem;font-weight:700;letter-spacing:-.03em;display:flex;align-items:center;gap:4px;}
.board .h .ib {font-size:18px;}
.board .chips {gap:6px;}
.bc {display:inline-flex;align-items:center;gap:5px;border:0;background:var(--card);box-shadow:var(--shadow);
  font-size:.78rem;font-weight:600;padding:5px 11px;}
.bc .ti {font-size:.95rem;color:var(--muted);}
.bc.live {background:color-mix(in srgb,var(--live) 11%,var(--card));box-shadow:none;}
.bc.upd {opacity:1;color:var(--muted);background:none;box-shadow:none;}
.sx {text-transform:none;letter-spacing:-.01em;font-size:1.02rem;font-weight:700;margin:24px 2px 10px;gap:8px;}
.sx::after {display:none;}
.sx .n {font-size:.74rem;font-weight:600;color:var(--muted);background:var(--hover);padding:1px 8px;}
.sx.live .n {color:var(--live);}

/* ------------------------------------------------------------ chips */
.chip {gap:5px;border:0;text-transform:none;letter-spacing:0;font-weight:600;font-size:.74rem;padding:3px 9px;background:var(--hover);}
.chip .ti {font-size:.95rem;}
.chip.soft {opacity:1;color:var(--muted);font-weight:550;}
.chip.soft .ti {color:var(--faint);}
.chip.live {background:color-mix(in srgb,var(--live) 12%,transparent);}
.chip.final {background:var(--hover);color:var(--ink);letter-spacing:.02em;}
.chip.hit {color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);}
.chip.miss {color:var(--no);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--no) 15%,transparent) 0 4px,transparent 4px 8px);}
.chip.hit .ti, .chip.miss .ti {color:inherit;}

/* ------------------------------------------------------------ game cards */
.cg {gap:14px;} .ug {gap:12px;}
.gc2, .uc {border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);}
.gc2 {border-radius:18px;padding:16px 16px 12px;}
.gc2:hover, .uc:hover {transform:none;box-shadow:var(--shadow-h);border-color:var(--line2);}
.gc2.live {border-color:color-mix(in srgb,var(--live) 30%,var(--line));box-shadow:var(--shadow);}
.gc2 .acc {height:3px;}
.gc2 .sit {font-weight:600;color:var(--muted);opacity:1;display:inline-flex;align-items:center;gap:5px;}
.gc2 .nm b {font-size:1.06rem;font-weight:700;letter-spacing:0;}
.gc2 .nm span {color:var(--muted);opacity:1;}
.gc2 .sc {font-weight:700;letter-spacing:-.035em;font-size:2.5rem;}
.gc2 .sc .x {opacity:.22;font-weight:300;}
.gc2 .sc .trail {opacity:.38;}
.gc2.pre .sc {color:var(--faint);opacity:1;font-weight:600;}
.gc2 .wpbar {height:6px;background:var(--hover);}
.gc2 .wplbl .c {font-weight:600;letter-spacing:.05em;color:var(--muted);opacity:1;font-size:.62rem;}
.gc2 .wplbl b {font-weight:700;}
.gc2 .meta {border-top:1px solid var(--line);gap:5px;}
.mls th {color:var(--muted);opacity:1;font-weight:600;}
.mls td.tot {font-weight:700;border-left-color:var(--line2);}
.possb {gap:3px;padding:2px 7px 2px 5px;border-width:1.5px;}
.possb .ti {font-size:.95rem;}
.possb em {font-weight:700;letter-spacing:.06em;}
.gc2 .pbd {padding:2px;display:none;}
.gc2 .pbd .ti {font-size:.8rem;display:block;}
@container (max-width:420px) {.gc2 .pbd {display:block;}}
.tos i {height:4px;}
.momrow {border-top:1px solid var(--line);}
.mom-mini .mk {font-weight:600;letter-spacing:.06em;color:var(--muted);opacity:1;}
.mom-mini .mv {font-weight:700;}
.mom-mini .md {color:var(--muted);opacity:1;}

/* upcoming */
.uc {border-radius:16px;padding:13px 14px 12px;}
.uc .ut .t {font-weight:600;color:var(--muted);opacity:1;font-size:.8rem;}
.uc .ut .chip {font-size:.66rem;letter-spacing:.04em;padding:2px 8px;}
.uc .ur b {font-weight:700;} .uc .ur .nk {color:var(--muted);opacity:1;}
.uc .ur .p {color:var(--muted);opacity:1;font-weight:600;display:inline-flex;align-items:center;gap:3px;}
.uc .ur.fav .p {font-weight:700;}
.uc .ur .p .ti {font-size:.85rem;}
.uc .ubar {height:5px;background:var(--hover);}
.uc .utv {color:var(--muted);opacity:1;font-weight:500;display:flex;align-items:center;gap:5px;}
.uc .utv .ti {font-size:.9rem;}

/* ------------------------------------------------------------ ticker */
.tickbar {border-bottom-color:var(--line);box-shadow:0 8px 20px -14px rgba(0,0,0,.35);}
.tk-g, .tk-all {border:1px solid var(--line);background:var(--card);border-radius:12px;box-shadow:var(--shadow);}
.tk-g:hover, .tk-all:hover {border-color:var(--line2);}
.tk-g.on {border:1.5px solid var(--ink);padding:5.5px 9.5px;background:var(--card);}
.tk-all {gap:4px;font-weight:600;color:var(--ink);}
.tk-all .ti {font-size:1.05rem;}
.tk-s {font-weight:600;letter-spacing:.03em;color:var(--muted);opacity:1;}
.tk-r b {font-weight:700;} .tkb .ti {font-size:.8rem;}

/* ------------------------------------------------------------ game center */
.hero {border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;background-color:var(--card) !important;}
.hero .acc {height:3px;}
.hero .tm b {font-weight:700;letter-spacing:-.01em;} .hero .tm span {color:var(--muted);opacity:1;}
.hero .big {font-weight:700;letter-spacing:-.04em;}
.hero .big .x {opacity:.22;font-weight:300;}
.hero .sub {color:var(--muted);opacity:1;display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:center;}
.gc-tiles {gap:10px;}
.gc-tile {border:1px solid var(--line) !important;background:var(--card);box-shadow:var(--shadow);border-radius:14px !important;padding:11px 13px;}
.gc-tile .k {display:flex;align-items:center;gap:2px;min-height:24px;text-transform:none;letter-spacing:0;font-size:.78rem;
  font-weight:600;color:var(--muted);opacity:1;}
.gc-tile .k .ib {width:22px;height:22px;font-size:15px;margin-left:0;}
.gc-tile .v {font-weight:700;letter-spacing:-.02em;display:flex;align-items:center;gap:6px;}
.gc-tile .v .ok {color:var(--ok);} .gc-tile .v .no {color:var(--no);}
.gc-tile .v .ok, .gc-tile .v .no {display:inline-flex;align-items:center;gap:6px;}
.gc-tile .s {color:var(--muted);opacity:1;}
.gc-tile .s .ti {font-size:.9rem;}
.gh {align-items:center;gap:6px;margin:1.6rem 2px .65rem;}
.gh b {font-size:1.05rem;font-weight:700;letter-spacing:-.015em;}
.gh small {color:var(--muted);opacity:1;font-size:.8rem;margin-left:4px;}
.gh::after {display:none;}
.chart {border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);}
.cap {color:var(--muted);}
.note {background:var(--hover);}
.ls {background:var(--card);box-shadow:0 0 0 1px var(--line), var(--shadow);}
.ls th {color:var(--muted);opacity:1;font-weight:600;letter-spacing:.03em;border-bottom-color:var(--line);}
.ls td.tot, .ls td.x {border-left-color:var(--line);}
.ls td.tot {font-weight:700;}
.gc-item {border:1px solid var(--line) !important;background:var(--card);box-shadow:var(--shadow);}
.gc-item .when {color:var(--muted);opacity:1;}
.gc-item .chg {font-weight:700;}
.per {font-weight:600;letter-spacing:.05em;color:var(--muted);opacity:1;}
.stx .lbl {text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;color:var(--muted);opacity:1;}
.stx .bar {height:6px;background:var(--hover);}
.stx .v.lead {font-weight:800;}
.ldr .c {text-transform:none;letter-spacing:0;font-size:.78rem;font-weight:600;color:var(--muted);opacity:1;}
.mom-card {border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:16px;}
.mom-card .mk {font-weight:600;letter-spacing:.06em;color:var(--muted);opacity:1;}
.mom-card .mv {font-weight:700;letter-spacing:-.02em;}
.mom-card .drv span {color:var(--muted);opacity:1;}
.mom-svg .ml {font-weight:700;}
.pbp-latest {border:1px solid var(--line);border-left:4px solid var(--pc);background:var(--card);box-shadow:var(--shadow);}
.pbp-latest .k {font-weight:600;letter-spacing:.04em;color:var(--muted);opacity:1;}
.pbp-q {border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);}
.pbp-q > summary {font-weight:700;}
.pbp-q > summary small {color:var(--muted);opacity:1;font-weight:500;}
.pbp-dr {border-top-color:var(--line);}
.pbp-dr > summary .dt {font-weight:700;}
.pbp-dr > summary small {color:var(--muted);opacity:1;}
.pbp-dr > summary .res {border:0;background:var(--hover);font-weight:600;letter-spacing:.03em;}
.pbp-dr > summary .res.sc {background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok);}
.pbp-r {border-top:1px solid var(--line);}
.pbp-r .w, .pbp-r .dn {color:var(--muted);opacity:1;}
.pbp-r .lb {font-weight:700;}
.pbp-r .sc {border:0;background:var(--hover);font-weight:700;}
.pbpf details > summary::before {opacity:.4;}
.lab a {display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--link) !important;}
.lab a .ti {font-size:1.1rem;}
.err {border-color:color-mix(in srgb,var(--live) 40%,transparent);}
#perf {color:var(--faint);}
.skel {background:var(--card);border-color:var(--line);}
@media (max-width:640px) {
  .board .h {font-size:1.45rem;}
  .gc2 .sc {font-size:2.05rem;}
}

/* ------------------------------------------------------------ NHL play by play: Key plays / Everything */
.pbpf:not(.all) .pbp-r.nk {display:none;}
.pbp-show {display:inline-flex;padding:3px;border-radius:10px;background:var(--hover);margin:0 0 10px;}
.pbp-show button {border:0;background:none;padding:5px 12px;border-radius:7px;font:inherit;font-size:.82rem;font-weight:600;
  color:var(--muted);cursor:pointer;}
.pbp-show button:hover {color:var(--ink);}
.pbp-show button.on {background:var(--card);color:var(--ink);box-shadow:var(--shadow);}
.pbp-show button:focus-visible {outline:2px solid var(--accent);outline-offset:1px;}
.star {background:var(--card);border-color:var(--line);box-shadow:var(--shadow);}
.star .k {color:#d4a017;opacity:1;letter-spacing:.1em;}
