:root {
  --navy: #002b5c;
  --blue: #135a99;
  --table-gray: #e3e6e8;
  --paper: #ffffff;
  --ink: #151515;
  --orange: #c75000;
  --focus: #7a2d00;
  --focus-on-dark: #ffdf7e;
  --notice-background: #ffdf7e;
  --notice-ink: #4a2100;
  --line: #6e7780;
  --space-1: 0.4rem;
  --space-2: 0.75rem;
  --space-3: 1.25rem;
}

* { box-sizing: border-box; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body { margin: 0; background: #d4d8dc; color: var(--ink); font-family: Arial, Verdana, sans-serif; line-height: 1.45; }
a { color: #003f7d; text-decoration: underline; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.nav-bar a:focus-visible { outline-color: var(--focus-on-dark); }
.nav-button:focus-visible { outline-color: var(--focus-on-dark); }
.site-shell { width: min(100%, 980px); min-height: 100vh; margin: 0 auto; background: var(--paper); border-inline: 1px solid var(--line); }
.masthead { display: flex; justify-content: space-between; gap: var(--space-2); padding: var(--space-2) var(--space-3); background: var(--navy); color: #fff; }
.site-name { margin: 0; font-size: 1.25rem; font-weight: 700; }
.commissioner-notice { display: grid; gap: 0.15rem; padding: var(--space-2) var(--space-3); border-block: 1px solid #7a2d00; background: var(--notice-background); color: var(--notice-ink); overflow-wrap: anywhere; white-space: pre-wrap; }
.commissioner-notice strong { font-size: 0.9rem; }
.commissioner-notice > span, .commissioner-notice-input { text-transform: uppercase; }
.commissioner-notice-input { display: block; width: min(100%, 65ch); min-height: 5rem; padding: var(--space-2); border: 1px solid var(--line); border-radius: 0; font: inherit; resize: vertical; }
.commissioner-rules-input { display: block; width: min(100%, 65ch); min-height: 10rem; padding: var(--space-2); border: 1px solid var(--line); border-radius: 0; font: inherit; resize: vertical; }
.commissioner-rules-text { margin: 0 0 var(--space-2); overflow-wrap: anywhere; white-space: pre-wrap; }
.nav-bar { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-1) var(--space-3); background: var(--blue); }
.nav-bar a { color: #fff; }
.nav-bar a.active { font-weight: 700; }
.nav-button { margin: 0; padding: 0; border: 0; background: transparent; color: #fff; font: inherit; text-decoration: underline; cursor: pointer; }
.main-content { padding: var(--space-3); max-width: 75ch; }
h1 { margin: 0 0 var(--space-1); font-size: 1.55rem; }
table { width: 100%; border-collapse: collapse; margin: var(--space-3) 0; }
caption { padding: var(--space-1); background: var(--table-gray); font-weight: 700; text-align: left; }
th, td { border: 1px solid var(--line); padding: var(--space-2); text-align: left; }
th { background: var(--table-gray); }
/* Sortable standings headers present the sort control as plain header text; .standings-sort stays out of the generic blue button hover above. */
th > button.standings-sort { all: unset; cursor: pointer; font: inherit; }
/* Mark the active column without changing header widths or showing direction. */
th[aria-sort="ascending"] > button.standings-sort, th[aria-sort="descending"] > button.standings-sort { text-decoration: underline; }
.primary-action { display: inline-block; padding: 0.55rem 0.8rem; background: var(--orange); color: #fff; font: inherit; font-weight: 700; text-decoration: none; border: 1px solid #7d3200; cursor: pointer; }
input, select { max-width: 100%; padding: 0.35rem; border: 1px solid var(--line); border-radius: 0; font: inherit; background: #fff; }
label { display: inline-flex; flex-direction: column; gap: var(--space-1); margin: var(--space-2) var(--space-2) var(--space-2) 0; }
.pool-nav { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-2) 0; }
.pool-nickname form { display: flex; align-items: flex-end; gap: var(--space-2); }
.pool-nickname form label { flex: 1 1 10rem; min-width: 0; margin: 0; }
.pool-nickname form button { flex: 0 0 auto; margin: 0; }
.table-scroll { overflow-x: auto; }
/* Operations: snapshot evidence, not a live health dashboard. Status always includes text. */
.ops-page { min-width: 0; }
.ops-page section { margin-top: 1.75rem; }
.ops-page h2 { margin-bottom: var(--space-1); }
.ops-page h3, .ops-page code { overflow-wrap: anywhere; }
.ops-page small { display: block; margin-top: 0.25rem; color: #47525d; font-size: 0.82rem; font-weight: 400; }
.ops-page .ops-note { color: #47525d; font-size: 0.9rem; }
.ops-badge { display: inline-block; padding: 0.15rem 0.45rem; border: 1px solid currentColor; font-size: 0.82rem; font-weight: 700; line-height: 1.4; }
.ops-badge--good { color: #17603a; background: #edf8f0; }
.ops-badge--attention { color: #754700; background: #fff5d6; }
.ops-badge--bad { color: #9b1c1c; background: #fff2f2; }
.ops-badge--neutral { color: #47525d; background: #f0f2f4; }
.ops-time { display: block; font-variant-numeric: tabular-nums; }
.ops-configuration { padding: 0; list-style: none; }
.ops-configuration li { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-1) var(--space-2); padding: 0.4rem 0; border-bottom: 1px solid #d5dbe0; }
.ops-configuration li > span:first-child { min-width: 9rem; }
.ops-page td, .ops-page th { vertical-align: top; }
.ops-page td { min-width: 9rem; }
.ops-page .table-scroll:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.ops-details { margin: var(--space-3) 0; }
.ops-details > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-2); padding: var(--space-2) 0; border-bottom: 1px solid #d5dbe0; }
.ops-details dt { font-weight: 700; }
.ops-details dd { margin: 0; }
.ops-details dd .ops-time { margin-top: var(--space-1); }
.ops-inspect-controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--space-2); }
.ops-inspect-controls label { margin: 0; flex: 1 1 14rem; }
@media (max-width: 600px) { .ops-details > div { grid-template-columns: minmax(0, 1fr); } }
.table-scroll button { white-space: nowrap; }
.confirmation-terms { border: 1px solid var(--line); background: var(--table-gray); padding: var(--space-2); margin: var(--space-2) 0; }
fieldset { border: 1px solid var(--line); margin: var(--space-2) 0; }
fieldset label { display: flex; flex-direction: row; align-items: center; }
.error-summary { margin: var(--space-2) 0; padding: var(--space-2); border: 1px solid #9b1c1c; background: #fff2f2; color: #551010; }
.error-summary p { margin: var(--space-1) 0 0; }
.state-notice { margin: var(--space-3) 0; padding: var(--space-2); border: 1px solid var(--line); background: var(--table-gray); }
.state-notice h2 { margin: 0 0 var(--space-1); font-size: 1.1rem; }
@media (max-width: 600px) { .masthead { align-items: flex-start; flex-direction: column; } .nav-bar { flex-wrap: wrap; gap: 0.25rem var(--space-2); padding-block: 0.25rem; } .main-content { padding: var(--space-2); } .nav-bar a, .nav-button { display: inline-flex; align-items: center; min-height: 36px; } button:not(.nav-button), .primary-action, .secondary-action { display: inline-flex; align-items: center; min-height: 44px; } .pool-nickname form input { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto; transition: none; } }
/* Compact odds board: two-row game blocks — matchup cell spans both rows, one market per column. */
.odds-board { margin: var(--space-2) 0; }
.odds-board th, .odds-board td { padding: var(--space-1) var(--space-2); }
.odds-matchup { width: 16ch; }
/* The whole current-week matchup name is the details link, without adding a cramped extra control. */
.odds-matchup-link { display: block; color: inherit; }
/* Matchup links read as data first: no underline until hover. */
.matchup-link, .odds-matchup-link { text-decoration: none; color: inherit; }
.matchup-link:hover { text-decoration: underline; }
.matchup-hint { margin: 0 0 var(--space-2); font-size: 0.78rem; color: #57606a; }
/* Box score: the scoreline is the hero; tables share the site's sizing. */
.matchup-box-scoreline { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); margin: var(--space-3) 0 var(--space-2); }
.matchup-box-team { display: flex; align-items: center; gap: var(--space-2); min-width: 0; padding: var(--space-2) 0.75rem; border: 1px solid var(--line); background: #f6f8fa; }
.matchup-box-team img { flex: 0 0 auto; width: 28px; height: 28px; object-fit: contain; }
.matchup-box-team-name { flex: 1 1 auto; font-weight: 700; }
.matchup-box-points { font-size: 1.5rem; }
.matchup-box-state { margin: 0 0 var(--space-2); font-weight: 700; }
.matchup-box-possession { flex: 0 0 auto; }
/* Board-line chips share the odds board's compact visual language. */
.matchup-lines { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); margin: 0 0 var(--space-3); }
.matchup-line { padding: 0.15rem 0.4rem; border: 1px solid var(--line); background: var(--table-gray); font-size: 0.85rem; white-space: nowrap; }
.matchup-box .table-ribbon-section { margin: var(--space-3) 0 var(--space-4, 1.75rem); }
/* Pool exposure reuses the activity day/member ribbon language. */
.matchup-exposure .table-ribbon { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); }
.matchup-exposure .table-ribbon small { font-size: 0.85rem; }
.matchup-exposure .table-ribbon-section { margin: var(--space-3) 0 var(--space-4, 1.75rem); }
.matchup-exposure .activity-day-member-ribbon span { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); }
.odds-matchup-team { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.15; }
.odds-matchup-at { display: block; font-weight: 400; line-height: 1; }
.odds-empty { background: var(--table-gray); }
.odds-option { display: inline-flex; flex-direction: row; align-items: center; gap: 0.35rem; margin: 0; white-space: nowrap; }
.selection-tray-list { list-style: none; margin: var(--space-1) 0; padding: 0; }
.selection-tray-list li { display: flex; align-items: center; padding: var(--space-1) 0; border-bottom: 1px solid var(--line); }
.selection-tray-list li:last-child { border-bottom: 0; }
.selection-tray-amount { display: inline-flex; flex: 0 0 auto; align-items: center; }
.main-content:has(.odds-board) { max-width: none; }
.odds-board .odds-game-top, .odds-board .odds-game-bottom { height: 2.4rem; }
.odds-board .odds-cell, .odds-board .odds-matchup { height: 2.4rem; vertical-align: middle; }
.odds-board .odds-game-top > .odds-start, .odds-board .odds-game-top > .odds-matchup { height: 4.8rem; }
.site-shell:has(.odds-board) { width: 100%; border-inline: 0; }
.odds-board .odds-game-top > td, .odds-board .odds-game-top > th { border-top: 2px solid var(--ink); }
.odds-start { white-space: nowrap; color: #3b4046; }
/* Bet slip pinned above the scrolling odds layer; its own compositor surface keeps mobile hit testing aligned with what is visible. */
.selection-tray { position: sticky; bottom: 0; z-index: 2; isolation: isolate; transform: translateZ(0); touch-action: manipulation; pointer-events: auto; background: var(--paper); border-top: 2px solid var(--ink); margin: var(--space-2) 0 0; padding: var(--space-1) 0; }
.selection-tray h2 { margin: 0; font-size: 1rem; }
.pool-balance { margin: 0.15rem 0; font-size: 0.8rem; white-space: nowrap; }
.selection-tray-list li { flex-wrap: nowrap; align-items: center; gap: var(--space-2); }
.tray-item-label { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; font-size: 0.85rem; }
.selection-tray-amount input { width: 4.5rem; text-align: right; }
.selection-tray-remove { padding: 0.2rem 0; border: 0; background: transparent; color: #003f7d; font-weight: 400; text-decoration: underline; }
.selection-tray-remove:hover:not(:disabled) { background: transparent; color: #002b5c; }
.odds-option.locked { color: #6e7780; }
/* Secondary buttons: solid blue to contrast the orange primary actions. */
button { padding: 0.55rem 0.8rem; background: var(--blue); color: #fff; font: inherit; font-weight: 700; border: 1px solid #003f7d; cursor: pointer; }
button:disabled { opacity: 0.55; cursor: not-allowed; }
button:not(.primary-action):not(.nav-button):not(.selection-tray-remove):not(.standings-sort):hover:not(:disabled) { background: #2f5f9e; }
.tray-actions { display: flex; gap: var(--space-2); margin-top: var(--space-2); flex-wrap: wrap; align-items: stretch; }
.tray-actions button { min-height: 2.4rem; }
.tray-actions button, .tray-actions .primary-action { display: inline-flex; align-items: center; margin: 0; padding: 0.55rem 0.8rem; font: inherit; font-weight: 700; line-height: 1.45; min-height: 2.4rem; border-width: 1px; border-style: solid; white-space: nowrap; }
.pool-context { margin: 0 0 var(--space-1); color: #3b4046; font-weight: 700; }
.odds-board-filters { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-2); margin: 0 0 var(--space-1); }
.odds-board-filters label { margin: 0; }
.join-pool-form > label { display: block; margin: 0 0 var(--space-1); }
.join-pool-controls { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.join-pool-form input { width: 16rem; }
.join-pool-controls button { margin: 0; }
.main-content:has(.my-wagers-page) { max-width: none; }
.my-wagers-page table { min-width: 58rem; }
.teaser-risk-actions, .parlay-risk-actions { display: flex; align-items: flex-end; justify-content: flex-start; gap: var(--space-2); flex-wrap: wrap; margin-top: var(--space-2); }
.teaser-risk-actions label, .teaser-review-action, .parlay-risk-actions label, .parlay-review-action { margin: 0; }
.parlay-advisory { margin: var(--space-2) 0 0; padding: var(--space-2); border: 1px solid var(--line); background: #edf1f4; }
.bet-slip-error { min-height: 1.45rem; margin: var(--space-1) 0 0; color: #9b1c1c; font-weight: 700; }
.main-content:has(.standings-page) { max-width: none; }
/* Mobile standings stay more spacious than the Activity / My Bets tables. */
@media (max-width: 600px) {
  .standings-page table { font-size: 0.875rem; }
  .standings-page th, .standings-page td { padding: 0.35rem; }
  /* Four weekly metrics use the content width instead of retaining the all-weeks scroll layout. */
  .standings-weekly-table { width: 100%; table-layout: fixed; }
  .standings-weekly-table th, .standings-weekly-table td { padding-inline: 0.25rem; }
  .standings-weekly-table th:nth-child(1), .standings-weekly-table td:nth-child(1) { width: 11%; }
  .standings-weekly-table th:nth-child(2), .standings-weekly-table td:nth-child(2) { width: 39%; }
  .standings-weekly-table th:nth-child(2), .standings-weekly-table td:nth-child(2) { overflow-wrap: anywhere; }
  .standings-weekly-table th:nth-child(3), .standings-weekly-table td:nth-child(3), .standings-weekly-table th:nth-child(4), .standings-weekly-table td:nth-child(4) { width: 25%; }
  .standings-weekly-table th:nth-child(3), .standings-weekly-table th:nth-child(4) { text-align: right; }
  .standings-weekly-table td:nth-child(3), .standings-weekly-table td:nth-child(4) { white-space: normal; overflow-wrap: anywhere; text-align: right; font-size: clamp(0.68rem, 3vw, 0.875rem); font-variant-numeric: tabular-nums; letter-spacing: -0.025em; }
}
.corrections-page td { overflow-wrap: anywhere; vertical-align: top; }
.corrections-page .activity-leg-push { color: var(--ink); }
.correction-wager-meta, .correction-wager-id, .correction-wager-leg > small { display: block; }
.correction-wager-summary { min-width: 12rem; }
.correction-wager-leg + .correction-wager-leg { margin-top: 0.35rem; }
.correction-wager-id { margin-top: 0.35rem; }
@media (max-width: 600px) { .corrections-page table { font-size: 0.875rem; } .corrections-page th, .corrections-page td { padding: 0.35rem; } .corrections-page .table-scroll button { font-size: inherit; padding: 0.35rem; white-space: normal; } }
.admin-member-email { white-space: nowrap; }
.admin-members-table .admin-member-action { max-width: 7.5rem; min-height: 2.25rem; padding: 0.35rem 0.5rem; white-space: normal; line-height: 1.2; }
@media (max-width: 600px) { .admin-members-table { font-size: 0.875rem; } .admin-members-table th, .admin-members-table td { padding: 0.35rem; } .admin-members-table .admin-member-action { min-height: 44px; } }
.secondary-action { display: inline-block; padding: 0.55rem 0.8rem; background: var(--blue); color: #fff; font: inherit; font-weight: 700; text-decoration: none; border: 1px solid #003f7d; }
.share-order-form { display: flex; align-items: flex-end; gap: var(--space-2); flex-wrap: wrap; }
.share-order-form label { justify-content: flex-end; margin: 0; }
.share-order-form input, .share-order-form select, .share-order-form button { box-sizing: border-box; height: 2.5rem; }
.share-order-form button { margin: 0; }
/* Settings use the same aligned control/action pattern as order administration. */
.pool-settings { display: grid; gap: var(--space-3); }
.pool-settings > h1, .pool-settings > .error-summary, .pool-settings-return { margin: 0; }
.pool-settings-section { display: grid; gap: var(--space-2); padding: var(--space-2); border: 1px solid var(--line); background: #f6f8fa; }
.pool-settings-section h2 { margin: 0; font-size: 1.1rem; }
.pool-settings .share-order-form { margin: 0; }
.pool-settings-control { flex: 1 1 16rem; min-width: 0; }
.pool-settings-notice-controls { align-items: flex-end; }
.pool-settings-notice-field { flex: 1 1 min(100%, 65ch); min-width: 0; display: grid; gap: var(--space-1); }
.pool-settings-help, .pool-settings-signups p { margin: 0; }
.pool-settings-notice-field .commissioner-notice-input { width: 100%; }
.pool-settings-help { color: #3b4046; }
.pool-settings-signups { align-items: center; }
.pool-settings-signups p { flex: 1 1 16rem; }
@media (max-width: 600px) { .pool-settings-section { padding: var(--space-2); } .pool-settings-control, .pool-settings-notice-field { flex-basis: 100%; } .pool-settings .share-order-form input, .pool-settings .share-order-form button { height: 44px; min-height: 44px; } }
.confirmation-actions { display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; }
.confirmation-actions button { margin: 0; }
.reversal-form { display: flex; align-items: flex-end; gap: var(--space-2); flex-wrap: wrap; }
.reversal-form label { justify-content: flex-end; margin: 0; }
.reversal-form input, .reversal-form button { box-sizing: border-box; height: 2.5rem; }
.reversal-actions { display: flex; gap: var(--space-2); }
.reversal-actions button { margin: 0; }
/* Activity groups each member's week under one ribbon and compact wager table. */
.main-content:has(.activity-page), .main-content:has(.member-profile-page) { max-width: none; }
.activity-page > section > label, .member-profile-page > section > label { margin: 0 0 var(--space-1); }
.table-ribbon-section, .activity-member-section, .activity-day-section { margin: var(--space-2) 0 var(--space-3); }
.table-ribbon, .activity-member-ribbon, .activity-day-ribbon { margin: 0; padding: var(--space-1) var(--space-2); background: var(--navy); color: #fff; font-size: 1rem; }
.table-ribbon-section > table, .table-ribbon-section > .table-scroll > table { margin: 0 0 var(--space-2); }
.activity-member-ribbon small, .activity-day-ribbon small { display: block; font-size: 0.85rem; }
.activity-member-ribbon a { color: #fff; }
.activity-member-ribbon a:focus-visible { outline-color: var(--focus-on-dark); }
.profile-record-note { margin: 0 0 var(--space-2); font-size: 0.85rem; }
.activity-member-section .activity-table, .activity-day-section .activity-table { margin: 0 0 var(--space-2); table-layout: fixed; }
.activity-start-column { width: 7rem; }
.activity-wager-column { width: 52%; }
.activity-staked-column { width: 16%; }
.activity-payout-column { width: 12%; }
.activity-pnl-column { width: 12%; }
.my-wagers-page .activity-staked-column { width: 13%; }
.my-wagers-page .activity-pnl-column { width: 11%; }
.activity-table th, .activity-table td { padding: 0.35rem 0.5rem; vertical-align: top; }
.activity-table .activity-wager-leg-row > td { border-top: 0; padding-top: 0; }
.activity-wager-leg-row-leading > td:not([rowspan]) { border-bottom: 0; padding-bottom: 0; }
.wager-start-time { display: block; white-space: nowrap; }
.wager-date-row, .wager-start-time-mobile { display: none; }
.activity-table .activity-leg-loss, .activity-table .activity-leg-win, .activity-table .activity-leg-push, .activity-table .activity-leg-neutral { display: block; white-space: normal; overflow-wrap: anywhere; }
.my-wagers-page .activity-leg-loss, .my-wagers-page .activity-leg-win, .my-wagers-page .activity-leg-push, .my-wagers-page .activity-leg-neutral { white-space: nowrap; }
.activity-wager-lines > span { display: block; white-space: nowrap; }
.activity-member-section .activity-wager-lines > span, .activity-day-section .activity-wager-lines > span { white-space: normal; overflow-wrap: anywhere; }
.activity-wager-lines > span + span { margin-top: 0.15rem; }
.activity-performance-won { color: #137333; }
.activity-performance-lost { color: #b42318; }
.activity-performance-refunded { color: #1a73e8; }
.activity-filters { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
/* Filter labels run inline on one shared baseline so the checkbox lines up with the week select. */
.activity-filters label { flex-direction: row; align-items: center; gap: var(--space-1); margin: 0; }
.activity-group-toggle { min-height: 44px; cursor: pointer; }
.activity-group-toggle input { width: 1rem; height: 1rem; margin: 0; padding: 0; }
.activity-filters select { height: 2.5rem; padding-block: 0; }
.activity-day-member-ribbon > th { padding: 0 0.25rem; background: var(--blue); color: #fff; text-align: left; line-height: 1.1; }
.activity-day-member-ribbon > th > span { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-2); }
.activity-day-member-ribbon a { color: #fff; }
.activity-day-member-ribbon a:focus-visible { outline-color: var(--focus-on-dark); }
.activity-day-member-ribbon small { font-size: 0.85rem; white-space: nowrap; }
/* Order-history grouping toggle shares the touch-target sizing of the activity filter toggles. */
.order-group-toggle { min-height: 44px; cursor: pointer; display: flex; flex-direction: row; align-items: center; gap: var(--space-1); margin: 0; }
.order-group-toggle input { width: 1rem; height: 1rem; margin: 0; padding: 0; }
.activity-leg-loss { color: #b42318; }
.activity-leg-win { color: #137333; }
.activity-leg-push { color: #1a73e8; }
.activity-leg-neutral { color: var(--ink); }
.activity-staked { display: flex; justify-content: space-between; align-items: baseline; gap: 0.3rem; }
.activity-staked-odds { font-size: 0.72em; }
@media (max-width: 600px) { .activity-table { min-width: 26.25rem; font-size: 0.78rem; } .my-wagers-page .activity-table { min-width: 27.25rem; } .activity-start-column { width: 3rem; } .activity-table th, .activity-table td { padding: 0.2rem 0.25rem; } .wager-date-row { display: table-row; } .activity-table thead th, .wager-date-row th { font-size: 0.78rem; } .wager-date-row th, .activity-day-member-ribbon > th { padding: 0 0.25rem; background: var(--blue); color: #fff; line-height: 1.1; text-size-adjust: none; -webkit-text-size-adjust: none; } .wager-start-time { display: none; } .wager-start-time-mobile { display: block; white-space: nowrap; } .activity-wager-column { width: 44%; } .activity-staked-column { width: 12%; } .my-wagers-page .activity-staked-column { width: 13%; } .my-wagers-page .activity-pnl-column { width: 14%; } .my-wagers-page .activity-payout-column { width: 13%; } .my-wagers-page .activity-wager-column { overflow-wrap: anywhere; } .my-wagers-page .activity-leg-loss, .my-wagers-page .activity-leg-win, .my-wagers-page .activity-leg-push, .my-wagers-page .activity-leg-neutral { white-space: normal; } .activity-pnl-column { width: 14%; } }
@media (max-width: 600px) { .tray-actions button, .tray-actions .primary-action { min-height: 44px; } }
@media (max-width: 600px) { .selection-tray { margin-top: var(--space-1); padding-block: 0.2rem; } .selection-tray h2 { font-size: 0.9rem; } .pool-balance { font-size: 0.7rem; overflow-x: auto; } .selection-tray-list li { display: grid; grid-template-columns: minmax(0, 1fr) 4.5rem auto; grid-template-areas: "selection risk remove"; column-gap: var(--space-1); align-items: center; padding-block: 0.2rem; } .tray-item-label { grid-area: selection; } .selection-tray-amount { grid-area: risk; width: 4.5rem; } .selection-tray-amount input { width: 100%; } .selection-tray-remove { grid-area: remove; align-self: center; min-height: 44px; } }
/* Mobile Games board prioritizes compact tappable prices over repeated team names. */
/* ESPN matchup facts use the odds board's compact, information-first visual language. */
.matchup-details { display: grid; gap: var(--space-1); }
/* Grid children must shrink so wide tables scroll inside .table-scroll at the page's width, exactly like Activity. */
.matchup-details > * { min-width: 0; }
.matchup-details-header { margin-bottom: var(--space-2); }
.matchup-details-header > p { margin: 0; }
.matchup-details-header h1 { margin-bottom: var(--space-1); }
/* Team panels share the odds board's card + blue-ribbon language; tables share the activity table's sizing. */
.matchup-team-records, .matchup-recent-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); margin: 0 0 var(--space-2); }
.matchup-team-record, .matchup-recent-team { min-width: 0; border: 1px solid var(--line); background: #f6f8fa; }
.matchup-team-ribbon { display: flex; justify-content: space-between; align-items: center; gap: var(--space-2); margin: 0; padding: 0.25rem 0.5rem; background: var(--blue); color: #fff; font-size: 0.875rem; line-height: 1.1; }
.matchup-team-ribbon img { flex: 0 0 auto; width: 24px; height: 24px; object-fit: contain; }
.matchup-team-record p, .matchup-recent-team ul, .matchup-recent-team p { margin: 0; padding: var(--space-1) 0.5rem; }
.matchup-recent-team ul { padding: var(--space-1) 0.5rem var(--space-2); list-style: none; }
.matchup-recent-team li + li { border-top: 1px solid var(--line); }
.matchup-recent-team li { padding-block: 0.25rem; }
.matchup-stats { margin: 0 0 var(--space-2); }
/* Stats tables are activity tables: identical min-widths, font sizes, and cell paddings. */
.matchup-details-back { margin: var(--space-3) 0 0; }
.odds-kickoff-row { display: none; }
@media (max-width: 600px) {
  .odds-board { min-width: 0; table-layout: fixed; font-size: 0.8rem; }
  .odds-board th, .odds-board td { padding: 0.25rem 0.15rem; }
  .odds-board thead th:first-child, .odds-board .odds-start { display: none; }
  .odds-board thead th { overflow-wrap: anywhere; }
  .odds-board thead th:nth-child(2) { width: 5.5rem; }
  .odds-board thead th:nth-child(3), .odds-board thead th:nth-child(4), .odds-board thead th:nth-child(5) { width: 4.25rem; }
  .odds-board .odds-matchup { width: auto; padding-inline: var(--space-1); }
  .odds-kickoff-row { display: table-row; }
  .odds-kickoff-heading { display: flex; justify-content: space-between; gap: var(--space-1); }
  /* Match My Bets' thin date ribbons without inheriting ordinary odds-cell padding. */
  .odds-board .odds-kickoff-row th { padding: 0 0.25rem; background: var(--blue); color: #fff; font-size: 0.78rem; line-height: 1.1; text-size-adjust: none; -webkit-text-size-adjust: none; }
  .odds-board .odds-cell { padding: 0.25rem 0.1rem; text-align: center; }
  .odds-board .odds-game-top, .odds-board .odds-game-bottom { height: 2.1rem; }
  .odds-board .odds-cell, .odds-board .odds-matchup { height: 2.1rem; }
  .odds-board .odds-game-top > .odds-matchup { height: 4.2rem; }
  .odds-option { width: 100%; justify-content: center; gap: 0.2rem; font-size: 0.78rem; }
  .odds-option input { flex: 0 0 auto; margin: 0; }
  .odds-option:not(.odds-option-total) .odds-option-name { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
  .odds-option-total .odds-option-name { font-weight: 700; }
  .matchup-details { gap: var(--space-2); }
  .matchup-team-records, .matchup-recent-results, .matchup-box-scoreline { grid-template-columns: 1fr; }  .matchup-team-record, .matchup-recent-results > section { padding: var(--space-2); }
  .matchup-details .table-scroll { margin-inline: calc(-1 * var(--space-2)); }
}
/* Message board threads stay compact while preserving clear parent/reply hierarchy. */
.nav-new { display: inline-block; margin-left: 0.25rem; padding: 0.05rem 0.28rem; background: #ffdf7e; color: #4a2100; font-size: 0.78rem; font-weight: 700; text-decoration: none; }
.message-board-page { max-width: 65ch; }
.message-board-post-form, .message-board-reply-form { display: grid; gap: var(--space-1); margin: var(--space-2) 0; }
.message-board-page textarea { width: 100%; min-height: 7rem; resize: vertical; padding: var(--space-2); border: 1px solid var(--line); border-radius: 0; font: inherit; }
.message-board-post-form button, .message-board-reply-form button { justify-self: start; }
.message-board-threads { display: grid; gap: var(--space-2); margin: var(--space-3) 0; }
.message-board-thread { padding: var(--space-2); border: 1px solid var(--line); background: var(--paper); }
.message-board-thread-alt { background: #edf1f4; }
.message-board-thread > header p, .message-board-reply > header p { margin: 0; }
.message-board-announcement-icon { display: inline-flex; width: 1.25em; height: 1.25em; margin-left: 0.25rem; vertical-align: -0.22em; }
.message-board-announcement-icon-image { display: block; width: 100%; height: 100%; object-fit: contain; }
.message-board-announcement-option { display: inline-flex; flex-direction: row; align-items: flex-start; justify-self: start; gap: var(--space-1); margin: var(--space-1) 0 var(--space-2); font-size: 0.85rem; line-height: 1.35; }
.message-board-announcement-option input { flex: 0 0 auto; width: 1rem; height: 1rem; margin: 0.08rem 0 0; padding: 0; }
.message-board-thread time, .message-board-reply time { color: #3b4046; font-size: 0.9rem; }
.message-board-text { overflow-wrap: anywhere; white-space: pre-wrap; }
.message-board-reply-toggle { margin-top: var(--space-1); }
.message-board-replies { display: grid; gap: var(--space-1); margin: var(--space-2) 0 0 var(--space-2); padding-left: var(--space-2); border-left: 3px solid var(--line); }
.message-board-reply { padding-top: var(--space-1); }
@media (max-width: 600px) { .message-board-page textarea { min-height: 8rem; } .message-board-page button { min-height: 44px; } .message-board-replies { margin-left: var(--space-1); padding-left: var(--space-1); } }
