/* ==========================================================================
   1048 Gate — "Classic Reference" theme
   Old-school sports-reference look: off-white page, dark text, Helvetica/Arial,
   one dark accent for the header bar, plain blue links, dense bordered tables.
   Loaded LAST so it overrides style.css / theme.css / visual-system.css.
   Pure presentation: no selectors here are used as JS hooks.
   ========================================================================== */

:root,
html[data-theme="light"],
html[data-theme="dark"]{
  color-scheme:light;
  --accent:#243b53;
  --accent-2:#1b2d40;
  --link:#0645ad;
  --page:#f7f4ef;
  --text:#111;
  --btn-bg:#f2f2f2;
  --btn-hover:#e2e2e2;
  --row-hover:#fffbe0;
  --bar-track:#e6e6e6;
  --link-visited:#551a8b;
  --link-hover:#c00;
  --tab-active-ink:#243b53;
  --accent-rule:#243b53;
  --bar-fill:#243b53;
  --table-bg:var(--page);
  --backdrop:rgba(0,0,0,.55);
  --muted-text:#555;
  --rule:#cfcfcf;
  --rule-dark:#999;
  --head-bg:#e4e4e4;
  --zebra:#f4f4f4;
  --win:#1a6b1a;
  --loss:#a61b1b;
  /* remap the legacy tokens so untouched rules inherit the new palette */
  --bg:var(--page) !important;
  --panel:var(--page) !important;
  --panel2:var(--zebra) !important;
  --panel3:var(--head-bg) !important;
  --line:var(--rule) !important;
  --cream:var(--text) !important;
  --muted:var(--muted-text) !important;
  --amber:#243b53 !important;
  --turf:#243b53 !important;
  --red:#a61b1b !important;
  --shadow:none !important;
  --shadow-sm:none !important;
  --shadow-lg:none !important;
  --surface-glow:var(--page) !important;
  --sticky-offset:92px;
}

/* ---- 1. Global flattening: no gradients, glass, glow, motion, rounding ---- */
html body *,
html body *::before,
html body *::after{
  box-shadow:none !important;
  text-shadow:none !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  animation:none !important;
  transition:none !important;
  border-radius:0 !important;
  background-image:none !important;
  letter-spacing:normal !important;
  text-transform:none !important;
}
html body :where(*){ background-color:transparent !important; }
html body *:not(svg):not(svg *){ border-color:var(--rule) !important; }

html,body{background:var(--page) !important;}
body{
  color:var(--text) !important;
  font:14px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif !important;
}
body *:not(svg):not(svg *){
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif !important;
  color:var(--text);
}
html body *{color:var(--text) !important;}

/* ---- 2. Type scale: small, compact, normal case ---- */
h1,h2,h3,h4,h5{font-weight:700 !important;line-height:1.2 !important;}
h1{font-size:22px !important;}
h2{font-size:18px !important;}
h3{font-size:15px !important;}
h4{font-size:13px !important;}
main h2{margin:0 !important;}
.section-title{
  display:flex !important;flex-wrap:wrap;align-items:baseline;gap:4px 12px !important;
  margin:22px 0 8px !important;padding:0 0 3px !important;
  border-bottom:2px solid var(--accent-rule) !important;
}
.section-title h2,.home-band-head h2,.home-section-head h2,.history-section-head h2{font-size:18px !important;}
.section-kicker,.eyebrow,.home-band-head span,.home-section-head span,.history-eyebrow,
.transaction-eyebrow,.weekly-kicker,.champion-kicker,.hero-season-kicker{
  font-size:11px !important;font-weight:700 !important;color:var(--muted-text) !important;display:block;
}
.see-all,.section-status,.mono,.label,.tag,.mgr,small,.story-meta,.story-source,
.member-card-footer,.rule-note,.member-help,.week-card-owner,.draft-overall,
.futures-method-note,.title-odds-note,.edition-meta,.staff-meta,.alumni-note,
.section-status-bar,.week-standings-note,.bracket-note,.transaction-ledger-meta,
.champ-banner-owner,.champ-banner-record,.champion-owner,.story-body{
  color:var(--muted-text) !important;
}
.see-all,.section-status,.section-status-bar{font-size:12px !important;}

