/* release 371 (new design): the simulator pages (/epl, /nba, /nhl, /nfl: templates/sports_dashboard.html + partials/b371_sim_page.html),
   the simulation frame inside them (templates/simulation_analysis.html, templates/saved_lineup_viewer.html) and the FPL page
   (templates/fpl.html) in the designer's look: white page, Nunito, indigo #5663F0 actions, 8px corners, white cards with a soft
   shadow, roomy sections. Uses sx_brand.css tokens and b-* blocks; this file only adds what the product screens need.
   The selector prefix (:not(#p371..) x5) outranks sport_page_order.css / sim_bold.css (r370) and sx_brand.css's re-skin (x4),
   so the order the sheets load in does not matter. Nothing here hides or moves a control the scripts depend on. */

/* ---------------------------------------------------------------- sport pages: page frame */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim { background: #fff !important; color: var(--b-ink); }
/* the old landing hero ("Who wins tonight?", re-titled by sport_page_order.js) gives way to the designer hero (#b3Hero, the h1) */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .scoutics-page section.hero { display: none !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .scoutics-page,
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .site-content { background: #fff !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .scoutics-page > main.sc-sim-main { padding-bottom: 0 !important; }

/* the phone sport switcher (Soccer · NBA · NFL · NHL · Live) as the designer's pill tabs */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .dashboard-mobile-nav { background: #fff !important; border-bottom: 1px solid var(--b-line) !important; padding: 8px 16px !important; gap: 4px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .dashboard-mobile-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 4px !important; border-radius: var(--b-radius) !important; color: var(--b-ink) !important; font: 700 15px/1.2 var(--b-font) !important; background: transparent; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .dashboard-mobile-nav a[aria-current="page"] { background: var(--b-primary) !important; color: #fff !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .dashboard-mobile-nav__live span { background: #B42318 !important; }

/* the landing partial's own frame for the panel (width - 128px, nudged 32px right, dark panel) is replaced by the brand container */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel { width: auto !important; transform: none !important; }
/* the older landing theme sets its own heading weights and link colours inside .scoutics-page; the designer blocks keep theirs */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) :is(.b-h1, .b-h2) { font-weight: 800 !important; font-family: var(--b-font) !important; letter-spacing: -.01em; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-h3 { font-weight: 800 !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) a.b-btn { color: #fff !important; text-decoration: none !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) a.b-btn-secondary { color: var(--b-ink) !important; text-decoration: none !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After .b-cta-plain a.b-btn-secondary { color: #fff !important; background: transparent !important; border-color: rgba(255, 255, 255, .85) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After .b-cta-plain a.b-btn-secondary:hover { background: rgba(255, 255, 255, .12) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After a.b-btn-light { color: var(--b-primary-700) !important; text-decoration: none !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After a.b-link { color: var(--b-primary-600) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-eyebrow { color: var(--b-primary-600) !important; font-weight: 800 !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After :is(.b-text, .b-small) { color: var(--b-muted) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After :is(.b-lead, .b-checks li) { color: var(--b-text) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After :is(.b-band, .b-cta-plain) :is(.b-lead, p) { color: #fff !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #b3After .b-tabs button { font-weight: 700 !important; }

/* ---------------------------------------------------------------- the designer hero */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero { padding: 72px 0 56px; background: #fff; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-h1 { color: var(--b-ink) !important; font-size: 64px; line-height: 1.02; font-weight: 800; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-lead { max-width: 560px; font-size: 22px; font-weight: 700; color: var(--b-ink); line-height: 1.35; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero-media img { aspect-ratio: 3 / 2; object-fit: cover; }

/* ---------------------------------------------------------------- the editor and the results as brand cards */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel { box-sizing: border-box; max-width: var(--b-container) !important; margin: 0 auto !important; padding: 0 var(--b-gutter) !important; border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--b-ink); scroll-margin-top: 80px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .b3-step-head,
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #savedSimulationPanel > h2.b3-results-h { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .b3-step-head .b-h3 { font: 800 24px/1.25 var(--b-font) !important; color: var(--b-ink) !important; margin: 0; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .b3-step-head .b-small { margin: 2px 0 0; color: var(--b-muted) !important; font-size: 15px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-step-num { flex: none; display: inline-grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--b-primary); color: #fff; font: 800 17px/1 var(--b-font) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel section.lineup-lab { box-sizing: border-box; padding: 24px !important; border: 0 !important; border-radius: var(--b-radius) !important; background: #fff !important; box-shadow: var(--b-shadow) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-toolbar label { color: var(--b-text) !important; font-weight: 700; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(.lineup-toolbar select, .lineup-search input) { border: 1px solid var(--b-line) !important; border-radius: var(--b-radius) !important; background: #fff !important; color: var(--b-ink) !important; min-height: 44px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(.lineup-toolbar select, .lineup-search input):focus { border-color: var(--b-primary) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(.lineup-toolbar button, .lineup-swap-btn, .sc-swap-undo) { border: 1px solid var(--b-primary) !important; border-radius: var(--b-radius) !important; background: #fff !important; color: var(--b-ink) !important; font: 700 15px/1.2 var(--b-font) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-toolbar button:disabled { border-color: var(--b-line) !important; color: var(--b-muted) !important; background: var(--b-soft) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(.lineup-toolbar button, .lineup-swap-btn):hover:not(:disabled) { background: var(--b-primary-50) !important; }
/* home / away switch: the designer's pill tabs */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-sides { display: inline-flex; gap: 4px; padding: 4px; border-radius: var(--b-radius); background: var(--b-soft); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-sides button { border: 0 !important; background: transparent !important; color: var(--b-ink) !important; border-radius: var(--b-radius) !important; font: 700 15px/1.2 var(--b-font) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-sides button[aria-pressed="true"] { background: var(--b-primary) !important; color: #fff !important; }
/* squad and starters */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-player { border-radius: var(--b-radius) !important; border-color: var(--b-line) !important; background: #fff !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-player:hover:not(:disabled) { border-color: var(--b-primary) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .lineup-player.is-selected { box-shadow: 0 0 0 3px var(--b-primary) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .native-lineup-player.is-selected { outline-color: var(--b-primary) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(.lineup-lists h3, .lineup-selection h3) { color: var(--b-ink) !important; font: 800 16px/1.3 var(--b-font) !important; }
/* the play button under the pitch (sport_page_order.js): the designer's indigo primary, and the line under it */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(button, a).sc-play-cta { min-height: 52px; background: var(--b-primary) !important; border-color: var(--b-primary) !important; color: #fff !important; border-radius: var(--b-radius) !important; font: 700 18px/1.2 var(--b-font) !important; text-decoration: none; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel :is(button, a).sc-play-cta:hover { background: var(--b-primary-600) !important; border-color: var(--b-primary-600) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .sc-runline { color: var(--b-text) !important; font: 700 14px/1.45 var(--b-font) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .sc-swapline { background: var(--b-primary-50) !important; border-color: #C9CEFB !important; color: var(--b-primary-700) !important; border-radius: var(--b-radius) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel .sc-howto > summary { color: var(--b-primary-600) !important; font-weight: 700 !important; }
/* results: the frame sits in a white brand card */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #savedSimulationPanel { margin-top: 48px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #savedSimulationPanel > h2.b3-results-h { font: 800 24px/1.25 var(--b-font) !important; color: var(--b-ink) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #savedSimulationPanel > .dashboard-sim-state { color: var(--b-text) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #dashboardSimulatorStage { border-radius: var(--b-radius); background: #fff; box-shadow: var(--b-shadow); padding: 8px 24px; overflow: hidden; }

/* ---------------------------------------------------------------- the designer sections below */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after { background: #fff; color: var(--b-ink); margin-top: 48px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after :is(.b-h2) { color: var(--b-ink); font-size: 36px; font-weight: 800; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after :is(.b-cta-plain .b-h2) { color: #fff; font-size: 48px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after .b-h3 { color: var(--b-ink); font-size: 20px; font-weight: 800; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after .b-cta-plain .b-lead { color: #fff; }
.b3-narrow { max-width: 680px; margin-left: auto !important; margin-right: auto !important; }
/* the landing theme zeroes list and paragraph margins inside .scoutics-page; the designer spacing steps hold */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-mt-8 { margin-top: 8px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-mt-16 { margin-top: 16px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-mt-24 { margin-top: 24px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-mt-32 { margin-top: 32px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim :is(#b3Hero, #b3After) .b-mt-48 { margin-top: 48px !important; }
.b3-after ol.b-steps { list-style: none; margin-left: 0; padding: 0; }
.b3-after .b-step.b-card { box-shadow: none; border: 1px solid var(--b-line); }
.b3-after .b-step.b-card:first-child { box-shadow: var(--b-shadow); border-color: transparent; }
.b3-plans { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 48px; align-items: start; max-width: 1040px; margin-left: auto; margin-right: auto; }
.b3-plan-side { padding-left: 48px; border-left: 1px solid var(--b-line); }
.b3-plan-panes [role="tabpanel"]:focus-visible { outline: 2px solid var(--b-primary); outline-offset: 6px; border-radius: 4px; }
.b3-arrow { display: inline-flex; align-items: center; min-height: 44px; }
.b3-arrow::after { content: "\203A"; margin-left: 6px; font-size: 20px; line-height: 1; text-decoration: none; }
.b3-mini .b-h3 { font-size: 18px !important; }

/* ---------------------------------------------------------------- phones and tablets */
@media (max-width: 991px) {
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-h1 { font-size: 48px; }
  .b3-plans { grid-template-columns: 1fr; gap: 32px; }
  .b3-plan-side { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--b-line); }
}
@media (max-width: 767px) {
  /* the editor is the first thing under the heading: no photo, a short hero */
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero { padding: 28px 0 24px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-h1 { font-size: 36px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-lead { font-size: 18px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-btns { margin-top: 20px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-hero .b-eyebrow { margin-bottom: 6px; }
  .b3-hero-media { display: none !important; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #stadiumMatchPanel section.lineup-lab { padding: 16px !important; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #dashboardSimulatorStage { padding: 4px 12px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after .b-h2 { font-size: 28px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after .b-cta-plain .b-h2 { font-size: 32px; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after .b-tabs { display: flex; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .b3-after .b-tabs button { flex: 1 1 auto; justify-content: center; min-height: 44px; padding: 8px 10px; }
  .b3-after .b-card.is-pad-lg { padding: 24px; }
}

/* ---------------------------------------------------------------- the simulation frame (iframe pages) */
/* simulation_analysis.html: the same type, the indigo primary and white cards with the soft shadow */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame { background: #fff !important; color: var(--b-ink, #303131); font-family: var(--b-font) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .eyebrow { color: var(--b-primary-600); font-weight: 800; letter-spacing: .08em; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis h1 { font: 800 28px/1.2 var(--b-font) !important; color: var(--b-ink); letter-spacing: -.01em; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis :is(h2, h3) { font-family: var(--b-font) !important; font-weight: 800; color: var(--b-ink); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .muted { color: var(--b-muted); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .card { border: 0; border-radius: var(--b-radius); box-shadow: 0 0 14px 2px rgba(0, 0, 0, .08); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .result-card { box-shadow: 0 0 0 2px var(--b-primary), 0 0 20px 4px rgba(86, 99, 240, .12); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .result-kicker { color: var(--b-primary-600); font-weight: 800; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis :is(.button.primary, a.button.primary) { background: var(--b-primary) !important; border-color: var(--b-primary) !important; color: #fff !important; font: 700 16px/1.2 var(--b-font) !important; border-radius: var(--b-radius) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis :is(.button.primary, a.button.primary):hover:not(:disabled) { background: var(--b-primary-600) !important; border-color: var(--b-primary-600) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .button.primary:disabled { background: var(--b-soft) !important; border-color: var(--b-line) !important; color: var(--b-muted) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis #runAnalysis.is-stop { background: var(--b-ink) !important; border-color: var(--b-ink) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .run-count { background: var(--b-soft); border-color: transparent; border-radius: var(--b-radius); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .run-count button[aria-pressed="true"] { background: var(--b-primary); color: #fff; box-shadow: none; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .run-left { color: var(--b-text); font-weight: 700; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .progress-track span { background: var(--b-primary); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .badge[data-state=running] i,
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis .badge[data-state=calibrating] i { background: var(--b-primary); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis th { background: var(--b-soft); color: var(--b-text); border-color: var(--b-line); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis :is(.table-note, .method-note, .card-head p, .range, .player-team, .subtle-tag) { color: var(--b-muted); }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis a:not(.button) { color: var(--b-primary-600); font-weight: 700; }
/* saved_lineup_viewer.html (the older frame, still used for NFL replays and the archive): the action in indigo */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame :is(.saved-setup-strip button, .saved-setup-strip .is-signin, .saved-batch button) { background: var(--b-primary) !important; border-color: var(--b-primary) !important; color: #fff !important; font: 700 16px/1.2 var(--b-font) !important; border-radius: var(--b-radius) !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame :is(.saved-setup-strip button, .saved-batch button):disabled { background: var(--b-soft) !important; border-color: var(--b-line) !important; color: var(--b-muted) !important; }

/* ---------------------------------------------------------------- the FPL page */
.b3-fpl .b3-fpl-shot img { max-width: 300px; margin: 0 auto; border-radius: 20px; }
.b3-fpl .b3-fpl-shot.has-shape::before { right: 10%; }
.b3-fpl .season-proof .spc-card { box-shadow: none; }
.b3-fpl .b-cta-plain .b-btn-secondary { background: transparent; border-color: rgba(255, 255, 255, .85); color: #fff; }
.b3-fpl .b-cta-plain .b-btn-secondary:hover { background: rgba(255, 255, 255, .12); color: #fff; }
@media (max-width: 767px) { .b3-fpl .b3-fpl-shot img { max-width: 220px; } }

/* release 371 (new design): scoutics_light.css sets every h1-h3 to weight 500 !important (html.sx-cream h1); the designer's headings
   are 800 (titles) and 700-800 (card titles). Asked the lead to fix it in sx_brand.css for every page; until then, on these pages: */
html.sx-cream:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body:is(.b3-sim, .b3-fpl) :is(h1, h2).b-h1,
html.sx-cream:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body:is(.b3-sim, .b3-fpl) :is(h1, h2, h3).b-h2 { font-weight: 800 !important; }
html.sx-cream:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body:is(.b3-sim, .b3-fpl) :is(h2, h3).b-h3,
html.sx-cream:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim #savedSimulationPanel > h2 { font-weight: 800 !important; }
html.sx-cream:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis :is(h1, h2) { font-weight: 800 !important; }
html.sx-cream:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .analysis h3 { font-weight: 700 !important; }
/* the FPL page: no browser margin, white page (the cream theme's grey page colour is not the designer's) */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-fpl { margin: 0; background: #fff !important; }

/* release 373 (design review) ---------------------------------------------------------------------------------------------- */
/* the frame's empty tables (e.g. "Player rankings will appear after the first complete game.") were a 630px-wide row inside a
   phone-width scroller, so the sentence ran off the card; an empty table now fits its card, a filled one keeps its scroll width */
@media (max-width: 600px) {
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .table-scroll:has(td.placeholder) > table { min-width: 0 !important; width: 100% !important; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame .table-scroll:has(td.placeholder) thead { display: none; }
  html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-frame td.placeholder { white-space: normal !important; }
}
/* player names and positions on the court / pitch / rink were 11px; 12px is the floor for text */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .fantasy-pitch :is(.native-lineup-player, .fantasy-player) > :is(span, small) { font-size: 12px !important; }
/* the FPL season chart's chip labels (BB, WC, TC, FH) were 9px */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-fpl .season-proof .spc-pt b { font-size: 12px; padding: 1px 4px; }
/* age_gate.js focuses the page's main area (tabindex -1) after "21 or older"; that drew a dark ring around the whole page */
:is(body.b3-sim, body.b3-fpl, body.b3-frame) :is(main, #main)[tabindex="-1"]:focus { outline: none; }
/* the NFL editor's "Injured, suspended or not selectable" note and the FPL chart's axis numbers were 11px */
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-sim .nfl-unavailable p { font-size: 13px !important; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-fpl .season-proof .spc-grid i { font-size: 12px; }
html:not(#p371a):not(#p371b):not(#p371c):not(#p371d):not(#p371e) body.b3-fpl .season-proof :is(.spc-end span, .spc-end b, .spc-x span) { font-size: 12px; }
