:root {
  --ink: #050a12;
  --panel: #0d1725;
  --panel-2: #111e2f;
  --line: #26374c;
  --text: #f7f9fc;
  --muted: #a9bbd1;
  --blue: #013369;
  --blue-bright: #2b8ed6;
  --red: #d50a0a;
  --red-bright: #ff4e4e;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --max: 1480px;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { min-height: 100%; scroll-behavior: smooth; color-scheme: dark; background: #050a12; }
body {
  min-height: 100%;
  margin: 0;
  background: var(--ink);
  color: var(--text);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body > .container-fluid { min-height: 100vh; background: var(--ink); }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
.content-shell { width: min(calc(100% - 72px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 100; padding: 12px 18px; background: white; color: black; }
.skip-link:focus { top: 12px; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(5,10,18,.96); border-bottom: 1px solid #1d2b3c; backdrop-filter: blur(12px); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 14px; font-family: var(--display); font-size: 22px; font-weight: 800; letter-spacing: .055em; }
.brand-mark { width: 38px; height: 30px; position: relative; display: inline-block; }
.brand-mark i { position: absolute; left: 0; width: 31px; height: 5px; transform: skewX(-24deg); border-radius: 4px; }
.brand-mark i:nth-child(1) { top: 3px; background: white; left: 7px; }
.brand-mark i:nth-child(2) { top: 12px; background: var(--red-bright); left: 3px; }
.brand-mark i:nth-child(3) { top: 21px; background: var(--blue-bright); }
.primary-nav { display: flex; align-items: stretch; gap: 4px; }
.nav-link, .nav-menu-button { min-height: 52px; display: flex; align-items: center; padding: 0 19px; border: 0; border-radius: 10px; background: transparent; color: #bfc9d8; font-size: 16px; font-weight: 700; cursor: pointer; }
.nav-link:hover, .nav-link.active, .nav-menu-button:hover, .nav-menu.open > .nav-menu-button { color: white; background: var(--panel); box-shadow: inset 0 -3px 0 var(--blue-bright); }
.nav-menu { position: relative; }
.nav-menu-button span { margin-left: 9px; width: 20px; height: 20px; border: 1px solid var(--line); border-radius: 50%; display: inline-grid; place-items: center; }
.nav-dropdown { display: none; position: absolute; right: 0; top: calc(100% + 8px); min-width: 215px; padding: 10px; background: #0d1725; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 18px 50px rgba(0,0,0,.4); }
.nav-menu.open .nav-dropdown { display: grid; }
.nav-dropdown .nav-link { min-height: 43px; padding: 0 14px; }
.account-link { border: 1px solid var(--line); }
.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: white;
  cursor: pointer;
}
.menu-toggle:hover,
.menu-toggle:focus-visible { border-color: var(--blue-bright); color: var(--blue-bright); }
.menu-toggle-icon { display: grid; width: 22px; gap: 4px; }
.menu-toggle-icon span { display: block; width: 100%; height: 2px; border-radius: 999px; background: currentColor; }

.route-panel { display: none; min-height: calc(100vh - 150px); }
.route-panel.active { display: block; }
html.pfl-direct-survivor .route-panel.active:not([data-page="nfl-survivor"]) { display: none; }
html.pfl-direct-survivor .route-panel[data-page="nfl-survivor"] { display: block; }
.eyebrow { margin: 0 0 10px; color: #88a6ca; font-family: var(--display); font-size: 16px; font-weight: 700; letter-spacing: .16em; line-height: 1.2; text-transform: uppercase; }
.eyebrow.red { color: var(--red-bright); }
h1, h2, h3 { margin: 0; text-wrap: balance; }
h1, h2 { font-family: var(--display); font-weight: 800; letter-spacing: -.025em; }
h3 { font-family: var(--body); font-weight: 700; line-height: 1.25; }
p { color: var(--muted); }
.home-hero { min-height: 0; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); align-items: start; gap: 52px; padding-block: 24px 64px; }
.home-copy { padding-top: 4px; }
.home-copy .eyebrow { margin-bottom: 18px; }
.home-copy h1 { max-width: 840px; font-size: clamp(54px, 6.5vw, 88px); line-height: .88; }
.headline-accent { color: var(--blue-bright); }
.hero-lede { max-width: 820px; margin: 28px 0 0; color: var(--text); font-size: clamp(19px, 1.65vw, 25px); font-weight: 600; line-height: 1.55; }
.home-hero-rumblegrid-line { display: block; white-space: nowrap; }
.home-hero-rumblegrid-name { display: inline-flex; align-items: baseline; gap: 0; white-space: nowrap; }
.home-hero-rumblegrid-word { color: inherit; font: inherit; letter-spacing: inherit; }
.hero-speed { max-width: 760px; margin: 12px 0 0; color: white; font-size: clamp(18px, 1.35vw, 22px); font-weight: 600; line-height: 1.45; }
.button-row { display: flex; gap: 12px; margin-top: 34px; flex-wrap: wrap; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--line); border-radius: 10px; font-weight: 700; cursor: pointer; }
.button.primary { background: var(--blue-bright); border-color: var(--blue-bright); color: #04101b; }
.home-weekly-overview-button { color: white !important; }
.button.secondary { background: var(--panel); color: white; }
.hero-board { align-self: start; background: linear-gradient(145deg, #13253d, #08111d); border: 1px solid #30445f; border-radius: 20px; padding: 27px; box-shadow: 0 28px 80px rgba(0,0,0,.35); }
.board-label { color: var(--red-bright); font-family: var(--display); font-size: 17px; font-weight: 700; letter-spacing: .16em; line-height: 1.2; }
.board-score { display: flex; justify-content: space-between; align-items: baseline; padding: 21px 0; border-bottom: 1px solid var(--line); }
.board-score span { font-family: var(--display); font-size: 64px; font-weight: 800; line-height: 1; }
.board-score strong { color: #9bb5d2; font-size: 19px; }
.board-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; padding-top: 18px; }
.board-grid > * { background: rgba(255,255,255,.04); padding: 15px; border-radius: 10px; }
.board-best-bets { grid-column: 1; grid-row: 1 / span 2; display: flex; flex-direction: column; justify-content: center; min-width: 0; }
.board-tile-group .board-tile-link + .board-tile-link { margin-top: 8px; padding-top: 7px; border-top: 1px solid rgba(140,174,211,.28); }
.board-tile-link { transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.board-tile-link:hover, .board-tile-link:focus-visible { background: rgba(43,142,214,.15); box-shadow: inset 0 0 0 1px rgba(43,142,214,.55); transform: translateY(-1px); }
.board-tile-group .board-tile-link { display: block; border-radius: 4px; }
.board-grid small { display: block; color: #8caed3; font-family: var(--display); font-size: 14px; font-weight: 700; letter-spacing: .12em; line-height: 1.2; }
.board-grid b { display: block; margin-top: 6px; font-size: 16px; line-height: 1.35; }
.board-bets-period { display: block; margin-top: 10px; padding-top: 9px; border-top: 1px solid rgba(140,174,211,.28); color: #8caed3; font-family: var(--display); font-size: 11px; font-weight: 700; letter-spacing: .09em; }
.board-bets-results { display: grid; grid-template-columns: minmax(0,1fr) 1px minmax(0,1fr); align-items: center; gap: 10px; margin-top: 8px; }
.board-bets-result { display: grid; min-width: 0; align-content: center; gap: 4px; white-space: nowrap; color: #a9c5e5; font-size: 11px; font-weight: 700; }
.board-bets-result strong { color: var(--red-bright); font-family: var(--display); font-size: 25px; line-height: 1; }
.board-bets-result:last-child span { font-size: 10px; letter-spacing: -.01em; }
.board-bets-divider { align-self: stretch; min-height: 32px; background: rgba(140,174,211,.42); }

.page-hero { padding-block: 32px 17px; }
.page-hero h1 { max-width: 1050px; margin: 14px 0 18px; font-size: clamp(48px,5.4vw,76px); line-height: .9; }
.page-hero p { max-width: 1050px; margin-bottom: 0; font-size: 19px; line-height: 1.6; }
.section-tight { padding-bottom: 68px; }
.section-block { padding-block: 34px 78px; }
.section-heading { max-width: 900px; margin-bottom: 28px; }
.section-heading h2 { margin: 10px 0 10px; font-size: clamp(35px, 4vw, 50px); line-height: 1; }
.section-heading p { margin: 0; font-size: 17px; line-height: 1.65; }
.section-heading.spaced { margin-top: 72px; }
.feature-grid { display: grid; gap: 20px; }
.feature-grid.two { grid-template-columns: repeat(2, minmax(0,1fr)); }
.feature-grid.three { grid-template-columns: repeat(3, minmax(0,1fr)); }
.feature-grid.four { grid-template-columns: repeat(4, minmax(0,1fr)); }
.feature-card, .metric-card, .large-card, .control-panel, .roster-shell { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; }
.feature-card { padding: 28px; min-height: 240px; display: flex; flex-direction: column; }
.feature-card h3 { margin-top: 13px; font-size: 22px; line-height: 1.25; }
.feature-card p { margin-bottom: 18px; font-size: 16px; line-height: 1.65; }
.card-links { margin-top: auto; display: flex; gap: 18px; }
.weekly-guide-grid .card-links { flex-wrap: wrap; }
.weekly-guide-grid .feature-card { min-height: 310px; position: relative; padding-top: 26px; background: linear-gradient(145deg, #0f1d2c, #0b1420); }
.weekly-guide-grid .eyebrow { padding-right: 56px; }
.weekly-guide-grid .feature-card h3 { margin-top: 25px; font-size: 25px; }
.workspace-card-icon { position: absolute; top: 21px; right: 25px; width: 44px; height: 44px; padding: 5px; color: var(--blue-bright); border: 1px solid #294b67; border-radius: 11px; background: #112739; }
.workspace-card-icon svg { width: 100%; height: 100%; }
.text-link { color: #7cc9ff; font-size: 16px; font-weight: 700; }
.text-link::after { content: "  →"; }
.home-pathways { display: grid; grid-template-columns: minmax(0,.86fr) minmax(0,1.14fr); gap: 24px; align-items: start; }
.home-pathway { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(145deg, rgba(17,30,47,.78), rgba(8,17,29,.92)); }
.home-coach-path { border-top: 3px solid var(--blue-bright); }
.home-advice-path { border-top: 3px solid var(--red-bright); }
.home-pathway-heading { min-height: 154px; padding-bottom: 22px; }
.home-pathway-heading h2 { margin: 7px 0 8px; font-size: clamp(36px,3.5vw,50px); line-height: 1; }
.home-pathway-heading p { max-width: 680px; margin: 0; font-size: 16px; line-height: 1.55; }
.home-pathway-stack { display: grid; gap: 14px; }
.home-pathway-stack .feature-card { min-height: 0; padding: 22px; }
.home-pathway-stack .feature-card h3 { margin-top: 8px; }
.home-pathway-stack .feature-card p { margin: 9px 0 14px; line-height: 1.55; }
.home-pathway-stack .eyebrow { margin-bottom: 0; font-size: 14px; }
.lab-coach-overview { padding: 28px; }
.lab-coach-heading { max-width: 880px; margin-bottom: 22px; }
.lab-coach-heading h2 { margin: 7px 0 8px; font-size: clamp(38px,4vw,54px); line-height: 1; }
.lab-coach-heading p { margin: 0; font-size: 17px; line-height: 1.55; }
.lab-coach-steps { gap: 14px; }
.lab-coach-steps .feature-card { min-height: 250px; padding: 22px; }
.lab-overview-columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; align-items: start; }
.lab-overview-columns .lab-coach-steps { grid-template-columns: 1fr; }
.lab-overview-columns .lab-coach-heading h2 { font-size: clamp(36px,3.3vw,48px); }
.lab-overview-columns .lab-coach-heading p { font-size: 16px; }
.lab-overview-columns .lab-coach-steps .feature-card { min-height: 0; padding: 16px 18px; }
.lab-overview-columns .lab-coach-steps .eyebrow { font-size: 12px; }
.lab-overview-columns .lab-coach-steps h3 { margin: 8px 0 4px; font-size: 21px; }
.lab-overview-columns .lab-coach-steps p { margin: 0 0 10px; font-size: 15px; line-height: 1.5; }
.lab-overview-columns .lab-coach-steps .text-link { font-size: 15px; }
.lab-overview-columns .lab-support-links { flex-wrap: wrap; gap: 8px 16px; }
.lab-overview-columns .lab-support-links > span { flex-basis: 100%; }
.lab-overview-columns .lab-support-links .text-link { font-size: 14px; }
.lab-model-overview { margin-top: 0; display: flex; flex-direction: column; gap: 22px; }
.lab-model-heading h2 { margin: 8px 0 12px; font-size: clamp(34px,3.5vw,48px); line-height: 1; }
.lab-model-heading p, .lab-model-review p { font-size: 16px; line-height: 1.6; }
.lab-model-heading .button { margin-top: 6px; }
.lab-model-review { padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.025); }
.lab-model-review h3 { font-size: 23px; margin: 12px 0; }
@media (max-width: 760px) { .lab-overview-columns { grid-template-columns: 1fr; } .lab-model-overview { gap: 18px; } }
.lab-support-links { display: flex; align-items: center; gap: 20px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.lab-support-links > span { color: var(--muted); font-size: 14px; font-weight: 800; }
.rumblegrid-inline { text-transform: none; }
.route-panel[data-page="lab"] .page-hero { padding-bottom: 3px; }
.route-panel[data-page="lab"] > .section-block { padding-top: 14px; }
.route-panel[data-page="nfl-game-scripts"] .page-hero { padding-top: 18px; padding-bottom: 2px; }
.route-panel[data-page="nfl-game-scripts"] .page-hero h1 { margin: 8px 0 3px; font-size: clamp(48px,5.4vw,76px); white-space: nowrap; }
.route-panel[data-page="nfl-game-scripts"] .game-script-page { padding-top: 6px; }
.route-panel[data-page="nfl-game-scripts"] .section-heading { margin-bottom: 16px; }
.rumblegrid-beneficiary { margin-top: 14px; padding: 13px 16px; border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; background: rgba(43,142,214,.1); }
.rumblegrid-beneficiary .eyebrow { font-size: 11px; }
.rumblegrid-beneficiary p { margin: 4px 0 0; font-size: 14px; line-height: 1.45; }
.route-panel[data-page="nfl-game-scripts"] .game-script-signals .feature-card { min-height: 188px; padding: 19px 22px 17px; }
.route-panel[data-page="nfl-game-scripts"] .game-script-signals { grid-template-columns: minmax(0,.95fr) minmax(0,1.12fr) minmax(0,1.12fr) minmax(0,.81fr); align-items: stretch; }
.route-panel[data-page="nfl-game-scripts"] .game-script-signals .eyebrow { margin-bottom: 3px; }
.route-panel[data-page="nfl-game-scripts"] .game-script-signals h3 { margin: 6px 0 0; }
.route-panel[data-page="nfl-game-scripts"] .game-script-signals p { margin: 6px 0 0; line-height: 1.52; }
.route-panel[data-page="nfl-game-scripts"] .game-script-signals .rumblegrid-weather-badge { width: auto; min-height: 188px; margin: 0; align-content: center; }
.rumblegrid-outcome-card { min-width: 0; min-height: 188px; padding: 19px 17px; border: 1px solid #36506f; border-radius: 18px; background: linear-gradient(145deg,rgba(17,30,47,.92),rgba(8,17,29,.98)); }
.rumblegrid-outcome-card .eyebrow { color: #87b9e7; }
.rumblegrid-outcome-teams { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px 10px; align-items: center; margin-top: 14px; font-family: var(--condensed); font-size: 21px; font-weight: 800; }
.rumblegrid-outcome-team { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.rumblegrid-outcome-role { padding: 2px 4px; border: 1px solid #36506f; border-radius: 4px; color: var(--muted); font-size: 10px; font-weight: 600; line-height: 1.1; text-transform: uppercase; }
.rumblegrid-outcome-score { display: grid; justify-items: end; gap: 4px; }
.rumblegrid-outcome-score small { color: #7cc9ff; font-size: 12px; line-height: 1.1; }
.rumblegrid-outcome-tie { display: block; margin-top: 7px; color: var(--muted); font-size: 10px; }
.rumblegrid-outcome-teams strong { color: #fff; font-size: 28px; line-height: 1; }
.rumblegrid-outcome-card p { margin-top: 14px !important; color: var(--muted); font-size: 11px; line-height: 1.35 !important; }
.rumblegrid-run-own.nav-link { display: inline; min-height: 0; padding: 0; border-radius: 0; font-size: 11px; white-space: nowrap; }
.rumblegrid-run-own.nav-link:hover { background: transparent; box-shadow: none; }
.game-script-selector { display: grid; grid-template-columns: minmax(280px,680px); justify-content: start; align-items: start; margin-bottom: 16px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 14px; background: rgba(17,30,47,.68); }
.game-script-selector .form-group { margin: 0; }
.game-script-selector .selectize-control { margin: 0; }
.game-script-selector .selectize-input { min-height: 40px; display: flex; align-items: center; padding: 7px 34px 7px 11px; border: 1px solid #38516f; border-radius: 9px; background: #08111d; color: var(--text); box-shadow: none; font-size: 15px; }
.game-script-selector .selectize-input.full,
.game-script-selector .selectize-input.input-active { background: #08111d; }
.game-script-selector .selectize-dropdown { border: 1px solid var(--line); background: #0d1725; color: var(--text); }
.game-script-selector .selectize-dropdown .option.selected { background: #18314f; color: var(--text); }
.game-script-selector .selectize-dropdown .option.active:not(.selected),
.game-script-selector .selectize-dropdown .option:hover { background: var(--blue-bright); color: #04101b; }
.game-script-signals .feature-card { min-height: 225px; }
.game-script-action { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 24px; padding: 28px; border: 1px solid #30445f; border-radius: 18px; background: linear-gradient(135deg, rgba(43,142,214,.12), var(--panel)); }
.game-script-action h2 { margin: 7px 0 8px; font-size: clamp(34px,3.5vw,48px); line-height: 1; }
.game-script-action p { max-width: 900px; margin: 0; }
.game-script-action .button { flex: none; }
.rumblegrid-history-link { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--line); }
.rumblegrid-history-link .nav-link { display: inline-block; color: #9ec8ef; font-weight: 700; }
.game-script-checklist { display: grid; gap: 11px; max-width: 900px; margin: 17px 0 0; padding: 0; list-style: none; }
.game-script-checklist li { display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 10px; align-items: start; }
.game-script-check { display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; border: 1px solid rgba(98,214,165,.55); border-radius: 50%; color: #77e0b2; font-size: 13px; font-weight: 900; }
.game-script-checklist strong { display: block; color: var(--text); font-size: 15px; }
.game-script-checklist p { margin: 2px 0 0; font-size: 14px; line-height: 1.45; }
.rumblegrid-heading-row { display: grid; grid-template-columns: minmax(0,900px) minmax(220px,280px); align-items: start; justify-content: space-between; gap: 30px; }
.rumblegrid-heading-row > .section-heading { min-width: 0; }
.rumblegrid-weather-badge { min-width: 0; display: grid; grid-template-columns: 58px minmax(0,1fr); align-items: center; gap: 13px; margin-top: 4px; padding: 16px 17px; border: 1px solid #36506f; border-radius: 16px; background: linear-gradient(145deg,rgba(17,30,47,.92),rgba(8,17,29,.98)); box-shadow: inset 0 3px 0 #2b8ed6; }
.rumblegrid-weather-badge.is-roofed { box-shadow: inset 0 3px 0 #62d6a5; }
.nfl-weather-icon { width: 52px; height: 52px; color: #74c9ff; }
.rumblegrid-weather-badge.is-roofed .nfl-weather-icon, .nfl-weather-game-card.is-roofed .nfl-weather-icon { color: #77e0b2; }
.rumblegrid-weather-badge .eyebrow { margin: 0 0 3px; color: #87b9e7; font-size: 10px; }
.rumblegrid-weather-badge h3 { margin: 0; color: var(--text); font-size: 19px; line-height: 1.05; }
.rumblegrid-weather-badge p { margin: 4px 0 0; color: #b9c9da; font-size: 12px; line-height: 1.3; }
.rumblegrid-weather-badge small { display: block; margin-top: 4px; overflow: hidden; color: #7189a4; font-size: 10px; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.game-script-signals .rumblegrid-weather-badge { grid-template-columns: 45px minmax(0,1fr); gap: 10px; }
.game-script-signals .rumblegrid-weather-badge .nfl-weather-icon { width: 43px; height: 43px; }
.nfl-weather-body { padding-top: 18px; }
.nfl-weather-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; }
.nfl-weather-game-card { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: inset 0 3px 0 rgba(43,142,214,.75); }
.nfl-weather-game-card.is-roofed { box-shadow: inset 0 3px 0 rgba(98,214,165,.75); }
.nfl-weather-game-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.nfl-weather-game-topline .nfl-weather-icon { width: 38px; height: 38px; flex: 0 0 auto; }
.nfl-weather-game-card .eyebrow { margin-bottom: 3px; font-size: 10px; }
.nfl-weather-game-card h3 { margin: 0; font-size: 21px; line-height: 1.05; }
.nfl-weather-venue { min-height: 32px; margin: 8px 0 5px; color: #849bb5; font-size: 12px; line-height: 1.35; }
.nfl-weather-status { display: block; min-height: 30px; color: #dfeaff; font-family: var(--condensed); font-size: 13px; letter-spacing: .035em; line-height: 1.2; }
.nfl-weather-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 10px; }
.nfl-weather-game-card.is-roofed .nfl-weather-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
.nfl-weather-metrics span { min-width: 0; display: grid; gap: 2px; padding: 7px 6px; border: 1px solid #293e57; border-radius: 8px; background: #08111d; text-align: center; }
.nfl-weather-metrics small { color: #7892ad; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.nfl-weather-metrics b { color: white; font-size: 12px; white-space: nowrap; }
.nfl-weather-impact { margin: 11px 0 0; color: #aebfd0; font-size: 12px; line-height: 1.4; }
.nfl-weather-source { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.nfl-weather-source p { margin: 0; color: var(--muted); font-size: 12px; }
.nfl-weather-source .button { flex: 0 0 auto; }
.nfl-depth-page .page-hero { padding-top: 18px; padding-bottom: 0; }
.nfl-depth-page .page-hero h1 { margin: 8px 0; }
.nfl-depth-page .page-hero p { line-height: 1.25; }
.nfl-depth-body { padding-top: 6px; min-width: 0; }
.nfl-depth-intro, .nfl-depth-source { max-width: 900px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.nfl-depth-browser { min-width: 0; max-width: 1180px; margin: 8px 0; padding: 12px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.nfl-depth-browser .tabbable { min-width: 0; }
.nfl-depth-browser .tabbable > .nav-tabs { display: flex; flex-wrap: wrap; gap: 3px; margin: 0 0 8px; padding: 3px; border: 1px solid var(--line); border-radius: 11px; background: #08111d; }
.nfl-depth-browser .tabbable > .nav-tabs > li { float: none; margin: 0; }
.nfl-depth-browser .tabbable > .nav-tabs > li > a { display: block; margin: 0; padding: 7px 10px; border: 0 !important; border-radius: 8px; color: #aec6e1; font-size: 12px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.nfl-depth-browser .tabbable > .nav-tabs > li > a:hover { background: #19314d; color: #fff; }
.nfl-depth-browser .tabbable > .nav-tabs > li.active > a,
.nfl-depth-browser .tabbable > .nav-tabs > li.active > a:hover { background: var(--blue-bright); color: #04101b; }
.nfl-depth-browser .tabbable > .tab-content { min-width: 0; }
.nfl-depth-divisions, .nfl-depth-teams, .nfl-depth-units { min-width: 0; }
.nfl-depth-teams .nav-tabs > li > a { font-size: 12px !important; }
.nfl-depth-units .nav-tabs > li > a { font-size: 12px !important; }
.nfl-depth-table-wrap { width: fit-content; max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.nfl-depth-page .nfl-depth-table { width: auto; min-width: 0; margin: 0; border-collapse: collapse; table-layout: auto; background: #0b1727; font-size: 12px; }
.nfl-depth-page .nfl-depth-table th { padding: 8px 9px; background: #08111d; color: #91c6f4; text-align: left; text-transform: uppercase; font-family: var(--condensed); font-size: 11px; letter-spacing: .055em; white-space: nowrap; }
.nfl-depth-page .nfl-depth-table th.nfl-depth-number { text-align: right; }
.nfl-depth-page .nfl-depth-table .nfl-depth-center { text-align: center; }
.nfl-depth-page .nfl-depth-table td { padding: 6px 9px; line-height: 1.2; border-top: 1px solid #223247; color: #dce8f6; vertical-align: middle; }
.nfl-depth-page .nfl-depth-table tbody tr:nth-child(even) { background: #101e30; }
.nfl-depth-page .nfl-depth-table tbody tr.position-start td { border-top: 2px solid #416181; }
.nfl-depth-position { color: #8ac6f2 !important; font-weight: 800; }
.nfl-depth-player { color: #fff !important; font-weight: 700; white-space: nowrap; }
.nfl-depth-status { max-width: 140px; overflow-wrap: break-word; }
.nfl-depth-number { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nfl-depth-empty { padding: 24px; color: var(--muted); }
@media (max-width: 760px) { .nfl-depth-browser { padding: 12px; } .nfl-depth-browser .tabbable > .nav-tabs > li > a { padding: 8px 10px; font-size: 12px; } }

.survivor-page .page-hero { padding-top: 18px; padding-bottom: 3px; }
.survivor-page .page-hero h1 { margin: 8px 0 3px; font-size: clamp(48px,5.4vw,76px); white-space: nowrap; }
.survivor-workspace { padding-top: 14px; }
.survivor-workspace .tabbable > .nav-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.survivor-workspace .tabbable > .nav-tabs > li { margin: 0; }
.survivor-workspace .tabbable > .nav-tabs > li > a { margin: 0; padding: 10px 15px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.survivor-workspace .tabbable > .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.survivor-workspace .tabbable > .nav-tabs > li.active > a,
.survivor-workspace .tabbable > .nav-tabs > li.active > a:hover { background: var(--blue-bright); color: #04101b; }
.survivor-workspace .tabbable > .tab-content { padding-top: 16px; }
.survivor-preloaded.recalculating { opacity: 1; }
/* The saved game script is already readable while the live session connects. */
.rumblegrid-preloaded.recalculating { opacity: 1; transition: none; }
.survivor-contest-rules { margin: 0 0 14px; color: var(--muted); font-size: 12px; }
.survivor-contest-rules summary { cursor: pointer; padding: 4px 0; font-weight: 700; }
.survivor-planning-notes { margin: 18px 0; }
.survivor-planning-notes h3 { font-size: 21px; margin-bottom: 8px; }
.survivor-planning-notes p { font-size: 13px; line-height: 1.55; max-width: 1050px; }
.survivor-planning-notes > p + p,
.survivor-current-strategy > p + p { margin-top: 16px; }
.survivor-leg-selector { margin: 0 0 12px; }
.survivor-week-heading { max-width: 1040px; margin-bottom: 22px; }
.survivor-week-heading h2 { margin: 7px 0 8px; font-size: clamp(38px,4vw,56px); line-height: 1; }
.survivor-week-heading p { max-width: 940px; margin: 0; font-size: 16px; line-height: 1.6; }
.survivor-callout-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 16px; }
.survivor-callout { padding: 22px 24px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,rgba(17,30,47,.82),rgba(8,17,29,.92)); }
.survivor-callout-primary { border-top: 3px solid var(--blue-bright); }
.survivor-callout h3 { margin: 5px 0 7px; font-size: 22px; }
.survivor-callout p { margin: 0; font-size: 15px; line-height: 1.55; }
.survivor-play-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.survivor-play-card { min-width: 0; padding: 21px 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.survivor-play-primary { border-color: rgba(43,142,214,.68); box-shadow: inset 0 3px 0 var(--blue-bright); }
.survivor-play-sneaky { border-color: rgba(133,188,158,.5); box-shadow: inset 0 3px 0 rgba(133,188,158,.7); }
.survivor-play-topline { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.survivor-play-rank { color: var(--red-bright); font-family: var(--display); font-size: 25px; font-weight: 800; line-height: 1; }
.survivor-play-probability { color: #8fd0ff; font-size: 12px; font-weight: 800; text-align: right; }
.survivor-play-card .eyebrow { margin-bottom: 6px; font-size: 13px; }
.survivor-play-card h3 { font-size: 24px; }
.survivor-play-card > p { margin: 9px 0 0; font-size: 14px; line-height: 1.52; }
.survivor-play-card .survivor-play-matchup { margin-top: 4px; color: #86a9d0; font-weight: 700; }
.survivor-play-card .survivor-future-note { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.survivor-play-card .survivor-future-note strong { color: var(--text); }
.survivor-current-play-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.survivor-current-circa-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.survivor-guidance-views { margin-top: 24px; }
.survivor-current-play-grid + h3 { margin-top: 24px; }
.survivor-play-card .survivor-play-models { color: #8fd0ff; font-size: 12px; font-weight: 700; }
.survivor-play-card .survivor-play-caution { color: var(--muted); }
.survivor-current-shortlist, .survivor-current-strategy { margin-top: 22px; }
.survivor-current-shortlist h3, .survivor-current-strategy h3 { margin: 0 0 12px; font-size: 23px; }
.survivor-current-table table { min-width: 760px; width: 100%; table-layout: fixed; }
.survivor-current-table th, .survivor-current-table td { font-size: 13px; }
.survivor-current-table td:nth-child(-n+5) { white-space: nowrap; }
.survivor-current-table th:nth-child(1) { width: 8%; }
.survivor-current-table th:nth-child(2) { width: 12%; }
.survivor-current-table th:nth-child(3) { width: 11%; }
.survivor-current-table th:nth-child(4) { width: 13%; }
.survivor-current-table th:nth-child(5) { width: 15%; }
.survivor-current-table td:last-child { white-space: normal; overflow-wrap: break-word; }
.survivor-current-table td small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.survivor-current-note { margin: 9px 0 0; font-size: 12px; }
.survivor-week-nav { display: grid; grid-template-columns: 44px repeat(var(--survivor-week-count,17),minmax(0,1fr)); align-items: center; gap: 4px; padding: 9px 0; margin-bottom: 12px; }
.survivor-week-nav > span { color: var(--muted); font-size: 12px; font-weight: 700; }
.survivor-week-nav button { min-width: 0; padding: 7px 1px; border: 1px solid var(--line); border-radius: 7px; background: var(--panel); color: var(--muted); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.survivor-week-nav button:hover, .survivor-week-nav button:focus-visible { color: var(--text); border-color: var(--blue-bright); }
.survivor-week-nav button.active { background: var(--blue-bright); color: #06111c; border-color: var(--blue-bright); }
.survivor-week-table-heading { margin: 15px 0 10px; font-size: 23px; }
.survivor-week-table { width: 100%; min-width: 950px; table-layout: fixed; border-collapse: collapse; }
.survivor-week-table th, .survivor-week-table td { padding: 9px 6px; border-bottom: 1px solid var(--line); text-align: center; vertical-align: middle; font-size: 13px; }
.survivor-week-table th { color: #8fb4dd; background: #0a1421; }
.survivor-week-table th:first-child { width: 5%; }
.survivor-week-table th:nth-child(2) { width: 19%; text-align: left; }
.survivor-week-table th:nth-child(3) { width: 9%; }
.survivor-week-table th:last-child { width: 15%; }
.survivor-week-table td:nth-child(2) { text-align: left; }
.survivor-week-table td strong { display: block; }
.survivor-week-sort { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: inherit; cursor: pointer; }
.survivor-week-sort:hover, .survivor-week-sort.active { color: var(--text); }
.survivor-week-sort:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 4px; border-radius: 2px; }
.survivor-guidance-loading { display: flex; align-items: center; gap: 9px; padding: 18px 0; color: var(--muted); font-size: 14px; }
.survivor-guidance-loading::before { content: ""; width: 18px; height: 18px; border: 2px solid var(--line); border-top-color: var(--blue-bright); border-radius: 50%; animation: survivor-loading-spin .8s linear infinite; }
@keyframes survivor-loading-spin { to { transform: rotate(360deg); } }
.survivor-season-heading-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; max-width: none; flex-wrap: wrap; }
.survivor-forecast-selector .shiny-input-container { margin: 0; }
.survivor-forecast-selector label { margin-bottom: 4px; color: var(--muted); font-size: 12px; }
.survivor-forecast-selector .selectize-input, .survivor-forecast-selector .selectize-dropdown,
.survivor-forecast-selector .selectize-input .item, .survivor-forecast-selector .selectize-input input { font-size: 13px !important; }
.survivor-forecast-selector .selectize-input { min-height: 34px; padding: 6px 28px 6px 10px; border-color: var(--line); background: #08111d !important; color: var(--text) !important; box-shadow: none; }
.survivor-game-note { display: inline-block; margin: 2px; padding: 3px 5px; border: 1px solid var(--line); border-radius: 4px; color: #a8bbd2; font-size: 11px; white-space: nowrap; }
.survivor-no-pick-row { opacity: .6; }
@media (max-width: 600px) { .survivor-week-nav { grid-template-columns: 32px repeat(var(--survivor-week-count,17),minmax(0,1fr)); gap: 2px; } .survivor-week-nav button { font-size: 11px; padding: 8px 0; } .survivor-week-nav-expanded { grid-template-columns: 32px repeat(19,minmax(26px,1fr)); overflow-x: auto; } }
.survivor-current-strategy p, .survivor-current-sources p, .survivor-current-sources li { font-size: 14px; line-height: 1.55; }
.survivor-current-sources { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); }
.survivor-current-sources summary { color: var(--muted); cursor: pointer; font-size: 12px; font-weight: 700; }
@media (max-width: 1100px) { .survivor-current-play-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .survivor-current-play-grid { grid-template-columns: 1fr; } }
.survivor-save-section { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line); }
.survivor-save-section > h2 { margin: 6px 0 7px; font-size: clamp(30px,3.2vw,43px); line-height: 1; }
.survivor-save-intro { max-width: 1040px; margin: 0 0 14px; font-size: 14px; line-height: 1.5; }
.survivor-save-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.survivor-save-card { padding: 19px 21px; border: 1px solid var(--line); border-radius: 16px; background: rgba(17,30,47,.72); }
.survivor-save-card h3 { margin: 5px 0 3px; font-size: 23px; }
.survivor-save-card > p { margin: 8px 0 0; font-size: 14px; line-height: 1.5; }
.survivor-save-card .survivor-save-forecast { margin-top: 0; color: #8fd0ff; font-size: 12px; font-weight: 800; }
.survivor-save-card .survivor-future-note { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.survivor-save-card .survivor-future-note strong { color: var(--text); }
.survivor-season-heading { margin-bottom: 14px; }
.survivor-metric-control { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; padding: 9px 13px; border: 1px solid var(--line); border-radius: 12px; background: rgba(17,30,47,.7); }
.survivor-metric-control > span, .survivor-season-filters > span { color: #86a9d0; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.survivor-metric-control .form-group { margin: 0; }
.survivor-metric-control .shiny-options-group { display: flex; flex-wrap: wrap; gap: 8px; }
.survivor-metric-control label.radio-inline { margin: 0; padding: 6px 10px; border-radius: 7px; color: var(--muted); font-size: 13px; font-weight: 800; }
.survivor-metric-control input[type="radio"] { margin: 3px 0 0 -18px; accent-color: var(--blue-bright); }
.survivor-season-filters { display: flex; align-items: center; gap: 16px; margin-left: auto; }
.survivor-season-filters .shiny-input-container { width: auto; }
.survivor-season-filters .form-group, .survivor-season-filters .checkbox { margin: 0; }
.survivor-season-filters .checkbox label { display: flex; align-items: center; gap: 7px; margin: 0; color: #c2d0e0; font-size: 12px; font-weight: 800; white-space: nowrap; }
.survivor-season-filters .checkbox input { position: static; flex: 0 0 auto; margin: 0 !important; accent-color: var(--blue-bright); }
.survivor-season-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: #08111d; }
.survivor-season-table { width: 100%; min-width: 960px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 13px; line-height: 1.25; }
.survivor-season-table th, .survivor-season-table td { border-right: 1px solid rgba(38,55,76,.78); border-bottom: 1px solid rgba(38,55,76,.78); }
.survivor-season-table thead th { height: 39px; padding: 4px 1px; background: #0a1421; color: #8fb4dd; font-family: var(--display); font-size: 14px; text-align: center; }
.survivor-season-table thead .survivor-team-heading { left: 0; z-index: 3; width: 150px; min-width: 150px; padding-left: 7px; text-align: left; }
.survivor-sort-button { width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 5px; padding: 3px 2px; border: 0; background: transparent; color: inherit; font: inherit; line-height: 1; cursor: pointer; }
.survivor-team-heading .survivor-sort-button { justify-content: flex-start; }
.survivor-sort-button:hover, .survivor-sort-button:focus-visible, .survivor-sort-button.active { color: var(--text); }
.survivor-sort-button:focus-visible { outline: 2px solid var(--blue-bright); outline-offset: 1px; border-radius: 4px; }
.survivor-sort-indicator { color: var(--blue-bright); font-family: sans-serif; font-size: 9px; }
.survivor-team-heading, .survivor-team-cell { position: sticky; left: 0; z-index: 2; }
.survivor-team-cell { width: 150px; min-width: 150px; height: 53px; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 5px; padding: 5px 5px; background: #0d1725; text-align: left; }
.survivor-team-abbr { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid #36506f; border-radius: 50%; color: #8fd0ff; font-family: var(--display); font-size: 12px; font-weight: 800; }
.survivor-team-copy { min-width: 0; display: grid; gap: 2px; }
.survivor-team-copy strong { overflow: hidden; color: var(--text); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.survivor-team-copy small { color: #88a0bc; font-size: 11px; font-weight: 600; }
.survivor-probability-cell { height: 53px; padding: 4px 1px; color: #fff; text-align: center; }
.survivor-probability-cell strong, .survivor-probability-cell small { display: block; }
.survivor-probability-cell strong { font-size: 13px; white-space: nowrap; }
.survivor-probability-cell small { margin-top: 2px; color: rgba(255,255,255,.72); font-size: 11px; }
.survivor-probability-elite { background: rgba(47,220,111,.58); color: #fff; }
.survivor-probability-strong { background: rgba(47,220,111,.34); }
.survivor-probability-lean { background: rgba(47,220,111,.20); }
.survivor-probability-close { background: rgba(47,220,111,.10); }
.survivor-probability-risk { background: rgba(255,255,255,.018); }
.survivor-margin-negative { background: rgba(255,78,78,.08); }
.survivor-probability-bye, .survivor-probability-bye small { color: #6f8299; background: rgba(255,255,255,.012); }
.survivor-probability-filtered small { font-size: 9px; font-weight: 800; letter-spacing: .03em; }
.survivor-season-table thead .survivor-week-completed, .survivor-probability-cell.survivor-week-completed { background: #101722; color: #8290a1; }
.survivor-week-completed small { color: #697588; }
.survivor-week-completed .survivor-sort-indicator { color: #8290a1; }
.best-bets-page .page-hero { padding-top: 18px; padding-bottom: 3px; }
.best-bets-page .page-hero h1 { margin: 8px 0 3px; font-size: clamp(48px,5.4vw,76px); white-space: nowrap; }
.best-bets-workspace { padding-top: 14px; }
.best-bets-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.best-bets-summary > span { min-width: 150px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(17,30,47,.72); }
.best-bets-summary small, .best-bets-summary strong { display: block; }
.best-bets-summary small { color: #86a9d0; font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.best-bets-summary strong { margin-top: 1px; font-size: 14px; }
.best-bets-workspace > .tabbable > .nav-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.best-bets-workspace > .tabbable > .nav-tabs > li { margin: 0; }
.best-bets-workspace > .tabbable > .nav-tabs > li:has(> a[data-value="Historical Results"]),
.best-bets-workspace > .tabbable > .nav-tabs > li:has(> a[data-value="Circa Million VIII"]) { margin-left: 6px; padding-left: 11px; border-left: 1px solid #3a526d; }
.best-bets-workspace > .tabbable > .nav-tabs > li:not(.active) > a[data-value="Historical Results"] { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.best-bets-workspace > .tabbable > .nav-tabs > li > a { margin: 0; padding: 10px 15px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.best-bets-workspace > .tabbable > .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.best-bets-workspace > .tabbable > .nav-tabs > li.active > a,
.best-bets-workspace > .tabbable > .nav-tabs > li.active > a:hover { background: var(--blue-bright); color: #04101b; }
.best-bets-workspace > .tabbable > .tab-content { padding-top: 18px; }
.best-bet-market-heading { margin-bottom: 14px; }
.best-bet-market-heading .eyebrow { margin-bottom: 5px; font-size: 13px; }
.best-bet-market-heading h2 { font-size: clamp(31px,3.2vw,43px); line-height: 1; }
.best-bet-market-heading p { max-width: 760px; margin: 8px 0 0; font-size: 14px; line-height: 1.55; }
.best-bet-circa-records { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.best-bet-circa-records > span { min-width: 130px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: rgba(17,30,47,.72); }
.best-bet-circa-records small, .best-bet-circa-records strong { display: block; }
.best-bet-circa-records small { color: #86a9d0; font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .09em; }
.best-bet-circa-records strong { margin-top: 1px; font-size: 15px; }
.best-bet-market-heading .best-bet-circa-standing-note { color: var(--muted); font-size: 12px; }
.best-bet-circa-standing-note a { color: var(--blue-bright); }
.best-bet-empty-state { min-height: 170px; }
.best-bet-empty-state h2 { max-width: 660px; }
.empty-state.best-bet-circa-empty-state h2 { font-size: clamp(19px, 2vw, 32px); }
.best-bet-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.best-bet-card { min-width: 0; padding: 18px 19px 16px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg,rgba(17,30,47,.82),rgba(8,17,29,.94)); }
.best-bet-card:first-child { border-color: rgba(43,142,214,.68); box-shadow: inset 0 3px 0 var(--blue-bright); }
.best-bet-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.best-bet-topline .eyebrow { margin: 0; font-size: 12px; letter-spacing: .09em; }
.best-bet-agreement { flex: none; color: #8fd0ff; font-size: 11px; font-weight: 800; }
.best-bet-card h3 { margin-top: 9px; font-size: 22px; }
.best-bet-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-top: 13px; }
.best-bet-metrics > span { min-width: 0; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; background: rgba(17,30,47,.64); }
.best-bet-metrics small, .best-bet-metrics strong { display: block; }
.best-bet-metrics small { color: #86a9d0; font-family: var(--display); font-size: 10px; font-weight: 800; letter-spacing: .07em; }
.best-bet-metrics strong { margin-top: 2px; font-family: var(--display); font-size: 19px; line-height: 1; }
.best-bets-history-archive { padding-top: 8px; border-top: 1px solid var(--line); }
.best-bets-history-archive > .eyebrow { margin-bottom: 4px; }
.best-bets-history-archive > h3 { margin: 0 0 14px; font-size: clamp(26px,2.6vw,36px); }
.best-bets-history-nav { margin: 0 0 18px; }
.best-bets-history-label { min-width: 118px; color: var(--text); font-family: var(--display); font-size: 15px; letter-spacing: .04em; text-align: center; }
.best-bets-history-archive > .form-group { width: min(100%,260px); margin-bottom: 18px; }
.best-bets-history-archive > .shiny-html-output,
.best-bets-history-archive > .shiny-panel-conditional { width: 100%; }
.best-bets-history-archive .nav-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 0 0 18px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.best-bets-history-archive .nav-tabs > li { margin: 0; }
.best-bets-history-archive .nav-tabs > li > a { margin: 0; padding: 10px 15px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.best-bets-history-archive .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.best-bets-history-archive .nav-tabs > li.active > a,
.best-bets-history-archive .nav-tabs > li.active > a:hover { background: var(--blue-bright); color: #04101b; }
.best-bet-result { flex: none; padding: 3px 9px; border: 1px solid var(--line); border-radius: 7px; font-size: 12px; font-weight: 900; text-transform: uppercase; }
.best-bet-result.win { color: #8de7b2; border-color: rgba(141,231,178,.4); }
.best-bet-result.loss { color: #ff9999; border-color: rgba(255,153,153,.4); }
.best-bet-result.push { color: #bdd0e6; }
.best-bet-final { margin: 10px 0 0; color: #a9c8e5; font-size: 13px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; margin-bottom: 26px; }
.metric-card { padding: 24px; min-height: 156px; }
.metric-card strong { display: block; font-family: var(--display); font-size: 48px; font-weight: 800; margin-top: 9px; }
.metric-card p { margin: 2px 0 0; }
.empty-state { background: linear-gradient(125deg, var(--panel), #0c1b2c); border: 1px solid var(--line); border-radius: 20px; padding: 48px; }
.empty-state h2 { font-size: clamp(37px, 4vw, 64px); margin: 12px 0; }
.empty-state p { max-width: 850px; }
.nfl-fantasy-page .page-hero { padding-bottom: 5px; }
.nfl-fantasy-page > .section-block { padding-top: 14px; }
.fantasy-picks-board { display: grid; gap: 18px; }
.fantasy-picks-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 10px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(135deg, rgba(43,142,214,.10), var(--panel)); }
.fantasy-picks-toolbar .button { flex: none; }
.fantasy-picks-tabs { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.fantasy-picks-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 9px 14px; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #a9bbd1; font-size: 13px; font-weight: 900; cursor: pointer; }
.fantasy-picks-tabs button:hover { border-color: #355171; color: white; }
.fantasy-picks-tabs button.active { border-color: var(--blue-bright); background: var(--blue-bright); color: #04101b; }
.fantasy-picks-panel { display: none; gap: 18px; }
.fantasy-picks-panel.active { display: grid; }
.fantasy-picks-panel-sits .fantasy-spotlight-card { border-color: rgba(255,77,77,.42); }
.fantasy-position-spotlights { padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: rgba(13,23,37,.72); }
.fantasy-position-heading { display: flex; align-items: end; gap: 14px; margin-bottom: 13px; }
.fantasy-position-heading .eyebrow { margin: 0 0 5px; }
.fantasy-position-heading h2 { font-size: clamp(29px,3vw,40px); line-height: 1; }
.fantasy-position-heading > .text-link { margin-left: auto; }
.fantasy-spotlight-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.fantasy-spotlight-card { min-width: 0; padding: 19px 20px; border: 1px solid #30445f; border-radius: 14px; background: #0a1421; }
.fantasy-spotlight-card .eyebrow { margin-bottom: 6px; font-size: 13px; }
.fantasy-spotlight-card h3 { font-size: 23px; }
.fantasy-spotlight-meta { margin: 4px 0 11px; color: #8fd0ff; font-size: 13px; font-weight: 800; }
.fantasy-spotlight-scores { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; margin-bottom: 11px; }
.fantasy-spotlight-scores > span { min-width: 0; padding: 7px 10px; border: 1px solid var(--line); border-radius: 9px; background: rgba(17,30,47,.72); }
.fantasy-spotlight-scores small, .fantasy-spotlight-scores strong { display: block; }
.fantasy-spotlight-scores small { color: #86a9d0; font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.fantasy-spotlight-scores strong { margin-top: 1px; font-family: var(--display); font-size: 24px; line-height: 1; }
.fantasy-spotlight-card > p:not(.fantasy-spotlight-meta) { margin: 0 0 13px; font-size: 14px; line-height: 1.5; }
.fantasy-spotlight-card .card-links { flex-wrap: wrap; }
.fantasy-spotlight-card .text-link { min-height: 0; padding: 0; }
.split-panel, .account-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.large-card { padding: 38px; }
.large-card h2 { font-size: 48px; margin-top: 10px; }
.toggle-shell, .workspace-tabs { display: inline-flex; align-items: center; gap: 8px; padding: 7px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; margin-bottom: 22px; }
.toggle-shell button, .workspace-tabs button, .projection-buttons button, .roster-row button { border: 0; border-radius: 8px; padding: 10px 15px; background: transparent; color: #a9bbd1; font-weight: 900; }
.toggle-shell button.active, .workspace-tabs button.active, .projection-buttons button.active { background: var(--blue-bright); color: #04101b; }
.toggle-shell .download { border-left: 1px solid var(--line); border-radius: 0; color: white; }
.band { background: #0a1421; border-block: 1px solid #1c2b3d; }

.lab-layout { display: grid; grid-template-columns: 320px minmax(0,1fr); gap: 22px; align-items: start; }
.fantasy-workspace { display: grid; grid-template-columns: 330px minmax(0,1fr); gap: 22px; align-items: start; }
.control-panel { padding: 26px; }
.control-panel h2 { font-size: 35px; margin: 10px 0 22px; }
.control-panel hr { border: 0; border-top: 1px solid var(--line); margin: 22px 0; }
.control-button { width: 100%; min-height: 46px; border: 1px solid var(--line); background: #111d2b; color: white; border-radius: 9px; font-weight: 900; margin-top: 9px; cursor: pointer; }
.primary-control { background: var(--blue-bright); color: #06101a; border-color: var(--blue-bright); }
.check-row { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; color: #c2d0e0; font-weight: 700; }
.check-row input { margin-top: 5px; accent-color: var(--red); }
.selection-banner { background: #102138; border: 1px solid #294667; border-radius: 13px; padding: 18px 22px; margin-bottom: 20px; font-weight: 900; }
.lab-results .metric-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.betting-lab-page > .page-hero { padding-bottom: 2px; }
.betting-lab-workspace { padding-top: 18px; }
.betting-lab-controls { position: sticky; top: 90px; max-height: calc(100vh - 108px); overflow-y: auto; scrollbar-gutter: stable; }
.betting-lab-controls .form-group { margin-bottom: 15px; }
.betting-lab-controls .nav-tabs { display: flex; margin: 17px 0 12px; border-bottom: 1px solid var(--line); }
.betting-lab-controls .nav-tabs > li { flex: 1; text-align: center; }
.betting-lab-controls .nav-tabs > li > a { padding: 10px 6px; font-size: 13px; font-weight: 800; color: #a9bfd5; background: transparent; border-color: transparent; }
.betting-lab-controls .nav-tabs > li.active > a { color: var(--blue-bright); border-color: var(--line); background: #08111d; }
.betting-lab-market-settings { padding: 7px 0; }
.betting-lab-controls .betting-lab-history-options .form-group { margin-bottom: 0; }
.betting-lab-controls .betting-lab-history-options .checkbox { padding: 4px 0; }
.betting-lab-controls .betting-lab-coverage { font-size: 11px; line-height: 1.5; }
.betting-lab-controls .control-label { font-size: 12px; }
.betting-lab-controls .selectize-input,
.betting-lab-controls .selectize-dropdown { font-size: 13px; }
.betting-lab-controls .checkbox { margin: 0; padding: 8px 0; }
.betting-lab-controls .checkbox label { color: #c2d0e0; font-size: 13px; font-weight: 800; }
.betting-lab-controls input[type="checkbox"] { accent-color: var(--red); }
.betting-lab-selection-actions { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.betting-lab-selection-actions .control-button { min-height: 38px; margin-top: 0; padding: 7px 9px; font-size: 12px; }
.betting-lab-model-list { margin-top: 13px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: #08111d; }
.betting-lab-model-group { padding: 9px 10px; border-radius: 8px; background: rgba(255,255,255,.018); }
.betting-lab-model-group + .betting-lab-model-group { margin-top: 8px; border-top: 1px solid #2d435d; }
.betting-lab-model-group .form-group { margin: 0; }
.betting-lab-model-title { color: #9ec6ef; font-family: var(--display); font-size: 13px; font-weight: 800; letter-spacing: .1em; }
.betting-lab-subgroup-label { margin: 10px 0 2px; color: #718aa7; font-family: var(--display); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.betting-lab-model-group .checkbox { padding: 4px 0; }
.betting-lab-helper { margin: -7px 0 16px; color: #8499b2; font-size: 11px; line-height: 1.45; }
.betting-lab-source-helper { margin: 1px 0 6px; }
.betting-lab-settings-group > .checkbox { padding: 4px 0; }
.betting-lab-generate-button,
.betting-lab-generate-button:hover,
.betting-lab-generate-button:focus,
.betting-lab-generate-button:active { min-height: 40px; margin-top: 7px; border-color: var(--blue-bright); background: var(--blue-bright); color: #06101a; }
.betting-lab-generate-top,
.betting-lab-generate-top:hover,
.betting-lab-generate-top:focus,
.betting-lab-generate-top:active { margin: 0 0 10px; }
.betting-lab-generate-footer { margin-top: 8px; padding: 10px; border-top: 1px solid #2d435d; }
.betting-lab-generate-footer .betting-lab-generate-bottom { margin-top: 0; }
.betting-lab-framework-block { margin-top: 10px; }
.betting-lab-framework-title { color: #c7d9eb; font-size: 12px; font-weight: 900; }
.betting-lab-framework-families { margin: 4px 0 0 5px; padding-left: 10px; border-left: 2px solid #294667; }
.betting-lab-results { min-width: 0; min-height: 650px; padding: 24px; }
.betting-lab-wait { display: none; min-height: 72px; margin-bottom: 16px; padding: 14px 18px; align-items: center; justify-content: center; gap: 10px; border: 1px solid #294667; border-radius: 12px; background: #08111d; color: #dce6f2; font-size: 13px; font-weight: 800; }
.betting-lab-page.is-generating .betting-lab-wait,
.betting-lab-page.is-history-loading .betting-lab-wait,
.betting-lab-page.is-initial-loading .betting-lab-wait { display: flex; }
.betting-lab-page.is-generating .betting-lab-generate-button { cursor: wait; opacity: .7; }
.betting-lab-hourglass { display: inline-block; font-size: 18px; animation: simulation-pulse 1.1s ease-in-out infinite alternate; }
.betting-lab-results > .tabbable > .nav-tabs,
.betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs { display: flex; gap: 5px; margin: 0 0 20px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.betting-lab-results > .tabbable > .nav-tabs > li,
.betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li { margin: 0; }
.betting-lab-results > .tabbable > .nav-tabs > li > a,
.betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li > a { margin: 0; padding: 10px 14px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.betting-lab-results > .tabbable > .nav-tabs > li > a:hover,
.betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.betting-lab-results > .tabbable > .nav-tabs > li.active > a,
.betting-lab-results > .tabbable > .nav-tabs > li.active > a:hover,
.betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li.active > a,
.betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li.active > a:hover { background: var(--blue-bright); color: #04101b; }
.betting-lab-table-heading { margin: 23px 0 13px; }
.betting-lab-table-heading h2 { margin: 5px 0 0; font-size: 32px; }
.betting-lab-table-wrap { max-width: 100%; padding: 15px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.018); overflow-x: auto; }
.betting-lab-table-wrap table.dataTable { color: var(--text); }
.betting-lab-table-wrap table.dataTable thead th { color: #9eb9d6; font-family: var(--display); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.betting-lab-table-wrap table.dataTable tbody td { border-top-color: rgba(38,55,76,.72); }
.betting-lab-table-wrap .dataTables_info,
.betting-lab-table-wrap .dataTables_paginate { margin-top: 10px; color: var(--muted) !important; font-size: 12px; }
.betting-lab-current-metrics { gap: 12px; margin-bottom: 20px; }
.betting-lab-current-metrics .metric-card { min-height: 108px; padding: 14px 18px; border-radius: 15px; }
.betting-lab-current-metrics .metric-card .eyebrow { margin-bottom: 0; font-size: 14px; }
.betting-lab-current-metrics .metric-card strong { margin-top: 4px; font-size: 38px; line-height: .95; }
.betting-lab-current-metrics .metric-card p { margin-top: 4px; font-size: 12px; line-height: 1.3; }
.betting-lab-current-table table.dataTable { font-size: 12px; }
.betting-lab-current-table table.dataTable thead th { font-size: 11px; }
.betting-lab-current-table table.dataTable tbody td { border-top-color: rgba(38,55,76,.28); }
.betting-lab-current-table table.dataTable tbody tr.market-group-start td { border-top: 2px solid #526f91 !important; }
.betting-lab-history-metrics { gap: 10px !important; margin-bottom: 9px !important; }
.betting-lab-history-metrics .metric-card { min-height: 94px; padding: 13px 16px; }
.betting-lab-history-metrics .metric-card .eyebrow { margin-bottom: 0; font-size: 14px; letter-spacing: .1em; }
.betting-lab-history-metrics .metric-card strong { margin-top: 4px; font-size: 31px; line-height: 1; }
.betting-lab-history-metrics .metric-card p { margin-top: 3px; font-size: 12px; }
.betting-lab-history-tabs > .tabbable > .nav-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; margin: 0 0 14px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: #08111d; }
.betting-lab-history-line-controls { margin-bottom: 16px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.betting-lab-history-line-controls .shiny-input-container { width: auto; margin-bottom: 8px; }
.betting-lab-history-line-controls .betting-lab-helper { margin: 5px 0 0; }
.betting-lab-history-tabs > .shiny-input-radiogroup { width: auto; margin-bottom: 14px; }
.betting-lab-history-tabs > .shiny-input-radiogroup > .control-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.betting-lab-history-tabs > .shiny-input-radiogroup .shiny-options-group { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 5px; border: 1px solid var(--line); border-radius: 11px; background: #08111d; }
.betting-lab-history-tabs .radio-inline { position: relative; margin: 0; padding: 8px 12px; border-radius: 7px; color: var(--muted); font-size: 12px; font-weight: 800; cursor: pointer; }
.betting-lab-history-tabs .radio-inline input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.betting-lab-history-tabs .radio-inline:has(input:checked) { background: var(--blue-bright); color: #04101b; }
.betting-lab-history-tabs .radio-inline:has(input:focus-visible) { outline: 2px solid var(--text); outline-offset: 2px; }
.betting-lab-history-tabs > .tabbable > .nav-tabs > li { margin: 0; }
.betting-lab-history-tabs > .tabbable > .nav-tabs > li > a { margin: 0; padding: 8px 12px; border: 0 !important; border-radius: 7px; color: var(--muted); font-size: 12px; font-weight: 800; }
.betting-lab-history-tabs > .tabbable > .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.betting-lab-history-tabs > .tabbable > .nav-tabs > li.active > a,
.betting-lab-history-tabs > .tabbable > .nav-tabs > li.active > a:hover { background: var(--blue-bright); color: #04101b; }
.betting-lab-history-stack { display: grid; grid-template-columns: 1fr; gap: 14px; }
.betting-lab-summary-panel { min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.018); overflow-x: auto; }
.betting-lab-summary-panel h3 { margin: 0 0 12px; font-family: var(--display); font-size: 23px; }
.betting-lab-summary-panel table { width: 100%; margin: 0; color: var(--text); font-size: 13px; }
.betting-lab-summary-panel th { border-bottom: 1px solid #47617f !important; color: #9eb9d6; font-family: var(--display); letter-spacing: .04em; text-transform: uppercase; }
.betting-lab-summary-table tbody td { border-top: 1px solid rgba(38,55,76,.28) !important; }
.betting-lab-summary-table tbody tr.summary-group-start td { border-top: 2px solid #526f91 !important; }
.betting-lab-empty-summary { margin: 0; font-size: 13px; }
.betting-lab-history-ledger-heading { margin-top: 4px; }
.betting-lab-history-ledger-heading .eyebrow { font-size: 10px; }
.betting-lab-history-ledger-heading h2 { font-size: 24px; }
.betting-lab-history-ledger table.dataTable { font-size: 12px; }
.betting-lab-history-ledger table.dataTable thead th { font-size: 11px; }
.betting-lab-empty-banner { color: #ff9b90; }
.projection-buttons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 8px 0 15px; }
.projection-buttons button { background: #101b29; border: 1px solid var(--line); }
.text-input { width: 100%; min-height: 46px; border: 1px solid var(--line); background: #08111d; color: white; border-radius: 8px; padding: 0 13px; margin: 8px 0; }
.roster-shell { padding: 26px; min-width: 0; }
.roster-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 22px; }
.roster-heading h2 { font-size: 40px; margin-top: 7px; }
.roster-totals { display: flex; gap: 8px; }
.roster-totals span { min-width: 105px; display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 10px; padding: 11px; color: #88a6ca; font-size: 12px; font-weight: 900; }
.roster-totals b { color: white; font-size: 17px; }
.roster-row { min-height: 67px; display: grid; grid-template-columns: 75px minmax(0,1fr) auto; align-items: center; gap: 14px; border-top: 1px solid var(--line); }
.roster-row > b { color: #42b9ff; }
.roster-row > span { color: #a9bbd1; }
.roster-row button { border: 1px solid var(--line); }

.fantasy-lab-body { font-size: 15px; }
.fantasy-lab-page > .page-hero { padding-bottom: 3px; }
.fantasy-lab-page > .page-hero h1 { margin-bottom: 9px; }
.fantasy-rumblegrid-link { color: #8fd0ff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.fantasy-rumblegrid-link:hover, .fantasy-rumblegrid-link:focus-visible { color: #fff; }
.fantasy-lab-page > .section-block { padding-top: 8px; }
.fantasy-mode-tabs .nav-tabs { display: flex; width: 100%; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 14px; padding: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.fantasy-mode-tabs .nav-tabs > li { margin: 0; }
.fantasy-mode-tabs .nav-tabs > li:last-child { margin-left: auto; padding-left: 7px; border-left: 1px solid var(--line); }
.fantasy-mode-tabs .nav-tabs > li > a { margin: 0; padding: 9px 14px; border: 0 !important; border-radius: 8px; color: #a9bbd1; font-size: 13px; font-weight: 900; }
.fantasy-mode-tabs .nav-tabs > li > a:hover { background: #101b29; color: white; }
.fantasy-mode-tabs .nav-tabs > li.active > a,
.fantasy-mode-tabs .nav-tabs > li.active > a:hover,
.fantasy-mode-tabs .nav-tabs > li.active > a:focus { background: var(--blue-bright); color: #000; }
.fantasy-mode-tabs .tab-content { padding-top: 0; }
.fantasy-slate-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; min-height: 66px; margin: 0 0 20px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.fantasy-slate-bar .form-group { margin: 0; }
.fantasy-slate-bar .shiny-options-group { display: flex; flex-wrap: wrap; gap: 7px; }
.fantasy-slate-divider { flex-basis: 100%; height: 1px; margin: 2px 0; background: var(--line); }
.fantasy-slate-bar .radio-inline { margin: 0; padding: 0; }
.fantasy-slate-bar .radio-inline input { position: absolute; opacity: 0; pointer-events: none; }
.fantasy-slate-bar .radio-inline span { display: inline-flex; align-items: center; min-height: 38px; padding: 8px 13px; border: 1px solid rgba(255,77,77,.48); border-radius: 8px; color: #ff7777; background: transparent; font-size: 13px; font-weight: 800; cursor: pointer; }
.fantasy-slate-bar .radio-inline:hover span,
.fantasy-slate-bar .radio-inline:has(input:focus-visible) span { border-color: #ff7777; color: #fff; }
.fantasy-slate-bar .radio-inline:has(input:checked) span { border-color: #ff7777; background: rgba(255,77,77,.16); color: #fff; }
.fantasy-forecast-bar { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; min-height: 54px; margin: -8px 0 20px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.fantasy-toolbar-group { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; }
.fantasy-forecast-bar .form-group { margin: 0; }
.fantasy-forecast-bar .shiny-options-group { display: flex; gap: 7px; }
.fantasy-forecast-bar .radio-inline { margin: 0; padding: 0; }
.fantasy-forecast-bar .radio-inline input { position: absolute; opacity: 0; pointer-events: none; }
.fantasy-forecast-bar .radio-inline span { display: inline-flex; align-items: center; min-height: 34px; padding: 6px 12px; border: 1px solid #2f4865; border-radius: 8px; color: #b9c9da; font-size: 13px; font-weight: 900; cursor: pointer; }
.fantasy-forecast-bar .radio-inline:has(input:checked) span { border-color: var(--blue-bright); background: var(--blue-bright); color: #000; }
.fantasy-custom-projection-status { margin-left: auto; padding: 6px 9px; border: 1px solid rgba(98,214,165,.48); border-radius: 999px; color: #77e0b2; font-size: 12px; font-weight: 800; white-space: nowrap; }
.fantasy-data-note { margin: 0 0 0 auto; color: var(--muted); font-size: 12px; }
.fantasy-controls { font-size: 14px; }
.fantasy-controls h2 { font-size: 32px; margin-bottom: 18px; }
.fantasy-controls .form-group { margin-bottom: 13px; }
.fantasy-controls .control-label { color: #c2d0e0; font-size: 13px; font-weight: 800; }
.fantasy-controls .shiny-options-group { display: flex; flex-wrap: nowrap; gap: 6px; }
.fantasy-controls .radio-inline { padding-left: 18px; font-size: 13px; }
.fantasy-controls .radio-inline + .radio-inline { margin-left: 0; }
.fantasy-choice-row .shiny-options-group { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); width: 100%; gap: 8px; }
.fantasy-choice-row .radio-inline { position: relative; display: flex; align-items: center; justify-content: center; margin: 0; padding: 0; }
.fantasy-choice-row .radio-inline input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.fantasy-choice-row .radio-inline span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.fantasy-choice-row .radio-inline span::before { width: 17px; height: 17px; flex: 0 0 17px; border: 2px solid #737d88; border-radius: 50%; background: #3a3e43; content: ""; }
.fantasy-choice-row .radio-inline input[type="radio"]:checked + span::before { border-color: #74f4f7; background: #16aeb9; box-shadow: inset 0 0 0 3px #0b1723; }
.fantasy-choice-row .radio-inline input[type="radio"]:focus-visible + span::before { outline: 2px solid white; outline-offset: 2px; }
.fantasy-showdown-field-size.is-disabled { opacity: .45; }
.fantasy-showdown-field-size select:disabled { cursor: not-allowed; }
.fantasy-roster-secondary-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.fantasy-roster-secondary-actions .control-button { min-width: 0; }
.fantasy-lineup-builder-heading { display: block; margin-bottom: 0; }
.fantasy-lineup-count .fantasy-generate-button { margin: 5px 0 10px; }
.fantasy-lineup-count > .shiny-html-output:last-child { display: block; }
.fantasy-lineup-count .radio-inline input[type="radio"]:disabled + span { opacity: .34; cursor: not-allowed; }
.fantasy-lineup-note { margin: 5px 0 0; color: #91a9c4; font-size: 12px; line-height: 1.35; }
.fantasy-overwrite-option { margin-top: 8px; }
.fantasy-overwrite-option .form-group,
.fantasy-overwrite-option .checkbox { margin: 0; }
.fantasy-overwrite-option .checkbox label { display: flex; align-items: flex-start; gap: 7px; color: #91a9c4; font-size: 11px; font-weight: 700; line-height: 1.35; }
.fantasy-overwrite-option .checkbox input { margin: 1px 0 0; accent-color: var(--blue-bright); }
.fantasy-manual-stacks { margin-top: 16px; padding: 10px; border: 1px solid #263b53; border-radius: 10px; background: #08111d; }
.fantasy-manual-stacks > .eyebrow { margin-bottom: 6px; color: #77caff; font-size: 10px; }
.fantasy-manual-stacks .form-group,
.fantasy-manual-stacks .checkbox { margin: 0; }
.fantasy-stack-option { min-height: 22px; }
.fantasy-stack-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
.fantasy-stack-column { min-width: 0; }
.fantasy-stack-column .fantasy-stack-option + .fantasy-stack-option { margin-top: 4px; }
.fantasy-manual-stacks .checkbox label { display: flex; align-items: flex-start; gap: 6px; color: #c2d0e0; font-size: 11px; font-weight: 800; line-height: 1.2; }
.fantasy-manual-stacks .checkbox input { position: static; flex: 0 0 auto; margin: 1px 0 0 !important; accent-color: var(--blue-bright); }
.fantasy-stack-preset-note { margin: 0 0 9px; color: #9fb4ca; font-size: 10px; line-height: 1.35; }
.fantasy-stack-preset-note b { color: #e4effa; }
.fantasy-stack-option-locked { display: grid; width: 100%; min-height: 34px; grid-template-columns: 31px minmax(0,1fr); gap: 6px; align-items: center; padding: 4px 6px; border: 1px solid #2d435d; border-radius: 7px; background: #0d1826; color: #aebfd2; text-align: left; opacity: .82; }
.fantasy-stack-option-locked + .fantasy-stack-option-locked { margin-top: 4px !important; }
.fantasy-stack-option-locked.is-required { border-color: rgba(84,205,255,.68); color: white; opacity: 1; }
.fantasy-stack-option-locked.is-off { opacity: .48; }
.fantasy-stack-locked-checkbox { width: 18px; height: 18px; margin: 0 0 0 6px; accent-color: var(--blue-bright); cursor: not-allowed; }
.fantasy-stack-locked-checkbox:disabled { opacity: 1; }
.fantasy-stack-lock-state { display: inline-flex; min-height: 20px; align-items: center; justify-content: center; border: 1px solid #42617f; border-radius: 5px; color: #8fcdf2; font-size: 7px; font-weight: 900; letter-spacing: .035em; }
.fantasy-stack-option-locked.is-required .fantasy-stack-lock-state { border-color: var(--blue-bright); background: rgba(49,157,220,.16); color: #8de8ff; font-size: 12px; }
.fantasy-stack-option-locked b, .fantasy-stack-option-locked small { display: block; }
.fantasy-stack-option-locked b { color: inherit; font-size: 9px; line-height: 1.15; }
.fantasy-stack-option-locked small { margin-top: 1px; color: #7189a4; font-size: 8px; line-height: 1.15; }
.fantasy-stack-auto-group { margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(72,101,130,.45); }
.fantasy-stack-filter-block { margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(72,101,130,.45); }
.fantasy-stack-filter-block .fantasy-stack-option + .fantasy-stack-option { margin-top: 3px; }
.fantasy-stack-filter-block .checkbox label { font-size: 9px; line-height: 1.15; }
.fantasy-stack-filter-label { margin: 0 0 6px; color: #7189a4; font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.fantasy-portfolio-action-note { color: #7ed7ff; }
.fantasy-controls .form-control { height: 40px; border-color: var(--line); background: #08111d; color: white; font-size: 13px; }
.fantasy-controls .control-button { min-height: 42px; font-size: 13px; }
.fantasy-controls .primary-control,
.fantasy-controls .primary-control:hover,
.fantasy-controls .primary-control:focus,
.fantasy-controls .primary-control:active,
.fantasy-controls .primary-control:active:focus { border-color: var(--blue-bright) !important; background: var(--blue-bright) !important; color: #000 !important; }
.fantasy-lab-page .roster-shell { padding: 22px; }
.fantasy-lab-page .roster-heading { margin-bottom: 10px; }
.fantasy-lab-page .roster-heading h2 { font-size: 36px; }
.fantasy-lab-page .roster-row { min-height: 59px; grid-template-columns: 64px minmax(0,1fr) 82px 58px; gap: 11px; font-size: 14px; }
.fantasy-lab-page .roster-player { display: grid; min-width: 0; gap: 2px; }
.fantasy-lab-page .roster-player strong { overflow: hidden; color: white; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-lab-page .roster-player small { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-lab-page .roster-salary,
.fantasy-lab-page .roster-projection { color: #c4d2e1; text-align: right; font-variant-numeric: tabular-nums; }
.fantasy-lab-page .fantasy-roster-shell { overflow: visible; padding: 0; scroll-margin-top: 82px; }
.fantasy-roster-initial-placeholder { padding: 18px; }
.fantasy-roster-loading { min-height: 300px; display: flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid var(--line); border-radius: 13px; background: #0b1420; color: #c2d0e0; }
.fantasy-roster-loading b { display: block; color: white; font-size: 16px; }
.fantasy-roster-loading p { margin: 3px 0 0; color: var(--muted); font-size: 12px; }
.fantasy-roster-hourglass { display: inline-block; color: var(--blue-bright); font-size: 27px; line-height: 1; animation: simulation-pulse 1.15s ease-in-out infinite; }
.fantasy-roster-view-tabs { padding: 10px; border-bottom: 1px solid var(--line); background: #08111d; }
.fantasy-roster-view-tabs .form-group { margin: 0; }
.fantasy-roster-view-tabs .shiny-options-group { display: flex; flex-wrap: wrap; gap: 5px; }
.fantasy-roster-view-tabs .radio-inline { margin: 0; padding: 0; }
.fantasy-roster-view-tabs .radio-inline input { position: absolute; opacity: 0; pointer-events: none; }
.fantasy-roster-view-tabs .radio-inline span { display: inline-flex; align-items: center; min-height: 37px; padding: 8px 11px; border-radius: 7px; color: #a9bbd1; font-size: 14px; font-weight: 900; cursor: pointer; }
.fantasy-roster-view-tabs .radio-inline:hover span { background: #101b29; color: white; }
.fantasy-roster-view-tabs .radio-inline input[value="current"]:not(:checked) + span { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.fantasy-roster-view-tabs .radio-inline input:checked + span { background: var(--blue-bright); color: #000; }
.fantasy-current-roster { padding: 18px; }
.fantasy-player-browser { min-width: 0; padding: 20px; }
.fantasy-player-browser-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; margin-bottom: 16px; }
.fantasy-player-browser-heading h2 { margin: 6px 0 0; font-size: 31px; }
.fantasy-player-instructions { max-width: 540px; color: #b8c8d9; font-size: 12px; line-height: 1.45; }
.fantasy-player-instructions p { margin: 0 0 3px; }
.fantasy-player-instructions b { color: white; }
.fantasy-player-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 13px; background: #0b1420; }
.fantasy-player-row { display: grid; grid-template-columns: 76px minmax(195px,1.7fr) 72px 76px repeat(4,minmax(56px,1fr)) 54px; min-width: 760px; min-height: 62px; align-items: center; gap: 7px; padding: 8px 10px; border-top: 1px solid #223246; }
.fantasy-player-table-wrap.is-position-view .fantasy-player-row:not(.fantasy-player-header) { min-height: 56px; }
.fantasy-player-row:first-child { border-top: 0; }
.fantasy-player-header { position: sticky; z-index: 2; top: 0; min-height: 47px; border-bottom: 1px solid #3b5775; background: #08111d; color: #98bdea; font-family: var(--condensed); font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.fantasy-player-header > :nth-child(n+4) { text-align: center; }
.fantasy-player-sort { width: 100%; min-width: 0; padding: 5px 3px; border: 0; border-radius: 5px; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-align: left; cursor: pointer; transition: color .15s ease, background .15s ease; }
.fantasy-player-sort.numeric { text-align: center; }
.fantasy-player-sort:hover, .fantasy-player-sort:focus-visible, .fantasy-player-sort.active { background: rgba(43,142,214,.12); color: white; }
.fantasy-player-sort:focus-visible { outline: 1px solid var(--blue-bright); outline-offset: 1px; }
.fantasy-player-ownership-header { display: grid; justify-items: center; }
.fantasy-player-ownership-header .fantasy-player-sort { padding-block: 1px; }
.fantasy-player-sort-cpt { color: #8fa9c5; font-size: 10px; letter-spacing: .06em; }
.fantasy-player-name, .fantasy-player-team, .fantasy-player-opponent { display: grid; min-width: 0; gap: 2px; }
.fantasy-player-team, .fantasy-player-opponent, .fantasy-player-salary { text-align: center; }
.fantasy-player-name strong, .fantasy-player-team strong, .fantasy-player-opponent strong { overflow: hidden; color: white; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-annotated-name { display: inline-flex; max-width: 100%; align-items: center; vertical-align: middle; }
.fantasy-player-name-text { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-player-row .fantasy-player-name strong, .fantasy-player-row .fantasy-player-name-text { overflow: visible; text-overflow: clip; white-space: normal; overflow-wrap: anywhere; }
.fantasy-annotated-name > .fantasy-injury-mark, .fantasy-annotated-name > .fantasy-weather-mark { flex: none; }
.fantasy-injury-mark { display: inline-block; margin-left: 5px; color: #ff4d4f; font-size: .78em; font-weight: 900; line-height: 1; }
.fantasy-weather-mark { display: inline-block; margin-left: 6px; color: #55c8ff; font-size: 1.08em; font-weight: 900; line-height: 1; vertical-align: 0; text-shadow: 0 0 6px rgba(85,200,255,.2); }
.fantasy-recommendation-mark, .fantasy-indoor-mark { display: inline-flex; width: 18px; height: 18px; margin-left: 5px; align-items: center; justify-content: center; line-height: 1; vertical-align: -3px; }
.fantasy-recommendation-mark svg, .fantasy-indoor-mark svg { display: block; width: 18px; height: 18px; flex: none; }
.fantasy-indoor-mark { color: #8fb6dc; }
.fantasy-player-name small, .fantasy-player-team small, .fantasy-player-opponent small { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-player-salary { color: white; font-size: 13px; font-variant-numeric: tabular-nums; }
.fantasy-player-ownership { color: #d8e8f7; font-size: 12px; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.fantasy-player-ownership-breakdown { display: grid; gap: 2px; }
.fantasy-player-ownership-breakdown strong { color: #fff; font-size: 13px; }
.fantasy-player-ownership-breakdown small { color: #adc0d7; font-size: 10px; font-weight: 700; }
.fantasy-player-value { color: #8fd2ff; font-size: 13px; font-weight: 800; text-align: center; font-variant-numeric: tabular-nums; }
.fantasy-status-button, .fantasy-score-button, .fantasy-add-button { min-height: 38px; border: 1px solid #2a394c; border-radius: 9px; background: #101925; color: #b9d2ec; font-size: 12px; font-weight: 900; cursor: pointer; }
.fantasy-score-button { color: white; font-family: var(--display); font-size: 15px; font-variant-numeric: tabular-nums; }
.fantasy-add-button.active { border-color: var(--blue-bright); background: var(--blue-bright); color: #000; }
.fantasy-score-button.active { border-color: var(--blue-bright); background: rgba(49,157,220,.12); color: white; }
.fantasy-player-row.status-roster { background: rgba(49, 157, 220, .07); }
.fantasy-player-row.status-excluded { background: rgba(255, 77, 79, .045); }
.fantasy-player-row.status-excluded .fantasy-status-button { border-color: #7b3038; color: #ff8f96; }
.fantasy-player-row.status-unavailable { opacity: .48; }
.fantasy-status-button:disabled, .fantasy-score-button:disabled, .fantasy-add-button:disabled { cursor: default; }
.fantasy-add-button:not(:disabled):hover, .fantasy-status-button:not(:disabled):hover, .fantasy-score-button:not(:disabled):hover { border-color: #5e88b4; color: white; }
.fantasy-roster-card-row { min-height: 62px; display: grid; grid-template-columns: 62px minmax(140px,1fr) minmax(255px,330px) 72px 78px; align-items: center; gap: 8px; margin: 0; padding: 6px 10px; border: 0; border-top: 1px solid #2a394c; border-radius: 0; background: transparent; }
.fantasy-roster-slot { color: var(--blue-bright); font-family: var(--condensed); font-size: 14px; letter-spacing: .07em; }
.fantasy-roster-player { display: grid; min-width: 0; gap: 1px; }
.fantasy-roster-player strong { overflow: hidden; color: white; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-roster-player small { color: #9eb6d0; font-size: 12px; }
.fantasy-roster-projections { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
.fantasy-roster-score-button { min-height: 43px; display: grid; place-items: center; gap: 0; border: 1px solid #2a394c; border-radius: 8px; background: #0d1723; color: white; cursor: pointer; }
.fantasy-roster-score-button small { color: #b9d2ec; font-size: 10px; font-weight: 900; letter-spacing: .04em; }
.fantasy-roster-score-button b { font-family: var(--display); font-size: 18px; }
.fantasy-roster-score-button.active { border-color: var(--blue-bright); background: rgba(49,157,220,.12); color: white; }
.fantasy-roster-score-button.active small { color: #b9d2ec; }
.fantasy-roster-action { min-height: 42px; border: 1px solid #2a394c; border-radius: 9px; background: transparent; color: #b9d2ec; font-size: 12px; font-weight: 900; cursor: pointer; }
.fantasy-roster-action:hover { border-color: #5e88b4; color: white; }
.fantasy-lock-button.active { border-color: var(--blue-bright); color: var(--blue-bright); }
.fantasy-remove-button:hover { border-color: #7b3038; color: #ff8f96; }
.fantasy-roster-open { grid-column: 2 / -1; color: var(--muted); }
.fantasy-player-row-page-hidden { display: none; }
.fantasy-show-more { width: 100%; min-height: 46px; margin-top: 12px; border: 1px solid #2f4865; border-radius: 9px; background: #101b29; color: #c4d7eb; font-size: 14px; font-weight: 900; cursor: pointer; }
.fantasy-show-more:hover { border-color: var(--blue-bright); color: white; }
.saved-lineups-shell { min-height: 420px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.saved-lineups-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.saved-lineups-heading h2 { margin: 6px 0 0; font-size: 36px; }
.saved-lineups-heading-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.fantasy-results-shell { min-height: 420px; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.fantasy-results-shell h2 { margin: 5px 0 8px; font-size: 36px; }
.fantasy-results-intro { margin: 0 0 18px; color: #c0d0e2; }
.fantasy-results-controls { display: flex; flex-wrap: wrap; align-items: end; gap: 12px 20px; margin-bottom: 12px; }
.fantasy-results-controls .form-group { margin-bottom: 0; }
.fantasy-results-controls .control-label { color: #c2d0e0; font-size: 13px; font-weight: 800; }
.fantasy-results-controls select { min-width: 200px; }
.fantasy-results-slate-caption { align-self: center; color: #91a9c4; font-size: 13px; }
.fantasy-results-note { margin: 8px 0 16px; color: #a9bfd7; font-size: 13px; line-height: 1.5; }
.fantasy-results-error { color: #ff9aa0; }
.fantasy-results-table-wrap { max-height: none; overflow: visible; border: 1px solid var(--line); border-radius: 12px; }
.fantasy-results-table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0; font-variant-numeric: tabular-nums; }
.fantasy-results-table th { padding: 10px 12px; border-bottom: 1px solid #3b5775; background: #08111d; color: #a8c9eb; font-family: var(--condensed); font-size: 13px; letter-spacing: .05em; text-align: right; white-space: nowrap; }
.fantasy-results-table td { padding: 9px 12px; border-top: 1px solid #223246; color: #e9f1fb; font-size: 14px; text-align: right; white-space: nowrap; }
.fantasy-results-table th:first-child, .fantasy-results-table td:first-child { text-align: left; }
.fantasy-results-table tr:first-child td { border-top: 0; }
.fantasy-results-table td.fantasy-results-actual, .fantasy-results-actual-total b { color: #4ba9ef; font-weight: 900; }
.fantasy-results-lineups { margin-top: 28px; }
.fantasy-results-lineups h3 { margin: 0 0 8px; font-size: 23px; }
.fantasy-results-lineups p { color: #a9bfd7; font-size: 13px; }
.fantasy-results-lineup-table { min-width: 0; }
.fantasy-results-workspace { display: grid; grid-template-columns: minmax(300px, 350px) minmax(0, 1fr); gap: 18px; align-items: start; margin: 20px 0 24px; }
.fantasy-results-build-controls .primary-control,
.fantasy-results-build-controls .primary-control:hover,
.fantasy-results-build-controls .primary-control:focus,
.fantasy-results-build-controls .primary-control:active { width: 100%; border-color: var(--blue-bright) !important; background: var(--blue-bright) !important; color: #06101a !important; }
.fantasy-lab-page .fantasy-results-roster-shell { padding: 0; min-width: 0; }
.fantasy-results-current-roster { padding: 20px; }
.fantasy-results-roster-shell .fantasy-results-table-wrap { margin: 16px 20px 20px; }
.fantasy-results-current-roster .roster-heading { margin-bottom: 18px; }
.fantasy-results-roster-row { display: grid; grid-template-columns: minmax(160px,1.2fr) minmax(280px,2fr) minmax(100px,.7fr); gap: 8px; align-items: center; min-height: 68px; padding: 9px 10px; margin-top: 8px; border: 1px solid var(--line); border-radius: 10px; background: #111b28; }
.fantasy-results-roster-row.empty { display: flex; gap: 20px; color: #9eb2cb; }
.fantasy-results-roster-identity { display: grid; grid-template-columns: 72px minmax(0,1fr); align-items: center; gap: 8px; min-width: 0; }
.fantasy-results-roster-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; min-width: 0; }
.fantasy-results-roster-actions { display: flex; justify-content: flex-end; gap: 5px; }
.fantasy-results-roster-row .fantasy-results-slot { color: #5bbce9; font-family: var(--condensed); }
.fantasy-results-player-name { min-width: 0; flex: 1; }
.fantasy-results-player-name strong, .fantasy-results-player-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-results-player-name small { color: #a9bfd7; font-size: 12px; }
.fantasy-results-stat { padding: 6px 7px; border: 1px solid #2d3c50; border-radius: 8px; text-align: center; font-variant-numeric: tabular-nums; }
.fantasy-results-stat small, .fantasy-results-stat b { display: block; white-space: nowrap; }
.fantasy-results-stat small { color: #a9bfd7; font-size: 10px; letter-spacing: .04em; }
.fantasy-results-stat b { font-size: 16px; }
.fantasy-results-stat.actual b { color: #4ba9ef; font-weight: 900; }
.fantasy-results-roster-row .fantasy-roster-action, .fantasy-results-pool-action { padding: 6px 7px; border: 1px solid #3b4d65; border-radius: 6px; background: #182332; color: #d4e7fa; cursor: pointer; }
.fantasy-results-roster-row .fantasy-roster-action:hover, .fantasy-results-pool-action:hover { border-color: #4da9e0; color: white; }
.fantasy-results-pool-action + .fantasy-results-pool-action { margin-left: 6px; }
.fantasy-results-pool-action:disabled { opacity: .55; cursor: default; }
.fantasy-results-build-table { width: 100%; min-width: 0; table-layout: fixed; }
.fantasy-results-build-table .review-col-player { width: 26%; }
.fantasy-results-build-table .review-col-salary { width: 12%; }
.fantasy-results-build-table .review-col-ownership { width: 10%; }
.fantasy-results-build-table .review-col-mean { width: 9%; }
.fantasy-results-build-table .review-col-actual { width: 10%; }
.fantasy-results-build-table .review-col-actions { width: 23%; }
.fantasy-results-build-table th, .fantasy-results-build-table td { padding: 10px 7px; }
.fantasy-results-build-table th { white-space: normal; line-height: 1.1; }
.fantasy-results-build-table th.fantasy-results-sortable { cursor: pointer; transition: color .15s ease, background-color .15s ease; }
.fantasy-results-build-table th.fantasy-results-sortable:hover,
.fantasy-results-build-table th.fantasy-results-sortable:focus-visible { color: #fff; background: #142b43; text-decoration: underline; text-underline-offset: 3px; }
.fantasy-results-build-table th.fantasy-results-sortable:focus-visible { outline: 2px solid #55c8ff; outline-offset: -2px; }
.fantasy-results-build-table th span { display: block; }
.fantasy-results-build-table th.fantasy-results-own,
.fantasy-results-build-table td.fantasy-results-own { text-align: center; font-size: 12px; }
.fantasy-results-build-table td.fantasy-results-own { font-weight: 600; }
.fantasy-results-build-table td.fantasy-results-own.fantasy-results-actual { font-weight: 700; }
.fantasy-results-build-table td.fantasy-results-player-cell { text-align: left; white-space: normal; overflow-wrap: anywhere; }
.fantasy-results-player-cell strong, .fantasy-results-player-cell small { display: block; }
.fantasy-results-player-cell small { margin-top: 2px; color: #9bb3ce; font-size: 11px; }
.fantasy-results-build-table td.fantasy-results-actions { text-align: center; white-space: normal; }
.fantasy-results-build-table td.fantasy-results-actions .fantasy-results-pool-action { margin: 2px; font-size: 12px; }
.fantasy-results-comparisons { margin-top: 26px; }
.fantasy-results-comparisons h3 { margin: 0 0 8px; font-size: 23px; }
.fantasy-results-comparisons p { margin: 0 0 12px; color: #a9bfd7; font-size: 13px; }
@media (max-width: 1100px) {
  .fantasy-results-workspace { grid-template-columns: minmax(0,1fr); }
  .fantasy-results-build-controls { min-width: 0; }
  .fantasy-results-roster-shell { overflow: visible; }
  .fantasy-results-current-roster { min-width: 0; }
}
@media (max-width: 760px) {
  .fantasy-results-shell { padding: 14px; }
  .fantasy-results-roster-shell .fantasy-results-table-wrap { margin: 12px; }
  .fantasy-results-roster-shell .fantasy-roster-view-tabs .shiny-options-group { flex-wrap: wrap; overflow: visible; }
  .fantasy-results-build-table, .fantasy-results-build-table tbody { display: block; width: 100%; }
  .fantasy-results-build-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .fantasy-results-build-table colgroup { display: none; }
  .fantasy-results-build-table tbody tr { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px 8px; padding: 12px; border-top: 1px solid #223246; }
  .fantasy-results-build-table tbody tr:first-child { border-top: 0; }
  .fantasy-results-build-table td { display: block; min-width: 0; padding: 2px 0; border: 0; text-align: left; font-size: 13px; }
  .fantasy-results-build-table td::before { display: block; margin-bottom: 2px; color: #a8c9eb; font-size: 10px; font-weight: 800; text-transform: uppercase; content: attr(data-label); }
  .fantasy-results-build-table td.fantasy-results-player-cell { grid-column: 1 / -1; grid-row: 1; font-size: 16px; }
  .fantasy-results-build-table td.fantasy-results-player-cell::before,
  .fantasy-results-build-table td.fantasy-results-actions::before { display: none; }
  .fantasy-results-build-table td:nth-child(2) { grid-column: 1; grid-row: 2; }
  .fantasy-results-build-table td:nth-child(5) { grid-column: 2; grid-row: 2; }
  .fantasy-results-build-table td:nth-child(6) { grid-column: 3; grid-row: 2; }
  .fantasy-results-build-table td:nth-child(3) { grid-column: 1; grid-row: 3; }
  .fantasy-results-build-table td:nth-child(4) { grid-column: 2; grid-row: 3; }
  .fantasy-results-build-table td.fantasy-results-own { text-align: left; }
  .fantasy-results-build-table td.fantasy-results-actions { grid-column: 1 / -1; grid-row: 4; text-align: left; }
  .fantasy-results-build-table td.fantasy-results-actions .fantasy-results-pool-action { margin: 2px 6px 2px 0; }
  .fantasy-results-current-roster .roster-totals { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .fantasy-results-current-roster .roster-totals span { min-width: 0; padding: 8px; font-size: 11px; }
  .fantasy-results-roster-row:not(.empty) { grid-template-columns: minmax(0,1fr); }
  .fantasy-results-roster-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fantasy-results-roster-actions { justify-content: flex-start; }
  .fantasy-results-shell .fantasy-results-table:not(.fantasy-results-build-table) th,
  .fantasy-results-shell .fantasy-results-table:not(.fantasy-results-build-table) td { padding: 7px 4px; font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
}
.saved-lineup-delete-all { border-color: #7b3038; color: #ff9aa0; }
.fantasy-exposure-panel { margin-bottom: 16px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #0b1420; }
.fantasy-exposure-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.fantasy-exposure-heading h2 { margin: 3px 0 0; font-size: 28px; }
.fantasy-exposure-position-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; align-items: start; }
.fantasy-exposure-position-column { min-width: 0; }
.fantasy-exposure-position-column h3 { margin: 0 0 6px; color: #8fc4ff; font-family: var(--display); font-size: 13px; letter-spacing: .08em; }
.fantasy-exposure-position-list { display: grid; gap: 6px; }
.fantasy-exposure-card { min-width: 0; padding: 8px 9px; border: 1px solid #2a394c; border-radius: 9px; background: #101925; }
.fantasy-exposure-player { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-width: 0; }
.fantasy-exposure-player-identity { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
.fantasy-exposure-card strong { overflow: hidden; color: white; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.fantasy-exposure-card small { flex: 0 0 auto; color: #8da7c4; font-size: 11px; font-weight: 800; }
.fantasy-exposure-card b { flex: 0 0 auto; color: white; font-size: 14px; font-variant-numeric: tabular-nums; }
.fantasy-exposure-position-empty { display: block; padding: 8px 9px; color: #60758f; }
.saved-lineup-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.saved-lineup-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.saved-lineup-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.saved-lineup-card h3 { margin: 0; font-size: 22px; }
.saved-lineup-card p { margin: 2px 0 8px; color: var(--muted); font-size: 12px; }
.saved-lineup-card .saved-lineup-contest-metrics { color: #dcecff; line-height: 1.45; }
.saved-lineup-contest-metrics small { display: block; color: #91a9c4; }
.saved-lineup-card ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.saved-lineup-card li { display: grid; grid-template-columns: 43px minmax(0,1fr) auto; align-items: center; gap: 6px; font-size: 12px; }
.saved-lineup-player-points { white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.saved-lineup-card li b { color: var(--blue-bright); }
.saved-lineup-card-actions { display: flex; gap: 7px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--line); }
.saved-lineup-action { min-height: 36px; flex: 1; border: 1px solid #2a394c; border-radius: 8px; background: #101925; color: #c3d5e7; font-size: 12px; font-weight: 900; cursor: pointer; }
.saved-lineup-edit:hover { border-color: var(--blue-bright); color: white; }
.saved-lineup-delete:hover { border-color: #7b3038; color: #ff9aa0; }
.fantasy-empty-state { padding: 32px; }
.fantasy-empty-state h2 { font-size: 34px; }

.simulation-page { --simulation-accent: var(--blue-bright); }

.power-ratings-page { --power-accent: var(--blue-bright); }
.power-ratings-stack { display: grid; gap: 24px; padding-top: 9px; }
.power-panel, .power-controls, .power-lab-results { min-width: 0; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.power-panel { padding: clamp(22px, 3vw, 34px); }
.power-public-tabs .nav-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.power-public-tabs .nav-tabs > li { margin: 0; }
.power-public-tabs .nav-tabs > li > a { margin: 0; padding: 10px 14px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.power-public-tabs .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.power-public-tabs .nav-tabs > li:has(> a[data-value="Historical results"]) { margin-left: 6px; padding-left: 11px; border-left: 1px solid #3a526d; }
.power-public-tabs .nav-tabs > li:has(> a[data-value="historical"]) { margin-left: 6px; padding-left: 11px; border-left: 2px solid #3a526d; }
.power-public-tabs .nav-tabs > li:not(.active) > a[data-value="historical"],
.power-public-tabs .nav-tabs > li:not(.active) > a[data-value="standings"] { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.power-public-tabs .nav-tabs > li:not(.active) > a[data-value="Historical results"],
.power-public-tabs .nav-tabs > li:not(.active) > a[data-value="Proj standings"] { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.power-public-tabs .nav-tabs > li.active > a,
.power-public-tabs .nav-tabs > li.active > a:hover { background: var(--power-accent); color: #04101b; }
.power-public-tabs .tab-content { padding-top: 18px; }
.power-public-tab-copy { margin: 0 0 14px; font-size: 14px; line-height: 1.55; }
.power-section-heading { max-width: 880px; margin-bottom: 20px; }
.power-section-heading h2, .power-result-intro h2 { margin: 7px 0 6px; font-size: clamp(32px, 3.2vw, 44px); line-height: 1; }
.power-section-heading p, .power-result-intro p { margin: 0; font-size: 14px; line-height: 1.55; }
.power-table-wrap { width: 100%; overflow-x: auto; border: 1px solid #21334a; border-radius: 12px; background: #08111d; }
.power-table-wrap table { width: 100% !important; margin: 0; color: var(--text); font-size: 14px; }
.power-table-wrap table > thead > tr > th { padding: 11px 13px; border-bottom: 1px solid #47617f; color: #9eb9d6; font-family: var(--display); font-size: 14px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.power-table-wrap table > tbody > tr > td { padding: 10px 13px; border-top: 1px solid rgba(38,55,76,.72); white-space: nowrap; }
.power-table-wrap .table-striped > tbody > tr:nth-of-type(odd) { background: rgba(255,255,255,.018); }
.power-table-wrap .table-striped > tbody > tr:hover { background: rgba(43,142,214,.08); }
.power-public-ratings-table { max-width: 720px; }
.power-public-ratings-table table,
.power-public-future-table table { table-layout: fixed; }
.power-public-ratings-table table > thead > tr > th,
.power-public-ratings-table table > tbody > tr > td { width: 16.6667%; text-align: center !important; }
.power-public-ratings-table table > thead > tr > th:nth-child(2),
.power-public-ratings-table table > tbody > tr > td:nth-child(2) { text-align: left !important; }
.power-ratings-page[data-page="nextgen-ratings"] .power-public-ratings-table table > thead > tr > th,
.power-ratings-page[data-page="nextgen-ratings"] .power-public-ratings-table table > tbody > tr > td { width: 20%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table { width: min(100%, 780px); max-width: 780px; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table { min-width: 0; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > thead > tr > th:nth-child(1),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > tbody > tr > td:nth-child(1) { width: 24%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > thead > tr > th:nth-child(2),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > tbody > tr > td:nth-child(2) { width: 15%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > thead > tr > th:nth-child(3),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > tbody > tr > td:nth-child(3) { width: 17%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > thead > tr > th:nth-child(4),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > tbody > tr > td:nth-child(4),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > thead > tr > th:nth-child(5),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > tbody > tr > td:nth-child(5) { width: 12%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > thead > tr > th:nth-child(6),
.power-ratings-page[data-page="nfl-all-picks"] .power-public-future-table table > tbody > tr > td:nth-child(6) { width: 20%; }
.power-public-future-table { max-width: 1280px; }
.power-public-future-table table { min-width: 1120px; }
.power-public-week-nav { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.power-public-week-nav-filtered { align-items: flex-end; flex-wrap: wrap; }
.power-public-week-nav .power-public-week-button { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 34px; padding: 0; border: 1px solid #38516f; border-radius: 8px; background: #08111d; color: #9ec8ef; font-size: 20px; line-height: 1; }
.power-public-week-nav .power-public-week-button:hover,
.power-public-week-nav .power-public-week-button:focus { border-color: #2b8ed6; background: #102238; color: #ffffff; }
.power-public-week-nav .shiny-text-output { min-width: 74px; color: var(--text); font-family: var(--display); font-size: 15px; letter-spacing: .04em; text-align: center; }
.power-public-edge-filter { width: 184px; margin-left: auto; }
.power-public-edge-filter + .power-public-edge-filter { margin-left: 0; }
.power-public-tabs .tab-pane > .power-public-edge-filter { margin-left: 0; margin-bottom: 14px; }
.power-ratings-page[data-page="nfl-all-picks"] .power-public-week-nav .power-public-edge-filter { margin-left: 0; }
.power-public-edge-filter .form-group,
.power-public-edge-filter .selectize-control { margin-bottom: 0; }
.power-public-edge-filter label,
.power-public-edge-filter .control-label { display: block; margin-bottom: 4px; color: #9eb9d6; font-size: 11px; font-weight: 700; line-height: 1.2; }
.power-public-edge-filter select.form-control,
.power-public-edge-filter .selectize-input,
.power-public-edge-filter .selectize-input.full,
.power-public-edge-filter .selectize-input.input-active { min-height: 34px; border-color: #38516f; background: #08111d !important; color: var(--text) !important; }
.power-public-edge-filter .selectize-dropdown { border-color: var(--line); background: #0d1725; color: var(--text); }
.power-public-edge-filter .selectize-dropdown .active { background: #18314f; color: var(--text); }
.power-injury-status { margin: -2px 0 12px; color: #8499b2; font-size: 12px; line-height: 1.45; }
.power-injury-status.active { color: #9ed2f7; }
.power-injury-intro { max-width: 920px; margin-bottom: 16px; }
.power-injury-intro h2 { margin: 6px 0; font-size: clamp(28px,3vw,40px); line-height: 1; }
.power-injury-intro p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
.power-player-epa-table { width: min(100%,860px); max-width: 860px; padding: 7px; }
.power-player-epa-table .dataTables_wrapper { color: var(--muted); }
.power-player-epa-table .dataTables_filter,
.power-player-epa-table .dataTables_length { margin: 3px 5px 9px; font-size: 12px; }
.power-player-epa-table input,
.power-player-epa-table select { border: 1px solid #38516f; border-radius: 7px; background: #07101c; color: var(--text); }
.power-player-epa-table table.dataTable { width: 100% !important; table-layout: fixed; font-size: 13px; }
.power-player-epa-table table.dataTable thead th,
.power-player-epa-table table.dataTable tbody td { padding: 8px 10px; }
.power-player-epa-table table.dataTable thead th:nth-child(1),
.power-player-epa-table table.dataTable tbody td:nth-child(1) { width: 40% !important; text-align: left !important; }
.power-player-epa-table table.dataTable thead th:nth-child(2),
.power-player-epa-table table.dataTable tbody td:nth-child(2) { width: 14% !important; text-align: center !important; }
.power-player-epa-table table.dataTable thead th:nth-child(3),
.power-player-epa-table table.dataTable tbody td:nth-child(3) { width: 12% !important; text-align: center !important; }
.power-player-epa-table table.dataTable thead th:nth-child(4),
.power-player-epa-table table.dataTable tbody td:nth-child(4) { width: 14% !important; text-align: center !important; }
.power-player-epa-table table.dataTable thead th:nth-child(5),
.power-player-epa-table table.dataTable tbody td:nth-child(5) { width: 20% !important; text-align: center !important; }
.power-injury-team-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.power-injury-team-card { min-width: 0; padding: 17px; border: 1px solid #29405b; border-radius: 13px; background: #08111d; }
.power-injury-team-card h3 { margin: 4px 0 13px; font-size: 27px; }
.power-injury-team-card .form-group { margin-bottom: 14px; }
.power-injury-team-card .control-label { margin-bottom: 7px; color: #bdd0e5; font-size: 12px; font-weight: 800; }
.power-injury-team-card .shiny-options-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 4px 10px; }
.power-injury-team-card .checkbox { min-width: 0; margin: 0; padding: 6px 8px; border: 1px solid #22354c; border-radius: 7px; background: #0b1624; color: #d9e6f3; font-size: 11px; line-height: 1.3; }
.power-injury-team-card .checkbox label { display: flex; align-items: flex-start; gap: 5px; min-width: 0; font-weight: 600; }
.power-injury-team-card .checkbox input { flex: 0 0 auto; margin-top: 1px; }
.power-injury-team-card .checkbox span { min-width: 0; }
.power-injury-manual-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding-top: 4px; border-top: 1px solid #22354c; }
.power-injury-manual-grid .form-group { margin: 10px 0 0; }
.power-injury-manual-grid .form-control { height: 38px; border-color: #38516f; background: #07101c; color: var(--text); }
.power-injury-top-actions { display: grid; grid-template-columns: minmax(0,420px) auto; align-items: end; gap: 10px; margin-bottom: 13px; }
.power-injury-top-actions > .shiny-html-output .form-group { margin-bottom: 0; }
.power-injury-top-actions .power-run-button { width: auto; min-width: 190px; min-height: 43px; margin: 0; padding-inline: 18px; }
.power-injury-actions { display: flex; gap: 9px; margin-top: 13px; }
.power-injury-actions .power-run-button { width: auto; min-width: 190px; min-height: 43px; margin: 0; padding-inline: 18px; }
.power-injury-clear-button { min-height: 43px; padding: 8px 18px; border: 1px solid #3a526d; border-radius: 9px; background: transparent; color: #c4d6e7; font-weight: 800; }
.power-injury-review { margin-top: 19px; }
.power-injury-review h3 { margin: 0 0 9px; font-size: 23px; }
.power-injury-review .power-table-wrap + .power-table-wrap { margin-top: 11px; }
.power-public-future-table table > thead > tr > th,
.power-public-future-table table > tbody > tr > td { width: 12.5%; text-align: center !important; }
.power-public-future-table table > thead > tr > th:nth-child(2),
.power-public-future-table table > tbody > tr > td:nth-child(2) { text-align: left !important; }
.power-public-standings { width: 100%; max-width: 1000px; }
.power-historical-results { display: grid; gap: 24px; }
.power-historical-toolbar.power-public-edge-filter { display: flex; align-items: flex-end; width: 210px; margin: 14px 0 0; }
.power-historical-toolbar .form-group { width: 100%; margin: 0; }
.power-historical-toolbar label,
.power-historical-toolbar .control-label { white-space: nowrap; }
.power-historical-toolbar select.form-control,
.power-historical-toolbar .selectize-input,
.power-historical-toolbar .selectize-input .item,
.power-historical-toolbar .selectize-input > input { font-size: 12px !important; }
.power-historical-summary-block,
.power-historical-summary { width: min(100%,680px); max-width: 680px; }
.power-historical-summary table { table-layout: fixed; }
.power-historical-summary table > thead > tr > th:first-child,
.power-historical-summary table > tbody > tr > td:first-child { width: 36%; }
.power-historical-summary table > thead > tr > th:nth-child(2),
.power-historical-summary table > tbody > tr > td:nth-child(2) { width: 12%; }
.power-historical-summary table > thead > tr > th:nth-child(3),
.power-historical-summary table > tbody > tr > td:nth-child(3) { width: 12%; }
.power-historical-summary table > thead > tr > th:nth-child(4),
.power-historical-summary table > tbody > tr > td:nth-child(4) { width: 15%; border-left: 1px solid #3a526d; }
.power-historical-summary table > thead > tr > th:nth-child(5),
.power-historical-summary table > tbody > tr > td:nth-child(5) { width: 13%; }
.power-historical-summary table > thead > tr > th:nth-child(6),
.power-historical-summary table > tbody > tr > td:nth-child(6) { width: 12%; }
.power-historical-summary table > thead > tr > th:nth-child(n+2),
.power-historical-summary table > tbody > tr > td:nth-child(n+2) { text-align: center; }
.power-historical-summary table > tbody > tr > td:nth-child(2) { color: #9ec8ef; font-weight: 900; }
.nextgen-agreement-table > tbody > tr.agreement-market-start > td { border-top: 4px solid #385472; }
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary-block,
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary,
.power-ratings-page[data-page="power-ratings"] .power-historical-summary-block,
.power-ratings-page[data-page="power-ratings"] .power-historical-summary,
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary-block,
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary { width: min(100%,520px); max-width: 520px; }
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary table > thead > tr > th:first-child,
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary table > tbody > tr > td:first-child,
.power-ratings-page[data-page="power-ratings"] .power-historical-summary table > thead > tr > th:first-child,
.power-ratings-page[data-page="power-ratings"] .power-historical-summary table > tbody > tr > td:first-child { width: 55%; }
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary table > thead > tr > th:nth-child(2),
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary table > tbody > tr > td:nth-child(2),
.power-ratings-page[data-page="power-ratings"] .power-historical-summary table > thead > tr > th:nth-child(2),
.power-ratings-page[data-page="power-ratings"] .power-historical-summary table > tbody > tr > td:nth-child(2) { width: 25%; }
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary table > thead > tr > th:nth-child(3),
.power-ratings-page[data-page="nextgen-ratings"] .power-historical-summary table > tbody > tr > td:nth-child(3),
.power-ratings-page[data-page="power-ratings"] .power-historical-summary table > thead > tr > th:nth-child(3),
.power-ratings-page[data-page="power-ratings"] .power-historical-summary table > tbody > tr > td:nth-child(3) { width: 20%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary table > thead > tr > th:first-child,
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary table > tbody > tr > td:first-child { width: 55%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary table > thead > tr > th:nth-child(2),
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary table > tbody > tr > td:nth-child(2) { width: 25%; }
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary table > thead > tr > th:nth-child(3),
.power-ratings-page[data-page="nfl-all-picks"] .power-historical-summary table > tbody > tr > td:nth-child(3) { width: 20%; }
.power-historical-roi-note { margin: 8px 2px 0; color: #7e92a9; font-size: 11px; line-height: 1.35; }
.power-public-standings .projected-standings-table { min-width: 760px; table-layout: fixed; }
.power-public-standings .projected-standings-table > thead > tr > th:nth-child(1),
.power-public-standings .projected-standings-table > tbody > tr > td:nth-child(1) { width: 10%; }
.power-public-standings .projected-standings-table > thead > tr > th:nth-child(2),
.power-public-standings .projected-standings-table > tbody > tr > td:nth-child(2) { width: 9%; }
.power-public-standings .projected-standings-table > thead > tr > th:nth-child(n+3),
.power-public-standings .projected-standings-table > tbody > tr > td:nth-child(n+3) { width: 16.2%; }
.power-hfa-table { max-height: 480px; overflow-y: auto; }
.power-disclaimer { margin: -5px 0 0; color: #7e92a9; font-size: 12px; }
.power-lab-layout { display: grid; grid-template-columns: minmax(270px, 330px) minmax(0, 1fr); gap: 22px; align-items: start; padding-top: 18px; }
.power-controls { padding: 25px; }
.power-controls .form-group { margin-bottom: 18px; }
.power-controls .shiny-input-container { width: 100% !important; max-width: 100%; }
.power-controls label, .power-controls .control-label { display: block; margin-bottom: 7px; color: #dce6f2; font-size: 13px; font-weight: 700; }
.power-controls .form-control { width: 100%; height: 44px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #08111d; color: var(--text); box-shadow: none; }
.power-controls .form-control:focus { border-color: var(--power-accent); box-shadow: 0 0 0 3px rgba(43,142,214,.13); }
.power-controls .irs--shiny .irs-bar, .power-controls .irs--shiny .irs-single { border-color: var(--power-accent); background: var(--power-accent); }
.power-controls .irs--shiny .irs-handle { border-color: var(--power-accent); background: #eaf5ff; }
.power-run-button { width: 100%; min-height: 50px; margin-top: 5px; border: 1px solid var(--power-accent); border-radius: 10px; background: var(--power-accent); color: #04101b; font-size: 15px; font-weight: 800; cursor: pointer; }
.power-run-button:disabled { cursor: wait; opacity: .56; }
.power-prediction-filter { margin-top: 18px; padding-top: 18px; border-top: 1px solid #29405b; }
.power-prediction-filter .form-group { margin-bottom: 0; }
.power-prediction-filter select.form-control,
.power-prediction-filter .selectize-input,
.power-prediction-filter .selectize-input.full,
.power-prediction-filter .selectize-input.input-active { background: #08111d !important; color: var(--text) !important; }
.power-prediction-filter .selectize-dropdown { border-color: var(--line); background: #0d1725; color: var(--text); }
.power-prediction-filter .selectize-dropdown .active { background: #18314f; color: var(--text); }
.prediction-edge-filter .form-control,
.prediction-edge-filter .selectize-input,
.prediction-edge-filter .selectize-dropdown { font-size: 12px; }
.power-control-note { margin: 18px 0 0; color: #8499b2; font-size: 11px; line-height: 1.5; }
.power-line-note { padding-top: 14px; border-top: 1px solid #29405b; }
.power-status { margin: 13px 0 0; font-size: 12px; line-height: 1.45; }
.power-status.ready, .power-status.running { color: #8499b2; }
.power-status.complete { color: #62d6a5; }
.power-status.error { color: #ff9b90; }
.power-lab-results { min-height: 520px; padding: 24px; }
.power-lab-results .nav-tabs { display: flex; gap: 5px; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.power-lab-results .nav-tabs > li { margin: 0; }
.power-lab-results .nav-tabs > li > a { margin: 0; padding: 10px 13px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.power-lab-results .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.power-lab-results .nav-tabs > li:has(> a[data-value="Proj standings"]) { margin-left: 6px; padding-left: 11px; border-left: 1px solid #3a526d; }
.power-lab-results .nav-tabs > li:not(.active) > a[data-value="Proj standings"] { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.power-lab-results .nav-tabs > li.active > a, .power-lab-results .nav-tabs > li.active > a:hover { background: var(--power-accent); color: #04101b; }
.power-lab-results .tab-content { padding-top: 22px; }
.power-result-intro { margin-bottom: 18px; }
.power-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.power-result-section { min-width: 0; margin-top: 20px; padding-top: 18px; border-top: 1px solid #29405b; }
.power-detail-grid .power-result-section { margin-top: 0; padding: 16px; border: 1px solid #29405b; border-radius: 13px; background: rgba(255,255,255,.012); }
.power-result-section h3 { margin: 0 0 12px; font-size: 20px; }
.power-game-log { padding: 8px; }
.power-game-log .dataTables_wrapper { color: var(--muted); }
.power-game-log .dataTables_filter input, .power-game-log thead input { border: 1px solid var(--line); border-radius: 6px; background: #07101c; color: var(--text); }
.power-game-log .dataTables_length select { background: #07101c; color: var(--text); }
.power-game-log .dataTables_info, .power-game-log .dataTables_paginate { padding: 10px 6px 4px; }
.power-historical-log table.dataTable { font-size: 13px; }
.power-historical-log table.dataTable > thead > tr > th,
.power-historical-log table.dataTable > tbody > tr > td { text-align: center !important; }
.power-historical-log table.dataTable > thead > tr > th { font-size: 13px; }
.power-division-table table.dataTable > thead > tr > th:nth-child(n+3),
.power-division-table table.dataTable > tbody > tr > td:nth-child(n+3) { text-align: center !important; }
.power-division-table table.dataTable tbody tr.power-division-start td { border-top: 3px solid #52779f !important; background: rgba(43,142,214,.055); }
.power-market-summary table > thead > tr > th:nth-child(3),
.power-market-summary table > tbody > tr > td:nth-child(3),
.power-season-summary table > thead > tr > th:nth-child(4),
.power-season-summary table > tbody > tr > td:nth-child(4),
.power-market-groups table > thead > tr > th:nth-child(5),
.power-market-groups table > tbody > tr > td:nth-child(5) { text-align: center !important; }
.power-market-groups table > tbody > tr:has(.power-market-start) > td { border-top: 3px solid #52779f; background: rgba(43,142,214,.055); }
.power-market-groups table > tbody > tr:first-child > td { border-top-width: 1px; }
.power-market-start { display: inline; }
.power-ratings-lab-table { width: 100% !important; max-width: 720px !important; }
.power-ratings-lab-table table { table-layout: fixed; }
.power-ratings-lab-table table > thead > tr > th,
.power-ratings-lab-table table > tbody > tr > td { width: 25% !important; }
.power-ratings-lab-table table > thead > tr > th:not(:first-child),
.power-ratings-lab-table table > tbody > tr > td:not(:first-child) { border-left: 1px solid #355171; text-align: center !important; }

.projected-standings-grid { display: grid; grid-template-columns: minmax(0, 1fr); }
.projected-standings-division { min-width: 0; padding: 22px 0; border-top: 1px solid #29405b; }
.projected-standings-division:first-child { padding-top: 0; border-top: 0; }
.projected-standings-division.projected-standings-conference-start { margin-top: 12px; padding-top: 30px; border-top: 4px solid #52779f; }
.projected-standings-division h3 { margin: 0 0 12px; font-size: 20px; }
.projected-standings-table-wrap { width: 100%; overflow-x: auto; }
.projected-standings-table { width: 100%; margin: 0; color: var(--text); font-size: 13px; }
.projected-standings-table > thead > tr > th { padding: 9px 8px; border-bottom: 1px solid #47617f; color: #9eb9d6; font-family: var(--display); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.projected-standings-table > tbody > tr > td { padding: 9px 8px; border-top: 1px solid rgba(38,55,76,.72); white-space: nowrap; }
.projected-standings-table > thead > tr > th:not(:nth-child(2)),
.projected-standings-table > tbody > tr > td:not(:nth-child(2)) { text-align: center; }
.projected-standings-empty { margin: 0; color: var(--muted); }

.player-epa-page { --player-epa-accent: var(--blue-bright); }
.player-epa-hero { padding-top: 19px; padding-bottom: 16px; }
.player-epa-hero h1 { max-width: 1040px; }
.player-epa-shell { padding-top: 18px; }
.player-epa-workspace { display: grid; grid-template-columns: minmax(270px, 330px) minmax(0, 1fr); gap: 22px; align-items: start; }
.player-epa-controls, .player-epa-results { min-width: 0; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.player-epa-controls { padding: 25px; }
.player-epa-controls .form-group { margin-bottom: 18px; }
.player-epa-controls .shiny-input-container { width: 100% !important; max-width: 100%; }
.player-epa-controls label, .player-epa-controls .control-label { display: block; margin-bottom: 7px; color: #dce6f2; font-size: 13px; font-weight: 700; }
.player-epa-controls .form-control { width: 100%; height: 44px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #08111d; color: var(--text); box-shadow: none; }
.player-epa-controls .form-control:focus { border-color: var(--player-epa-accent); box-shadow: 0 0 0 3px rgba(43,142,214,.13); }
.player-epa-run-button { width: 100%; min-height: 50px; margin-top: 5px; border: 1px solid var(--player-epa-accent); border-radius: 10px; background: var(--player-epa-accent); color: #04101b; font-size: 15px; font-weight: 800; cursor: pointer; }
.player-epa-run-button:hover, .player-epa-run-button:focus, .player-epa-run-button:active, .player-epa-run-button:active:focus { border-color: #54b8f5; background: #54b8f5; color: #04101b; outline: none; box-shadow: 0 0 0 3px rgba(43,142,214,.18); }
.player-epa-run-button:disabled { cursor: wait; opacity: .56; }
.player-epa-control-note { margin: 18px 0 0; color: #8499b2; font-size: 11px; line-height: 1.5; }
.player-epa-status { margin: 13px 0 0; font-size: 12px; line-height: 1.45; }
.player-epa-status.ready, .player-epa-status.running { color: #8499b2; }
.player-epa-status.complete { color: #62d6a5; }
.player-epa-status.error { color: #ff9b90; }
.player-epa-results { min-height: 540px; padding: 24px; }
.player-epa-results > .tabbable > .nav-tabs { display: flex; gap: 5px; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.player-epa-results > .tabbable > .nav-tabs > li { margin: 0; }
.player-epa-results > .tabbable > .nav-tabs > li > a { margin: 0; padding: 11px 16px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; }
.player-epa-results > .tabbable > .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.player-epa-results > .tabbable > .nav-tabs > li.active > a, .player-epa-results > .tabbable > .nav-tabs > li.active > a:hover { background: var(--player-epa-accent); color: #04101b; }
.player-epa-results > .tabbable > .tab-content { padding-top: 22px; }
.player-epa-result-intro { margin-bottom: 19px; }
.player-epa-result-intro h2 { margin: 0 0 6px; font-size: clamp(32px, 3.2vw, 44px); line-height: 1; }
.player-epa-result-intro p { max-width: 790px; margin: 0; font-size: 14px; line-height: 1.55; }
.player-epa-empty { min-height: 350px; display: grid; align-content: center; padding: clamp(24px, 5vw, 54px); border: 1px dashed #38506d; border-radius: 14px; background: linear-gradient(135deg, rgba(43,142,214,.07), rgba(255,255,255,.012)); }
.player-epa-empty h3 { margin: 7px 0 8px; font-size: clamp(27px, 2.6vw, 36px); }
.player-epa-empty p { max-width: 660px; margin: 0; font-size: 15px; line-height: 1.55; }
.player-epa-filter-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 10px; padding: 10px 12px; border: 1px solid #29405b; border-radius: 13px; background: #0a1524; }
.player-epa-filter-grid .shiny-input-container { width: 100% !important; margin: 0; }
.player-epa-filter-grid label { margin-bottom: 4px; color: #b9cce1; font-size: 10px; line-height: 1.2; }
.player-epa-filter-grid .form-control, .player-epa-filter-grid .selectize-input { height: 34px; min-height: 34px; padding-top: 5px; padding-bottom: 5px; border: 1px solid var(--line); border-radius: 8px; background: #07101c; color: var(--text); font-size: 12px; line-height: 22px; box-shadow: none; }
.player-epa-filter-grid .selectize-input > input,
.player-epa-filter-grid .selectize-input .item { font-size: 12px !important; line-height: 22px; }
.player-epa-filter-grid .selectize-input.full, .player-epa-filter-grid .selectize-input.input-active { background: #07101c; }
.player-epa-filter-grid .selectize-dropdown { border: 1px solid var(--line); background: #0d1725; color: var(--text); }
.player-epa-filter-grid .selectize-dropdown .option { font-size: 12px; line-height: 1.35; }
.player-epa-filter-grid .selectize-dropdown .active { background: #18314f; color: var(--text); }
.player-epa-table-actions { display: flex; justify-content: flex-end; margin: 13px 0 9px; }
.player-epa-table-actions .btn { border: 1px solid #3a526d; border-radius: 8px; background: transparent; color: var(--text); font-weight: 700; }
.player-epa-table-wrap { width: 100%; overflow-x: auto; margin-top: 10px; padding: 8px; border: 1px solid #21334a; border-radius: 12px; background: #08111d; }
.player-epa-table-wrap .dataTables_wrapper { color: var(--muted); }
.player-epa-table-wrap table.dataTable { width: 100% !important; margin: 0; color: var(--text); font-size: 13px; }
.player-epa-table-wrap table.dataTable thead th { padding: 11px 10px; border-bottom: 1px solid #47617f; color: #9eb9d6; font-family: var(--display); font-size: 13px; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.player-epa-table-wrap table.dataTable tbody td { padding: 10px; border-top: 1px solid rgba(38,55,76,.72); white-space: nowrap; }
.player-epa-table-wrap table.dataTable .dt-center { text-align: center !important; }
.player-epa-table-wrap table.dataTable thead th:first-child,
.player-epa-table-wrap table.dataTable tbody td:first-child { text-align: left !important; }
.player-epa-table-wrap table.dataTable thead th:not(:first-child),
.player-epa-table-wrap table.dataTable tbody td:not(:first-child) { text-align: center !important; }
.player-epa-table-wrap table.dataTable.stripe tbody tr.odd { background: rgba(255,255,255,.018); }
.player-epa-table-wrap table.dataTable.hover tbody tr:hover { background: rgba(43,142,214,.08); }
.player-epa-table-wrap .dataTables_info, .player-epa-table-wrap .dataTables_paginate { padding: 10px 6px 4px; }
.player-epa-table-wrap .paginate_button { color: var(--muted) !important; }
.simulation-hero { padding-top: 19px; padding-bottom: 16px; }
.simulation-hero h1 { max-width: 980px; }
.simulation-details-link { color: #7cc9ff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.simulation-details-link:hover, .simulation-details-link:focus-visible { color: white; }
.simulation-layout { display: grid; grid-template-columns: minmax(340px, 400px) minmax(0, 1fr); gap: 24px; align-items: start; padding-top: 20px; }
.simulation-controls, .simulation-results { min-width: 0; border: 1px solid var(--line); border-radius: 20px; background: var(--panel); }
.simulation-controls {
  position: static;
  padding: 25px;
}
.simulation-controls h2 { margin: 5px 0 21px; font-size: 34px; line-height: 1; }
.simulation-controls .form-group { margin-bottom: 17px; }
.simulation-controls .shiny-input-container { width: 100% !important; max-width: 100%; min-width: 0; }
.simulation-controls label, .simulation-controls .control-label { display: block; margin-bottom: 7px; color: #dce6f2; font-size: 13px; font-weight: 700; }
.simulation-controls .form-control { width: 100%; height: 44px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; background: #08111d; color: var(--text); box-shadow: none; }
.simulation-controls .form-control:focus { border-color: var(--simulation-accent); box-shadow: 0 0 0 3px rgba(43,142,214,.13); }
.simulation-controls .selectize-control { width: 100%; min-width: 0; }
.simulation-controls .selectize-input { min-height: 44px; display: flex; align-items: center; padding: 9px 34px 9px 11px; border: 1px solid var(--line); border-radius: 9px; background: #08111d; color: var(--text); box-shadow: none; }
.simulation-controls .selectize-input.full, .simulation-controls .selectize-input.input-active { background: #08111d; }
.simulation-controls .selectize-input > input { min-width: 0 !important; color: var(--text); }
.simulation-controls .selectize-dropdown { border: 1px solid var(--line); background: #0d1725; color: var(--text); }
.simulation-controls .selectize-dropdown .active { background: #18314f; color: var(--text); }
.simulation-game-setup-controls .selectize-input,
.simulation-game-setup-controls .selectize-input > input,
.simulation-game-setup-controls .selectize-input .item,
.simulation-game-setup-controls .selectize-dropdown .option,
.simulation-advanced-body .selectize-input,
.simulation-advanced-body .selectize-input > input,
.simulation-advanced-body .selectize-input .item,
.simulation-advanced-body .selectize-dropdown .option { font-size: 15px; }
.simulation-advanced-body input.form-control { font-size: 12px; }
.simulation-setup-tabs { margin-top: 12px; }
.simulation-setup-tabs > .tabbable > .nav-tabs { display: flex !important; flex-wrap: nowrap !important; gap: 5px; width: 100%; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.simulation-setup-tabs > .tabbable > .nav-tabs > li { float: none !important; flex: 1 1 50%; width: 50% !important; min-width: 0; margin: 0; }
.simulation-setup-tabs > .tabbable > .nav-tabs > li > a { display: block; width: 100%; margin: 0; padding: 10px 8px; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 12px; font-weight: 800; text-align: center; white-space: nowrap; }
.simulation-setup-tabs > .tabbable > .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.simulation-setup-tabs > .tabbable > .nav-tabs > li.active > a,
.simulation-setup-tabs > .tabbable > .nav-tabs > li.active > a:hover { background: var(--simulation-accent); color: #04101b; }
.simulation-setup-tabs > .tabbable > .tab-content { padding-top: 18px; overflow: visible; }
.simulation-team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.simulation-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.simulation-team-grid > *, .simulation-field-grid > * { min-width: 0; }
.simulation-field-grid > :last-child { grid-column: 1 / -1; }
.simulation-helper { margin: -8px 0 16px; color: #8499b2; font-size: 12px; line-height: 1.5; }
.simulation-controls .simulation-performance-tip { margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.45; }
.simulation-controls .irs--shiny .irs-bar, .simulation-controls .irs--shiny .irs-single { border-color: var(--simulation-accent); background: var(--simulation-accent); }
.simulation-controls .irs--shiny .irs-handle { border-color: var(--simulation-accent); background: #eaf5ff; }
.simulation-controls .checkbox { margin: 10px 0; color: var(--muted); }
.simulation-controls .checkbox input { accent-color: var(--simulation-accent); }
.simulation-player-toggle { margin: -2px 0 18px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; background: rgba(5,10,18,.45); }
.simulation-player-toggle .form-group, .simulation-player-toggle .checkbox { margin: 0; }
.simulation-player-toggle .checkbox label { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--text); cursor: pointer; }
.simulation-player-toggle .checkbox input[type="checkbox"] { appearance: none; flex: 0 0 auto; position: relative; width: 42px !important; height: 24px; margin: 0 !important; border: 1px solid #4b617a; border-radius: 999px; background: #08111d; transition: background .18s ease, border-color .18s ease; }
.simulation-player-toggle .checkbox input[type="checkbox"]::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #9eb0c5; transition: transform .18s ease, background .18s ease; }
.simulation-player-toggle .checkbox input[type="checkbox"]:checked { border-color: var(--simulation-accent); background: var(--simulation-accent); }
.simulation-player-toggle .checkbox input[type="checkbox"]:checked::after { transform: translateX(18px); background: #04101b; }
.simulation-player-toggle p { margin: 7px 0 0 52px; color: #8499b2; font-size: 11px; line-height: 1.45; }
.simulation-advanced { margin: 4px 0 19px; border: 1px solid var(--line); border-radius: 11px; background: rgba(5,10,18,.45); }
.simulation-advanced summary { padding: 13px 15px; color: var(--text); font-size: 14px; font-weight: 800; cursor: pointer; }
.simulation-advanced-body { padding: 5px 15px 2px; border-top: 1px solid var(--line); }
.simulation-player-controls-intro { margin: 9px 0 15px; }
.simulation-player-controls-ready { margin: 9px 0 15px; color: #8499b2; font-size: 12px; }
.simulation-player-control-section { padding: 8px 0 4px; }
.simulation-player-control-section + .simulation-player-control-section { margin-top: 8px; padding-top: 18px; border-top: 1px solid var(--line); }
.simulation-player-control-section h4 { margin: 0 0 5px; color: var(--text); font-family: var(--display); font-size: 22px; }
.simulation-player-control-section > p { margin: 0 0 13px; color: #8499b2; font-size: 11px; line-height: 1.45; }
.simulation-player-controls .selectize-input { min-height: 42px; height: auto; }
.simulation-player-controls .selectize-input .item { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.simulation-scheduled-proxy-summary { font-size: 15px; line-height: 1.45; }
.simulation-run-button { width: 100%; min-height: 50px; border: 1px solid var(--simulation-accent); border-radius: 10px; background: var(--simulation-accent); color: #04101b; font-size: 16px; font-weight: 800; cursor: pointer; }
.simulation-run-button:disabled { cursor: wait; opacity: .56; }
.simulation-run-actions { margin-bottom: 17px; }
.simulation-prediction-filter { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.simulation-prediction-filter .form-group { margin-bottom: 0; }
.simulation-post-filter-note { margin: 0 0 7px; color: #8499b2; font-size: 11px; line-height: 1.35; }
.simulation-ready, .simulation-complete, .simulation-error { margin: 12px 0 0; font-size: 12px; line-height: 1.45; }
.simulation-ready { color: #8499b2; }
.simulation-complete { color: #62d6a5; }
.simulation-error { color: #ff9b90; }
.simulation-wait { display: flex; align-items: center; gap: 9px; margin-top: 13px; color: #dce6f2; font-size: 13px; font-weight: 700; }
.simulation-hourglass { display: inline-block; animation: simulation-pulse 1.1s ease-in-out infinite alternate; }
@keyframes simulation-pulse { to { opacity: .36; transform: translateY(1px); } }
.simulation-results { min-height: 690px; padding: 24px; }
.simulation-fantasy-export { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 0 0 16px; padding: 13px 15px; border: 1px solid #355171; border-radius: 12px; background: rgba(43,142,214,.07); }
.simulation-fantasy-export > div { display: grid; gap: 3px; }
.simulation-fantasy-export strong { color: var(--text); font-size: 14px; }
.simulation-fantasy-export span { color: var(--muted); font-size: 12px; line-height: 1.4; }
.simulation-fantasy-export-button { min-height: 40px; padding: 8px 14px; border: 1px solid var(--simulation-accent); border-radius: 8px; background: var(--simulation-accent); color: #04101b; font-size: 13px; font-weight: 800; white-space: nowrap; }
.simulation-fantasy-export-unavailable { display: grid; justify-content: stretch; }
.simulation-empty { min-height: 330px; display: grid; align-content: center; justify-items: start; padding: clamp(25px,5vw,65px); border: 1px dashed #38506d; border-radius: 15px; background: linear-gradient(135deg,rgba(43,142,214,.08),rgba(255,255,255,.012)); }
.simulation-empty h2 { max-width: 680px; margin: 6px 0 8px; font-size: clamp(36px,4vw,56px); line-height: 1; }
.simulation-empty p { max-width: 700px; margin: 0; }
.simulation-preloaded.recalculating { opacity: 1; transition: none; }
.simulation-quick-start { padding: clamp(24px,3vw,42px); }
.simulation-quick-start h2 { font-size: clamp(30px,3vw,42px); margin-bottom: 20px; }
.simulation-quick-start > ol { margin: 0; padding-left: 24px; color: var(--muted); line-height: 1.5; }
.simulation-quick-start > ol > li { padding-left: 5px; margin-bottom: 12px; }
.simulation-quick-start > ol > li:last-child { margin-bottom: 0; }
.simulation-quick-start summary { display: flex; align-items: baseline; gap: 8px; list-style: none; cursor: pointer; color: var(--text); }
.simulation-quick-start summary::-webkit-details-marker { display: none; }
.simulation-quick-start-arrow { flex: 0 0 .7em; color: var(--simulation-accent); }
.simulation-quick-start-arrow::before { content: "▸"; }
.simulation-quick-start details[open] .simulation-quick-start-arrow::before { content: "▾"; }
.simulation-quick-start summary:focus-visible { outline: 2px solid var(--simulation-accent); outline-offset: 4px; border-radius: 3px; }
.simulation-quick-start details > ul { margin: 12px 0 4px; padding-left: 18px; font-size: .92em; }
.simulation-quick-start details > ul > li + li { margin-top: 8px; }
.simulation-scoreboard { display: grid; gap: 18px; margin-bottom: 24px; }
.simulation-matchup { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); align-items: center; gap: 14px; padding: 17px 19px; border: 1px solid #355171; border-radius: 14px; background: linear-gradient(120deg,#10233a,#0b1726); }
.simulation-matchup-scores { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: 12px; min-width: 0; }
.simulation-matchup-team { display: grid; justify-items: center; gap: 4px; text-align: center; }
.simulation-matchup-side { color: #88a6ca; font-family: var(--display); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.simulation-matchup-line { display: flex; align-items: baseline; justify-content: center; gap: 9px; white-space: nowrap; }
.simulation-matchup-line > span, .simulation-matchup-line > b { font-family: var(--display); font-size: clamp(18px,3.2vw,38px); font-weight: 800; line-height: 1; }
.simulation-matchup em { justify-self: center; color: var(--muted); font-size: 13px; font-style: normal; text-transform: uppercase; }
.simulation-matchup-margin { display: grid; align-content: center; justify-items: center; gap: 4px; min-height: 54px; padding-left: 15px; border-left: 1px solid #3a526d; text-align: center; }
.simulation-matchup-margin-line { display: flex; align-items: baseline; justify-content: center; gap: 5px; white-space: nowrap; }
.simulation-matchup-margin-line > span, .simulation-matchup-margin-line > b { font-family: var(--display); font-size: clamp(18px,3.2vw,38px); font-weight: 800; line-height: 1; }
.simulation-matchup-margin-line > small { color: var(--muted); font-family: var(--display); font-size: 12px; font-weight: 800; }
.simulation-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }
.simulation-metric-grid article { min-height: 112px; display: grid; align-content: center; justify-items: center; gap: 7px; padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); text-align: center; }
.simulation-metric-grid small { color: #88a6ca; font-family: var(--display); font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.simulation-metric-grid strong { font-family: var(--display); font-size: 34px; line-height: 1; }
.simulation-results .nav-tabs { display: flex; gap: 5px; margin: 0; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: #08111d; }
.simulation-results .nav-tabs > li { display: flex; margin: 0; }
.simulation-results .nav-tabs > li > a { display: flex; min-height: 58px; margin: 0; padding: 10px 13px; align-items: center; justify-content: center; border: 0 !important; border-radius: 8px; color: var(--muted); font-size: 13px; font-weight: 800; line-height: 1.3; text-align: center; }
.simulation-results .nav-tabs > li > a:hover { background: var(--panel-2); color: var(--text); }
.simulation-results .nav-tabs > li:has(> a[data-value="Proj Standings"]) { margin-left: 6px; padding-left: 11px; border-left: 1px solid #3a526d; }
.simulation-results .nav-tabs > li:not(.active) > a[data-value="Proj Standings"] { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.simulation-results .nav-tabs > li:not(.active) > a[data-value="Historical results"] { color: #ff7777; box-shadow: inset 0 0 0 1px rgba(255,77,77,.48); }
.simulation-results .nav-tabs > li.active > a, .simulation-results .nav-tabs > li.active > a:hover { background: var(--simulation-accent); color: #04101b; }
.simulation-results .tab-content { min-height: 310px; padding-top: 20px; overflow-x: auto; }
.simulation-results table { width: 100%; margin: 0; color: var(--text); font-size: 13px; }
.simulation-results table > thead > tr > th { padding: 11px 9px; border-bottom: 1px solid #47617f; color: #9eb9d6; font-family: var(--display); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.simulation-results table > tbody > tr > td { padding: 11px 9px; border-top: 1px solid rgba(38,55,76,.72); white-space: nowrap; }
.simulation-results table > tbody > tr:has(.simulation-group-start) > td { border-top: 2px solid #52779f; background: rgba(43,142,214,.055); }
.simulation-results table > tbody > tr:first-child > td { border-top-width: 1px; }
.simulation-results table > tbody > tr:has(.simulation-subgroup-start) > td { border-top: 1px solid #3b536e; }
.simulation-group-start, .simulation-subgroup-start { display: inline; }
.simulation-results .table-hover > tbody > tr:hover { background: rgba(43,142,214,.08); }
.simulation-breakdown-stack { display: grid; gap: 18px; }
.simulation-breakdown { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.018); overflow-x: auto; }
.simulation-breakdown h3 { margin: 0 0 13px; color: var(--text); font-family: var(--display); font-size: 24px; letter-spacing: -.01em; }
.simulation-history-intro { margin-bottom: 18px; }
.simulation-history-intro h2 { margin: 6px 0; font-size: clamp(31px,3vw,42px); line-height: 1; }
.simulation-history-intro p { max-width: 760px; margin: 0; font-size: 14px; line-height: 1.55; }
.simulation-history-section + .simulation-history-section { margin-top: 18px; }
.simulation-history-section table > thead > tr > th:not(:first-child),
.simulation-history-section table > tbody > tr > td:not(:first-child) { text-align: center; }
.simulation-rumblegrid-history { max-width: 900px; }
.simulation-rumblegrid-history .simulation-history-section h3 { margin: 0 0 10px; color: var(--text); font-family: var(--display); font-size: 23px; }
.simulation-history-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }
.simulation-rumblegrid-history .simulation-history-section table { min-width: 690px; }
.simulation-rumblegrid-history .simulation-history-section th:first-child,
.simulation-rumblegrid-history .simulation-history-section td:first-child { min-width: 155px; }
.simulation-history-line-note { margin: 18px 4px 2px; padding-top: 14px; border-top: 1px solid var(--line); }
.simulation-player-empty { min-height: 250px; display: grid; align-content: center; justify-items: start; padding: 28px; border: 1px dashed #38506d; border-radius: 13px; background: rgba(43,142,214,.035); }
.simulation-player-empty h3 { margin: 0 0 8px; color: var(--text); font-family: var(--display); font-size: 28px; }
.simulation-player-empty p { max-width: 560px; margin: 0; color: var(--muted); }
.simulation-player-results { display: grid; gap: 22px; }
.simulation-player-results > .eyebrow { color: #88a6ca; }
.simulation-player-note { max-width: 760px; margin: -13px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.simulation-player-position { min-width: 0; padding-top: 2px; }
.simulation-player-position + .simulation-player-position { padding-top: 22px; border-top: 2px solid #355171; }
.simulation-player-position h3 { margin: 0 0 12px; color: var(--text); font-family: var(--display); font-size: 27px; }
.simulation-player-table-wrap { width: 100%; overflow-x: auto; }
.simulation-results .simulation-player-table tbody tr.simulation-player-start:not(:first-child) td { border-top: 2px solid #355171; }
.simulation-results .simulation-player-table tbody td:first-child { min-width: 125px; font-weight: 800; }
.simulation-results .simulation-player-table tbody td:nth-child(2) { color: #9eb9d6; font-weight: 700; }
.simulation-disclaimer { margin: 16px 0 0; color: #7e92a9; font-size: 12px; line-height: 1.55; }

/* Shiny's stock confirmation dialog is Bootstrap-white and top-aligned. Keep
   the interaction compact and visually part of the Football Lab workspace. */
.modal.in { display: flex !important; align-items: center; justify-content: center; padding: 18px !important; }
.modal-dialog { width: min(460px, calc(100vw - 36px)); margin: 0 !important; }
.modal-content { overflow: hidden; border: 1px solid #355171; border-top: 3px solid var(--blue-bright); border-radius: 16px; background: linear-gradient(145deg, #13253d, #0b1624 58%); color: var(--text); box-shadow: 0 28px 90px rgba(0,0,0,.62); }
.modal-header { padding: 20px 22px 16px; border-bottom: 1px solid var(--line); }
.modal-title { color: var(--text); font-family: var(--display); font-size: 28px; font-weight: 800; letter-spacing: -.01em; line-height: 1; }
.modal-body { padding: 17px 22px 12px; }
.modal-body p { margin: 0 0 10px; color: var(--muted); font-size: 14px; line-height: 1.55; }
.modal-footer { display: flex; justify-content: flex-end; gap: 9px; padding: 14px 22px 18px; border-top: 0; background: rgba(5,10,18,.24); }
.modal-footer .btn { min-width: 92px; min-height: 42px; margin: 0 !important; padding: 9px 16px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); color: var(--text); font-size: 14px; font-weight: 800; box-shadow: none; }
.modal-footer .btn:hover, .modal-footer .btn:focus { border-color: #577493; background: #17283d; color: var(--text); }
.modal-footer .btn-primary { border-color: var(--blue-bright); background: var(--blue-bright); color: #04101b; }
.modal-footer .btn-primary:hover, .modal-footer .btn-primary:focus { border-color: #54ace9; background: #54ace9; color: #04101b; }

#shiny-notification-panel { right: 18px; bottom: 18px; width: min(340px, calc(100vw - 36px)); }
.shiny-notification { border: 1px solid #355171; border-left: 3px solid var(--blue-bright); border-radius: 12px; background: linear-gradient(135deg, #13253d, #0b1624); color: var(--text); box-shadow: 0 18px 50px rgba(0,0,0,.48); }
.shiny-notification-message { font-family: var(--display); font-size: 18px; font-weight: 800; }
.shiny-notification-detail { color: var(--muted); font-size: 12px; }
.shiny-notification .progress { height: 5px; margin-top: 10px; background: #07101b; }
.shiny-notification .progress-bar { background: var(--blue-bright); }

.methodology-page { --methodology-accent: var(--blue-bright); }
.methodology-page section[id] { scroll-margin-top: 94px; }
.methodology-hero { padding-top: 17px; padding-bottom: 0; }
.methodology-hero h1 { max-width: 920px; }
.methodology-hero > p:last-child { max-width: 900px; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.65; }
.methodology-section { padding-top: clamp(32px, 4vw, 60px); padding-bottom: clamp(32px, 4vw, 60px); }
.methodology-hero + .methodology-section { padding-top: 24px; }
.methodology-page .methodology-section.surface-section { margin-block: 12px; padding-inline: clamp(20px, 3vw, 40px); border: 1px solid rgba(169,187,209,.14); border-radius: 22px; background: rgba(17,30,47,.54); }
.methodology-card { position: relative; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.methodology-standard-card, .methodology-founder-card { padding: clamp(24px, 3vw, 40px); }
.methodology-standard-card { border-top: 3px solid var(--methodology-accent); }
.methodology-standard-lead { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: clamp(24px,4vw,64px); align-items: start; }
.methodology-standard-card blockquote { margin: 15px 0 24px; font-family: var(--display); font-size: clamp(35px,4vw,50px); font-weight: 700; line-height: 1; }
.methodology-check-list { margin: 0; padding: 0; list-style: none; }
.methodology-check-list-featured { margin-top: clamp(24px,3vw,40px); }
.methodology-check-list li { display: grid; gap: 3px; padding: 14px 0; border-top: 1px solid var(--line); }
.methodology-check-list strong { color: var(--methodology-accent); font-size: 16px; }
.methodology-check-list span { color: var(--muted); font-size: 15px; line-height: 1.55; }
.methodology-section-heading { max-width: 900px; margin-bottom: 32px; }
.methodology-section-heading h2, .methodology-context-copy h2, .methodology-founder-heading h2 { margin: 7px 0 16px; font-size: clamp(38px,4vw,54px); line-height: 1; }
.methodology-section-heading p, .methodology-context-copy p, .methodology-spectrum p, .methodology-definition p, .methodology-integrity-note p, .methodology-founder-card p { color: var(--muted); font-size: 16px; line-height: 1.72; }
.methodology-target-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 20px; }
.methodology-target-grid .methodology-card { padding: 22px; }
.methodology-target-grid h3, .methodology-context-stack h3, .methodology-validation-grid h3 { font-size: 21px; }
.methodology-target-grid p, .methodology-context-stack p, .methodology-method-card p, .methodology-validation-grid p { margin: 9px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.methodology-spectrum { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr); gap: 16px; padding: clamp(23px,3vw,36px); border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(135deg,rgba(43,142,214,.09),rgba(255,255,255,.015)); }
.methodology-spectrum h3 { margin: 7px 0 10px; font-size: 23px; }
.methodology-spectrum-note { padding: 20px; border-radius: 14px; background: rgba(5,10,18,.62); }
.methodology-spectrum-note strong { color: var(--text); font-size: 16px; }
.methodology-spectrum-note p { margin-bottom: 0; font-size: 15px; }
.methodology-context-section { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: clamp(18px,2.5vw,32px); align-items: center; }
.methodology-context-copy p { max-width: 860px; }
.methodology-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 22px; }
.methodology-context-stack { display: grid; gap: 14px; }
.methodology-context-stack .methodology-card { padding: 19px 22px; border-left: 3px solid var(--methodology-accent); }
.methodology-context-stack h3 { margin: 5px 0; }
.methodology-context-stack p { margin: 0; }
.methodology-data-flow { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; }
.methodology-method-card { min-height: 220px; padding: 22px; }
.methodology-method-card:not(:last-child)::after { content: "→"; position: absolute; right: -13px; top: 50%; z-index: 2; color: var(--methodology-accent); font-size: 21px; transform: translate(50%,-50%); }
.methodology-card-number { display: block; color: var(--methodology-accent); font-family: var(--display); font-size: 16px; font-weight: 800; letter-spacing: .12em; }
.methodology-method-card h3 { margin: 12px 0 9px; font-size: 21px; }
.methodology-definition { margin-top: 20px; padding: 21px 24px; border-left: 3px solid var(--methodology-accent); border-radius: 0 16px 16px 0; background: rgba(255,255,255,.025); }
.methodology-definition p { margin-bottom: 0; }
.methodology-validation-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.methodology-validation-grid .methodology-card { min-height: 180px; padding: 22px; border-top: 3px solid var(--methodology-accent); }
.methodology-integrity-note { display: flex; align-items: baseline; gap: 11px; margin-top: 20px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; }
.methodology-integrity-note strong { flex: none; color: var(--text); }
.methodology-integrity-note p { margin: 0; }
.methodology-founder-transition { display: grid; grid-template-columns: minmax(280px,.8fr) repeat(2,minmax(0,1fr)); gap: clamp(20px,3vw,40px); align-items: start; }
.methodology-founder-transition p { margin: 0; }
.methodology-resource-links { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.methodology-resource-links a { min-height: 120px; display: grid; gap: 7px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); color: var(--text); transition: border-color 160ms ease, transform 160ms ease; }
.methodology-resource-links a:hover, .methodology-resource-links a:focus-visible { border-color: var(--methodology-accent); transform: translateY(-2px); }
.methodology-resource-links strong { font-size: 16px; }
.methodology-resource-links span { align-self: end; color: var(--muted); font-size: 14px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

.account-page { --account-accent: #2aaed6; }
.account-page section[id] { scroll-margin-top: 94px; }
.account-launch-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr); align-items: center; gap: clamp(28px, 5vw, 64px); padding-block: 21px 48px; }
.account-launch-copy h1 { max-width: 760px; font-family: var(--display); font-size: clamp(48px,5.4vw,76px); font-weight: 800; letter-spacing: -.025em; line-height: .92; }
.account-launch-copy > p:not(.eyebrow) { max-width: 860px; margin: 18px 0 0; color: var(--muted); font-size: 18px; line-height: 1.6; }
.account-launch-card { padding: 30px; border: 1px solid var(--line); border-top: 3px solid var(--account-accent); border-radius: 18px; background: linear-gradient(145deg, rgba(42,174,214,.1), var(--panel) 42%); }
.account-launch-card h2 { margin: 7px 0 0; font-size: clamp(30px, 3.2vw, 42px); line-height: 1; }
.auth-loading { min-height: 96px; display: flex; align-items: center; justify-content: center; margin-top: 20px; color: var(--muted); font-size: 14px; font-weight: 700; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-top: 20px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: rgba(4,9,15,.45); }
.auth-tabs button { min-height: 40px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 13px; font-weight: 800; cursor: pointer; }
.auth-tabs button.active { background: var(--panel-2); color: var(--text); box-shadow: inset 0 -2px var(--account-accent); }
.auth-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; margin-top: 16px; }
.auth-form label { display: grid; gap: 7px; margin: 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.auth-form input[type="email"], .auth-form input[type="password"] { width: 100%; min-height: 44px; margin: 0; padding: 9px 12px; border: 1px solid var(--line); border-radius: 9px; outline: 0; background: #111e2f; color: var(--text); font: inherit; }
.auth-form input:focus { border-color: var(--account-accent); box-shadow: 0 0 0 3px rgba(42,174,214,.12); }
.auth-form[data-auth-form="signup"] > label:nth-of-type(3), .auth-submit, .auth-check, .auth-text-button { grid-column: 1 / -1; }
.auth-submit { width: 100%; margin-top: 2px; }
.auth-check { display: grid !important; grid-template-columns: 18px minmax(0,1fr); align-items: start; gap: 9px !important; margin: 0; color: var(--muted) !important; font-size: 12px !important; font-weight: 600 !important; line-height: 1.45; cursor: pointer; }
.auth-check input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--account-accent); }
.auth-text-button { justify-self: center; margin-top: 0; padding: 0; border: 0; background: transparent; color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.auth-signed-in { margin-top: 22px; padding: 18px; border: 1px solid rgba(42,174,214,.35); border-radius: 12px; background: rgba(42,174,214,.07); }
.auth-signed-in h3, .auth-recovery h3 { margin: 6px 0 2px; font-size: 24px; }
.auth-email { margin: 0 0 16px; color: var(--muted); font-size: 13px; overflow-wrap: anywhere; }
.account-membership-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; padding: 12px 13px; border-radius: 9px; background: rgba(255,255,255,.035); font-size: 13px; }
.account-membership-summary span { color: var(--muted); }
.account-preference-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.auth-preference { flex: 1; grid-template-columns: 15px minmax(0,1fr) !important; align-items: center; gap: 7px !important; font-size: 11px !important; line-height: 1.25; }
.auth-preference input { width: 13px; height: 13px; margin: 0; }
.account-preference-row .button { flex: none; min-height: 40px; padding-inline: 15px; font-size: 13px; }
.auth-recovery { grid-template-columns: 1fr; margin: 14px 0 16px; }
.auth-status { min-height: 20px; margin: 13px 0 0; color: var(--muted); font-size: 12px; font-weight: 700; }
.auth-status:empty { display: none; }
.auth-status[data-tone="success"] { color: #62d6a5; }
.auth-status[data-tone="confirmed"], .auth-status[data-tone="verification"] { padding: 14px 16px; border: 1px solid rgba(42,174,214,.65); border-left: 4px solid var(--account-accent); border-radius: 10px; background: rgba(42,174,214,.14); color: #f2fcff; font-size: 14px; line-height: 1.5; }
.auth-status[data-tone="error"] { color: #ff9b90; }
.auth-form[aria-busy="true"] { opacity: .68; }
.auth-form button:disabled, .auth-form input:disabled, [data-auth-sign-out]:disabled { cursor: wait; opacity: .65; }

.account-promo-section { padding-top: 28px; }
.account-promo-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.018); }
.account-promo-card h3 { margin: 5px 0 0; font-size: 22px; }
.account-promo-form { display: flex; align-items: center; gap: 9px; }
.account-promo-form input { width: min(250px,42vw); min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--panel-2); color: var(--text); font: inherit; }
.account-promo-form .button { min-height: 44px; }
.account-page button:disabled, .account-page input:disabled { cursor: not-allowed; opacity: .58; }

.account-plans-section { padding-block: 48px 42px; }
.account-section-heading { max-width: 980px; }
.account-section-heading h2 { margin: 8px 0 10px; font-size: clamp(38px, 4.5vw, 62px); line-height: .98; }
.account-section-heading p { max-width: 880px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.account-plan-grid { width: min(100%, 660px); margin: 32px auto 0; }
.account-plan-card { min-height: 450px; display: flex; flex-direction: column; padding: 28px; border: 1px solid rgba(42,174,214,.5); border-top: 3px solid var(--account-accent); border-radius: 18px; background: linear-gradient(180deg, rgba(42,174,214,.09), var(--panel) 34%); }
.account-plan-card h3 { margin: 7px 0 0; font-size: 34px; }
.account-plan-price { display: flex; align-items: baseline; gap: 7px; margin-top: 27px; }
.account-plan-price strong { font-family: var(--display); font-size: clamp(48px,5vw,64px); line-height: .9; }
.account-plan-price span, .account-plan-followup { color: var(--muted); }
.account-plan-followup { margin: 11px 0 0; font-size: 13px; }
.account-plan-features { display: grid; gap: 12px; margin: 26px 0 30px; padding: 0; list-style: none; }
.account-plan-features li { position: relative; padding-left: 22px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.account-plan-features li::before { content: ""; position: absolute; top: .48em; left: 1px; width: 8px; height: 4px; border-bottom: 2px solid var(--account-accent); border-left: 2px solid var(--account-accent); transform: rotate(-45deg); }
.account-plan-card .button { margin-top: auto; }

.account-services-section { padding-block: 44px 64px; border-block: 1px solid #1c2b3d; background: #0a1421; }
.account-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.account-service-card { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.account-service-card h3 { margin: 8px 0 12px; font-size: 24px; }
.account-service-card p { margin: 0 0 18px; color: var(--muted); font-size: 16px; }

.site-footer { border-top: 1px solid #1b2a3b; background: #05080d; }
.footer-inner { min-height: 180px; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #7489a2; }
.footer-inner p { margin: 0 0 3px; color: var(--muted); font-size: 14px; }
.footer-brand { color: var(--text) !important; font-family: var(--display); font-weight: 800; letter-spacing: .06em; }
.rumblegrid-mark { display: inline; color: #6dc8e9; font-family: var(--display); font-weight: 800; letter-spacing: -.015em; white-space: nowrap; }
.rumblegrid-mark sup { position: relative; top: -.35em; margin-left: 2px; font-family: var(--body); font-size: .34em; font-weight: 700; letter-spacing: 0; }
.trademark-notice { color: #7489a2 !important; }
.footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 16px; }
.footer-link { min-height: 44px; display: inline-flex; align-items: center; padding: 8px 4px; color: var(--muted); font-size: 13px; font-weight: 500; }
.footer-link:hover { color: var(--text); }

@media (max-width: 1100px) {
  .content-shell { width: min(calc(100% - 40px), var(--max)); }
  .home-hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-board { max-width: 760px; }
  .account-launch-hero { grid-template-columns: 1fr; }
  .account-launch-card { max-width: 760px; }
  .feature-grid.four { grid-template-columns: repeat(2, 1fr); }
  .route-panel[data-page="nfl-game-scripts"] .game-script-signals { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .lab-layout { grid-template-columns: 280px minmax(0,1fr); }
  .fantasy-workspace { grid-template-columns: 300px minmax(0,1fr); }
  .power-lab-layout { grid-template-columns: 290px minmax(0,1fr); }
  .player-epa-workspace { grid-template-columns: 290px minmax(0,1fr); }
  .simulation-layout { grid-template-columns: 340px minmax(0,1fr); }
  .simulation-metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .metric-grid, .lab-results .metric-grid { grid-template-columns: repeat(2,1fr); }
  .methodology-data-flow, .methodology-resource-links { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .methodology-target-grid, .methodology-validation-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .methodology-method-card:not(:last-child)::after { display: none; }
  .saved-lineup-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fantasy-exposure-position-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .survivor-play-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-pathways { grid-template-columns: 1fr 1fr; }
  .nfl-weather-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  body { font-size: 16px; }
  .content-shell { width: min(calc(100% - 26px), var(--max)); }
  .header-inner { min-height: 66px; }
  .brand { font-size: 18px; }
  .menu-toggle { display: inline-flex; }
  .primary-nav { display: none; position: absolute; left: 13px; right: 13px; top: 72px; padding: 10px; background: #0b1421; border: 1px solid var(--line); border-radius: 13px; flex-direction: column; align-items: stretch; }
  .primary-nav.open { display: flex; }
  .nav-link, .nav-menu-button { width: 100%; justify-content: space-between; }
  .nav-dropdown { position: static; margin: 4px 0 8px; box-shadow: none; }
  .home-hero { padding-block: 21px 34px; gap: 35px; }
  .home-hero-rumblegrid-line { display: inline; white-space: normal; }
  .home-copy h1 { font-size: clamp(52px, 16vw, 78px); }
  .page-hero h1 { font-size: clamp(34px,10vw,48px); }
  .page-hero { padding-block: 22px 13px; }
  .page-hero p { font-size: 17px; }
  .feature-grid.two, .feature-grid.three, .feature-grid.four, .split-panel, .account-grid { grid-template-columns: 1fr; }
  .route-panel[data-page="nfl-game-scripts"] .game-script-signals { grid-template-columns: 1fr; }
  .home-pathways { grid-template-columns: 1fr; }
  .home-pathway-heading { min-height: 0; }
  .lab-coach-overview { padding: 22px; }
  .lab-support-links { align-items: flex-start; flex-direction: column; gap: 10px; }
  .route-panel[data-page="nfl-game-scripts"] .page-hero h1 { font-size: clamp(34px,10vw,48px); }
  .game-script-selector { grid-template-columns: minmax(0,1fr); }
  .rumblegrid-heading-row { grid-template-columns: 1fr; gap: 4px; }
  .rumblegrid-weather-badge { width: min(100%,360px); margin: 0 0 18px; }
  .route-panel[data-page="nfl-game-scripts"] .game-script-signals .rumblegrid-weather-badge { width: auto; margin: 0; }
  .game-script-action { align-items: stretch; flex-direction: column; }
  .game-script-action .button { width: 100%; }
  .account-launch-hero { padding-block: 19px 38px; }
  .account-launch-copy h1 { font-size: clamp(34px,10vw,48px); }
  .account-promo-card { align-items: stretch; flex-direction: column; }
  .account-promo-form input { width: 100%; }
  .account-service-grid { grid-template-columns: 1fr; }
  .feature-card { min-height: 190px; }
  .section-block { padding-block: 30px 55px; }
  .survivor-workspace .tabbable > .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .survivor-workspace .tabbable > .nav-tabs > li { flex: none; }
  .survivor-workspace .tabbable > .nav-tabs > li > a { white-space: nowrap; }
  .survivor-page .page-hero h1 { font-size: clamp(34px,10vw,48px); }
  .survivor-workspace.section-block { padding-top: 14px; }
  .survivor-callout-grid, .survivor-play-grid, .survivor-save-grid { grid-template-columns: 1fr; }
  .best-bets-page .page-hero h1 { font-size: clamp(34px,10vw,48px); }
  .best-bets-workspace > .tabbable > .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .best-bets-workspace > .tabbable > .nav-tabs > li { flex: none; }
  .best-bets-workspace > .tabbable > .nav-tabs > li > a { white-space: nowrap; }
  .best-bet-grid { grid-template-columns: 1fr; }
  .best-bets-history-archive .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .best-bets-history-archive .nav-tabs > li { flex: none; }
  .best-bets-history-archive .nav-tabs > li > a { white-space: nowrap; }
  .best-bets-summary > span { min-width: 0; flex: 1 1 30%; }
  .survivor-metric-control { align-items: flex-start; flex-direction: column; gap: 8px; }
  .survivor-season-filters { flex-wrap: wrap; gap: 8px 16px; margin-left: 0; }
  .survivor-team-cell, .survivor-season-table thead .survivor-team-heading { width: 150px; min-width: 150px; }
  .fantasy-picks-toolbar { align-items: stretch; flex-direction: column; }
  .fantasy-picks-toolbar .button { width: 100%; }
  .fantasy-picks-tabs { display: grid; grid-template-columns: 1fr; width: 100%; }
  .fantasy-spotlight-grid { grid-template-columns: 1fr; }
  .fantasy-position-heading { align-items: flex-start; flex-wrap: wrap; }
  .fantasy-position-heading > .text-link { width: auto; margin-left: 0; }
  .nfl-weather-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nfl-weather-source { align-items: stretch; flex-direction: column; }
  .nfl-weather-source .button { width: 100%; }
  .lab-layout, .fantasy-workspace { grid-template-columns: 1fr; }
  .betting-lab-controls { position: static; max-height: none; overflow-y: visible; }
  .betting-lab-results { min-height: 0; padding: 16px; }
  .betting-lab-results > .tabbable > .nav-tabs,
  .betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs { flex-wrap: nowrap; overflow-x: auto; }
  .betting-lab-results > .tabbable > .nav-tabs > li,
  .betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li { flex: none; }
  .betting-lab-results > .tabbable > .nav-tabs > li > a,
  .betting-lab-results > .shiny-html-output > .tabbable > .nav-tabs > li > a { white-space: nowrap; }
  .power-lab-layout { grid-template-columns: 1fr; }
  .power-lab-results { min-height: 0; padding: 16px; }
  .power-lab-results .nav-tabs { overflow-x: auto; }
  .power-lab-results .nav-tabs > li > a { white-space: nowrap; }
  .power-detail-grid { grid-template-columns: 1fr; }
  .power-injury-team-grid { grid-template-columns: 1fr; }
  .player-epa-results > .tabbable > .nav-tabs { overflow-x: auto; }
  .player-epa-results > .tabbable > .nav-tabs > li > a { white-space: nowrap; }
  .player-epa-workspace { grid-template-columns: 1fr; }
  .player-epa-results { min-height: 0; padding: 16px; }
  .player-epa-filter-grid { grid-template-columns: 1fr 1fr; }
  .simulation-layout { grid-template-columns: 1fr; }
  .simulation-controls { position: static; }
  .simulation-results { min-height: 0; padding: 16px; }
  .simulation-fantasy-export { align-items: stretch; flex-direction: column; }
  .simulation-fantasy-export-button { width: 100%; }
  .simulation-results .nav-tabs { overflow-x: auto; }
  .simulation-results .nav-tabs > li > a { white-space: nowrap; }
  .metric-grid, .lab-results .metric-grid { grid-template-columns: 1fr 1fr; }
  .roster-heading { flex-direction: column; }
  .roster-totals { width: 100%; }
  .roster-totals span { flex: 1; min-width: 0; }
  .fantasy-slate-bar { align-items: flex-start; flex-direction: column; }
  .fantasy-forecast-bar { align-items: stretch; flex-direction: column; }
  .fantasy-toolbar-group { align-items: flex-start; }
  .fantasy-data-note { margin-left: 0; }
  .fantasy-lab-page .roster-row { grid-template-columns: 50px minmax(0,1fr) 72px 46px; gap: 8px; }
  .fantasy-roster-view-tabs .shiny-options-group { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 3px; }
  .fantasy-roster-view-tabs .radio-inline span { white-space: nowrap; }
  .fantasy-current-roster, .fantasy-player-browser { padding: 16px; }
  .fantasy-player-browser-heading { flex-direction: column; gap: 10px; }
  .fantasy-player-instructions { font-size: 12px; }
  .saved-lineups-heading, .fantasy-exposure-heading { flex-direction: column; }
  .fantasy-exposure-position-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .saved-lineups-heading-actions { justify-content: flex-start; }
  .fantasy-player-table-wrap { overflow-x: auto; }
  .fantasy-roster-card-row { grid-template-columns: 56px minmax(0,1fr) 72px 78px; }
  .fantasy-roster-slot { grid-column: 1; grid-row: 1; }
  .fantasy-roster-player { grid-column: 2; grid-row: 1; }
  .fantasy-roster-projections { grid-column: 1 / -1; grid-row: 2; }
  .fantasy-lock-button { grid-column: 3; grid-row: 1; }
  .fantasy-remove-button { grid-column: 4; grid-row: 1; }
  .fantasy-roster-card-empty .fantasy-roster-open { grid-column: 2 / -1; grid-row: 1; }
  .saved-lineup-grid { grid-template-columns: 1fr; }
  .methodology-hero { padding-top: 12px; padding-bottom: 0; }
  .methodology-section { padding-top: 24px; padding-bottom: 32px; }
  .methodology-hero + .methodology-section { padding-top: 16px; }
  .methodology-context-section, .methodology-standard-lead, .methodology-founder-transition, .methodology-spectrum, .methodology-data-flow, .methodology-target-grid, .methodology-validation-grid, .methodology-resource-links { grid-template-columns: 1fr; }
  .methodology-method-card, .methodology-validation-grid .methodology-card { min-height: 0; }
  .methodology-integrity-note { display: grid; }
  .methodology-actions .button { width: 100%; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-inner { align-items: flex-start; padding-block: 28px; flex-direction: column; }
  .footer-links { justify-content: flex-start; }
}

@media (max-width: 560px) {
  .nfl-weather-grid { grid-template-columns: 1fr; }
  .player-epa-filter-grid { grid-template-columns: 1fr; }
  .power-injury-team-card .shiny-options-group,
  .power-injury-manual-grid { grid-template-columns: 1fr; }
  .power-injury-top-actions { grid-template-columns: 1fr; }
  .power-injury-top-actions .power-run-button { width: 100%; }
  .power-injury-actions { align-items: stretch; flex-direction: column; }
  .power-injury-actions .power-run-button { width: 100%; }
}

@media (max-width: 440px) {
  .betting-lab-history-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .brand-mark { width: 31px; }
  .account-launch-card, .account-plan-card, .account-service-card { padding: 22px; }
  .auth-form { grid-template-columns: 1fr; }
  .auth-form[data-auth-form="signup"] > label:nth-of-type(3), .auth-submit, .auth-check, .auth-text-button { grid-column: 1; }
  .account-membership-summary, .account-preference-row, .account-promo-form { align-items: stretch; flex-direction: column; }
  .metric-grid, .lab-results .metric-grid { grid-template-columns: 1fr; }
  .board-grid { grid-template-columns: 1fr; }
  .board-best-bets { grid-column: auto; grid-row: auto; }
  .simulation-team-grid, .simulation-field-grid, .simulation-metric-grid { grid-template-columns: 1fr; }
  .simulation-field-grid > :last-child { grid-column: auto; }
  .simulation-matchup { gap: 7px; padding: 12px; }
  .simulation-matchup-scores { gap: 4px; }
  .simulation-matchup-line { gap: 3px; }
  .simulation-matchup-side { font-size: 10px; }
  .simulation-matchup-margin { padding-left: 7px; }
  .simulation-matchup-margin-line { gap: 2px; }
  .simulation-matchup-margin-line > small { font-size: 9px; }
  .roster-totals { flex-wrap: wrap; }
  .fantasy-exposure-position-grid { grid-template-columns: 1fr; }
  .roster-row { grid-template-columns: 62px minmax(0,1fr); padding-block: 8px; }
  .roster-row button { grid-column: 2; justify-self: start; }
}