/* ---- 3. Links & buttons ---- */
html body a,html body a *{color:var(--link) !important;text-decoration:underline;}
html body a:visited{color:var(--link-visited) !important;}
html body a:hover{color:var(--link-hover) !important;}
.btn,.edition-action,.transaction-reset,.home-expand-btn,.mini-link,.toggle-sources,
.home-archive-links button,.orientation-link,.archive-path-card button,.draft-controls button,
.player-controls button,button.orientation-link{
  display:inline-block !important;min-height:0 !important;
  padding:3px 9px !important;
  font:12px/1.4 Helvetica,Arial,sans-serif !important;font-weight:400 !important;
  background:var(--btn-bg) !important;color:var(--text) !important;
  border:1px solid var(--rule-dark) !important;
  cursor:pointer;
}
.btn:hover,.edition-action:hover{background:var(--btn-hover) !important;}
.btn-primary,.edition-action-primary{background:var(--accent) !important;border-color:var(--accent) !important;color:#fff !important;}
.btn-primary *{color:#fff !important;}
/* Primary hover stays navy so the white label keeps its contrast (the generic .btn:hover gray made it unreadable). */
.btn-primary:hover,.edition-action-primary:hover{background:var(--accent-2) !important;border-color:var(--accent-2) !important;}
input,select,textarea{
  font:13px Helvetica,Arial,sans-serif !important;color:var(--text) !important;
  background:var(--page) !important;border:1px solid var(--rule-dark) !important;
  padding:3px 6px !important;min-height:0 !important;height:auto !important;
}
:focus-visible{outline:2px solid var(--link) !important;outline-offset:1px !important;}
.skip-link{background:var(--page) !important;color:var(--link) !important;border:1px solid var(--link) !important;}
.skip-link:focus{transform:none !important;}

/* ---- 4. Header bar + text nav ---- */
.topbar{
  background:var(--accent) !important;
  border-bottom:0 !important;
}
.topbar *{color:#fff !important;}
.topbar-inner{max-width:1180px !important;padding:6px 16px !important;gap:10px !important;min-height:0 !important;}
.brand{gap:8px !important;}
.brand-logo{width:30px !important;height:30px !important;background:#fff !important;}
.brand-text .name{font-size:17px !important;font-weight:700 !important;}
.brand-text .tag{font-size:11px !important;color:#d5dde6 !important;}
.week-chip{background:transparent !important;border:0 !important;padding:0 !important;gap:6px !important;}
.week-chip .digit{background:#fff !important;color:var(--accent) !important;font:700 12px Helvetica,Arial,sans-serif !important;padding:1px 6px !important;}
.week-chip .digit *{color:var(--accent) !important;}
.week-chip .label{color:#d5dde6 !important;font-size:12px !important;}
.theme-toggle{
  display:grid !important;place-items:center;flex:0 0 26px !important;
  width:26px !important;height:26px !important;padding:0 !important;
  background:transparent !important;border:1px solid #9fb0c2 !important;color:#fff !important;cursor:pointer;
}
.theme-toggle:hover{background:var(--accent-2) !important;}
.theme-toggle .theme-icon{width:15px !important;height:15px !important;}
.auth-control-slot button,.auth-control button,.topbar .btn{
  background:transparent !important;border:1px solid #9fb0c2 !important;color:#fff !important;
  padding:2px 8px !important;font-size:12px !important;
}
nav.tabs{
  max-width:none !important;margin:0 !important;padding:0 16px !important;
  background:var(--accent-2) !important;gap:0 !important;
  border-top:1px solid #3d5773 !important;
}
nav.tabs button{
  font:700 13px Helvetica,Arial,sans-serif !important;color:#fff !important;
  padding:6px 12px !important;border:0 !important;border-right:1px solid #3d5773 !important;
  background:transparent !important;text-decoration:none;
}
nav.tabs button:hover{text-decoration:underline;}
nav.tabs button.active,nav.tabs button[aria-current="page"]{
  background:var(--page) !important;color:var(--tab-active-ink) !important;
}
@media (min-width:1181px){ nav.tabs{padding-left:calc((100% - 1180px)/2 + 16px) !important;} }

/* ---- 5. Page frame ---- */
main{max-width:1180px !important;padding:12px 16px 40px !important;}
.view.active{animation:none !important;}
.panel,.home-section,.history-content-panel,.history-tab-panel,.season-archive-panel,
.draft-archive-panel,.player-archive-panel,.matchup-panel,.archive-overview-panel,
.member-card,.league-pulse-card,.weekly-feature-card,.futures-section,.title-odds-card,
.title-odds-panel,.trophy-card,.champ-banner,.champion-entry,.shame-history-card,.shame,
.story-item,.career-box,.manager-rival-card,.manager-game-card,.manager-draft-pick,
.archive-season-card,.archive-path-card,.rundown-block,.transaction-summary-card,
.transaction-day,.playoff-seed-card,.bracket-matchup,.poll-card,.accordion-item,
.orientation-panel,.home-snapshot,.commissioner-board,.home-office,.weekly-feature-section,
.league-pulse,.banner-wall-section,.score-leaderboard,.draft-recap-pick,.intel-power,
.transaction-workbench,.trade-board-form,.playoff-toolbar,.h2h-builder,.season-hero,
.alumni-card,.keepers-subsection .rule-grid,.edition-content,.week-card,.futures-row,
.content-member-card,.archive-explorer-intro,.history-intro,.transaction-guide,.trade-intro{
  background:var(--page) !important;
  border:1px solid var(--rule) !important;
}
.panel,.home-section,.history-content-panel,.history-tab-panel{padding:10px 12px !important;margin-bottom:12px !important;}
.member-card,.league-pulse-card,.trophy-card,.champ-banner,.story-item,.career-box,
.manager-rival-card,.manager-game-card,.archive-season-card,.archive-path-card,
.playoff-seed-card,.title-odds-card,.transaction-summary-card,.week-card{padding:8px 10px !important;}
/* bands / wrappers should not look like cards */
.home-band,.history-shell,.history-tab-panels{background:transparent !important;border:0 !important;padding:0 !important;margin:0 0 14px !important;}
.home-band-head,.home-section-head,.history-section-head,.archive-overview-head,.trophy-room-head,
.shame-history-head,.score-leaderboard-head,.league-pulse-head,.transaction-results-head,.drawer-header,
.trade-board-header,.archive-timeline-head,.playoff-bracket-head{
  display:flex !important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px !important;
  padding:0 0 3px !important;margin:0 0 8px !important;
  border-bottom:2px solid var(--accent-rule) !important;background:transparent !important;
}
.home-band-head{margin-top:18px !important;}
.score-leaderboard-head{border-bottom-width:1px !important;background:var(--head-bg) !important;padding:3px 6px !important;margin:0 !important;}

/* ---- 6. Home hero → plain title block ---- */
.hero{
  display:block !important;padding:0 0 8px !important;margin:0 0 6px !important;
  background:var(--page) !important;border:0 !important;border-bottom:1px solid var(--rule) !important;
  min-height:0 !important;
}
.hero-copy{padding:0 !important;}
.hero h1{font-size:24px !important;line-height:1.15 !important;margin:2px 0 4px !important;}
.hero h1 br{display:none;}
.hero h1 span{color:var(--text) !important;margin-left:.3em;}
.hero-tagline{font:italic 13px Georgia,"Times New Roman",serif !important;color:var(--muted-text) !important;margin:0 0 4px !important;}
.hero p{margin:0 0 6px !important;max-width:none !important;font-size:14px !important;}
.hero-logo{display:none !important;}
.hero-buttons{gap:6px !important;margin-top:4px !important;}
.hero-season-card{
  display:flex !important;flex-wrap:wrap;align-items:baseline;gap:4px 14px !important;
  padding:5px 8px !important;margin-top:8px !important;
  background:var(--zebra) !important;border:1px solid var(--rule) !important;min-height:0 !important;
}
.hero-season-year,.hero-season-edition,.hero-season-phase{font:700 13px Helvetica,Arial,sans-serif !important;}
.hero-meta-grid{display:flex !important;flex-wrap:wrap;gap:4px 14px !important;margin:0 !important;padding:0 !important;border:0 !important;}
.hero-meta-grid div{display:flex !important;gap:4px;align-items:baseline;padding:0 !important;border:0 !important;background:transparent !important;}
.hero-meta-grid strong{font-size:13px !important;}
.hero-meta-grid span{font-size:12px !important;color:var(--muted-text) !important;}

/* big display numerals → normal weight text */
.value,.champ-banner-year,.champion-year,.season-hero-year,.hero-season-year,.archive-overview-metric strong,
.h2h-score strong,.score-performance,.shame-history-year,.futures-odds,.career-box .value,
.week-game-side b,.manager-rival-vs,.season-hero-score,.playoff-year-badge{
  font-family:Helvetica,Arial,sans-serif !important;font-weight:700 !important;
  font-size:15px !important;line-height:1.25 !important;
}
.champion-trophy,.trophy,.shame-history-icon{font-size:16px !important;}

/* ---- 7. Tables: dense, bordered, gray head, zebra ---- */
table{
  border-collapse:collapse !important;border-spacing:0 !important;
  width:100%;font-size:13px !important;line-height:1.3 !important;
  background:var(--table-bg) !important;border:1px solid var(--rule-dark) !important;
  border-top:2px solid var(--accent-rule) !important;
}
th,td{
  padding:3px 6px !important;border:1px solid var(--rule) !important;
  vertical-align:middle;height:auto !important;
}
thead th,th{
  background:var(--head-bg) !important;font-weight:700 !important;font-size:12px !important;
  color:var(--text) !important;text-align:left;white-space:nowrap;
  position:static !important;
}
tbody tr:nth-child(even) td,tbody tr:nth-child(even) th{background:var(--zebra) !important;}
tbody tr:hover td{background:var(--row-hover) !important;}
td.num,th.num,td[data-align="right"]{text-align:right;}
.week-standings-wrap,.season-table-wrap,.draft-table-wrap,.player-table-wrap,.rivalry-wrap,
.manager-weapons-wrap,.bracket-scroll{
  overflow-x:auto !important;-webkit-overflow-scrolling:touch;
  border:0 !important;padding:0 !important;background:transparent !important;max-height:none;
}
.week-standings-scroll-hint{font-size:11px !important;color:var(--muted-text) !important;}
.is-playoff-line td{border-bottom:2px solid var(--accent-rule) !important;}
.rivalry-matrix td,.rivalry-matrix th{text-align:center;padding:2px 4px !important;}
.rivalry-btn{padding:0 !important;border:0 !important;background:transparent !important;color:var(--link) !important;text-decoration:underline;font-size:12px !important;}
.rivalry-self{background:var(--head-bg) !important;}

/* Table-like lists built from divs: rows with hairlines + zebra */
.rule-grid,.snapshot-list,.transaction-ledger,.futures-grid,.intel-power-list,.draft-recap-list,
.title-odds-grid,.score-leaderboard,.content-season-table,.keeper-list,.playoff-seed-grid{gap:0 !important;}
.rule-row,.futures-row,.transaction-ledger-row,.draft-recap-pick,.intel-power,.content-season-row,
.playoff-result-row,.playoff-row,.score-leaderboard li,.score-leaderboard>div:not(.score-leaderboard-head),
.snapshot-list>*{
  padding:3px 6px !important;margin:0 !important;
  border:0 !important;border-bottom:1px solid var(--rule) !important;
  background:var(--page) !important;min-height:0 !important;
}
.rule-row:nth-child(even),.futures-row:nth-child(even),.transaction-ledger-row:nth-child(even),
.draft-recap-pick:nth-child(even),.intel-power:nth-child(even),.content-season-row:nth-child(even),
.playoff-result-row:nth-child(even),.score-leaderboard li:nth-child(even),.snapshot-list>*:nth-child(even){
  background:var(--zebra) !important;
}
.rule-grid,.snapshot-list,.futures-grid,.intel-power-list{border:1px solid var(--rule) !important;border-top:2px solid var(--accent-rule) !important;}
.content-season-row.head{background:var(--head-bg) !important;font-weight:700;}
.score-rank{color:var(--muted-text) !important;font-weight:400 !important;}

/* ---- 8. Sub-navigation → pipe-separated text links ---- */
.history-subnav,.ia-subnav,.trade-subnav,.edition-tabs,.season-year-nav,.draft-year-nav,
.player-year-nav,.player-mode-nav,.trade-year-nav,[role="tablist"]{
  display:flex !important;flex-wrap:wrap !important;gap:0 !important;
  padding:4px 0 !important;margin:0 0 10px !important;
  background:transparent !important;border:0 !important;border-bottom:1px solid var(--rule) !important;
  overflow:visible !important;position:static !important;
}
.history-subnav button,.ia-subnav button,.trade-subnav button,.edition-tabs button,
.season-year-nav button,.draft-year-nav button,.player-year-nav button,.player-mode-nav button,
.trade-year-nav button,[role="tablist"] > button,[role="tab"]{
  background:transparent !important;border:0 !important;
  border-right:1px solid var(--rule-dark) !important;
  padding:1px 8px !important;margin:0 0 2px !important;min-height:0 !important;min-width:0 !important;
  font:13px/1.4 Helvetica,Arial,sans-serif !important;
  color:var(--link) !important;text-decoration:underline;cursor:pointer;
}
.history-subnav button.active,.ia-subnav button.active,.trade-subnav button.active,.edition-tabs button.active,
.season-year-nav button.active,.draft-year-nav button.active,.player-year-nav button.active,
.player-mode-nav button.active,.trade-year-nav button.active,[role="tab"][aria-selected="true"]{
  color:var(--text) !important;font-weight:700 !important;text-decoration:none;
}
.history-subnav button:last-child,.ia-subnav button:last-child,[role="tablist"] > button:last-child{border-right:0 !important;}

/* ---- 9. Home widgets ---- */
.week-board-grid{gap:12px !important;}
.week-matchups{gap:0 !important;border:1px solid var(--rule) !important;border-top:2px solid var(--accent-rule) !important;}
.week-card{border:0 !important;border-bottom:1px solid var(--rule) !important;padding:4px 8px !important;}
.week-card:nth-child(even){background:var(--zebra) !important;}
.week-card-status{padding:0 !important;margin:0 0 2px !important;font-size:11px !important;}
.week-card-badge{background:transparent !important;border:0 !important;padding:0 !important;font-weight:700 !important;font-size:11px !important;color:var(--loss) !important;}
.week-card-margin{font-size:11px !important;color:var(--muted-text) !important;}
.week-card-context{display:block;font-size:11px !important;line-height:1.25 !important;color:var(--muted-text) !important;font-variant-numeric:tabular-nums;}
.week-game.is-scheduled .week-card-score b{color:var(--muted-text) !important;font-weight:400 !important;}
.week-card-sides{gap:6px !important;}
.week-game-side{padding:0 !important;background:transparent !important;border:0 !important;}
.week-game-side strong{font-size:13px !important;}
.week-game-side.is-leading strong,.week-game-side.is-leading b{font-weight:700 !important;}
.week-game-side.is-trailing strong,.week-game-side.is-trailing b{font-weight:400 !important;}
.week-game-vs{font-size:11px !important;color:var(--muted-text) !important;background:transparent !important;border:0 !important;}
.member-avatar,.member-modal-avatar{
  background:var(--head-bg) !important;border:1px solid var(--rule-dark) !important;
  width:34px !important;height:34px !important;min-width:34px !important;
}
.member-initials,.member-modal-initials{font:700 12px Helvetica,Arial,sans-serif !important;color:var(--text) !important;}
.member-modal-avatar{width:48px !important;height:48px !important;}
.member-title-badge,.keeper-tag,.week-card-badge,.transaction-type,.player-pos-tag,.edition-status,.status-dot{
  background:transparent !important;border:1px solid var(--rule-dark) !important;
  padding:0 4px !important;font-size:11px !important;font-weight:400 !important;
}
.status-dot{border:0 !important;}
.members-grid{gap:8px !important;}
.member-stats{gap:0 !important;border:1px solid var(--rule) !important;}
.member-stat{padding:2px 5px !important;border:0 !important;border-right:1px solid var(--rule) !important;background:transparent !important;}
.member-stat .label{font-size:10px !important;}
.member-stat .value{font-size:13px !important;}
.member-open-arrow{color:var(--link) !important;text-decoration:underline;}
.member-card{cursor:pointer;}
.member-card:hover{background:var(--row-hover) !important;}
.champ-banner-hook{display:none !important;}
.banner-wall{gap:8px !important;}

/* bars (odds / polls) — keep a flat solid fill */
.title-odds-bar>div,.bar-track{background:var(--bar-track) !important;height:6px !important;border:1px solid var(--rule) !important;}
.title-odds-bar i,.bar-fill{background:var(--bar-fill) !important;}
.title-odds-bar span{font:10px Helvetica,Arial,sans-serif !important;}

/* wins / losses keep a hint of colour */
.is-winning,.win,.positive-diff,.winner .bracket-score,.is-winner{color:var(--win) !important;}
.is-losing,.loss,.negative-diff{color:var(--loss) !important;}
.is-winning *,.positive-diff *{color:var(--win) !important;}
.is-losing *,.negative-diff *{color:var(--loss) !important;}
.bracket-team.winner{font-weight:700 !important;}

/* ---- 10. Accordion (rules) ---- */
.accordion-item{border:0 !important;border-bottom:1px solid var(--rule) !important;}
.accordion-head{padding:5px 4px !important;background:transparent !important;border:0 !important;}
.accordion-head h3{font-size:14px !important;}
.accordion-head .idx{color:var(--muted-text) !important;margin-right:6px;}
.accordion-body-inner{padding:4px 4px 10px !important;}
.rule-summary{background:var(--zebra) !important;border:1px solid var(--rule) !important;padding:6px 8px !important;}

/* ---- 11. Modals & drawers ---- */
.member-modal,.auth-modal{background:rgba(0,0,0,.55) !important;}
.phone-more-backdrop,.edition-drawer-backdrop{background:rgba(0,0,0,.45) !important;}
.member-modal-card,.auth-card,.edition-drawer,.phone-more-sheet{
  background:var(--page) !important;border:1px solid var(--rule-dark) !important;
}
.member-modal-card{max-width:980px !important;}
.member-modal-head{
  background:var(--page) !important;border-bottom:2px solid var(--accent-rule) !important;
  padding:10px 14px !important;
}
#memberModalName{font-size:22px !important;}
.member-modal-team{font-weight:700 !important;font-size:14px !important;}
.modal-close,.drawer-close{
  background:var(--btn-bg) !important;border:1px solid var(--rule-dark) !important;color:var(--text) !important;
  width:28px !important;height:28px !important;font-size:18px !important;line-height:1 !important;
}
.career-summary{gap:0 !important;border:1px solid var(--rule) !important;border-top:2px solid var(--accent-rule) !important;}
.career-box{border:0 !important;border-right:1px solid var(--rule) !important;border-bottom:1px solid var(--rule) !important;padding:4px 8px !important;}
.career-box .label{font-size:11px !important;}
.manager-resume-grid,.manager-game-grid,.manager-draft-grid{gap:6px !important;}
.manager-profile-section{padding-top:8px !important;margin-top:8px !important;border-top:1px solid var(--rule) !important;}

/* ---- 12. Newspaper keeps a serif, still flat ---- */
.edition-content,.edition-content *:not(svg){font-family:Georgia,"Times New Roman",serif !important;}
.edition-content{padding:12px 14px !important;}
/* Match the tan paper used by the PDF export, including inset story panels. */
html:not([data-theme="dark"]) .edition-content{
  --page:#f3ead9;
  background:var(--page) !important;
}
.story-title{font-size:16px !important;}
.story-lead .story-title{font-size:20px !important;}

/* ---- 13. Phone dock (bottom nav on phones) ---- */
.phone-dock{background:var(--page) !important;border-top:2px solid var(--accent-rule) !important;}
.phone-dock button{background:transparent !important;border:0 !important;color:var(--link) !important;font:12px Helvetica,Arial,sans-serif !important;}
.phone-dock button *{color:var(--link) !important;}
.phone-dock svg{stroke:var(--link) !important;}
.phone-dock button.active,.phone-dock button[aria-current="page"]{color:var(--text) !important;font-weight:700 !important;}
.phone-dock button.active *{color:var(--text) !important;stroke:var(--text) !important;}
.phone-more-sheet button{background:transparent !important;border:0 !important;border-bottom:1px solid var(--rule) !important;color:var(--link) !important;text-decoration:underline;text-align:left;}

/* ---- 14. Footer ---- */
footer{
  background:var(--page) !important;border-top:2px solid var(--accent-rule) !important;
  padding:10px 16px 18px !important;font-size:12px !important;color:var(--muted-text) !important;
}
footer *{color:var(--muted-text) !important;}
footer strong{color:var(--text) !important;}
.thr-footer-credit img{width:18px !important;height:18px !important;}

/* ---- 15. Mobile (~390px) ---- */
@media (max-width:760px){
  body{font-size:14px !important;}
  .topbar-inner{padding:5px 10px !important;}
  .brand-text .tag,.week-chip .label{display:none !important;}
  nav.tabs{padding:0 6px !important;overflow-x:auto !important;}
  nav.tabs button{padding:6px 9px !important;}
  main{padding:8px 10px 90px !important;}
  .hero h1{font-size:20px !important;}
  .hero h1 span{display:block;margin-left:0;}
  .panel,.home-section,.history-content-panel,.history-tab-panel{padding:8px !important;}
  /* PFR-style: tables keep their columns and scroll sideways */
  table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap;max-width:100%;}
  .week-standings-wrap table,.season-table-wrap table,.draft-table-wrap table,.player-table-wrap table,
  .rivalry-wrap table,.manager-weapons-wrap table{display:table;}
  th,td{padding:3px 5px !important;}
  .week-standings-table th:nth-child(3),.week-standings-table td:nth-child(3){display:none;}
  .week-standings-table{min-width:0 !important;width:100% !important;table-layout:auto;}
  .week-standings-table th,.week-standings-table td{white-space:nowrap;}
  .week-standings-table th:nth-child(2),.week-standings-table td:nth-child(2){white-space:normal;min-width:120px;}
  .week-standings-scroll-hint{display:none !important;}
  .member-modal-card{max-width:none !important;}
  #memberModalName{font-size:18px !important;}
}

/* ---- 16. Second pass: de-emphasise display numerals, tidy nesting ---- */
main strong,main b,.member-modal-card strong,.member-modal-card b{font-size:inherit !important;}
.season-hero-year,.season-hero-year span{font-size:22px !important;font-weight:700 !important;line-height:1.1 !important;}
.playoff-season-status{font-size:14px !important;font-weight:700 !important;}
.archive-season-card strong,.transaction-summary-card strong,.intel-metric strong,.trophy-card strong{font-size:16px !important;}
html body .member-avatar{width:30px !important;height:30px !important;min-width:30px !important;flex:0 0 30px !important;}
html body .member-modal-avatar{width:44px !important;height:44px !important;min-width:44px !important;flex:0 0 44px !important;}
.week-card:nth-child(even){background:var(--page) !important;}
.week-card{border-right:1px solid var(--rule) !important;}
.section-title{justify-content:flex-start !important;}
.section-title .see-all,.section-title .section-status{margin-left:auto;}
.history-tab-panel,.history-tab-panels>.panel{border:0 !important;padding:0 !important;background:transparent !important;}
.home-section,.weekly-feature-section,.league-pulse,.futures-section,.banner-wall-section,
.orientation-panel,.home-dashboard,.home-archive-links{margin-top:0 !important;margin-bottom:12px !important;}
.league-pulse-card{min-height:0 !important;}
.hero-season-card>*{display:inline !important;margin:0 !important;padding:0 !important;}
.hero-season-card .hero-meta-grid{display:flex !important;}
.hero-season-kicker{display:inline !important;}
.member-stat{min-height:0 !important;padding:3px 6px !important;}
.member-stats{margin:6px 0 !important;}
.member-latest{padding:4px 0 !important;margin:4px 0 !important;}
.member-card-footer{padding-top:4px !important;margin-top:0 !important;}
.history-subnav button,.ia-subnav button,.trade-subnav button,.edition-tabs button,[role="tablist"]>button{flex:0 0 auto !important;width:auto !important;}
@media (max-width:760px){
  main :is(div,section,article,aside,header,nav,li){min-width:0;}
  .history-content-panel,.history-tab-panel,.panel,.season-detail,.season-archive-panel{max-width:100% !important;}
  .week-standings-wrap,.season-table-wrap,.draft-table-wrap,.player-table-wrap,.rivalry-wrap,.manager-weapons-wrap{max-width:100% !important;}
}
.career-box,.manager-resume-grid>*,.manager-game-card,.manager-rival-card{min-height:0 !important;}
html body .history-subnav,html body .ia-subnav,html body #intelNav{flex-wrap:wrap !important;overflow:visible !important;white-space:normal !important;}
.member-modal-sub,.member-modal-team,.member-modal-identity *{font-family:Helvetica,Arial,sans-serif !important;}
.history-tab-panels .history-content-panel,.history-tab-panels [data-history-panel]{border:0 !important;padding:0 !important;background:transparent !important;}
#intelBody article,#intelBody li,.story-item,.champion-entry,.trophy-card,.shame-history-card,.record-card,.archive-season-card{padding:6px 10px !important;margin-bottom:6px !important;min-height:0 !important;}
.champion-entry{border-left:3px solid var(--accent-rule) !important;}
.champion-main,.champion-year{padding:0 !important;}
.transaction-day{margin-bottom:8px !important;}
.transaction-day-head{background:var(--head-bg) !important;padding:3px 8px !important;border-bottom:1px solid var(--rule-dark) !important;}
.transaction-summary-card{min-height:0 !important;cursor:pointer;}
.transaction-summary-card.active{border:2px solid var(--accent-rule) !important;}
.skip-link:not(:focus){top:-200px !important;}



/* ---- Reference-desk type: serif majors, small-caps labels ---- */
html body h1,
html body .hero h1,
html body .home-band-head h2,
html body .home-section-head h2,
html body .section-title h2,
html body .history-section-head h2,
html body #orientationTitle{
  font-family:Georgia,"Times New Roman",Times,serif !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}
html body .section-kicker,
html body .eyebrow,
html body .home-band-head > div > span,
html body .home-section-head > div > span,
html body .history-eyebrow,
html body .transaction-eyebrow,
html body .weekly-kicker,
html body .champion-kicker,
html body .hero-season-kicker,
html body .desk-toc a,
html body .desk-mini caption > span,
html body .league-pulse-card > span{
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.06em !important;
  text-transform:uppercase !important;
  font-variant:small-caps !important;
  font-family:Helvetica,Arial,sans-serif !important;
}
html body .desk-lede,
html body .desk-notes,
html body .desk-foot,
html body .desk-unavailable,
html body .futures-method-note{
  font-size:13px !important;
  line-height:1.45 !important;
  color:var(--muted-text) !important;
}
html body .desk-lede{margin:6px 0 8px !important;max-width:none !important;width:auto !important;color:var(--text) !important;}
html body .desk-notes{
  max-width:none !important;
  margin:0 !important;padding:0 0 0 1.2em !important;
  list-style:decimal !important;
}
html body .desk-notes li{margin:0 0 6px !important;padding:0 !important;border:0 !important;background:transparent !important;}
html body .desk-foot{margin:6px 0 0 !important;font-size:12px !important;}
html body .desk-unavailable{margin:0 !important;padding:6px 0 !important;font-style:italic;}
html body .desk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0;}
/* Keep the wrapper as the sole horizontal scroll region at phone widths. */
html body .desk-playoff-scroll .desk-race{display:table;overflow:visible;}
html body .desk-playoff-scroll:focus-visible{outline:2px solid var(--text);outline-offset:2px;}
html body .desk-table{
  width:100%;border-collapse:collapse !important;
  font-size:13px !important;line-height:1.3 !important;
  background:var(--table-bg) !important;
  border:1px solid var(--rule-dark) !important;
  border-top:2px solid var(--accent-rule) !important;
}
html body .desk-table th,
html body .desk-table td{padding:3px 6px !important;border:1px solid var(--rule) !important;vertical-align:middle;}
html body .desk-table thead th{background:var(--head-bg) !important;font-weight:700 !important;font-size:11px !important;white-space:nowrap;}
html body .desk-table tbody tr:nth-child(even) td{background:var(--zebra) !important;}
html body .desk-table tbody tr:hover td{background:var(--row-hover) !important;}
html body .desk-table .num{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}
html body .desk-table .desk-strong{font-weight:700 !important;}
html body .desk-table .desk-team{color:var(--muted-text) !important;font-size:12px !important;}
html body .desk-table .desk-nowrap{white-space:nowrap;}
html body .desk-table.is-playoff-line td,
html body .desk-table tr.is-playoff-line td{border-bottom:2px solid var(--accent-rule) !important;}
html body .desk-race tr.is-out td{color:var(--muted-text) !important;}
html body .desk-leaders{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}
html body .desk-mini{
  width:100%;border-collapse:collapse !important;
  font-size:12px !important;
  border:1px solid var(--rule) !important;
  border-top:2px solid var(--accent-rule) !important;
  background:var(--table-bg) !important;
}
html body .desk-mini{table-layout:auto;display:table !important;white-space:normal !important;}
html body .desk-mini caption{
  display:table-caption !important;caption-side:top;text-align:left;padding:3px 6px !important;
  background:var(--head-bg) !important;border:1px solid var(--rule) !important;border-bottom:0 !important;
  white-space:nowrap;
}
html body .desk-mini caption small{float:right;margin-left:8px;}
html body .desk-mini td:first-child{width:1.6em;color:var(--muted-text) !important;}
html body .desk-mini td:last-child{width:4.5em;white-space:nowrap;}
html body .desk-mini caption small{font-size:11px !important;color:var(--muted-text) !important;font-weight:400 !important;text-transform:none !important;letter-spacing:0 !important;font-variant:normal !important;}
html body .desk-mini td{padding:2px 6px !important;border-bottom:1px solid var(--rule) !important;}
html body .desk-mini tr:nth-child(even) td{background:var(--zebra) !important;}
html body .desk-mini small{color:var(--muted-text) !important;font-size:11px !important;}
html body .desk-toc{
  display:flex !important;flex-wrap:wrap !important;gap:0 14px !important;
  margin:8px 0 0 !important;padding:6px 0 0 !important;
  border-top:1px solid var(--rule) !important;
  background:transparent !important;
}
html body .desk-toc a{
  color:var(--link) !important;text-decoration:none !important;
  padding:2px 0 !important;border:0 !important;background:transparent !important;
}
html body .desk-toc a:hover{text-decoration:underline !important;color:var(--link-hover) !important;}
html body .desk-link{
  display:inline !important;padding:0 !important;margin:0 !important;
  border:0 !important;background:transparent !important;
  color:var(--link) !important;text-decoration:underline !important;
  font:inherit !important;cursor:pointer;
}
html body .desk-section{padding:8px 10px !important;}
html body .desk-masthead{border-bottom:2px solid var(--accent-rule) !important;}
/* When the desk standings table is live, hide the duplicate mini-table beside the week board */
html body #home.has-desk-standings .week-standings{display:none !important;}
html body #home.has-desk-standings .week-board-grid{grid-template-columns:1fr !important;}
@media (max-width:760px){
  html body .desk-toc{gap:0 10px !important;}
  html body .desk-leaders{grid-template-columns:1fr 1fr !important;}
}
@media (max-width:420px){
  html body .desk-leaders{grid-template-columns:1fr !important;}
}


/* Championship odds as a compact reference table */
html body .futures-grid.futures-table-host{display:block !important;background:transparent !important;border:0 !important;gap:0 !important;}
html body .futures-table tr.futures-row{display:table-row !important;padding:0 !important;background:transparent;}
html body .futures-table tr.futures-row.is-favorite td{font-weight:700 !important;}
html body .futures-table .futures-odds{font:700 13px Helvetica,Arial,sans-serif !important;}
html body .futures-table .futures-case{color:var(--muted-text) !important;font-size:12px !important;min-width:240px;}
html body .futures-grid.is-collapsed .futures-table tr.futures-row:nth-child(n+7){display:none !important;}
@media (max-width:600px){
  html body .futures-table .futures-case,html body .futures-table .futures-case-head{display:none !important;}
  html body .desk-table .desk-team{display:none !important;}
}

/* ==========================================================================
   17. Classic DARK variant — keyed to html[data-theme="dark"], which the
   existing js/theme.js toggle sets (default stays light; choice persists in
   localStorage "1048-gate-theme"). Same layout, just a dark palette.
   ========================================================================== */
html[data-theme="dark"]{
  color-scheme:dark;
  --page:#161616;
  --text:#e2e2e2;
  --muted-text:#a9a9a9;
  --rule:#3a3a3a;
  --rule-dark:#5c5c5c;
  --head-bg:#2d2d2d;
  --zebra:#232323;
  --table-bg:#1e1e1e;
  --btn-bg:#2a2a2a;
  --btn-hover:#363636;
  --row-hover:#2f2b1d;
  --bar-track:#333333;
  --bar-fill:#7ea6d6;
  --link:#8ab4f8;
  --link-visited:#c3a6f5;
  --link-hover:#b8d3fb;
  --tab-active-ink:#e2e2e2;
  --accent-rule:#5a7ca3;
  --win:#74c974;
  --loss:#ff8a80;
  --backdrop:rgba(0,0,0,.7);
  --amber:#8fb0d6 !important;
  --turf:#8fb0d6 !important;
  --red:#ff8a80 !important;
}
html[data-theme="dark"],html[data-theme="dark"] body{background:var(--page) !important;}
html[data-theme="dark"] tbody td,html[data-theme="dark"] tbody th{background:var(--table-bg) !important;}
html[data-theme="dark"] tbody tr:nth-child(even) td,html[data-theme="dark"] tbody tr:nth-child(even) th{background:var(--zebra) !important;}
html[data-theme="dark"] tbody tr:hover td{background:var(--row-hover) !important;}
html[data-theme="dark"] thead th,html[data-theme="dark"] th{background:var(--head-bg) !important;}
html[data-theme="dark"] .rule-row,html[data-theme="dark"] .futures-row,html[data-theme="dark"] .transaction-ledger-row,
html[data-theme="dark"] .draft-recap-pick,html[data-theme="dark"] .intel-power,html[data-theme="dark"] .content-season-row,
html[data-theme="dark"] .playoff-result-row,html[data-theme="dark"] .score-leaderboard li,html[data-theme="dark"] .snapshot-list>*{background:var(--table-bg) !important;}
html[data-theme="dark"] .rule-row:nth-child(even),html[data-theme="dark"] .futures-row:nth-child(even),
html[data-theme="dark"] .transaction-ledger-row:nth-child(even),html[data-theme="dark"] .draft-recap-pick:nth-child(even),
html[data-theme="dark"] .intel-power:nth-child(even),html[data-theme="dark"] .content-season-row:nth-child(even),
html[data-theme="dark"] .playoff-result-row:nth-child(even),html[data-theme="dark"] .score-leaderboard li:nth-child(even),
html[data-theme="dark"] .snapshot-list>*:nth-child(even){background:var(--zebra) !important;}
html[data-theme="dark"] .member-modal,html[data-theme="dark"] .auth-modal{background:var(--backdrop) !important;}
html[data-theme="dark"] .brand-logo{background:#fff !important;}
html[data-theme="dark"] input::placeholder,html[data-theme="dark"] textarea::placeholder{color:#8a8a8a !important;}
html[data-theme="dark"] .edition-content{background:#1b1b1b !important;}
.hero-season-card{flex-direction:row !important;}
.hero-season-card>*{flex:0 0 auto !important;width:auto !important;}
.hero-season-card>.hero-meta-grid{flex:1 1 auto !important;min-width:0 !important;}

/* ==========================================================================
   18. Reference Desk cleanup
   ========================================================================== */

/* ---- Sticky header offset ----
   js/site-ui.js measures .topbar and sets --sticky-offset (height + 8px) inline
   on <html>; these are only pre-script fallbacks. The offset lives in ONE place
   (scroll-padding-top on the scroller) so section targets carry no extra
   scroll-margin and the two never stack. */
:root,html[data-theme="light"],html[data-theme="dark"]{--sticky-offset:98px;}
@media (max-width:760px){
  :root,html[data-theme="light"],html[data-theme="dark"]{--sticky-offset:50px;}
}
html{scroll-padding-top:var(--sticky-offset) !important;}
html body #home .home-section,
html body #home .home-band,
html body #home .week-board,
html body #home .futures-section,
html body #championshipOdds,
html body #homeSeasonPrep,
html body #homeWeeklyFeature{scroll-margin-top:0 !important;}
html body #home [hidden]{display:none !important;}

/* visually hidden, still announced (band labels kept for aria-labelledby) */
html body .desk-sr-only{
  position:absolute !important;width:1px !important;height:1px !important;
  margin:-1px !important;padding:0 !important;overflow:hidden !important;
  clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important;
}

/* ---- Masthead: title, kicker subtitle, one-line campaign strip ---- */
html body .desk-masthead{
  display:grid !important;grid-template-columns:minmax(0,1fr) auto;align-items:end;
  gap:4px 18px !important;padding:2px 0 6px !important;margin:0 0 10px !important;
}
html body .desk-masthead .hero-copy{min-width:0;}
html body .desk-masthead h1{font-size:26px !important;line-height:1.05 !important;margin:2px 0 0 !important;}
html body .desk-masthead h1 br{display:inline !important;}
html body .desk-masthead h1 .desk-masthead-kicker{
  display:block !important;margin:3px 0 0 !important;
  font:700 11px/1.2 Helvetica,Arial,sans-serif !important;
  letter-spacing:.2em !important;text-transform:uppercase !important;
  color:var(--muted-text) !important;
}
html body .desk-masthead .desk-status{
  margin:6px 0 0 !important;font-size:12px !important;color:var(--muted-text) !important;
}
html body .desk-masthead .hero-season-card{
  margin:0 !important;align-self:end;justify-content:flex-end;
  background:transparent !important;border:0 !important;padding:0 !important;
  font-size:12px !important;gap:2px 10px !important;
}
html body .desk-masthead .hero-season-card :is(.hero-season-year,.hero-season-edition,.hero-season-phase,strong){font-size:12px !important;}
html body .desk-masthead .hero-meta-grid{gap:2px 10px !important;}
html body .desk-masthead .desk-toc{grid-column:1 / -1;margin-top:4px !important;}
@media (max-width:760px){
  html body .desk-masthead{grid-template-columns:1fr;gap:4px !important;}
  html body .desk-masthead h1{font-size:24px !important;}
  html body .desk-masthead .hero-season-card{justify-content:flex-start;}
  /* phones navigate with the bottom dock; the 1–7 index is desktop-only */
  html body .desk-masthead .desk-toc{display:none !important;}
}

/* ---- Live matchup board ---- */
html body #weekBoard .week-matchups{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border:1px solid var(--rule) !important;border-top:2px solid var(--accent-rule) !important;
}
html body #weekBoard .week-card{
  display:block !important;min-width:0;padding:4px 8px 5px !important;
  border:0 !important;border-right:1px solid var(--rule) !important;border-bottom:1px solid var(--rule) !important;
}
html body #weekBoard .week-card-status{
  display:flex !important;align-items:baseline;justify-content:space-between;gap:8px;
  margin:0 0 2px !important;padding:0 !important;min-height:0 !important;
}
html body #weekBoard .week-card-badge{
  border:0 !important;padding:0 !important;
  font:700 10px/1.3 Helvetica,Arial,sans-serif !important;letter-spacing:.08em !important;
  text-transform:uppercase !important;color:var(--muted-text) !important;
}
html body #weekBoard .week-card.is-live .week-card-badge{color:var(--loss) !important;}
html body #weekBoard .week-card-status .week-card-margin{font-size:11px !important;color:var(--muted-text) !important;}
html body #weekBoard .week-card-sides{display:block !important;gap:0 !important;}
html body #weekBoard .week-game-side{
  display:grid !important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 10px;
  padding:2px 0 2px 6px !important;min-width:0;text-align:left !important;
  border:0 !important;border-left:2px solid transparent !important;
}
html body #weekBoard .week-game-side + .week-game-side{border-top:1px dotted var(--rule) !important;}
html body #weekBoard .week-game-side.is-leading{border-left-color:var(--win) !important;}
html body #weekBoard .week-card-name{display:block;min-width:0;}
html body #weekBoard .week-card-name strong,
html body #weekBoard .week-card-name .week-card-owner{
  display:block !important;overflow:hidden !important;white-space:nowrap !important;text-overflow:ellipsis !important;
  max-width:100%;text-align:left !important;
}
html body #weekBoard .week-card-name strong{font-size:13px !important;line-height:1.25 !important;font-weight:400 !important;}
html body #weekBoard .week-card-name .week-card-owner{font-size:11px !important;line-height:1.2 !important;color:var(--muted-text) !important;font-weight:400 !important;}
html body #weekBoard .week-card-score{display:flex;flex-direction:column;align-items:flex-end;min-width:3.6em;text-align:right;}
html body #weekBoard .week-card-score b{
  font:400 15px/1.15 Helvetica,Arial,sans-serif !important;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum";
  color:var(--muted-text) !important;
}
html body #weekBoard .week-card-score .week-card-margin{
  font:400 10px/1.2 Helvetica,Arial,sans-serif !important;color:var(--win) !important;white-space:nowrap;
}
html body #weekBoard .week-game-side.is-leading .week-card-name strong{font-weight:700 !important;}
html body #weekBoard .week-game-side.is-leading .week-card-score b{font-size:17px !important;font-weight:700 !important;color:var(--text) !important;}
html body #weekBoard .week-game-side.is-trailing .week-card-score b{color:color-mix(in srgb,var(--loss) 45%,var(--muted-text)) !important;}
html body #weekBoard .week-card.is-scheduled .week-card-score b{color:var(--muted-text) !important;}
html body #weekBoard .home-section-head small{white-space:nowrap;}
@media (max-width:1000px){
  html body #weekBoard .week-matchups{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:600px){
  html body #weekBoard .week-matchups{grid-template-columns:1fr !important;}
  html body #weekBoard .week-card{border-right:0 !important;}
  html body #weekBoard .home-section-head small{white-space:normal;}
}

