/* Scores — design_handoff_web_scores turn 31 (31a list, 31b grid).
   Scoped so Pico and the original site components cannot style its controls;
   every original website stylesheet stays untouched.
   Ink #101418 on #ECEEF1. Alphas: .85 body, .55/.5 secondary, .45 tertiary,
   .3 ghost; hairlines ink 9-14%; borders ink 12-25%. Numerals tabular. */
body.rail-scores .site-rail-btn[data-rail="scores"] { color: #fff; }
body.rail-scores .site-rail-btn[data-rail="scores"] .site-rail-ico { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.05); }
html.si-light body.si-themed.rail-scores .site-rail-btn[data-rail="scores"] { color: #101418; }
html.si-light body.si-themed.rail-scores .site-rail-btn[data-rail="scores"] .site-rail-ico { border-color: rgba(16,20,24,.3); background: rgba(16,20,24,.04); }
.page-scores main.container { width: 100%; max-width: 100%; padding: 0; }

.sc {
  --sc-ink: #edebe6; --sc-rgb: 237,235,230; --sc-on-ink: #1e2024;
  --sc-live: #4ade80; --sc-gold: #e7be6b; --sc-kalshi: #00a968;
  --sc-gutter: 24px;
  color: var(--sc-ink); padding: 0 0 32px; font-variant-numeric: tabular-nums;
}
html.si-light .sc {
  --sc-ink: #101418; --sc-rgb: 16,20,24; --sc-on-ink: #eceef1;
  --sc-live: #15803d; --sc-gold: #b8860b;
}
.sc *, .sc *::before, .sc *::after { box-sizing: border-box; }
.sc [hidden] { display: none !important; }
.sc a { text-decoration: none; color: inherit; -webkit-tap-highlight-color: transparent; }
.sc button {
  appearance: none; display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0;
  background: transparent; color: inherit; box-shadow: none; font: inherit;
  line-height: 1.3; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.sc a:focus-visible, .sc button:focus-visible { outline: 2px solid var(--sc-ink) !important; outline-offset: 3px; box-shadow: none; }
.sc nav { display: flex; justify-content: flex-start; margin: 0; padding: 0; }

/* ---- Week strip: 16 cells that must fit without scrolling (do not pad
   beyond 9-10px), the active cell overlapping the bottom hairline. ---- */
.sc .sc-weeks {
  gap: 0; padding: 0 var(--sc-gutter);
  border-bottom: 1px solid rgba(var(--sc-rgb),.12);
  overflow: hidden; white-space: nowrap;
}
.sc-week {
  flex: 1 1 0; min-width: 0; display: block;
  padding: 12px 9px 10px; text-align: center;
  border-bottom: 2.5px solid transparent; margin-bottom: -1px;
}
.sc-week b { display: block; font-size: 13px; font-weight: 900; color: rgba(var(--sc-rgb),.5); }
.sc-week span { display: block; margin-top: 2px; font-size: 10.5px; font-weight: 700; color: rgba(var(--sc-rgb),.42); }
.sc-week.is-on { border-bottom-color: var(--sc-ink); }
.sc-week.is-on b { color: var(--sc-ink); }

/* ---- Filter row: four state capsules, and the List / Grid toggle. ---- */
.sc-toolbar { display: flex; align-items: center; gap: 10px; padding: 16px var(--sc-gutter) 0; }
.sc-filters { display: flex; align-items: center; gap: 7px; }
.sc .sc-chip {
  padding: 5px 12px; border-radius: 999px;
  border: 1px solid rgba(var(--sc-rgb),.25);
  font-size: 11.5px; font-weight: 900; white-space: nowrap;
}
.sc .sc-chip.is-on { background: var(--sc-ink); color: var(--sc-on-ink); border-color: var(--sc-ink); }
.sc-viewtoggle {
  margin-left: auto; display: inline-flex; align-items: center; padding: 2px;
  border: 1px solid rgba(var(--sc-rgb),.22); border-radius: 999px;
}
.sc .sc-vt {
  gap: 5px; padding: 4px 10px; border-radius: 999px;
  font-size: 10.5px; font-weight: 900; color: rgba(var(--sc-rgb),.55);
}
.sc .sc-vt svg { width: 10px; height: 10px; }
.sc .sc-vt.is-on { background: var(--sc-ink); color: var(--sc-on-ink); }
.sc .sc-vt svg { flex: none; }

/* ---- 31a: the ledger and its rail ---- */
.sc-list { display: flex; gap: 32px; padding: 0 0 0 var(--sc-gutter); }
.sc-ledger { flex: 1; min-width: 0; }
.sc-day-head {
  display: flex; align-items: baseline; gap: 12px; margin: 0; padding: 26px 0 6px;
  font-family: inherit; font-weight: 400;
}
.sc-day-head b { font-size: 19px; font-weight: 900; letter-spacing: -.3px; color: var(--sc-ink); }
.sc-day-head span { font-size: 12px; font-weight: 700; color: rgba(var(--sc-rgb),.45); }
.sc-day-head i { flex: 1; height: 1px; background: rgba(var(--sc-rgb),.14); }
.sc-day-head em { font-style: normal; font-size: 11.5px; font-weight: 700; color: rgba(var(--sc-rgb),.45); }

.sc-row {
  display: flex; align-items: center; gap: 16px; padding: 13px 0;
  border-bottom: 1px solid rgba(var(--sc-rgb),.1);
}
.sc-sides { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
.sc-eyebrow {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 9px; font-weight: 900; letter-spacing: .9px; text-transform: uppercase;
  color: var(--sc-gold);
}
.sc-eyebrow i { font-style: normal; font-size: 10px; line-height: 1; }
.sc-eyebrow.is-live { color: var(--sc-live); }
.sc-side { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sc-side img, .sc .sc-side img {
  width: 24px; height: 24px; flex: none; object-fit: contain;
  background: transparent !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; padding: 0 !important; margin: 0;
}
.sc-crest-ph { width: 24px; height: 24px; flex: none; border-radius: 4px; background: rgba(var(--sc-rgb),.08); }
.sc-seed { width: 18px; flex: none; font-size: 12px; font-weight: 800; color: rgba(var(--sc-rgb),.45); }
.sc-side b { min-width: 0; font-size: 15px; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-side.is-trail b { color: rgba(var(--sc-rgb),.5); font-weight: 700; }
.sc-side.is-trail .sc-seed { color: rgba(var(--sc-rgb),.35); }

/* The bar's width and the printed percentage are ONE number — the
   favorite's win probability (handoff). */
.sc-odds { width: 150px; flex: none; }
.sc-odds-track { display: block; height: 5px; border-radius: 999px; overflow: hidden; background: rgba(var(--sc-rgb),.1); }
.sc-odds-track i { display: block; height: 100%; background: var(--sc-ink); }
.sc-odds-line { display: block; margin-top: 6px; font-size: 11px; font-weight: 800; color: rgba(var(--sc-rgb),.5); }
.sc-odds-line u { text-decoration: none; color: var(--sc-kalshi); }

.sc-kick { width: 96px; flex: none; text-align: right; }
.sc-kick b { display: block; font-size: 14px; font-weight: 900; }
.sc-kick i { display: block; margin-top: 2px; font-style: normal; font-size: 11.5px; font-weight: 700; color: rgba(var(--sc-rgb),.45); }
.sc-kick.is-live b, .sc-kick.is-live i { color: var(--sc-live); }
.sc-chev { flex: none; color: rgba(var(--sc-rgb),.3); }

.sc-more { text-align: center; padding: 18px 0; }
.sc .sc-more-btn {
  padding: 9px 20px; border-radius: 999px; background: rgba(var(--sc-rgb),.06);
  font-size: 12.5px; font-weight: 800; color: rgba(var(--sc-rgb),.55);
}
.sc .sc-more-btn:hover { background: rgba(var(--sc-rgb),.1); }

.sc-rail { width: 300px; flex: none; padding: 22px var(--sc-gutter) 0 0; }
.sc-minilabel { font-size: 10.5px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(var(--sc-rgb),.45); }
.sc-gotw {
  display: block; margin-top: 10px; padding: 14px;
  border: 1px solid rgba(var(--sc-rgb),.14); border-radius: 14px;
}
.sc-gotw:hover { border-color: rgba(var(--sc-rgb),.3); }
.sc-gotw-head { display: flex; align-items: center; justify-content: space-between; }
.sc-gotw-team { flex: 1; min-width: 0; text-align: center; }
.sc-gotw-team img, .sc .sc-gotw-team img {
  width: 36px; height: 36px; object-fit: contain; margin: 0 auto;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.sc-gotw-team b { display: block; margin-top: 5px; font-size: 12px; font-weight: 900; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-gotw-when { flex: 1; min-width: 0; text-align: center; }
.sc-gotw-when b { display: block; font-size: 12.5px; font-weight: 900; }
.sc-gotw-when i { display: block; margin-top: 2px; font-style: normal; font-size: 10px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: rgba(var(--sc-rgb),.42); }
/* The home page's Your Game market block, same anatomy and metrics. */
.sc-market { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; }
.sc-market-head { display: flex; align-items: center; gap: 8px; white-space: nowrap; }
.sc-market-head b { font-size: 9.5px; font-weight: 900; letter-spacing: .8px; text-transform: uppercase; color: rgba(var(--sc-rgb),.45); }
.sc-market-head i { font-style: normal; font-size: 9.5px; font-weight: 800; letter-spacing: .4px; color: rgba(var(--sc-rgb),.4); }
.sc-market-head u { margin-left: auto; text-decoration: none; font-size: 10.5px; font-weight: 900; color: var(--sc-kalshi); }
.sc-market-bar { display: flex; height: 6px; border-radius: 999px; overflow: hidden; }
.sc-market-bar i { display: block; height: 100%; background: rgba(var(--sc-rgb),.42); }
.sc-market-bar i:last-child { background: rgba(var(--sc-rgb),.2); }
.sc-market-legend { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 900; white-space: nowrap; }
.sc-market-legend img, .sc .sc-market-legend img {
  width: 18px; height: 18px; flex: none; object-fit: contain;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.sc-market-legend b { color: rgba(var(--sc-rgb),.9); }
.sc-market-legend b.is-dog { color: rgba(var(--sc-rgb),.5); }
.sc-market-gap { margin-left: auto; }
.sc-gotw-preview {
  display: block; margin-top: 12px; padding-top: 12px;
  border-top: 1px solid rgba(var(--sc-rgb),.1);
  font-size: 12.5px; font-weight: 500; line-height: 1.45; color: rgba(var(--sc-rgb),.7);
}
.sc-railhead { display: flex; align-items: baseline; gap: 8px; margin-top: 26px; }
.sc-railhead h2 { margin: 0; font-family: inherit; font-size: 16px; font-weight: 900; line-height: 1.3; color: var(--sc-ink); }
.sc-railhead a { margin-left: auto; font-size: 11px; font-weight: 800; color: rgba(var(--sc-rgb),.5); }
.sc-railhead a:hover { color: var(--sc-ink); }
.sc-poll { list-style: none; margin: 8px 0 0; padding: 0; }
.sc-poll-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid rgba(var(--sc-rgb),.08); }
.sc-poll-rank { width: 16px; flex: none; font-size: 11.5px; font-weight: 800; color: rgba(var(--sc-rgb),.45); }
.sc-poll-row img, .sc .sc-poll-row img {
  width: 20px; height: 20px; flex: none; object-fit: contain;
  background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
.sc-poll-row b { flex: 1; min-width: 0; font-size: 13px; font-weight: 800; color: var(--sc-ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sc-poll-rec { flex: none; font-size: 11.5px; font-weight: 700; color: rgba(var(--sc-rgb),.45); }
.sc-poll-move { width: 24px; flex: none; text-align: right; font-size: 10.5px; font-weight: 800; color: rgba(var(--sc-rgb),.3); }
.sc-poll-move.is-up { color: #15803d; }
.sc-poll-move.is-down { color: #dc2626; }

/* ---- 31b: the TV board ---- */
.sc-grid-wrap { padding: 18px var(--sc-gutter) 0; }
.sc-days { display: flex; align-items: center; gap: 8px; padding: 0 0 14px; }
.sc .sc-day-pill {
  gap: 6px; padding: 6px 13px; border-radius: 999px;
  border: 1px solid rgba(var(--sc-rgb),.22);
  font-size: 12px; font-weight: 900; color: rgba(var(--sc-rgb),.6);
}
.sc .sc-day-pill i { font-style: normal; font-size: 10.5px; font-weight: 700; opacity: .6; }
.sc .sc-day-pill.is-on { background: var(--sc-ink); color: var(--sc-on-ink); border-color: var(--sc-ink); }
.sc-grid { min-width: 0; }
.sc-grid-head, .sc-net { display: grid; grid-template-columns: 88px repeat(24, minmax(0, 1fr)); }
.sc-grid-head { border-bottom: 1.5px solid rgba(var(--sc-rgb),.3); }
.sc-grid-net { align-self: end; padding: 0 0 8px 4px; font-size: 10px; font-weight: 900; letter-spacing: 1px; color: rgba(var(--sc-rgb),.45); }
.sc-slot { padding: 0 0 8px; text-align: center; border-left: 1px solid rgba(var(--sc-rgb),.05); }
.sc-slot.is-hour { border-left-color: rgba(var(--sc-rgb),.1); }
.sc-slot b { display: block; font-size: 9.5px; font-weight: 800; color: rgba(var(--sc-rgb),.55); }
.sc-slot i { display: block; margin-top: 1px; font-style: normal; font-size: 8px; font-weight: 800; color: rgba(var(--sc-rgb),.35); }
.sc-net { align-items: stretch; min-height: 46px; border-bottom: 1px solid rgba(var(--sc-rgb),.09); }
.sc-net-name { grid-column: 1; grid-row: 1; display: flex; align-items: center; padding-left: 4px; font-size: 12px; font-weight: 900; letter-spacing: -.2px; color: rgba(var(--sc-rgb),.85); }
.sc-tick { grid-row: 1; align-self: stretch; border-left: 1px solid rgba(var(--sc-rgb),.05); }
.sc-tick.is-hour { border-left-color: rgba(var(--sc-rgb),.09); }
/* Every block is pinned to row 1 — an auto-placed block would open a second
   row and break the channel's line. */
.sc-block {
  grid-row: 1; margin: 4px 2px; border-radius: 7px; overflow: hidden;
  display: flex; align-items: stretch; min-width: 0; background: #fff;
}
.sc-block.is-featured { box-shadow: 0 0 0 1.5px #c9a227; }
.sc-block.is-live { border-left: 2px solid #16a34a; }
.sc-block.is-final { opacity: .55; }
/* --c is the team colour as an r,g,b channel. The fill runs lighter than the
   colour and the same colour glows in from the edges, so a crest in the team's
   own hue still reads against it. */
.sc-half {
  --c: var(--sc-rgb);
  flex: 1; min-width: 0; display: flex; align-items: center; gap: 6px; padding: 8px;
  background: rgba(var(--c), .72);
  box-shadow: inset 0 0 13px -3px rgba(var(--c), 1);
}
.sc-half.is-home { justify-content: flex-end; }
.sc-half img, .sc .sc-half img {
  width: 17px; height: 17px; flex: none; object-fit: contain; padding: 1px;
  background: rgba(255,255,255,.92) !important; border: 0 !important;
  border-radius: 3px !important; box-shadow: none !important;
}
.sc-half b {
  min-width: 0; font-size: 10.5px; font-weight: 900; color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.35);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.sc-half b i { font-style: normal; opacity: .72; }
.sc-legend { display: flex; align-items: center; gap: 16px; padding: 14px 0 30px; font-size: 10.5px; font-weight: 700; color: rgba(var(--sc-rgb),.45); }
.sc-legend-key { display: inline-flex; align-items: center; gap: 6px; }
.sc-legend-key i { width: 14px; height: 10px; border-radius: 3px; box-shadow: 0 0 0 1.5px #c9a227; }
.sc-legend-gap { flex: 1; }
.sc-legend a, .sc .sc-streaming { font-size: 11.5px; font-weight: 800; color: rgba(var(--sc-rgb),.55); }
.sc-legend a:hover, .sc .sc-streaming:hover { color: var(--sc-ink); }
.sc .sc-streaming.is-on { color: var(--sc-ink); }

.sc .sc-message, .sc .sc-empty { margin: 0; padding: 24px var(--sc-gutter); color: rgba(var(--sc-rgb),.65); font-size: 14px; line-height: 1.5; }
@media (hover: hover) {
  .sc-row:hover { background: rgba(var(--sc-rgb),.03); }
  .sc .sc-chip:not(.is-on):hover { background: rgba(var(--sc-rgb),.06); }
}

/* Below ~1100px the rail folds above the ledger; below ~760px the week strip
   scrolls again (sixteen even columns are unreadable on a phone). */
@media (max-width: 1100px) {
  .sc-list { flex-direction: column; gap: 0; padding-right: var(--sc-gutter); }
  .sc-rail { width: auto; order: -1; padding: 22px 0 0; }
  .sc-poll, .sc-railhead { display: none; }
}
@media (max-width: 1200px) {
  .sc-grid-wrap { overflow-x: auto; }
  .sc-grid { min-width: 1040px; }
  .sc-net-name, .sc-grid-net { position: sticky; left: 0; z-index: 1; background: #eceef1; }
}
html:not(.si-light) .sc-net-name, html:not(.si-light) .sc-grid-net { background: transparent; }
@media (max-width: 760px) {
  .sc { --sc-gutter: 18px; }
  .sc .sc-weeks { overflow-x: auto; scrollbar-width: thin; gap: 14px; }
  .sc-week { flex: none; }
  .sc-odds { display: none; }
  .sc-toolbar { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .sc *, .sc *::before { transition: none; } }