/* ---- Standings: compact on phones, full on desktop ---- */
html body .desk-standings-tools{display:none;}
html body .desk-standings .desk-col-compact{display:none !important;}
@media (max-width:760px){
  html body .desk-standings-tools{display:flex;justify-content:flex-end;margin:0 0 4px;}
  html body .desk-standings-toggle{font-size:12px !important;}
  html body .desk-standings:not(.is-expanded) .desk-col-full{display:none !important;}
  html body .desk-standings:not(.is-expanded) .desk-col-compact{display:table-cell !important;}
  html body .desk-standings.is-expanded .desk-team{display:table-cell !important;}
  html body .desk-standings:not(.is-expanded) .desk-table{display:table !important;width:100% !important;white-space:nowrap;}
}

/* ---- History landing: archive index first ---- */
html body .archive-index .archive-overview-head{align-items:baseline;}
html body .archive-index .archive-overview-metric{display:flex !important;gap:6px;align-items:baseline;border:0 !important;padding:0 !important;background:transparent !important;}
html body .archive-index .archive-overview-metric strong{font-size:13px !important;}
html body .archive-index .archive-overview-metric span{font-size:11px !important;color:var(--muted-text) !important;}
html body .archive-index-table .archive-index-team{color:var(--muted-text) !important;font-size:12px !important;}
@media (max-width:600px){
  html body .archive-index-table .archive-index-team{display:none !important;}
}

/* ---- Top bar: guest label adds nothing; signed-in name still shows ---- */
html body .auth-user.is-guest{display:none !important;}

/* ---- Dark mode: active nav/tab must read as active, not black-on-black ---- */
html[data-theme="dark"] nav.tabs button.active,
html[data-theme="dark"] nav.tabs button[aria-current="page"]{
  background:#e8e4da !important;color:#1b2d40 !important;
}
html[data-theme="dark"] nav.tabs button.active *,
html[data-theme="dark"] nav.tabs button[aria-current="page"] *{color:#1b2d40 !important;}
html[data-theme="dark"] .phone-dock button.active,
html[data-theme="dark"] .phone-dock button[aria-current="page"]{color:#fff !important;}
html body .phone-dock button.active{border-top:2px solid var(--accent-rule) !important;}
html[data-theme="dark"] .phone-dock button.active{border-top-color:#c9a44c !important;}
html[data-theme="dark"] .phone-dock button.active *{color:#fff !important;stroke:#fff !important;}
html[data-theme="dark"] [role="tab"][aria-selected="true"],
html[data-theme="dark"] :is(.history-subnav,.ia-subnav,.trade-subnav,.edition-tabs) button.active{
  color:#fff !important;border-bottom:2px solid #c9a44c !important;
}
html body #home .week-card .week-game-side.is-trailing :is(strong,b){opacity:1 !important;}
html body #home .week-board + .desk-lede{margin-top:-4px !important;}
/* History landing: the archive index is a plain table, not a card. theme.css /
   history.css paint a gradient + shadow on this panel with higher specificity. */
html body #history .archive-overview-panel,
html[data-theme] body #history .archive-overview-panel{
  background:transparent !important;background-image:none !important;box-shadow:none !important;
  border:0 !important;padding:0 !important;overflow:visible !important;
}
html body #history .history-shell{gap:6px !important;}
html body #home .week-board{margin-bottom:6px !important;}
html body .desk-standings-hint{display:none;}
@media (max-width:760px){
  html body .desk-standings.is-expanded .desk-standings-hint{display:inline;margin-right:auto;font-size:11px !important;color:var(--muted-text) !important;}
}

html body #weekBoard .week-team-link{display:block;width:100%;padding:0;border:0;background:none;color:var(--link-color, #165d96);font:inherit;font-size:13px;text-align:left;text-decoration:underline;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
html body #weekBoard .week-team-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
html body #weekBoard .is-leading .week-team-link{font-weight:700}
html[data-theme="dark"] body #weekBoard .week-team-link{color:#8dc4ef}
.team-projection-section{margin:16px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.team-projection-section h3{margin:0 0 8px}.team-projection-section p{font-size:12px;margin:8px 0}

/* Newspaper reading and the phone's in-page section index. */
html body .score-refresh-controls{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;margin:6px 0 10px;}
html body .score-refresh-controls button{min-height:32px;border:1px solid var(--rule-dark);padding:5px 8px;background:var(--btn-bg) !important;color:var(--link) !important;font:inherit;font-size:12px;cursor:pointer;}
html body .score-refresh-controls button:disabled{cursor:wait;opacity:.7;}
html body .score-refresh-controls button:focus-visible{outline:2px solid var(--link);outline-offset:2px;}
html body #scoreRefreshStatus{font-size:12px;line-height:1.4;color:var(--muted-text) !important;}
@media(max-width:760px){html body .score-refresh-controls button{min-height:44px;}html body #scoreRefreshStatus{min-height:4.2em;display:flex;align-items:center;}}
html body .mobile-section-jump{display:none !important;}
html body .edition-archive-status,html body .section-description{margin:4px 0 12px;color:var(--muted-text) !important;font-size:13px;}
html body #newspaper .edition-content{
  --page:#f3ead9;--text:#171819;--muted-text:#435153;--rule:#b9ae9a;
  --cream:var(--text);--muted:var(--muted-text);
  background:#f3ead9 !important;color:var(--text) !important;
}
html body #newspaper .edition-content :is(p,li,strong,h2,h3,h4){overflow-wrap:break-word;}
html body #newspaper :is(.weekly-table li,.weekly-board li,.weekly-slate li,.weekly-matchup-score){min-width:0;}
html body #newspaper :is(.weekly-table li,.weekly-board li,.weekly-slate li,.weekly-matchup-score)>*{min-width:0;}
html body #newspaper .edition-tab{min-height:32px;}
/* Newspaper has a primary destination; the Office tabs duplicate that navigation. */
html body #office:has(> #newspaper:not([hidden])) > :is(.section-title,[data-office-nav]){display:none !important;}
html body :is(.mobile-section-jump select,.mobile-section-jump button,.edition-tab,.week-team-link,.desk-link):focus-visible{
  outline:2px solid var(--link) !important;outline-offset:3px;
}
@media(max-width:900px){
  html body #newspaper .edition-content :is(.story-body,.weekly-lead p,.weekly-matchup p,.weekly-editorial-grid p){font-size:15px;line-height:1.65;}
}
@media(max-width:760px){
  html body .mobile-section-jump{display:flex !important;align-items:center;gap:8px;min-width:0;margin-top:6px;}
  html body .mobile-section-jump label{font-weight:700;white-space:nowrap;}
  html body .mobile-section-jump select{flex:1;min-width:0;min-height:44px !important;background:var(--page) !important;color:var(--text) !important;border:1px solid var(--rule-dark);padding:6px;font:inherit;}
  html body .mobile-section-jump button{min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--rule-dark);background:var(--btn-bg) !important;color:var(--link) !important;font:inherit;cursor:pointer;}
  html body #newspaper :is(.edition-tab,.edition-action,.weekly-edition-picker select,.toggle-sources){min-height:44px !important;white-space:normal;}
  html body #newspaper .edition-content :is(.story-body,.weekly-lead p,.weekly-matchup p,.weekly-editorial-grid p){font-size:16px;line-height:1.65;}
  html body #newspaper .edition-header p,html body #newspaper .weekly-editorial-header p{font-size:15px;line-height:1.6;}
  html body #newspaper :is(.story-source,.edition-footer small,.edition-meta,.edition-status,.weekly-editorial-meta){font-size:11px;line-height:1.5;}
  html body #newspaper .weekly-editorial :is(h3,h4){line-height:1.25 !important;}
  html body #newspaper .weekly-editorial h4{font-size:17px !important;}
  html body #weekBoard .week-team-link{min-height:44px;white-space:normal;overflow-wrap:anywhere;}
  html body .desk-table .desk-link{display:inline-flex !important;align-items:center;min-height:24px;}
  html body .desk-scroll{max-width:100%;min-width:0;}
}
