/* FootyStats record book: paper, compact tables and complete club frames.
   This is the final shared design layer over legacy page layouts. */
body.app-body {
  color-scheme:dark;
  --clean-paper:#202321; --clean-ink:#f4f3ec; --clean-muted:#bdc2b9; --clean-rule:#414940; --clean-accent:#ff8d99;
}
body.app-body[data-theme="light"] {
  color-scheme:light;
  --clean-paper:#f1eee5; --clean-ink:#1b211f; --clean-muted:#60665f; --clean-rule:#d7d3c8; --clean-accent:#bd1930;
  --bg:#f1eee5; --bg-1:#f1eee5; --bg-2:#e6e2d8; --bg-3:#ded9ce;
}
body.app-body[data-page] {
  --control-radius:4px; --control-line:color-mix(in srgb,var(--clean-ink) 22%,var(--clean-paper));
  --control-hover:color-mix(in srgb,var(--clean-ink) 6%,var(--clean-paper));
  --fs-bg:var(--clean-paper); --fs-bg-1:var(--clean-paper); --fs-bg-2:color-mix(in srgb,var(--clean-paper) 94%,var(--clean-ink));
  --fs-ink:var(--clean-ink); --fs-ink-2:var(--clean-muted); --fs-line:var(--clean-rule); --fs-line-med:var(--clean-rule);
  --trophy-paper:var(--clean-paper); --trophy-ink:var(--clean-ink); --trophy-muted:var(--clean-muted); --trophy-line:var(--clean-rule); --trophy-line-soft:var(--clean-rule);
  background:var(--clean-paper)!important; color:var(--clean-ink); font:16px/1.45 var(--fs-font-body);
}
body.app-body[data-page] [hidden] { display:none!important; }
body.app-body[data-page] .app-shell { background:transparent!important; }
body.app-body[data-page] .app-topbar {
  position:relative; top:auto; display:flex; align-items:center; flex-wrap:wrap; gap:14px; width:calc(100% - 48px); max-width:1380px;
  margin:0 auto; padding:14px 0; min-height:68px; border:0; border-bottom:2px solid var(--clean-accent)!important; box-shadow:none; background:var(--clean-paper)!important; color:var(--clean-ink);
}
body.app-body[data-page] .app-brand { font-size:28px; color:var(--clean-ink)!important; flex-shrink:0; }
body.app-body[data-page] .app-brand-mark { display:none; }
body.app-body[data-page] .app-brand::after { content:none; }
.brand-wordmark { display:inline-flex; align-items:baseline; gap:0; }
body.app-body[data-page] .app-brand .brand-footy { font:700 28px/1 var(--fs-font-display); color:var(--clean-ink); }
body.app-body[data-page] .app-brand .brand-stats { font:600 24px/1 var(--fs-font-body); letter-spacing:-.8px; color:var(--clean-accent); }
body.app-body[data-page] .app-nav { margin-left:auto!important; gap:2px; }
body.app-body[data-page] .app-nav-link { padding:8px; font:500 14px var(--fs-font-body)!important; text-transform:none!important; border:0; border-radius:0!important; background:transparent!important; color:var(--clean-ink)!important; }
body.app-body[data-page] .app-nav-link.is-active { color:var(--clean-accent)!important; border-bottom:2px solid currentColor!important; box-shadow:none!important; }
body.app-body[data-page] .app-nav-link svg { display:none; }
body.app-body[data-page] .app-main { padding:24px 24px 64px!important; }
body.app-body[data-page] .app-main > div { max-width:1380px; margin-inline:auto; padding:0!important; }
body.app-body[data-page] .app-page-flow { gap:24px; }
body.app-body[data-page] :is(.app-hero,.clean-round-header) {
  width:calc(100% - 48px); max-width:1380px; margin:0 auto; padding:22px 0 0!important; min-height:0!important;
  background:transparent!important; border:0!important; box-shadow:none!important; color:var(--clean-ink)!important;
}
body.app-body[data-page] .app-hero > div { padding:0!important; max-width:none; min-height:0; }
body.app-body[data-page] .app-hero-copy { min-height:0!important; padding:0!important; background:transparent!important; border:0!important; }
body.app-body[data-page] :is(.app-hero h1,.clean-page-heading h1,.record-page h1) { font:600 clamp(36px,3.5vw,48px)/1 var(--fs-font-display)!important; margin:0 0 10px!important; text-transform:none; border:0!important; padding:0!important; color:inherit; }
body.app-body[data-page] .app-hero-copy p { max-width:68ch; margin:0; color:var(--clean-muted)!important; font-size:16px; line-height:1.5; }
body.app-body[data-page] :is(.app-hero,.app-hero-copy)::before,body.app-body[data-page] :is(.app-hero,.app-hero-copy)::after { display:none!important; }
body.app-body[data-page] :is(.clubs-hero-field,.trophy-hero-field,.match-bauhaus-hero,.app-hero-actions) { display:none!important; }
body.app-body[data-page] :is(.clubs-hero-grid,.trophy-hero-grid) { display:block!important; }
body.app-body[data-page] :is(.fs-section,.teams-shell-card,.years-shell-card,.trophy-shell-card,.home-panel,.live-centre-day-strip) { background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; }
body.app-body[data-page] :is(.fs-section-head,.teams-section-head,.years-section-head) { border:0!important; padding:0 0 12px!important; margin:0; align-items:baseline; text-align:left!important; }
body.app-body[data-page] :is(.fs-section h2,.teams-section-head h2,.years-section-head h2,.teams-section-head h3,.years-section-head h3,.fs-leaderboard-title,.trophy-leader-head h3,.record-page h2) { font:600 22px/1.2 var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; text-align:left!important; }
.clean-page-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.clean-eyebrow { font:12px var(--fs-font-mono); text-transform:uppercase; letter-spacing:1px; color:var(--clean-muted); }
body.app-body[data-page] .clean-text-link { font-size:14px; color:var(--clean-accent); }
body.app-body[data-page] a:hover { text-decoration:underline; text-underline-offset:4px; }
body.app-body[data-page] :is(button,a,input,select):focus-visible { outline:2px solid var(--clean-accent); outline-offset:4px; }
body.app-body[data-page] :is(.teams-kicker,.years-kicker) { display:none; }

/* The phone menu uses the same opaque reading surface as the record pages. */
body.app-body.nav-drawer-open { overflow:hidden; }
body.app-body[data-page] .app-nav-overlay { background:#0007; z-index:100; }
body.app-body[data-page] .app-nav-drawer { top:16px; right:16px; bottom:16px; z-index:101; width:min(360px,calc(100vw - 32px)); padding:20px; background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:1px solid var(--clean-rule); box-shadow:0 12px 40px #0003; }
body.app-body[data-page] .app-nav-drawer-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:20px; border-bottom:2px solid var(--clean-accent); }
body.app-body[data-page] .app-nav-drawer-head p { margin:0; color:var(--clean-ink); font:600 25px/1.1 var(--fs-font-display); }
body.app-body[data-page] .app-nav-drawer-close { display:flex; align-items:center; justify-content:center; width:42px; height:42px; flex-shrink:0; background:var(--clean-paper); color:var(--clean-ink); border:1px solid var(--clean-rule); border-radius:2px; }
body.app-body[data-page] .app-nav-drawer-links { display:grid; margin-top:16px; }
body.app-body[data-page] .app-nav-drawer-link { display:flex; align-items:center; gap:14px; padding:16px 8px; min-height:58px; font:500 20px/1.2 var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; color:var(--clean-ink)!important; border-bottom:1px solid var(--clean-rule); background:transparent!important; }
body.app-body[data-page] .app-nav-drawer-link svg { width:20px; height:20px; stroke-width:1.75; }
body.app-body[data-page] .app-nav-drawer-link.is-active { color:var(--clean-accent)!important; font-weight:600!important; }

/* Search shares the masthead; its label remains available to assistive technology. */
.site-search { position:relative; z-index:25; flex:0 1 280px; margin-left:10px; }
.site-search label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.app-body[data-page] .site-search input { width:100%; min-height:42px; padding:10px 12px; border:1px solid var(--clean-rule)!important; border-radius:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; font:14px var(--fs-font-body); box-shadow:none!important; }
.site-search-results { position:absolute; top:100%; right:0; width:max(100%,340px); max-height:min(65vh,580px); overflow-y:auto; background:var(--clean-paper); border:1px solid var(--clean-ink); box-shadow:0 12px 28px #0002; }
.site-search-result { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 16px; border-bottom:1px solid var(--clean-rule); text-decoration:none; }
.site-search-result:hover,.site-search-result:focus { background:var(--fs-bg-2); }
.site-search-result > :first-child { flex:1; min-width:0; }
.site-search-result strong { display:block; font:500 16px/1.25 var(--fs-font-body); }
.site-search-result small { display:block; font-size:12px; color:var(--clean-muted); }
.site-search-kind { flex-shrink:0; padding:0; color:var(--clean-muted); font:12px var(--fs-font-body); }
.site-search-kind > span { margin-left:5px; }
.site-search-message { padding:14px 16px; margin:0; font-size:14px; color:var(--clean-muted); }

/* Home opens the record book, with current football immediately below. */
.home-landing-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:center; gap:48px; padding:16px 0 28px; border-bottom:1px solid var(--clean-rule); }
.home-landing-copy { min-width:0; }
.home-intro-kicker { margin:0 0 12px; color:var(--clean-accent); font:500 14px var(--fs-font-body); }
body.app-body[data-page="home"] #home-intro-title { margin:0; font:600 clamp(56px,6vw,82px)/.95 var(--fs-font-display)!important; letter-spacing:-1px!important; text-transform:none!important; color:var(--clean-ink); }
.home-intro-description { margin:18px 0 20px; color:var(--clean-muted); font:400 16px/1.5 var(--fs-font-body); }
.home-search-host { max-width:540px; }
.home-search-host .site-search { margin:0; width:100%; }
.home-search-host .site-search label { position:static; display:block; width:auto; height:auto; overflow:visible; clip-path:none; margin-bottom:7px; font:500 14px var(--fs-font-body); }
body.app-body[data-page] .home-search-host input { min-height:50px; font-size:16px; }
.home-search-host .site-search-results { width:100%; }
.home-browse-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:16px; }
.home-browse-links a { display:inline-flex; align-items:center; gap:7px; color:var(--clean-ink); font:500 14px var(--fs-font-body); }
.home-browse-links svg { width:16px; height:16px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; color:var(--clean-muted); }
.home-season-start { min-width:0; }
.home-season-start .record-section-heading { margin:0 0 18px; }
.home-season-start h2 { margin:0; font:600 25px var(--fs-font-display); }
.home-season-start .record-section-heading > a { font:400 13px var(--fs-font-body); color:var(--clean-accent); }
#home-season-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
#home-season-form label { font:500 14px var(--fs-font-body); margin-right:6px; }
#home-season-select { min-height:42px; padding:8px 12px; border:1px solid var(--clean-rule); background:var(--clean-paper); color:var(--clean-ink); border-radius:2px; font:400 16px var(--fs-font-body); }
#home-season-form button { background:var(--clean-ink); color:var(--clean-paper); border-color:var(--clean-ink); }
.home-season-status { margin:10px 0 16px; font:400 13px var(--fs-font-body); color:var(--clean-muted); }
.home-fact-shelf { padding-top:16px; border-top:1px solid var(--clean-rule); }
.home-facts-heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
.home-facts-heading h3 { margin:0; font:500 14px var(--fs-font-body); }
.home-facts-heading button { border:0; background:transparent; color:var(--clean-accent); padding:6px 0 6px 12px; min-height:36px; font:400 13px var(--fs-font-body); cursor:pointer; }
.home-player-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.home-player-fact { display:grid; grid-template-columns:50px minmax(0,1fr); align-items:center; gap:12px; padding:12px; min-height:112px; border:1px solid var(--clean-rule); background:var(--clean-paper); color:var(--clean-ink); text-decoration:none; }
.home-fact-jumper { display:flex; align-items:center; justify-content:center; width:50px; height:76px; background:#f1eee5; border:1px solid var(--clean-rule); }
body.app-body[data-page] .home-player-fact:hover { border-color:var(--clean-accent); text-decoration:none; }
.home-player-fact .club-jumper { --jumper-size:40px; width:40px; height:60px; }
.home-player-fact .club-jumper-back { width:40px; height:60px; filter:drop-shadow(0 0 1px #80808055); }
.home-player-fact-copy { display:flex; flex-direction:column; gap:4px; min-width:0; }
.home-player-fact-copy > strong { font:600 16px/1.15 var(--fs-font-body); overflow-wrap:anywhere; }
.home-player-fact-number { font:400 13px/1.2 var(--fs-font-body); }
.home-player-fact-number b { font:600 29px/1 var(--fs-font-display); }
.home-player-fact-copy small { font:400 11px/1.3 var(--fs-font-body); color:var(--clean-muted); }
.home-recent-picks { container-type:inline-size; margin-top:18px; }
.home-recent-picks h3 { margin:0 0 10px; font:600 18px var(--fs-font-body); }
.home-recent-picks .home-player-facts { grid-template-columns:1fr; }
.home-recent-picks .home-player-fact { min-height:128px; }
@container (min-width:480px) { .home-recent-picks .home-player-facts { grid-template-columns:repeat(3,minmax(0,1fr)); } }
.home-current-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; min-width:0; }
.home-current-grid > * { min-width:0; }
body.app-body[data-page="home"] .home-current-grid .record-fixture { grid-template-columns:minmax(0,1fr); padding:0; border:0; gap:5px; }
.home-fixture-label { margin:0; color:var(--clean-muted); font-size:13px; }
body.app-body[data-page="home"] .home-current-grid .home-round-fixtures { grid-template-columns:minmax(0,1fr); }
body.app-body[data-page="home"] .home-current-grid .record-fixture-meta { display:flex; justify-content:space-between; gap:12px; margin-bottom:4px; }
body.app-body[data-page="home"] .home-current-grid .record-fixture-team { min-height:48px; }

.record-status { padding:16px 0; border-top:1px solid var(--clean-rule); }
.record-status p { margin:10px 0 0; color:var(--clean-muted); font:400 14px/1.5 var(--fs-font-body); }
body.app-body[data-page] :is(.fs-loading,.fs-empty-state,.fs-error-state,.teams-empty-state,.years-empty-state,.teams-season-empty) { color:var(--clean-muted); background:transparent; font:400 14px/1.5 var(--fs-font-body); text-transform:none; letter-spacing:0; }

@media (max-width:1000px) {
  .home-landing-intro { gap:28px; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
  .home-player-fact { padding:10px; gap:9px; }
}
@media (max-width:700px) {
  .home-landing-intro { grid-template-columns:minmax(0,1fr); gap:28px; padding:4px 0 24px; }
  body.app-body[data-page="home"] #home-intro-title { font-size:54px!important; }
  .home-intro-description { margin:14px 0 18px; }
  .home-season-start .record-section-heading { margin-bottom:12px; }
  .home-player-facts { gap:6px; }
  .home-player-fact { grid-template-columns:40px minmax(0,1fr); gap:8px; padding:10px 8px; }
  .home-fact-jumper { width:40px; height:60px; }
  .home-player-fact .club-jumper { --jumper-size:32px; }
  .home-player-fact :is(.club-jumper,.club-jumper-back) { width:32px; height:48px; }
  .home-player-fact-copy > strong { font-size:14px; }
  .home-player-fact-number { font-size:12px; }
  .home-player-fact-number b { font-size:26px; }
  .home-current-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
}

/* Club colours always surround the whole surface. */
body.app-body[data-page] :is(.fs-h2h-team,.fs-record-cover-team,.fs-club-pill,.fs-stat-line,.club-frame) {
  background:var(--club-primary)!important; color:var(--club-text)!important; border:2px solid var(--club-secondary)!important;
  box-shadow:inset 0 0 0 2px var(--club-tertiary,transparent)!important; border-radius:0!important;
}
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row,.fs-h2h-team,.fs-record-cover-team)::before,
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row,.fs-h2h-team,.fs-record-cover-team)::after { display:none!important; }
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) { min-height:60px!important; padding:8px 12px!important; margin-bottom:3px; }
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) :is(a,strong,span,p,small,b) { color:inherit!important; opacity:1; }
body.app-body[data-page] .fs-leaderboard-player strong { font:600 16px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page] .fs-leaderboard-player .fs-club-pill { border:0!important; box-shadow:none!important; background:transparent!important; padding:0!important; text-transform:none!important; font:13px var(--fs-font-body)!important; }
body.app-body[data-page] :is(.fs-rank,.fs-leaderboard-value strong,.fs-leaderboard-rank) { font:600 24px/1.1 var(--fs-font-display)!important; }
body.app-body[data-page] :is(.fs-leaderboard-panel,.fs-leaderboard-list) { border:0!important; background:transparent!important; box-shadow:none!important; }
body.app-body[data-page] :is(.fs-leaderboard-header,.fs-leaderboard-head) { background:transparent!important; border:0!important; padding:0 0 10px!important; }
body.app-body[data-page] tr.has-team-fill { background:transparent!important; color:var(--clean-ink)!important; outline:0; }
body.app-body[data-page] tr.has-team-fill td { background:transparent!important; color:inherit!important; border-left:0!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page] tr.has-team-fill td :is(a,span) { color:inherit!important; }

/* Home: compact fixtures, result strip, then current season leaders. */
body.app-body[data-page="home"] .home-round-list { display:grid; gap:12px; margin:12px 0; }
body.app-body[data-page="home"] .home-round-date { font:12px var(--fs-font-mono); color:var(--clean-muted); padding-bottom:6px; }
body.app-body[data-page="home"] .home-round-fixtures { display:grid; gap:8px; }
body.app-body[data-page="home"] .home-round-fixture { display:grid; grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr) 110px; padding:0; min-height:68px; border:1px solid var(--clean-rule); background:transparent; color:var(--clean-ink); text-decoration:none; }
body.app-body[data-page="home"] .clean-round-club { display:flex; align-items:center; align-self:stretch!important; margin:0!important; padding:14px 18px; background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary); font:700 clamp(22px,2.5vw,28px)/1.05 var(--fs-font-display); text-transform:uppercase; }
body.app-body[data-page="home"] .home-round-time { align-self:center; padding:10px; color:var(--clean-ink); text-align:center; font:15px var(--fs-font-mono); }
.home-round-time small { display:block; font:12px var(--fs-font-body); margin-top:4px; color:var(--clean-muted); }
.clean-round-open { align-self:center; text-align:center; padding:10px; font-size:14px; color:var(--clean-accent); }
body.app-body[data-page="home"] .home-radar-shell { padding-top:22px!important; border-top:1px solid var(--clean-rule)!important; }
body.app-body[data-page="home"] .fs-section { margin:0!important; }
body.app-body[data-page="home"] .fs-section-head { display:flex!important; flex-direction:row!important; justify-content:space-between!important; align-items:baseline!important; }
body.app-body[data-page="home"] .fs-section-head > div { text-align:left!important; align-items:start!important; }
body.app-body[data-page="home"] :is(.fs-leaderboard-columns,.fs-leaderboard-row) { grid-template-columns:28px minmax(0,1fr) 75px; }
body.app-body[data-page="home"] .home-now-shell { display:grid; gap:24px; }
body.app-body[data-page="home"] .home-radar-leader-grid { gap:24px; }
.home-leader-pager { display:flex; align-items:center; gap:10px; }
.home-leader-pager .record-button { display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.home-leader-pager svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.home-leader-pager [role="status"] { min-width:94px; color:var(--clean-muted); font:400 13px/1.4 var(--fs-font-body); text-align:center; }
.home-radar-shell .fs-section-head { flex-wrap:wrap; gap:12px; }
@media (max-width:760px) {
  #home-radar-controls { width:100%; }
  .home-leader-pager { gap:8px; }
  .home-leader-pager [role="status"] { min-width:0; flex:1; }
}

/* Compact result rows shared by Home and club seasons. */
.record-fixture { display:grid; grid-template-columns:170px 1fr 1fr; gap:10px; align-items:center; border-bottom:1px solid var(--clean-rule); padding:8px 0; color:var(--clean-ink); text-decoration:none; }
.record-fixture-meta { font-size:13px; color:var(--clean-muted); }
.record-fixture-meta small { display:block; }
.record-fixture-team { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 14px; min-height:52px; font:600 17px var(--fs-font-body); }
.record-fixture-team b { font:700 28px/1 var(--fs-font-display); }

body.app-body[data-page] .record-fixture { padding:8px 0!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page] :is(.fs-leaderboard-row,.fs-leaderboard-columns) { grid-template-columns:28px minmax(0,1fr) 80px!important; }
body.app-body[data-page] .fs-leaderboard-row :is(.fs-rank,.fs-leaderboard-player,.fs-leaderboard-value) { padding:0!important; }
body.app-body[data-page] .fs-leaderboard-player > span { display:block!important; margin-top:3px!important; }
body.app-body[data-page] .fs-leaderboard-player :is(em,.fs-club-pill) { font:13px/1.35 var(--fs-font-body)!important; letter-spacing:0!important; }
body.app-body[data-page] .fs-leaderboard-value > span { font:12px var(--fs-font-body)!important; }
body.app-body[data-page] .fs-leaderboard-head h3 { font:600 16px/1.3 var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; }
body.app-body[data-page="home"] .fs-section-head > div { width:auto!important; margin:0!important; }
body.app-body[data-page="home"] .fs-section-head h2 { text-align:left!important; }
body.app-body[data-page="teams"] .teams-season-leaderboard-row .fs-leaderboard-player .fs-club-pill { display:none!important; }

.record-fixture-with-boxscore { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; }
body.app-body[data-page="years"] #matches-list > .record-fixture-with-boxscore { padding:0!important; background:transparent!important; border:0!important; }
@media (max-width:760px) { .record-fixture-with-boxscore { grid-template-columns:minmax(0,1fr); gap:0; margin-bottom:14px; } .record-fixture-with-boxscore > button { justify-self:start; } }

/* Club directory and profile. */
body.app-body[data-page="teams"] .teams-grid { grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:12px; padding:0!important; margin-top:0!important; }
body.app-body[data-page="teams"] .teams-grid-card { display:flex; flex-direction:column; text-decoration:none; padding:22px 20px; min-height:242px; border:2px solid var(--team-secondary)!important; background:var(--team-primary)!important; color:var(--team-text)!important; box-shadow:inset 0 0 0 2px var(--team-tertiary,transparent)!important; }
body.app-body[data-page="teams"] .teams-grid-card::before,body.app-body[data-page="teams"] .teams-grid-card::after { display:none!important; }
body.app-body[data-page="teams"] .teams-grid-card h3 { font-size:30px; line-height:1.05; overflow-wrap:normal; word-break:normal; }
body.app-body[data-page="teams"] .teams-grid-dot { display:none; }
body.app-body[data-page="teams"] .teams-grid-stats { margin:20px 0; }
body.app-body[data-page="teams"] .teams-grid-foot { align-self:start; margin-top:auto; padding:9px 12px; border:1px solid currentColor; }
body.app-body[data-page="teams"].is-team-detail-open .clubs-bauhaus-hero { display:none!important; }
body.app-body[data-page="teams"] #team-details { border:0!important; }
body.app-body[data-page="teams"] #team-details .teams-detail-head { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:space-between!important; gap:22px; min-height:0!important; padding:20px 24px!important; text-align:left!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:2px solid var(--team-primary)!important; box-shadow:inset 0 0 0 1px var(--team-secondary); }
body.app-body[data-page="teams"] .teams-detail-head .club-icon { background:#f1eee5; outline:8px solid #f1eee5; margin:8px; }
body.app-body[data-page="teams"] .teams-detail-head > div { justify-items:start!important; gap:0!important; }
body.app-body[data-page="teams"] .teams-detail-head :is(h2,p,button) { color:inherit!important; }
body.app-body[data-page="teams"] .teams-detail-head .teams-back-btn { background:transparent!important; color:var(--clean-ink)!important; border:1px solid var(--clean-rule)!important; box-shadow:none!important; }
body.app-body[data-page="teams"] #team-name { font:600 clamp(36px,4vw,48px)/1 var(--fs-font-display)!important; margin:0 0 10px!important; text-align:left!important; }
body.app-body[data-page="teams"] .teams-detail-head::before,body.app-body[data-page="teams"] .teams-detail-head::after { display:none!important; }
body.app-body[data-page="teams"] .teams-summary-grid { display:grid!important; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:12px 20px!important; margin-block:20px; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
body.app-body[data-page="teams"] .teams-leaders-grid { display:block!important; border:0!important; }
body.app-body[data-page="teams"] .teams-leaders-grid > h3 { margin:0 0 16px; font:600 24px/1.2 var(--fs-font-display); }
.club-record-highlights { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
body.app-body[data-page="teams"] .club-record-card { display:flex; flex-direction:column; gap:12px; min-width:0; padding:16px; border:1px solid var(--clean-rule); color:var(--clean-ink); text-decoration:none; }
body.app-body[data-page="teams"] .club-record-card:hover { border-color:var(--clean-accent); text-decoration:none; }
.club-record-card-label { font:400 13px/1.3 var(--fs-font-body); color:var(--clean-muted); }
.club-record-card .record-player-name { font:500 16px/1.3 var(--fs-font-body); white-space:normal; overflow-wrap:anywhere; }
.club-record-card .record-player-jumpers { background:#f1eee5; padding:4px; }
.club-record-card .club-jumper,.club-record-card .club-jumper-back { width:38px; height:57px; }
.club-record-card .record-player-meta { font-size:12px; color:var(--clean-muted); }
.club-record-card-value { display:flex; align-items:baseline; gap:6px; }
.club-record-card-value b { font:600 30px/1 var(--fs-font-display); }
.club-record-card-value small { font:400 13px var(--fs-font-body); color:var(--clean-muted); }
.club-record-controls { flex-wrap:wrap; margin-top:24px; }
.club-record-controls h4 { margin:0; font:600 22px/1.2 var(--fs-font-display); }
.club-record-table { min-width:540px; }
.club-record-table .record-player-name { font:500 15px/1.3 var(--fs-font-body); }
.club-record-table .record-player-meta { color:var(--clean-muted); }
.club-record-player { display:flex; align-items:center; gap:12px; }
.club-record-rank { width:22px; flex-shrink:0; font:400 14px var(--fs-font-body); color:var(--clean-muted); text-align:center; }
.club-record-art-pending { width:32px; height:48px; flex-shrink:0; background:#f1eee5; }
@media (max-width:1000px) { .club-record-highlights { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:420px) {
  .club-record-highlights { gap:8px; }
  body.app-body[data-page="teams"] .club-record-card { padding:12px 10px; }
  .club-record-card .record-player-identity { gap:7px; }
  .club-record-card .record-player-name { font-size:14px; }
}
body.app-body[data-page="teams"] .teams-matches-shell { margin:0; padding:0; border:0; }
body.app-body[data-page="teams"] .teams-season-controller { margin:0 0 18px!important; padding:0!important; background:transparent!important; border:0!important; gap:0!important; }
body.app-body[data-page="teams"] #team-career-meta { margin:0; font-size:14px; }
body.app-body[data-page="teams"] .teams-season-dashboard-shell { background:transparent!important; border:0!important; padding:0!important; }
body.app-body[data-page="teams"] .teams-season-dashboard-shell::before,body.app-body[data-page="teams"] .teams-season-dashboard-shell::after { display:none!important; }
body.app-body[data-page="teams"] .teams-season-summary-grid { display:grid!important; grid-template-columns:repeat(5,minmax(0,1fr))!important; gap:16px!important; background:transparent!important; border:0!important; margin:0 0 18px; }
body.app-body[data-page="teams"] :is(.teams-summary-card,.teams-season-summary-card) { padding:12px 0!important; min-height:0!important; background:transparent!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; box-shadow:none!important; color:var(--clean-ink)!important; }
body.app-body[data-page="teams"] :is(.teams-summary-card,.teams-season-summary-card) :is(p,span) { color:var(--clean-muted)!important; font:13px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="teams"] :is(.teams-summary-card h4,.teams-season-summary-card h5) { color:var(--clean-ink)!important; font:700 30px/1.15 var(--fs-font-display)!important; }
body.app-body[data-page="teams"] .teams-summary-card h4 { text-transform:none!important; }
body.app-body[data-page="teams"] .teams-block-head { grid-column:1/-1; justify-items:start; padding:0; margin:8px 0 0; border:0; text-align:left; }
body.app-body[data-page="teams"] .teams-block-head h3 { margin:0; font:600 25px/1.2 var(--fs-font-display)!important; text-transform:none; text-align:left; }
body.app-body[data-page="teams"] .teams-leader-card { min-width:0; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
body.app-body[data-page="teams"] .teams-leader-card > h3 { margin:0 0 14px; padding:0; font:600 22px/1.2 var(--fs-font-display); text-transform:none; color:var(--clean-ink); }
.club-season-people { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px 28px; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid var(--clean-rule); font-size:14px; }
.club-season-people p { margin:0; }
.club-season-people span { display:block; color:var(--clean-muted); font-size:12px; margin-bottom:3px; }
body.app-body[data-page="teams"] .teams-chip-row { justify-content:flex-start; padding:0 0 12px; gap:6px; margin:0!important; border:0; background:transparent; }
body.app-body[data-page="teams"] .club-season-content { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:start; }
body.app-body[data-page="teams"] .club-season-content > * { min-width:0; }
body.app-body[data-page="teams"] .teams-season-leaders-grid { display:block; }
body.app-body[data-page="teams"] .record-fixture { grid-template-columns:110px 1fr 1fr; gap:6px; }
body.app-body[data-page="teams"] .record-fixture-team { font-size:15px; padding:10px; }
body.app-body[data-page="teams"] .club-leader-selector { display:flex; gap:12px; align-items:center; margin:0 0 16px; font-size:14px; }
body.app-body[data-page="teams"] .club-leader-selector select { min-height:42px; padding:8px 12px; font:15px var(--fs-font-body); background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:1px solid var(--clean-rule); border-radius:0!important; }
body.app-body[data-page="teams"] .teams-season-leaderboard-head { padding:22px 0 14px!important; margin:0!important; border:0!important; min-height:0!important; text-align:left!important; justify-items:start!important; }
body.app-body[data-page="teams"] :is(.teams-season-leaderboard-head h3,.club-season-content h3) { font:600 20px/1.2 var(--fs-font-body)!important; margin:0; text-transform:none; }
body.app-body[data-page="teams"] .teams-season-leader-tabs { display:flex; flex-wrap:wrap; gap:6px; }
body.app-body[data-page="teams"] .teams-season-leader-tabs button { font:14px var(--fs-font-body); padding:8px 10px; }

/* One compact year selector; archive decade browsing is optional. */
.archive-picker { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.archive-picker > label { font-size:15px; font-weight:600; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) { flex-wrap:wrap; min-width:0; max-width:100%; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) { display:flex!important; position:static!important; opacity:1!important; width:auto!important; height:auto!important; overflow:visible!important; clip:auto!important; clip-path:none!important; gap:8px; align-items:center; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) input { display:none; }
body.app-body[data-page] :is(.teams-season-fallback,.years-controller-fallback) :is(button,select) { padding:8px 12px; min-height:42px; width:auto; background:var(--clean-paper)!important; border:1px solid var(--clean-rule); color:var(--clean-ink)!important; font:15px var(--fs-font-body); border-radius:0; }
.archive-decades { margin-top:12px; }
.archive-decades summary { font-size:13px; color:var(--clean-muted); cursor:pointer; }
body.app-body[data-page] :is(.years-decade-bar,.years-bubble-bar,.teams-decade-bar,.teams-year-bubble-bar) { justify-content:flex-start!important; gap:6px!important; margin:8px 0!important; padding:0!important; }
body.app-body[data-page] :is(.years-decade-bar,.years-bubble-bar,.teams-decade-bar,.teams-year-bubble-bar) button { border-radius:0!important; min-height:38px; padding:8px 12px!important; font-size:13px!important; }
.clean-section-nav,.record-tabs { display:flex; flex-wrap:wrap; gap:22px; padding:0; margin:10px 0 22px; border-bottom:1px solid var(--clean-rule); }
body.app-body[data-page] :is(.clean-section-nav,.record-tabs) button { padding:12px 0; min-height:44px; border:0; border-bottom:2px solid transparent; border-radius:0; color:var(--clean-muted); background:transparent; font:15px var(--fs-font-body); cursor:pointer; }
body.app-body[data-page] :is(.clean-section-nav,.record-tabs) button[aria-pressed="true"] { color:var(--clean-accent); border-bottom-color:currentColor; }
#team-details[data-profile-view="season"] > :is(#team-summary,#top-performers),#team-details[data-profile-view="history"] > #all-matches { display:none!important; }
body.app-body[data-page="years"] .years-ladder-layout { display:block; }
body.app-body[data-page="years"] .years-round-head { padding:0 0 12px!important; background:transparent!important; border:0!important; }

/* Player record: deliberately separate from the retired dossier/card layout. */
.record-page { min-width:0; }
.record-page p { margin:0; }
.record-page-heading { margin-bottom:24px; }
.record-page-heading p { color:var(--clean-muted); }
.record-toolbar { display:flex; align-items:end; gap:20px; margin-bottom:16px; }
.record-search { flex:1; }
.record-page label { display:grid; gap:6px; font-size:13px; color:var(--clean-muted); }
body.app-body[data-page] .record-page :is(input,select) { display:block; width:100%; min-height:44px; padding:10px 12px; font:16px var(--fs-font-body); border:1px solid var(--clean-rule)!important; border-radius:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; box-shadow:none!important; }
.record-alphabet { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:14px; }
.record-alphabet button { flex:1; min-width:36px; min-height:40px; border:1px solid var(--clean-rule); background:transparent; color:var(--clean-ink); font:500 15px var(--fs-font-body); cursor:pointer; }
.record-alphabet button[aria-pressed="true"] { background:var(--clean-ink); color:var(--clean-paper); }
.record-directory { display:grid; gap:5px; margin:12px 0 20px; }
.record-person { display:grid; grid-template-columns:minmax(0,1fr) 90px 90px 145px; gap:16px; align-items:center; padding:12px 18px; text-decoration:none; }
.record-person strong { font-size:18px; font-weight:600; }
.record-person small { display:block; font-size:13px; margin-top:3px; }
.record-person-number { text-align:right; }
.record-person-number b { font:700 28px/1 var(--fs-font-display); }
.record-button { padding:9px 14px; min-height:42px; border:1px solid var(--control-line); border-radius:var(--control-radius); color:var(--clean-ink); background:var(--clean-paper); font:500 14px var(--fs-font-body); cursor:pointer; }
.record-button:disabled { opacity:.4; cursor:default; }
.record-back { display:inline-block; margin-bottom:18px; color:var(--clean-accent); font-size:14px; }
.record-banner { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px; }
.record-banner p { font-size:15px; }
.record-banner h1 { margin:8px 0 12px!important; }
.record-banner a { color:inherit; }
.record-headline { display:flex; gap:32px; margin:0; }
.record-headline dt { font-size:13px; }
.record-headline dd { font:700 42px/1.1 var(--fs-font-display); margin:4px 0 0; }
.record-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:22px 0 14px; }
.record-section-heading h2 { margin:0 0 4px; }
.record-section-heading p { font-size:14px; color:var(--clean-muted); }
.record-section-heading select { min-width:140px; }
.record-stints { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:16px; }
.record-stint { display:grid; grid-template-columns:auto auto; gap:4px 20px; padding:14px 18px; text-decoration:none; }
.record-stint strong { font-weight:600; }
.record-stint span { font-size:14px; }
.record-stint small { grid-column:1/-1; font-size:13px; }
.record-table-wrap { overflow-x:auto; max-width:100%; overscroll-behavior-x:contain; }
.record-table { width:100%; border-collapse:collapse; font-size:15px; font-variant-numeric:tabular-nums; }
.record-table th,.record-table td { padding:12px 14px!important; text-align:right; white-space:nowrap; border-bottom:1px solid var(--clean-rule); }
.record-table th:first-child,.record-table td.record-text { text-align:left; }
.record-table thead th { font:500 13px var(--fs-font-body)!important; color:var(--clean-muted)!important; text-align:right; text-transform:none!important; letter-spacing:0!important; }
.record-table thead th:first-child { text-align:left; }
.record-table th button { background:transparent; color:inherit; border:0; font:inherit; padding:8px 0; cursor:pointer; }
.record-table th[aria-sort="ascending"],.record-table th[aria-sort="descending"] { color:var(--clean-accent); }
.record-table tbody th { font:600 15px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; color:inherit!important; }
.record-table small { display:block; font:12px/1.4 var(--fs-font-body); margin-top:4px; }
.record-table a { color:inherit; text-decoration:underline; text-decoration-color:color-mix(in srgb,currentColor 40%,transparent); text-underline-offset:4px; }
.record-colour-table { border-collapse:collapse; border-spacing:0; }
.record-colour-table tbody tr { background:transparent; color:var(--clean-ink); }
.record-colour-table tbody :is(td,th) { border-bottom:1px solid var(--clean-rule)!important; box-shadow:none; }
.record-colour-table tbody :is(td,th):first-child { position:sticky; left:0; z-index:1; background:var(--clean-paper); }
.record-note { color:var(--clean-muted); font-size:13px; line-height:1.5; }
.record-table-wrap + .record-note { margin-top:14px; }
.record-pagination { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-top:16px; }
.record-pagination > div { display:flex; gap:8px; }
.record-empty { padding:28px 0; color:var(--clean-muted); }
#profile-status:not(:empty) { padding:16px 0; }

/* Live, trophies and match centre retain their data tools with quieter framing. */
body.app-body[data-page="live"] .live-centre-day-strip { padding-bottom:18px!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page="live"] .live-centre-day-title { font-size:36px; }
body.app-body[data-page="live"] .live-centre-day-stat { background:transparent!important; border:0!important; padding:8px 0!important; }
body.app-body[data-page="trophy"] :is(.trophy-landing-shell,.trophy-tabs-shell) { padding-bottom:22px!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page="trophy"] .trophy-landing-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:24px!important; background:transparent!important; }
body.app-body[data-page="trophy"] .trophy-leader-card { grid-column:auto!important; background:transparent!important; padding:0!important; border:0!important; }
body.app-body[data-page="trophy"] .trophy-leader-head { justify-content:flex-start!important; text-align:left!important; margin:0 0 14px!important; border:0!important; background:transparent!important; padding:0!important; }
body.app-body[data-page="trophy"] .trophy-leader-head svg { display:none; }
body.app-body[data-page="trophy"] :is(.fs-leaderboard-row,.trophy-record-row) { grid-template-columns:28px minmax(0,1fr) 80px!important; gap:12px!important; }
body.app-body[data-page="trophy"] .trophy-record-player { padding:0!important; }
body.app-body[data-page="trophy"] .trophy-team-pills { margin-top:4px; }
body.app-body[data-page="trophy"] .trophy-club-pill { border:0!important; box-shadow:none!important; background:transparent!important; padding:0!important; font:13px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .trophy-record-career { display:none!important; }
body.app-body[data-page="trophy"] :is(.trophy-rank-pill,.trophy-total-cell > span) { font-size:26px!important; }
body.app-body[data-page="trophy"] .trophy-record-player > a { font:600 16px var(--fs-font-body)!important; text-transform:none!important; }
/* Match workspace: score bands, one player table, supporting facts below. */
body.app-body[data-page="match-centre"] { --mc-paper:var(--clean-paper); --mc-card:var(--clean-paper); --mc-ink:var(--clean-ink); --mc-muted:var(--clean-muted); --mc-rule:var(--clean-rule); --mc-rule-soft:var(--clean-rule); --mc-red:var(--clean-accent); }
body.app-body[data-page="match-centre"] .match-centre-page { padding:0!important; gap:16px; }
.record-breadcrumb { display:flex; gap:9px; flex-wrap:wrap; color:var(--clean-muted); font-size:13px; margin-bottom:16px; }
.record-breadcrumb a { text-decoration:underline; text-underline-offset:3px; }
body.app-body[data-page="match-centre"] #match-centre-hero.record-match-hero { background:transparent!important; border:0!important; box-shadow:none!important; }
.record-match-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; color:var(--clean-muted); font-size:13px; margin-bottom:12px; }
.record-score-bands { display:grid; gap:5px; }
.record-score-band { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 18px; min-height:74px; background:var(--team-fill); color:var(--team-text); border:2px solid var(--team-secondary); box-shadow:inset 0 0 0 2px var(--team-tertiary); }
.record-score-band.has-quarters { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,.9fr) auto; }
.record-score-club { display:flex; align-items:center; gap:14px; min-width:0; }
.record-score-club h2 { margin:0; font:600 32px/1.1 var(--fs-font-display); }
body.app-body[data-page="match-centre"] .record-score-club a { color:inherit!important; text-decoration:none!important; }
body.app-body[data-page="match-centre"] .record-score-band[data-club="Essendon"] .record-score-club a { color:var(--team-secondary)!important; }
.record-quarter-line { display:grid; grid-template-columns:repeat(var(--quarter-count,4),minmax(0,1fr)); gap:8px; margin:0; text-align:center; font-variant-numeric:tabular-nums; }
.record-quarter-cell { display:flex; flex-direction:column; align-items:center; gap:3px; min-width:0; }
.record-quarter-label { font:500 10px/1.2 var(--fs-font-body); opacity:.8; }
.record-quarter-score { font:600 23px/1 var(--fs-font-display); }
.record-quarter-total { font:400 12px/1.2 var(--fs-font-body); opacity:.85; }
.record-fixture,.record-live-scoreboard { container-type:inline-size; container-name:fixture; }
body.app-body[data-page] :is(.record-fixture-team,.record-live-team).has-quarters { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; }
:is(.record-fixture-team,.record-live-team).has-quarters .record-club-name { grid-column:1; grid-row:1; min-width:0; }
:is(.record-fixture-team,.record-live-team).has-quarters .record-fixture-total { grid-column:2; grid-row:1; }
:is(.record-fixture-team,.record-live-team).has-quarters .record-quarter-line { grid-column:1/-1; grid-row:2; padding-top:7px; border-top:1px solid color-mix(in srgb,currentColor 25%,transparent); }
:is(.record-fixture-team,.record-live-team) .record-quarter-score { font-size:19px; }
:is(.record-fixture-team,.record-live-team) .record-quarter-total { font-size:11px; }
.record-fixture[data-quarter-state="unavailable"]::after { content:'Quarter scores unavailable for this record.'; grid-column:1/-1; color:var(--clean-muted); font:400 11px var(--fs-font-body); }
@container fixture (min-width:560px) {
  body.app-body[data-page] :is(.record-fixture-team,.record-live-team).has-quarters { grid-template-columns:minmax(0,1fr) minmax(210px,.9fr) auto; }
  :is(.record-fixture-team,.record-live-team).has-quarters .record-quarter-line { grid-column:2; grid-row:1; padding-top:0; border:0; }
  :is(.record-fixture-team,.record-live-team).has-quarters .record-fixture-total { grid-column:3; }
}
.record-score-value { display:flex; gap:20px; align-items:baseline; flex-shrink:0; font-variant-numeric:tabular-nums; }
.record-score-value strong { font:600 44px/1 var(--fs-font-display); min-width:58px; text-align:right; }
.record-score-value small { font-size:14px; }
body.app-body[data-page="match-centre"] .match-centre-storyline { padding:6px 0!important; margin:6px 0!important; border:0!important; background:transparent!important; display:block!important; }
.match-centre-storyline .match-centre-kicker { display:none; }
body.app-body[data-page="match-centre"] .match-centre-storyline > p { font:400 15px/1.5 var(--fs-font-body)!important; color:var(--clean-ink)!important; }
body.app-body[data-page="match-centre"] .match-record-heading { font:600 25px/1.2 var(--fs-font-display); margin:20px 0 8px; }
.record-stat-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; margin-top:14px; }
body.app-body[data-page="match-centre"] .record-stat-heading h2 { margin:0!important; }
.record-detail-toggle { display:inline-flex; align-items:center; gap:9px; min-height:44px; font:500 14px var(--fs-font-body); cursor:pointer; }
.record-stat-controls { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:8px 16px; margin-left:auto; }
.record-stat-key-toggle,.record-stat-key-close { border:1px solid var(--control-line); border-radius:var(--control-radius); padding:8px 12px; min-height:40px; background:var(--clean-paper); color:var(--clean-ink); font:500 14px var(--fs-font-body); cursor:pointer; }
.record-stat-key-toggle:focus-visible,.record-stat-key-close:focus-visible { outline:2px solid var(--clean-accent); outline-offset:3px; }
.record-stat-key-toggle:hover,.record-stat-key-close:hover { background:var(--control-hover); }
.record-stat-key-dialog { width:min(460px,calc(100vw - 32px)); max-height:75vh; max-height:75dvh; margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:1px solid var(--clean-rule); border-radius:4px; background:var(--clean-paper); color:var(--clean-ink); box-shadow:0 12px 36px rgb(0 0 0 / .2); font:14px/1.4 var(--fs-font-body); }
.record-stat-key-dialog::backdrop { background:rgb(0 0 0 / .4); }
.record-stat-key-head { position:sticky; top:0; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 18px; background:var(--clean-paper); border-bottom:1px solid var(--clean-rule); }
.record-stat-key-head h3 { margin:0; font:600 22px var(--fs-font-display); text-transform:none; }
.record-stat-key-note { margin:14px 18px 8px; color:var(--clean-muted); font-size:13px; }
.record-stat-key-list { margin:0; padding:0 18px 14px; }
.record-stat-key-list > div { display:grid; grid-template-columns:52px minmax(0,1fr); gap:12px; padding:10px 0; border-bottom:1px solid var(--clean-rule); }
.record-stat-key-list > div:last-child { border-bottom:0; }
.record-stat-key-list dt { font-weight:600; }
.record-stat-key-list dd { margin:0; }
.record-stat-key-list small { display:block; margin-top:3px; color:var(--clean-muted); font-size:12px; }
.record-impact-body { padding:16px 18px; }
.record-impact-body > p { margin:0 0 16px; }
.record-impact-explanation { margin:0; }
.record-impact-explanation > div { padding:12px 0; border-top:1px solid var(--clean-rule); }
.record-impact-explanation dt { margin-bottom:5px; font-weight:600; }
.record-impact-explanation dd { margin:0; }
body.app-body[data-page] .record-detail-toggle input { appearance:auto!important; width:16px!important; height:16px!important; min-height:0!important; margin:0!important; padding:0!important; accent-color:var(--clean-accent); }
body.app-body[data-page="match-centre"] .match-centre-modebar { display:block!important; min-height:0!important; margin:0!important; padding:0 0 10px!important; border:0!important; background:transparent!important; }
body.app-body[data-page="match-centre"] .match-centre-pill-row { gap:5px; justify-content:flex-start!important; }
body.app-body[data-page="match-centre"] .match-centre-pill-btn { font:500 13px var(--fs-font-body)!important; min-height:38px; border:1px solid var(--clean-rule)!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; padding:8px 11px!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="match-centre"] .match-centre-pill-btn.is-active { background:var(--clean-ink)!important; color:var(--clean-paper)!important; }
.record-stat-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; border-top:2px solid var(--clean-accent); padding:10px 0; }
.record-team-filters { display:flex; flex-wrap:wrap; gap:5px; }
.record-team-filters button { min-height:40px; padding:7px 12px; background:var(--clean-paper); color:var(--clean-ink); border:1px solid var(--clean-rule); border-radius:2px; font:500 14px var(--fs-font-body); cursor:pointer; }
.record-team-filters button[aria-pressed="true"] { background:var(--clean-ink); color:var(--clean-paper); border-color:var(--clean-ink); }
.record-scroll-hint { color:var(--clean-muted); font-size:12px; margin:2px 0 10px; }
.record-match-table-wrap { overflow:auto; max-height:min(72svh,800px); overscroll-behavior-x:contain; max-width:100%; scrollbar-gutter:stable; }
.record-match-table-wrap:focus-visible { outline:2px solid var(--clean-accent); outline-offset:3px; }
.record-match-table { width:100%; min-width:calc(170px + var(--stat-count) * 48px); table-layout:fixed; border-collapse:collapse; font:14px var(--fs-font-body); font-variant-numeric:tabular-nums; }
.record-match-table col.record-player-column { width:170px; }
body.app-body[data-page] .record-match-table :is(td,th) { text-align:center!important; padding:7px 8px!important; }
.record-match-table thead th { position:sticky; top:0; z-index:3; background:var(--clean-paper); box-shadow:inset 0 -1px var(--clean-ink); height:43px; font-weight:500; }
body.app-body[data-page="match-centre"] #record-match-player-table thead th,
body.app-body[data-page="match-centre"] #record-match-player-table .record-player-column { background:var(--clean-paper)!important; }
body.app-body[data-page="match-centre"] .record-match-table thead :is(th,button,abbr,button > span) { font:500 14px/1.35 var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; color:var(--clean-ink)!important; }
body.app-body[data-page="match-centre"] .record-match-table tbody td { font:400 14px/1.35 var(--fs-font-body)!important; color:var(--clean-ink)!important; }
body.app-body[data-page="match-centre"] .record-match-table .record-player-link { font:500 14px/1.35 var(--fs-font-body)!important; color:var(--clean-ink)!important; }
.record-match-table th button { background:transparent; color:inherit; padding:6px 0; min-height:32px; width:100%; text-align:center!important; border:0; font:inherit; display:flex; justify-content:center!important; gap:3px; cursor:pointer; }
.record-match-table abbr { text-decoration:none; }
.record-table td abbr[title] { text-decoration:none; }
.record-match-table th[aria-sort] { color:var(--clean-accent); }
.record-match-table td { height:58px; border-bottom:1px solid var(--clean-rule); }
body.app-body[data-page] .record-match-table .record-player-column { position:sticky; left:0; z-index:1; text-align:left!important; background:var(--clean-paper); }
body.app-body[data-page] .record-match-table thead .record-player-column { z-index:4; }
body.app-body[data-page="match-centre"] .record-match-table .record-player-column button { justify-content:flex-start!important; text-align:left!important; }
body.app-body[data-page="match-centre"] .record-match-table tbody .is-stat-focus { color:light-dark(var(--club-record-ink),color-mix(in srgb,var(--club-record-ink) 35%,white))!important; font-weight:600!important; background:light-dark(color-mix(in srgb,var(--club-record-ink) 6%,var(--clean-paper)),color-mix(in srgb,var(--club-record-ink) 18%,var(--clean-paper))); }
body.app-body[data-page="match-centre"] .match-centre-analysis-layout { display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:24px; }
.match-centre-analysis-main { display:block!important; min-width:0; }
.match-centre-analysis-main > *, .record-stat-workspace { min-width:0; max-width:100%; }
body.app-body[data-page="match-centre"] :is(.match-centre-surface,.match-centre-story-section,.match-centre-rail-section) { background:transparent!important; color:var(--clean-ink)!important; box-shadow:none!important; border:0!important; }
body.app-body[data-page="match-centre"] .match-centre-story-section { padding:18px 0!important; border-top:1px solid var(--clean-rule)!important; }
body.app-body[data-page="match-centre"] .match-centre-section-head { padding:0 0 10px!important; background:transparent!important; border:0!important; }
body.app-body[data-page="match-centre"] :is(.match-centre-section-head h2,.record-match-leaders h2) { font:600 24px/1.2 var(--fs-font-display)!important; text-transform:none!important; letter-spacing:0!important; color:var(--clean-ink)!important; margin:0 0 12px!important; }
.record-match-comparisons,.record-club-leaders-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:24px; align-items:start; }
.record-match-comparisons > *, .record-club-leaders-grid > * { min-width:0; }
.record-comparison-wrap { max-width:100%; overflow-x:auto; }
.record-comparison-table,.record-leaders-table { width:100%; table-layout:fixed; border-collapse:collapse; font-variant-numeric:tabular-nums; }
body.app-body[data-page="match-centre"] :is(.record-comparison-table,.record-leaders-table) :is(th,td) { padding:9px 10px!important; background:transparent!important; color:var(--clean-ink)!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; box-shadow:none!important; font:400 14px/1.35 var(--fs-font-body)!important; text-align:center!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="match-centre"] :is(.record-comparison-table,.record-leaders-table) th[scope="row"],body.app-body[data-page="match-centre"] .record-comparison-table th:first-child { text-align:left!important; }
.record-comparison-club { width:30%; }
body.app-body[data-page="match-centre"] .record-comparison-table :is(th,td) { white-space:normal!important; overflow-wrap:normal; }
body.app-body[data-page="match-centre"] .record-comparison-table tbody td { font-size:16px!important; font-weight:500!important; }
body.app-body[data-page="match-centre"] .record-comparison-table .club-identity { display:flex!important; flex-direction:column; justify-content:center; gap:5px; }
.record-meetings { padding:12px 0; color:var(--clean-muted); font:400 13px/1.6 var(--fs-font-body); }
.record-meetings summary { cursor:pointer; }
.record-match-leaders { margin-top:28px; padding-top:20px; border-top:1px solid var(--clean-rule); }
.record-club-leaders { border:1px solid var(--clean-rule); }
body.app-body[data-page="match-centre"] .record-club-leaders > h3 { margin:-1px -1px 0!important; padding:10px 14px; background:var(--team-fill); color:var(--team-text); border:2px solid var(--team-secondary); box-shadow:inset 0 0 0 2px var(--team-tertiary); font:600 23px/1.2 var(--fs-font-display)!important; text-transform:none!important; }
body.app-body[data-page="match-centre"] .record-club-leaders > h3 a { color:inherit!important; text-decoration:none; }
body.app-body[data-page="match-centre"] .record-leaders-table th { color:var(--clean-muted)!important; font-size:12px!important; }
.record-leader-label-column { width:85px; }
.record-leader-value-column { width:78px; }
body.app-body[data-page="match-centre"] .record-leaders-table .record-text { text-align:left!important; }
.record-leader-names { display:grid; gap:8px; }
body.app-body[data-page="match-centre"] .record-leader-names a { min-width:0; font:500 14px/1.3 var(--fs-font-body)!important; text-transform:none!important; white-space:normal!important; }
body.app-body[data-page="match-centre"] .record-leader-value strong { display:block; font:600 27px/1 var(--fs-font-display)!important; }
.record-leader-value small { font:400 11px/1.2 var(--fs-font-body); color:var(--clean-muted); }
.record-best-on-ground { display:flex; align-items:center; gap:14px; padding:14px 0; border-block:1px solid var(--clean-rule); }
body.app-body[data-page="match-centre"] .record-best-on-ground h3 { font:500 14px var(--fs-font-body)!important; margin:0 0 4px; text-transform:none!important; }
.record-best-on-ground p { margin:0; font:600 23px var(--fs-font-display); }
body.app-body[data-page="match-centre"] .record-best-on-ground p a { font:600 23px/1.2 var(--fs-font-display)!important; text-transform:none!important; }
.record-best-on-ground small { color:var(--clean-muted); font:400 12px var(--fs-font-body); }
.record-best-rating { margin-left:auto; text-align:center; font:600 34px/1 var(--fs-font-display); }
.record-best-rating small { display:block; margin-top:4px; }
.record-match-notes { margin-top:24px; padding:14px 0; border-top:1px solid var(--clean-rule); color:var(--clean-muted); font:400 13px/1.5 var(--fs-font-body); }
.record-match-notes summary { cursor:pointer; }
.record-match-notes dl { display:grid; gap:12px; max-width:72ch; margin:16px 0; }
.record-match-notes dt { font-weight:600; color:var(--clean-ink); }
.record-match-notes dd { margin:2px 0 0; }

/* Match status stays distinct from team identity and optional form details. */
body.app-body[data-page="live"] .live-centre-day-strip { display:flex!important; justify-content:space-between; align-items:center; gap:24px; min-height:0!important; }
body.app-body[data-page="live"] .live-centre-day-copy { text-align:left!important; padding:0!important; }
body.app-body[data-page="live"] .live-centre-day-copy .app-hero-kicker { display:none; }
body.app-body[data-page="live"] #live-centre-day-title { font:600 clamp(36px,4vw,48px)/1.1 var(--fs-font-display)!important; text-transform:none!important; margin:0 0 10px; }
body.app-body[data-page="live"] #live-centre-day-meta { margin:0!important; padding:0!important; text-align:left!important; font:15px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="live"] .live-centre-day-stats { display:flex!important; gap:30px; background:transparent!important; border:0!important; padding:0!important; }
body.app-body[data-page="live"] .live-centre-day-stat strong { font-size:28px!important; color:var(--clean-ink)!important; }
body.app-body[data-page="live"] .live-centre-layout { display:block!important; max-width:100%; }
body.app-body[data-page="live"] .live-centre-board-panel { padding:0!important; border:0!important; background:transparent!important; }
.live-board-status { margin:0; padding:7px 10px; border:1px solid var(--clean-accent); border-radius:4px; color:var(--clean-accent); font:500 14px var(--fs-font-body); }
.live-board-status strong { font:600 16px var(--fs-font-body); }
.fixture-board-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.fixture-date-group { margin-top:24px; }
body.app-body[data-page="live"] :is(.fixture-day-title,.fixture-section-title) { margin:0 0 14px; color:var(--clean-ink); font:600 22px/1.2 var(--fs-font-body); letter-spacing:0; text-transform:none; }
body.app-body[data-page="live"] .fixture-section-title { margin-top:24px; }
@media (max-width:999px) { .fixture-board-grid { grid-template-columns:minmax(0,1fr); } }
body.app-body[data-page="live"] .live-centre-section { border:0!important; background:transparent!important; box-shadow:none!important; }
body.app-body[data-page="live"] .live-centre-section-head > div { width:auto!important; text-align:left!important; }
body.app-body[data-page="live"] .live-centre-section-head { padding:18px 0 12px!important; background:transparent!important; border:0!important; text-align:left!important; display:block!important; }
body.app-body[data-page="live"] .live-centre-section-head h3 { font:600 22px var(--fs-font-body)!important; text-transform:none!important; text-align:left!important; }
.record-live-card { min-width:0; padding-bottom:16px; margin:0; border-bottom:1px solid var(--clean-rule); background:var(--clean-paper); }
.record-live-meta { display:flex; justify-content:center; text-align:center; flex-wrap:wrap; gap:6px 12px; font:400 13px/1.4 var(--fs-font-body); margin-bottom:10px; color:var(--clean-muted); }
.record-live-status { color:var(--clean-accent); font-weight:600; }
.record-live-scoreboard { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; align-items:center; }
.record-live-team { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:10px 14px; min-height:58px; font:600 25px/1.1 var(--fs-font-display); text-transform:none; text-decoration:none; }
.record-live-team .record-club-name { min-width:0; overflow-wrap:anywhere; }
.record-live-versus { text-align:center; color:var(--clean-muted); }
.record-live-actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:14px 0; }
.record-live-actions small { margin-left:auto; color:var(--clean-muted); }
.record-live-form summary { font-size:14px; cursor:pointer; }
.record-live-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:14px; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-panel::before { display:none!important; }
body.app-body[data-page="live"] .record-live-form :is(.upcoming-edge-copy,.upcoming-edge-label,.upcoming-edge-subhead,.upcoming-edge-player-name,.upcoming-edge-player-stat,.upcoming-edge-player-link) { font-family:var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; }
body.app-body[data-page="live"] .record-live-form :is(.upcoming-edge-subhead,.upcoming-edge-player-name,.upcoming-edge-player-stat,.upcoming-edge-player-link) { color:var(--clean-ink)!important; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-team { color:inherit!important; font:600 22px var(--fs-font-display)!important; text-transform:none!important; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-player-name { font:600 15px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page] :is(.years-round-bar,.years-ladder-mode-tabs) { background:transparent!important; border:0!important; padding:8px 0!important; gap:6px!important; }
body.app-body[data-page] :is(.years-round-chip,.years-ladder-mode-tab,.fs-tab) { border-radius:0!important; font:14px var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; min-height:40px; }
body.app-body[data-page] :is(.years-ladder-table-home-style,.years-boxscore-table,.trophy-modal-table,.match-centre-history-table) th { font:500 13px var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; }
body.app-body[data-page] :is(.years-ladder-table-home-style,.years-boxscore-table,.trophy-modal-table,.match-centre-history-table) td { font:15px var(--fs-font-body)!important; }
@media (max-width:760px) {
  body.app-body[data-page="live"] .live-centre-day-strip { display:block!important; }
  body.app-body[data-page="live"] .live-centre-day-stats { margin-top:16px; }
  .record-live-team { font-size:25px; padding:16px 12px; }
  .record-live-scoreboard { grid-template-columns:minmax(0,1fr); }
  .record-live-form-grid { grid-template-columns:1fr; }
}

@media (max-width:1150px) {
  .site-search { order:4; flex-basis:100%; margin:0; }
  .site-search-results { width:100%; }
  body.app-body[data-page="teams"] .club-season-content { grid-template-columns:1fr; }
  .club-season-mobile-tabs.clean-section-nav { display:flex; }
}
@media (max-width:760px) {
  .club-season-people { grid-template-columns:1fr; }
  body.app-body[data-page] :is(.app-topbar,.app-hero,.clean-round-header) { width:calc(100% - 32px); }
  body.app-body[data-page] .app-topbar { gap:10px; }
  body.app-body[data-page] .app-main { padding:20px 16px 90px!important; }
  body.app-body[data-page="home"] .home-round-fixture { grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr); }
  body.app-body[data-page="home"] .clean-round-club { font-size:20px!important; padding:12px 8px; }
  .clean-round-open { grid-column:1/-1; padding:8px; border-top:1px solid var(--clean-rule); }
  body.app-body[data-page="home"] .home-round-time { font-size:13px; padding:6px; }
  body.app-body[data-page="home"] .home-radar-leader-grid { grid-template-columns:1fr; }
  body.app-body[data-page="teams"] #team-details .teams-detail-head { padding:18px!important; flex-wrap:nowrap; gap:12px; }
  body.app-body[data-page="teams"] .teams-season-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:10px!important; }
  body.app-body[data-page="teams"] .teams-detail-head > div { min-width:0; }
  body.app-body[data-page="teams"] .teams-back-btn { padding:8px!important; }
  body.app-body[data-page="teams"] .teams-back-btn span { display:none; }
  body.app-body[data-page="teams"] .teams-season-summary-card h5 { font-size:26px!important; }
  .clean-section-nav,.record-tabs { gap:18px; }
  body.app-body[data-page="trophy"] .trophy-landing-grid { grid-template-columns:1fr!important; }
  .record-banner { display:block; padding:20px; }
  .record-headline { margin-top:20px; gap:28px; }
  .record-headline dd { font-size:36px; }
  .record-toolbar { align-items:stretch; flex-direction:column; gap:12px; }
  .record-person { grid-template-columns:minmax(0,1fr) 48px 48px; gap:10px; padding:12px; }
  .record-person-number b { font-size:24px; }
  .record-person small { font-size:12px; }
  .record-directory-disposals { display:none; }
  .record-section-heading { align-items:start; flex-wrap:wrap; }
  .record-stint { flex:1 0 100%; box-sizing:border-box; }
  .record-table :is(th,td) { padding:10px 12px!important; }
  .record-fixture,body.app-body[data-page="teams"] .record-fixture { grid-template-columns:1fr 1fr; }
  .record-fixture-meta { grid-column:1/-1; display:flex; gap:8px; }
  .record-fixture-team { padding:10px; font-size:15px; }
  .site-search-kind { padding:6px; font-size:11px; }
}
@media (max-width:760px) {
  body.app-body[data-page="match-centre"] .match-centre-hero-matchup { grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-team-side { padding:12px 8px!important; min-height:120px!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-team { font-size:20px!important; max-width:none!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-centre { padding:10px 6px!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-score { font-size:22px!important; }
  body.app-body[data-page="match-centre"] .match-centre-score-total { font-size:28px!important; }
  body.app-body[data-page="match-centre"] .match-centre-hero-sub { font-size:12px!important; }
}
/* Tables use the same alignment for a column's heading, values and sort control. */
body.app-body[data-page] table :is(th,td) { text-align:left!important; vertical-align:middle; }
body.app-body[data-page] :is(table.record-table,table.live-detail-player-table) :is(th,td),
body.app-body[data-page] table :is(th,td):is(.is-center,.is-right,.is-numeric,.is-num,.is-rank,.is-jersey) { text-align:center!important; }
body.app-body[data-page] table :is(th,td):is(.record-text,.is-left,.is-player,.is-team) { text-align:left!important; }
body.app-body[data-page] table th button { text-align:inherit!important; justify-content:center!important; padding-inline:0!important; }
body.app-body[data-page] table th:is(.record-text,.is-left,.is-player,.is-team) button { justify-content:flex-start!important; }
body.app-body[data-page] table :is(th,td) { padding-inline:12px!important; }
body.app-body[data-page] .trophy-modal-table tbody tr.has-team-fill td { padding-inline:12px!important; }
body.app-body[data-page] table :is(th,td,span,strong,b,small,button) { font-weight:400!important; }
body.app-body[data-page] table tbody :is(th,td,span,strong,b) { font-family:var(--fs-font-body)!important; }
body.app-body[data-page] table .trophy-total-cell { justify-content:center!important; }
body.app-body[data-page] table .trophy-team-pills { justify-content:flex-start!important; }

/* Shared club-colour jumper backs. Numbers belong to the rendered source row. */
.club-jumper { --jumper-size:30px; display:inline-flex!important; flex-direction:column; align-items:center; justify-content:center; gap:2px; flex:0 0 calc(var(--jumper-size) + 4px); min-width:calc(var(--jumper-size) + 4px); vertical-align:middle; line-height:1; }
.club-jumper.is-large { --jumper-size:52px; }
.club-jumper-back { position:relative; display:block!important; width:var(--jumper-size); height:calc(var(--jumper-size)*1.08); background:var(--jumper-primary); clip-path:polygon(19% 0,35% 0,40% 5%,60% 5%,65% 0,81% 0,81% 20%,86% 33%,100% 41%,94% 49%,94% 100%,6% 100%,6% 49%,0 41%,14% 33%,19% 20%); }
.club-jumper-back.is-sash { background:linear-gradient(42deg,var(--jumper-primary) 0 36%,var(--jumper-secondary) 36% 57%,var(--jumper-primary) 57%); }
.club-jumper-back.is-stripes { background:repeating-linear-gradient(90deg,var(--jumper-primary) 0 22%,var(--jumper-secondary) 22% 43%); }
.club-jumper-back.is-hoops { background:linear-gradient(to bottom,var(--jumper-primary) 0 59%,var(--jumper-secondary) 59% 65%,var(--jumper-third) 65% 81%,var(--jumper-primary) 81%); }
.club-jumper-back.is-yoke { background:linear-gradient(156deg,var(--jumper-secondary) 0 22%,transparent 22%),linear-gradient(204deg,var(--jumper-secondary) 0 22%,var(--jumper-primary) 22%); }
.club-jumper-back.is-panels { background:linear-gradient(90deg,var(--jumper-primary) 0 34%,var(--jumper-secondary) 34% 66%,var(--jumper-third) 66%); }
.club-jumper-back.is-artwork { height:calc(var(--jumper-size)*1.5); background:transparent; clip-path:none; }
.club-jumper-back.is-artwork > img { display:block; width:100%; height:100%; object-fit:contain; }
body.app-body[data-page] .club-jumper .club-jumper-number { position:absolute; inset:var(--jumper-number-top,21%) 0 auto; text-align:center!important; color:var(--jumper-number)!important; font:700 calc(var(--jumper-size)*var(--jumper-number-scale,.58))/1 var(--fs-font-display)!important; text-shadow:-.6px 0 var(--jumper-outline),.6px 0 var(--jumper-outline),0 -.6px var(--jumper-outline),0 .6px var(--jumper-outline); }
body.app-body[data-page] .club-jumper .club-jumper-abbr { display:block!important; margin:0!important; padding:0!important; color:var(--clean-muted)!important; font:500 11px/1.15 var(--fs-font-body)!important; letter-spacing:.2px!important; text-transform:none!important; }
body.app-body[data-page] :is(.record-banner,.record-score-band,.teams-detail-head) .club-jumper-abbr { color:inherit!important; opacity:.85; }
.club-icon { --club-icon-size:28px; display:inline-flex!important; flex-direction:column; align-items:center; justify-content:center; gap:4px; flex:0 0 var(--club-icon-size); width:var(--club-icon-size); min-width:var(--club-icon-size); vertical-align:middle; line-height:1; }
.club-icon.is-large { --club-icon-size:52px; }
.club-icon > img { display:block; width:var(--club-icon-size); height:var(--club-icon-size); object-fit:contain; }
.club-icon-fallback { display:flex; align-items:center; justify-content:center; width:var(--club-icon-size); height:var(--club-icon-size); border:1px solid var(--clean-rule); color:var(--clean-muted); font:600 10px var(--fs-font-body); }
body.app-body[data-page] .club-icon-abbr { display:block!important; margin:0!important; padding:0!important; color:var(--clean-muted)!important; font:500 11px/1.15 var(--fs-font-body)!important; letter-spacing:.2px!important; }
.record-club-name,.clubs-premier-team { display:inline-flex; align-items:center; gap:10px; min-width:0; }
.record-fixture .club-icon { --club-icon-size:24px; }
.record-score-club .club-icon { --club-icon-size:32px; }
body.app-body[data-page="home"] .clean-round-club { gap:8px; }
.clean-round-club .club-icon { --club-icon-size:24px; }
.club-identity,.record-player-identity { display:inline-flex!important; align-items:center; gap:10px; min-width:0; vertical-align:middle; }
.record-player-jumpers { display:inline-flex; align-items:center; gap:4px; flex-shrink:0; }
:is(.record-player-identity,.player-club-identity) .club-jumper { --jumper-size:32px; flex:0 0 36px; min-width:36px; }
:is(.record-player-identity,.player-club-identity) .club-jumper-back { height:48px; }
.record-player-copy { display:flex; flex-direction:column; gap:3px; min-width:0; }
.record-player-name { display:block; min-width:0; }
body.app-body[data-page] .record-player-club { display:block!important; margin:0!important; color:var(--clean-muted)!important; font:500 11px/1.2 var(--fs-font-body)!important; letter-spacing:.2px; }
.record-player-club a { color:inherit; text-decoration:none; }
.record-player-meta { color:var(--clean-muted); font:400 12px/1.35 var(--fs-font-body); text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page] :is(.record-banner,#team-name) .record-player-club { color:inherit!important; opacity:.85; }
.club-identity-name { min-width:0; white-space:normal; }
.record-player-identity > span:last-child { min-width:0; }
.record-player-identity a { text-decoration:none; }
.record-player-link { font-weight:500!important; }
body.app-body[data-page] .fs-leaderboard-player > .record-player-identity { display:flex!important; margin:0!important; }

/* Record pages share a neutral stat sheet and filled, fully framed club panels. */
body.app-body:is([data-page="years"],[data-page="teams"],[data-page="players"],[data-page="match-centre"]) .app-topbar { border-bottom-color:var(--clean-accent)!important; }
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) { background:transparent!important; color:var(--clean-ink)!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; box-shadow:none!important; padding:9px 0!important; margin:0!important; min-height:62px!important; }
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) :is(strong,a,span,em) { color:inherit!important; }
body.app-body[data-page] .fs-leaderboard-row .fs-leaderboard-value > strong { font:600 29px/1 var(--fs-font-display)!important; }
body.app-body[data-page] .fs-leaderboard-value { grid-column:3!important; grid-row:1!important; align-self:center; }
.record-jump-nav { display:flex; flex-wrap:wrap; gap:20px; padding:8px 0; margin-bottom:16px; font-size:14px; }
.record-jump-nav a { color:var(--clean-muted); }
.record-jump-nav a:hover { color:var(--clean-accent); }
.years-record-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:36px; align-items:start; }
.years-record-grid > * { min-width:0; }
.season-navigation-block { display:grid; gap:16px; padding-bottom:20px; border-bottom:1px solid var(--clean-rule); }
.season-navigation-block .record-jump-nav { padding:4px 0 0; margin:0; }
.season-navigation-block .record-jump-nav a { min-height:32px; display:inline-flex; align-items:center; }
body.app-body[data-page="years"] .season-record-block { padding-top:0!important; }
body.app-body[data-page="years"] .season-record-block + .season-record-block,
body.app-body[data-page="years"] .years-round-card { padding-top:24px!important; border-top:1px solid var(--clean-rule)!important; }
body.app-body[data-page="years"] .years-ladder-mode-tabs { justify-content:flex-start!important; }
body.app-body[data-page="years"] #season-leaders { display:block!important; text-align:left!important; }
body.app-body[data-page="years"] .record-inline-control { justify-content:flex-start; margin-bottom:16px; }
body.app-body[data-page="years"] .season-record-block .years-section-head { display:flex!important; justify-content:space-between; justify-items:start; flex-wrap:wrap; }
body.app-body[data-page="years"] .season-record-block .years-section-head > div { margin-inline:0; justify-items:start; }
body.app-body[data-page="years"] :is(#season-ladder,#season-leaders,#matches-list) { scroll-margin-top:24px; }
body.app-body[data-page="years"] .years-ladder-layout { display:block!important; min-width:0; }
body.app-body[data-page="years"] .years-ladder-facts { padding:16px 0!important; background:transparent!important; border:0!important; }
.years-ladder-facts > summary { cursor:pointer; color:var(--clean-muted); font-size:14px; }
body.app-body[data-page="years"] .years-ladder-controls-copy { display:none; }
body.app-body[data-page="years"] .years-ladder-controls { justify-items:start; text-align:left; gap:0; margin-bottom:0; padding:0 0 10px!important; background:transparent!important; border:0!important; }
body.app-body[data-page="years"] .years-ladder-table-home-style .is-team { min-width:145px!important; }
body.app-body[data-page="years"] .years-ladder-table-home-style tbody tr { height:auto!important; background:transparent!important; color:var(--clean-ink)!important; }
body.app-body[data-page="years"] .years-ladder-table-home-style tr::before,body.app-body[data-page="years"] .years-ladder-table-home-style tr::after { display:none!important; }
body.app-body[data-page="years"] :is(.years-ladder-wrap,.years-ladder-table-home-style) { background:transparent!important; border:0!important; box-shadow:none!important; }
body.app-body[data-page="years"] .years-ladder-table-home-style tbody td { background:transparent!important; color:var(--clean-ink)!important; border-bottom:1px solid var(--clean-rule)!important; border-inline:0!important; box-shadow:none!important; font:400 14px/1.35 var(--fs-font-body)!important; height:58px!important; padding:6px 7px!important; }
body.app-body[data-page="years"] .years-ladder-rank-badge { background:transparent!important; color:var(--clean-muted)!important; border:0!important; box-shadow:none!important; padding:0!important; font:400 12px var(--fs-font-body)!important; }
body.app-body[data-page="years"] .years-ladder-table-home-style td.is-sort-focus { background:var(--fs-bg-2)!important; font-weight:600!important; }
#season-premier { padding:12px 18px; min-width:220px; background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary); }
#season-premier > small { display:block; font-size:12px; margin-bottom:5px; }
#season-premier > strong { font:600 28px/1.1 var(--fs-font-display); }
#season-premier .club-jumper-abbr { color:inherit!important; }
body.app-body[data-page="years"] #matches-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; }
body.app-body[data-page="years"] .record-fixture-with-boxscore { display:block; }
body.app-body[data-page] .record-fixture { grid-template-columns:minmax(0,1fr)!important; gap:4px; }
body.app-body[data-page] .record-fixture-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 14px; padding-bottom:6px; }
body.app-body[data-page] .record-fixture-team { padding:8px 12px; min-height:55px; font-size:16px; }
body.app-body[data-page="years"] :is(.years-overview-tile,.years-overview-summary-card)::before { display:none!important; }
body.app-body[data-page="players"] .record-person { background:transparent; color:var(--clean-ink); border-bottom:1px solid var(--clean-rule); padding:12px 0; }
body.app-body[data-page="players"] .record-person.is-games-record-holder { border:2px solid var(--club-primary); box-shadow:inset 0 0 0 1px var(--club-secondary); padding:14px 12px; margin-block:5px; }
body.app-body[data-page="players"] .is-games-record-holder .record-player-name strong { font:600 26px/1.1 var(--fs-font-display)!important; }
body.app-body[data-page="players"] .record-holder-badge { display:block; margin-top:5px; font:600 12px/1.35 var(--fs-font-body)!important; color:var(--clean-ink); }
.home-radar-leader-grid .fs-leaderboard-columns { min-height:38px; align-items:center; white-space:nowrap; }
/* A neutral player card keeps every jumper legible in either theme. */
.record-player-card { display:grid; grid-template-columns:120px minmax(180px,1fr) minmax(360px,.95fr); border:1px solid var(--clean-rule); background:var(--clean-paper); color:var(--clean-ink); min-width:0; }
.record-player-card #player-jumper { display:flex; align-items:center; justify-content:center; padding:18px; background:#f1eee5; border-right:1px solid var(--clean-rule); }
.record-player-card #player-jumper .club-jumper { --jumper-size:76px; width:76px; height:115px; }
.record-player-card #player-jumper .club-jumper-back { width:76px; height:115px; filter:drop-shadow(0 0 1px #20232155); }
.record-player-card-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:20px 24px; gap:5px; }
body.app-body[data-page="players"] .record-player-card h1 { font:600 clamp(32px,3.5vw,46px)/1.05 var(--fs-font-display)!important; overflow-wrap:anywhere; margin:0 0 3px!important; }
.record-player-card-copy p { margin:0; font-size:14px; }
.record-player-card-copy #player-club a { color:var(--clean-ink); font-weight:500; }
.record-player-card-copy #player-era { color:var(--clean-muted); }
.record-player-card .record-headline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:center; gap:0; margin:0; padding:16px 0; border:0; }
.record-player-card .record-headline > div { display:flex; flex-direction:column; justify-content:center; height:100%; padding:8px 12px; border-left:1px solid var(--clean-rule); text-align:center; }
.record-player-card .record-headline dt { display:flex; align-items:end; justify-content:center; min-height:32px; font-size:12px; line-height:1.2; color:var(--clean-muted); }
.record-player-card .record-headline dd { font:600 34px/1.2 var(--fs-font-display); margin:4px 0 0; }
.record-player-card .career-rank { display:block; min-height:16px; margin-top:5px; font:400 11px/1.4 var(--fs-font-body); color:var(--clean-muted); }
@media (max-width:1000px) {
  .record-player-card { grid-template-columns:100px minmax(0,1fr); }
  .record-player-card #player-jumper { grid-row:1; padding:14px; }
  .record-player-card #player-jumper .club-jumper { --jumper-size:64px; }
  .record-player-card #player-jumper :is(.club-jumper,.club-jumper-back) { width:64px; height:97px; }
  .record-player-card .record-headline { grid-column:1/-1; padding:0; border-top:1px solid var(--clean-rule); }
  .record-player-card .record-headline > div { padding:12px 8px; }
  .record-player-card .record-headline > div:first-child { border-left:0; }
}
@media (max-width:420px) {
  .record-player-card { grid-template-columns:82px minmax(0,1fr); }
  .record-player-card #player-jumper { padding:10px; }
  .record-player-card #player-jumper .club-jumper { --jumper-size:58px; }
  .record-player-card #player-jumper :is(.club-jumper,.club-jumper-back) { width:58px; height:88px; }
  .record-player-card-copy { padding:16px 12px; }
  .record-player-card .record-headline dd { font-size:28px; }
  .record-player-card .record-headline dt { font-size:11px; }
}
.record-headline { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:16px 0 20px; gap:16px; border-bottom:1px solid var(--clean-rule); }
.record-headline dt { color:var(--clean-muted); font-size:12px; }
.record-headline dd { font:600 32px/1 var(--fs-font-display); color:var(--clean-ink); }
.record-stint { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr) auto; column-gap:12px; padding:10px 0; min-width:0; border-bottom:1px solid var(--clean-rule); }
.record-stint > .club-jumper { grid-row:1 / 3; }
.record-stint > small { grid-column:2 / -1; color:var(--clean-muted); }
.record-stint > span:not(.club-jumper) { color:var(--clean-muted); font-size:13px; }
.record-table { font-size:14px; }
body.app-body[data-page="players"] .record-table :is(th,td) { padding:9px 10px!important; }
.record-table .club-identity { min-height:44px; }
body.app-body[data-page="players"] .record-table :is(.club-jumper,.club-jumper *) { white-space:normal; }
body.app-body[data-page="players"] .record-colour-table tbody tr { background:transparent!important; color:var(--clean-ink)!important; }
body.app-body[data-page="players"] .record-colour-table tbody :is(th,td) { color:var(--clean-ink)!important; background:transparent; border-inline:0!important; box-shadow:none!important; }
#player-seasons .club-identity-label { display:none; }
#player-seasons .record-table { min-width:620px; }
body.app-body[data-page="teams"] #team-name { display:flex; align-items:center; gap:18px; font-weight:600!important; }
body.app-body[data-page="teams"] #club-season-content > section { display:block!important; }
@media (max-width:1100px) {
  .years-record-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media (max-width:760px) {
  body.app-body[data-page="years"] #matches-list { grid-template-columns:minmax(0,1fr); }
  #season-premier { width:100%; }
  .record-match-comparisons,.record-club-leaders-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
  .record-score-band { gap:10px; padding:9px 10px; }
  .record-score-band.has-quarters { grid-template-columns:minmax(0,1fr) auto; }
  .record-score-band.has-quarters .record-score-club { grid-row:1; grid-column:1; }
  .record-score-band.has-quarters .record-score-value { grid-row:1; grid-column:2; justify-self:end; }
  .record-quarter-line { grid-row:2; grid-column:1 / -1; padding-top:8px; border-top:1px solid color-mix(in srgb,currentColor 30%,transparent); }
  .record-score-band .record-quarter-score { font-size:21px; }
  .record-score-club { gap:8px; }
  .record-score-club h2 { font-size:25px; }
  .record-score-value { gap:9px; }
  .record-score-value strong { font-size:37px; min-width:48px; }
  .record-score-value small { font-size:12px; }
  .record-match-table { min-width:calc(160px + var(--stat-count) * 44px); }
  .record-match-table col.record-player-column { width:160px; }
  .record-team-filters button { min-height:44px; padding:7px 10px; font-size:13px; }
  .record-match-table th button { min-height:44px; }
  .record-player-identity { gap:8px; }
  body.app-body[data-page="players"] .record-person { grid-template-columns:minmax(0,1fr) 50px 50px; gap:10px; }
  body.app-body[data-page="players"] .record-person strong { font-size:16px; }
  body.app-body[data-page="players"] .record-person small { font-size:12px; }
  .record-headline { gap:9px; }
  .record-headline dt { font-size:11px; }
  .record-headline dd { font-size:28px; }
  .record-stint { flex:1 1 100%; }
  .record-section-heading { gap:10px; flex-wrap:wrap; }
  body.app-body[data-page="teams"] .teams-season-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  body.app-body[data-page="match-centre"] .record-leaders-table :is(th,td) { padding-inline:6px!important; }
  .record-leader-label-column { width:70px; }
  .record-leader-value-column { width:65px; }
}

body.app-body:is([data-page="players"],[data-page="years"]) :is(.record-table,.years-ladder-table) :is(th,td):not(.record-text):not(.is-team) { text-align:center!important; }

/* Text weight identifies destinations without adding an arrow to each link. */
body.app-body[data-page] main a,
body.app-body[data-page] .clean-text-link,
body.app-body[data-page] .home-round-fixture,
body.app-body[data-page] main a :is(span,small,strong,b),
body.app-body[data-page] table a,
body.app-body[data-page] :is(table,.fs-leaderboard-row,.trophy-record-row) a[class],
body.app-body[data-page] table a :is(span,strong,b,small),
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) a,
body.app-body[data-page] :is(.fs-leaderboard-row,.trophy-record-row) a :is(span,strong,small) { font-weight:700!important; }
body.app-body[data-page] .record-table a { text-decoration:none; }
body.app-body[data-page] .record-table a:is(:hover,:focus-visible) { text-decoration:underline; }
body.app-body[data-page] :is(.fs-leaderboard-columns,.fs-leaderboard-row) { column-gap:12px!important; }
body.app-body[data-page] .fs-leaderboard-columns { padding-inline:12px!important; border:2px solid transparent!important; }
body.app-body[data-page="trophy"] .fs-leaderboard-columns { grid-template-columns:28px minmax(0,1fr) 80px!important; }
body.app-body[data-page] .fs-leaderboard-columns > span { text-align:left!important; }
body.app-body[data-page] .fs-leaderboard-columns > span:is(:first-child,:last-child),
body.app-body[data-page] :is(.fs-rank,.fs-leaderboard-value) { text-align:center!important; justify-items:center; }
body.app-body[data-page] :is(.fs-rank,.fs-leaderboard-value strong,.trophy-rank-pill,.trophy-total-cell > span) { font-family:var(--fs-font-body)!important; font-weight:400!important; }

@media (prefers-reduced-motion:reduce) { body.app-body[data-page] * { scroll-behavior:auto!important; } }

.record-inline-control { display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center; margin:0 0 12px; font:400 13px var(--fs-font-body); color:var(--clean-muted); }
.record-inline-control select { min-height:42px; max-width:100%; padding:9px 12px; border:1px solid var(--control-line); border-radius:var(--control-radius); font:500 14px var(--fs-font-body); background:var(--clean-paper); color:var(--clean-ink); }
.record-picker-heading { margin:0 0 18px; font:600 24px var(--fs-font-display); }
.record-picker-level { display:grid; grid-template-columns:70px minmax(0,1fr); align-items:start; gap:12px; margin-bottom:14px; }
.record-picker-label { padding-top:11px; font:500 14px var(--fs-font-body); }
.trophy-stat-picker { display:flex; flex-wrap:wrap; gap:6px; }
.trophy-stat-option:focus-visible { outline:2px solid var(--clean-accent); outline-offset:2px; }
@media (max-width:600px) { .record-picker-level { grid-template-columns:1fr; gap:6px; }.record-picker-label { padding-top:0; } }
body.app-body[data-page="years"] #season-title { text-transform:none!important; font-weight:600!important; }

/* Approved record style across the remaining site destinations. */
.record-club-marks { display:inline-flex; flex-shrink:0; align-items:center; gap:3px; }
.record-club-link { display:inline-flex; color:inherit; text-decoration:none; }
body.app-body[data-page="teams"] .teams-grid-card { min-height:0!important; padding:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:2px solid var(--team-primary)!important; box-shadow:inset 0 0 0 1px var(--team-secondary)!important; }
body.app-body[data-page="teams"] .teams-grid-card .teams-grid-card-head { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; margin:0; padding:12px 14px; background:var(--team-primary)!important; color:var(--team-text)!important; border:2px solid var(--team-secondary)!important; box-shadow:inset 0 0 0 2px var(--team-tertiary,transparent)!important; }
body.app-body[data-page="teams"] .teams-grid-card-title { min-width:0; }
body.app-body[data-page="teams"] .teams-grid-card-head h3 { margin:0!important; color:inherit!important; font:600 28px/1.1 var(--fs-font-display)!important; text-transform:none!important; letter-spacing:0!important; overflow-wrap:anywhere; }
body.app-body[data-page="teams"] .teams-grid-card-title small { display:block; margin-top:4px; color:inherit; font:400 13px/1.2 var(--fs-font-body); }
body.app-body[data-page="teams"] .teams-grid-stats { margin:14px 0!important; padding:0 14px; }
body.app-body[data-page="teams"] .teams-grid-stats p span { color:var(--clean-muted)!important; font:400 13px var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="teams"] .teams-grid-stats p strong { color:var(--clean-ink)!important; font:600 22px var(--fs-font-display)!important; }
body.app-body[data-page="teams"] .teams-grid-stats p { border:0!important; border-bottom:1px solid var(--clean-rule)!important; }
body.app-body[data-page="teams"] .teams-grid-foot { margin:0 14px 14px!important; padding:7px 10px; color:var(--clean-ink)!important; font:500 13px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page] :is(.fs-leaderboard-player,.trophy-record-player) > .record-player-identity { display:flex!important; align-items:center; gap:10px; }
body.app-body[data-page] .trophy-record-player .record-player-name > a { font:500 16px/1.3 var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page] .trophy-record-player > span:not(.record-player-identity) { display:block; color:var(--clean-muted)!important; font:400 13px/1.4 var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; margin-top:4px; }
body.app-body[data-page] .trophy-total-cell { grid-column:3; grid-row:1; align-self:center; }
body.app-body[data-page] .trophy-record-row .trophy-total-cell > span { font:600 29px/1 var(--fs-font-display)!important; }
body.app-body[data-page] .fs-leaderboard-value > span { position:absolute!important; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
body.app-body[data-page="home"] #home-radar-controls:not(.hidden) { display:block!important; }
body.app-body[data-page="home"] #recent-game-link { font:500 14px var(--fs-font-body)!important; color:var(--clean-accent)!important; text-transform:none!important; letter-spacing:0!important; background:transparent!important; padding:0!important; }
body.app-body[data-page="home"] .home-round-fixtures { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.app-body[data-page="home"] .home-round-fixture { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; border:0; border-bottom:1px solid var(--clean-rule); padding-bottom:12px; }
body.app-body[data-page="home"] .home-round-meta { display:grid; justify-items:center; gap:4px; padding:4px 0 10px; text-align:center; }
body.app-body[data-page="home"] .home-round-meta .home-round-date { margin:0; padding:0; justify-self:center; }
body.app-body[data-page="home"] .home-round-time { display:flex; flex-wrap:wrap; justify-content:center; justify-self:center; align-items:baseline; gap:6px 12px; padding:0; font:500 13px var(--fs-font-body); text-align:center; text-transform:none; white-space:normal; }
body.app-body[data-page="home"] .home-round-time small { margin:0; font:400 13px var(--fs-font-body); }
body.app-body[data-page="home"] .clean-round-club { padding:10px 14px; min-height:55px; font:600 23px var(--fs-font-display); }
body.app-body[data-page="home"] .clean-round-open { justify-self:end; padding:3px 0; font:500 13px var(--fs-font-body); }
body.app-body[data-page="home"] :is(.home-round-date,.home-round-empty,.clean-eyebrow) { font:400 13px/1.5 var(--fs-font-body); letter-spacing:0; text-transform:none; }
body.app-body[data-page="trophy"] :is(.trophy-leader-foot,.trophy-record-toolbar,.trophy-waterfall-controls,.trophy-current-category) { background:transparent!important; border:0!important; box-shadow:none!important; padding:10px 0!important; }
body.app-body[data-page="trophy"] .trophy-record-list { display:block!important; height:auto!important; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
body.app-body[data-page="trophy"] .trophy-tabs { display:block!important; padding:0!important; border:0!important; background:transparent!important; }
body.app-body[data-page="trophy"] .trophy-waterfall-controls { display:flex!important; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; }
body.app-body[data-page="trophy"] :is(.trophy-link-btn,.trophy-view-btn,.trophy-table-action,.trophy-modal-close) { min-height:42px; padding:8px 12px; border:1px solid var(--clean-rule)!important; border-radius:2px!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; font:500 14px/1.3 var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .trophy-view-btn.is-active { background:var(--clean-ink)!important; color:var(--clean-paper)!important; }
body.app-body[data-page="trophy"] :is(.trophy-search-wrap input,.trophy-search-wrap) { background:transparent!important; color:var(--clean-ink)!important; font:400 14px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .trophy-current-category h3 { font:600 24px/1.2 var(--fs-font-display)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .trophy-current-category { justify-content:flex-start!important; align-items:flex-start!important; text-align:left!important; min-height:0!important; }
body.app-body[data-page="trophy"] :is(.trophy-waterfall-controls,.trophy-tabs-shell,.trophy-tabs,.trophy-view-toggle)::before,
body.app-body[data-page="trophy"] :is(.trophy-waterfall-controls,.trophy-tabs-shell,.trophy-tabs,.trophy-view-toggle)::after { display:none!important; }
body.app-body[data-page="trophy"] .trophy-view-toggle { display:flex; flex-wrap:wrap; gap:5px; padding:0!important; background:transparent!important; border:0!important; box-shadow:none!important; }
body.app-body[data-page="trophy"] .trophy-record-toolbar { display:flex!important; flex-wrap:wrap; align-items:center; justify-content:space-between!important; gap:12px; }
body.app-body[data-page="trophy"] .trophy-search-wrap { max-width:380px; margin:0!important; }
body.app-body[data-page="trophy"] :is(.trophy-search-wrap > span,.trophy-stat-count) { font:400 13px/1.4 var(--fs-font-body)!important; color:var(--clean-muted)!important; text-transform:none!important; letter-spacing:0!important; text-align:left!important; }
body.app-body[data-page="trophy"] #stats-grid > .record-inline-control { background:transparent!important; border:0!important; padding:0!important; box-shadow:none!important; }
body.app-body[data-page="trophy"] #stat-modal .trophy-modal-table :is(tbody tr,tbody th,tbody td) { background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; box-shadow:none!important; outline:0!important; }
body.app-body[data-page="trophy"] #stat-modal .trophy-modal-table tr::before,
body.app-body[data-page="trophy"] #stat-modal .trophy-modal-table tr::after { display:none!important; }
body.app-body[data-page="trophy"] #stat-modal .trophy-table-link { color:var(--clean-ink)!important; font:500 14px/1.3 var(--fs-font-body)!important; text-transform:none!important; }
body.app-body[data-page="trophy"] .trophy-modal-shell { background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:1px solid var(--clean-rule); border-radius:0!important; }
body.app-body[data-page="trophy"] .trophy-modal-header { padding:16px!important; border-bottom:1px solid var(--clean-rule)!important; background:var(--clean-paper)!important; }
body.app-body[data-page="trophy"] .trophy-modal-header h2 { font:600 24px/1.2 var(--fs-font-display)!important; text-transform:none!important; color:var(--clean-ink)!important; }
.record-dialog-caption { margin:5px 0 0; color:var(--clean-muted); font:400 13px var(--fs-font-body); }

/* Shared controls retain their native input and select behaviour. */
body.app-body[data-page] .app-main :is(.record-button,.match-centre-action-btn,.live-centre-back-btn,.live-summary-filter-btn,.live-summary-table-toggle,.teams-back-btn,.trophy-link-btn,.trophy-view-btn,.trophy-table-action,.years-nav-btn,.years-round-chip,.years-decade-bar button,.years-bubble-bar button,.teams-season-fallback button,.teams-decade-bar button,.teams-year-bubble-bar button,.teams-season-leader-tabs button,.record-team-filters button,.record-alphabet button,.fs-tab) {
  min-height:40px; padding:9px 14px!important; border:1px solid var(--control-line)!important; border-radius:var(--control-radius)!important;
  background:var(--clean-paper)!important; color:var(--clean-ink)!important; box-shadow:none!important;
  font:500 14px/1.3 var(--fs-font-body)!important; letter-spacing:0!important; text-transform:none!important; cursor:pointer;
  transition:background-color 120ms,border-color 120ms,color 120ms;
}
body.app-body[data-page] .app-main :is(.record-button,.match-centre-action-btn,.live-centre-back-btn,.live-summary-filter-btn,.live-summary-table-toggle,.teams-back-btn,.trophy-link-btn,.trophy-view-btn,.trophy-table-action,.years-nav-btn,.years-round-chip,.years-decade-bar button,.years-bubble-bar button,.teams-season-fallback button,.teams-decade-bar button,.teams-year-bubble-bar button,.teams-season-leader-tabs button,.record-team-filters button,.record-alphabet button,.fs-tab):hover:not(:disabled):not(.is-active):not([aria-pressed="true"]):not([aria-selected="true"]) { background:var(--control-hover)!important; border-color:var(--clean-muted)!important; }
body.app-body[data-page] .app-main :is(.live-summary-filter-btn,.live-summary-table-toggle,.trophy-view-btn,.trophy-stat-option,.years-round-chip,.years-decade-bar button,.years-bubble-bar button,.teams-decade-bar button,.teams-year-bubble-bar button,.teams-season-leader-tabs button,.record-team-filters button,.record-alphabet button,.fs-tab):is(.is-active,[aria-pressed="true"],[aria-selected="true"]) { background:var(--clean-ink)!important; color:var(--clean-paper)!important; border-color:var(--clean-ink)!important; }
body.app-body[data-page="home"] #home-season-form .record-button { background:var(--clean-ink)!important; color:var(--clean-paper)!important; border-color:var(--clean-ink)!important; }
body.app-body[data-page="home"] #home-season-form .record-button:hover:not(:disabled) { background:color-mix(in srgb,var(--clean-ink) 88%,var(--clean-paper))!important; }
body.app-body[data-page] .app-main :is(.record-button,.match-centre-action-btn,.live-centre-back-btn,.live-summary-filter-btn,.live-summary-table-toggle,.trophy-view-btn,.years-nav-btn,.teams-season-fallback button):disabled { opacity:.4; cursor:default; }
body.app-body[data-page] .app-main select:not([multiple]):not([size]) { min-height:42px; max-width:100%; min-inline-size:140px; padding:9px 12px!important; border:1px solid var(--control-line)!important; border-radius:var(--control-radius)!important; background-color:var(--clean-paper)!important; color:var(--clean-ink)!important; box-shadow:none!important; font:500 14px/1.3 var(--fs-font-body)!important; text-transform:none!important; cursor:pointer; }
body.app-body[data-page] .app-main :is(#home-season-select,.years-controller-fallback select,.teams-season-fallback select) { min-inline-size:90px; }
body.app-body[data-page] .app-main :is(.trophy-search-wrap input,.record-toolbar input,.record-section-heading input) { min-height:42px; padding:9px 12px; border:1px solid var(--control-line)!important; border-radius:var(--control-radius)!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; font:400 14px/1.3 var(--fs-font-body)!important; box-shadow:none!important; }
body.app-body[data-page] .app-main :is(select,input):focus-visible { border-color:var(--clean-accent)!important; outline:2px solid var(--clean-accent); outline-offset:2px; }
@supports (appearance:base-select) {
  @media (hover:hover) and (pointer:fine) {
    body.app-body[data-page] .app-main select:not([multiple]):not([size]),
    body.app-body[data-page] .app-main select:not([multiple]):not([size])::picker(select) { appearance:base-select; }
    body.app-body[data-page] .app-main select:not([multiple]):not([size]) { display:inline-flex; align-items:center; gap:14px; }
    body.app-body[data-page] .app-main select::picker-icon { color:var(--clean-muted); margin-inline-start:auto; font-size:12px; }
    body.app-body[data-page] .app-main select:open::picker-icon { rotate:180deg; }
    body.app-body[data-page] .app-main select::picker(select) { margin-block:5px; padding:5px; max-block-size:min(360px,60svh); overflow:auto; overscroll-behavior:contain; border:1px solid var(--control-line); border-radius:var(--control-radius); background:var(--clean-paper); color:var(--clean-ink); font:400 14px/1.35 var(--fs-font-body); box-shadow:0 10px 30px #0002; }
    body.app-body[data-page] .app-main select option { min-height:38px; padding:8px 10px; gap:12px; border:0; border-radius:2px; background:transparent; color:var(--clean-ink); cursor:pointer; }
    body.app-body[data-page] .app-main select option:is(:hover,:focus-visible) { background:var(--control-hover); outline:0; }
    body.app-body[data-page] .app-main select option:focus-visible { outline:1px solid var(--clean-accent); outline-offset:-2px; }
    body.app-body[data-page] .app-main select option:checked { background:var(--control-hover); font-weight:600; }
    body.app-body[data-page] .app-main select option::checkmark { color:var(--clean-accent); }
    body.app-body[data-page] .app-main select option:disabled { color:var(--clean-muted); opacity:.6; }
  }
}
@media (max-width:760px), (pointer:coarse) {
  body.app-body[data-page] .app-main :is(select,input[type="search"],input[type="text"]) { font-size:16px!important; }
  body.app-body[data-page] .app-main :is(.record-button,.match-centre-action-btn,.live-centre-back-btn,.live-summary-filter-btn,.live-summary-table-toggle,.trophy-view-btn,.years-nav-btn,.record-team-filters button) { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  body.app-body[data-page] .app-main :is(button,select) { transition:none!important; }
}

/* Trophy Room keeps its view, search and selectors in one compact toolbar. */
body.app-body[data-page="trophy"] #record-explorer { padding:16px 0 20px!important; border-block:1px solid var(--clean-rule)!important; }
body.app-body[data-page="trophy"] .trophy-waterfall-controls { padding:0 0 16px!important; }
body.app-body[data-page="trophy"] .trophy-view-toggle { display:inline-flex; flex-wrap:wrap; gap:2px; padding:3px!important; border:1px solid var(--control-line)!important; border-radius:6px; background:var(--control-hover)!important; }
body.app-body[data-page="trophy"] .trophy-view-toggle .trophy-view-btn { min-height:36px; border:0!important; background:transparent!important; }
body.app-body[data-page="trophy"] .trophy-view-toggle .trophy-view-btn[aria-pressed="true"] { background:var(--clean-ink)!important; color:var(--clean-paper)!important; }
.trophy-filter-fields { display:grid; grid-template-columns:minmax(200px,1.1fr) minmax(160px,.7fr) minmax(220px,1.2fr); align-items:end; gap:16px; }
body.app-body[data-page="trophy"] .trophy-filter-fields :is(.record-inline-control,.trophy-search-wrap) { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; min-width:0; width:100%; max-width:none; margin:0!important; font:400 13px/1.35 var(--fs-font-body); color:var(--clean-muted); }
body.app-body[data-page="trophy"] .trophy-filter-fields :is(select,input) { width:100%; min-width:0; }
body.app-body[data-page="trophy"] .trophy-stat-count { margin:0; }
body.app-body[data-page="trophy"] .record-player-name > .trophy-table-link { font:500 16px/1.3 var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .record-player-identity { gap:12px!important; }
body.app-body[data-page="trophy"] .record-player-jumpers { min-width:46px; min-height:65px; align-items:center; justify-content:center; padding:4px; background:#f1eee5; border-radius:2px; }
body.app-body[data-page="trophy"] .record-player-jumpers .club-jumper { --jumper-size:38px; width:38px; height:57px; }
body.app-body[data-page="trophy"] .record-player-jumpers .club-jumper-back { width:38px; height:57px; filter:drop-shadow(0 0 1px #80808044); }
body.app-body[data-page="trophy"] .record-player-meta { display:block; font:400 12px/1.35 var(--fs-font-body)!important; color:var(--clean-muted)!important; text-transform:none!important; letter-spacing:0!important; }
body.app-body[data-page="trophy"] .fs-leaderboard-columns { font:500 12px/1.35 var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; background:transparent!important; border-block:1px solid var(--clean-rule); }
body.app-body[data-page="trophy"] .record-player-match { text-decoration:none; }
body.app-body[data-page="trophy"] .record-player-match:hover { text-decoration:underline; }
.record-jumper-placeholder { display:block; width:38px; height:57px; border:1px solid var(--clean-rule); background:var(--control-hover); }
@media (max-width:760px) {
  .trophy-filter-fields { grid-template-columns:minmax(0,1fr); gap:12px; }
  body.app-body[data-page="trophy"] .trophy-view-toggle { display:flex; width:100%; }
  body.app-body[data-page="trophy"] .trophy-view-toggle .trophy-view-btn { flex:1; padding-inline:8px!important; }
}
body.app-body[data-page="trophy"] .trophy-modal-table { min-width:0!important; width:100%; }
body.app-body[data-page="trophy"] .trophy-modal-table :is(th,td) { padding:10px 12px; text-align:center!important; }
body.app-body[data-page="trophy"] .trophy-modal-table :is(th,td):nth-child(2) { text-align:left!important; }
.trophy-primary-stat strong { font:600 25px/1.1 var(--fs-font-display); }
.trophy-mobile-meta { display:none; }
.trophy-record-match { display:block; margin-top:5px; white-space:normal; font:400 12px/1.3 var(--fs-font-body); }
@media (max-width:600px) {
  body.app-body[data-page="trophy"] #stat-modal { padding:8px; }
  body.app-body[data-page="trophy"] .trophy-modal-content { padding:0!important; }
  body.app-body[data-page="trophy"] .trophy-modal-table { table-layout:fixed; }
  body.app-body[data-page="trophy"] .trophy-modal-table :is(th,td) { padding:10px 6px!important; white-space:normal!important; }
  body.app-body[data-page="trophy"] .trophy-modal-table :is(th,td):first-child { width:26px; }
  body.app-body[data-page="trophy"] .trophy-modal-table :is(th,td):nth-child(2) { width:auto; min-width:0!important; }
  body.app-body[data-page="trophy"] .trophy-modal-table :is(th,td):nth-child(3) { width:82px; }
  body.app-body[data-page="trophy"] #stat-modal .trophy-secondary-stat { display:none!important; }
  body.app-body[data-page="trophy"] .trophy-modal-table-wrap { padding:0; border:0; }
  body.app-body[data-page="trophy"] .trophy-modal-table .record-player-identity { gap:7px; }
  body.app-body[data-page="trophy"] .trophy-modal-table .record-player-name { overflow-wrap:anywhere; }
  .trophy-mobile-meta { display:block; margin-top:5px; font:400 11px/1.3 var(--fs-font-body); color:var(--clean-muted); }
}
body.app-body.is-record-dialog-open { overflow:hidden; }
body.app-body[data-page] .record-dialog-overlay { position:fixed!important; inset:0!important; z-index:1000!important; display:flex; align-items:center; justify-content:center; padding:16px; background:#0008; }
body.app-body[data-page] .record-dialog-overlay.hidden { display:none!important; }
body.app-body[data-page] .record-dialog-shell { width:100%; max-width:1120px; max-height:90svh; overflow:auto; border:1px solid var(--clean-rule); border-radius:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; }
body.app-body[data-page] .record-dialog-head { position:sticky; top:0; z-index:10; display:flex!important; align-items:start; justify-content:space-between; gap:16px; padding:16px; border-bottom:1px solid var(--clean-rule); background:var(--clean-paper)!important; }
body.app-body[data-page] .record-dialog-head h2 { margin:0!important; font:600 28px/1.2 var(--fs-font-display)!important; text-transform:none!important; color:var(--clean-ink)!important; }
.record-dialog-head p { margin:6px 0 0; font:400 13px/1.4 var(--fs-font-body); color:var(--clean-muted); }
.record-dialog-body { padding:16px; display:grid; grid-template-columns:minmax(0,1fr); min-width:0; gap:24px; }
.record-dialog-body > * { min-width:0; }
body.app-body[data-page] .record-dialog-body :is(h3,h4) { color:var(--clean-ink); font:600 22px/1.2 var(--fs-font-display); text-transform:none; margin:0 0 10px; }
.record-h2h-bands { display:grid; gap:5px; }
.record-h2h-band { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 16px; background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary,transparent); }
body.app-body[data-page] .record-h2h-band h3 { color:inherit; margin:0; font-size:28px; }
.record-h2h-band > div { text-align:center; }
.record-h2h-band strong { display:block; font:600 34px/1 var(--fs-font-display); }
.record-h2h-band small { font:400 12px var(--fs-font-body); }
.record-h2h-facts { display:flex; flex-wrap:wrap; gap:16px 32px; padding:0 0 16px; border-bottom:1px solid var(--clean-rule); }
.record-h2h-facts dt { color:var(--clean-muted); font:400 12px var(--fs-font-body); }
.record-h2h-facts dd { margin:4px 0 0; font:500 15px var(--fs-font-body); }
body.app-body[data-page] .record-dialog-body .h2h-form-row { display:flex!important; flex-wrap:wrap!important; justify-content:flex-start!important; gap:6px; max-width:100%; width:auto!important; }
.record-h2h-clubs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.record-h2h-club { min-width:0; border:1px solid var(--clean-rule); }
body.app-body[data-page] .record-h2h-club > h3 { padding:10px 14px; margin:-1px -1px 0; background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary,transparent); }
.record-h2h-club-body { padding:14px; }
body.app-body[data-page] .record-h2h-club-body h4 { font:500 13px var(--fs-font-body); margin:16px 0 6px; color:var(--clean-muted); }
.record-h2h-club-body p { font:400 14px/1.4 var(--fs-font-body); }
.record-h2h-club-body p small { display:block; color:var(--clean-muted); font-size:12px; }
body.app-body[data-page] .record-h2h-club-body .live-h2h-player-row { padding:8px 0; background:transparent!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; color:var(--clean-ink)!important; }
body.app-body[data-page] .record-h2h-club-body :is(.live-h2h-player-stats,.live-h2h-player-name) { font:400 14px/1.4 var(--fs-font-body)!important; color:var(--clean-ink)!important; }
body.app-body[data-page] :is(.record-table-wrap,.years-ladder-wrap,.trophy-modal-table-wrap) { max-width:100%; max-height:min(72svh,800px); overflow:auto; overscroll-behavior-x:contain; scrollbar-gutter:stable; }
body.app-body[data-page] :is(.record-table-wrap,.trophy-modal-table-wrap):focus-visible { outline:2px solid var(--clean-accent); outline-offset:3px; }
body.app-body[data-page] :is(.record-table,.years-ladder-table,.trophy-modal-table) thead th { position:sticky; top:0; z-index:3; background:var(--clean-paper)!important; box-shadow:inset 0 -1px var(--clean-rule)!important; }
body.app-body[data-page] .record-table :is(tbody th,tbody td):first-child { position:sticky; left:0; z-index:1; background:var(--clean-paper)!important; }
body.app-body[data-page] .record-table thead th:first-child { left:0; z-index:4; }
body.app-body[data-page] .years-ladder-table :is(th,td).is-team { position:sticky; left:0; z-index:1; background:var(--clean-paper)!important; }
body.app-body[data-page] .years-ladder-table thead th.is-team { z-index:4; }
body.app-body[data-page] .trophy-modal-table :is(th,td):nth-child(2) { position:sticky; left:0; z-index:1; background:var(--clean-paper)!important; min-width:170px; }
body.app-body[data-page] .trophy-modal-table thead th:nth-child(2) { z-index:4; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-panel { padding:0!important; min-height:0!important; background:var(--clean-paper)!important; color:var(--clean-ink)!important; border:1px solid var(--clean-rule)!important; box-shadow:none!important; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-head { padding:12px 14px; background:var(--club-primary); color:var(--club-text); border:2px solid var(--club-secondary); box-shadow:inset 0 0 0 2px var(--club-tertiary,transparent); }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-head p { color:inherit!important; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-players { padding:10px 14px; }
body.app-body[data-page="live"] .record-live-form .upcoming-edge-player { padding:8px 0; background:transparent!important; color:var(--clean-ink)!important; border:0!important; border-bottom:1px solid var(--clean-rule)!important; box-shadow:none!important; }
body.app-body[data-page="live"] .record-live-team { text-transform:none!important; text-decoration:none!important; }
body.app-body[data-page="live"] .live-centre-day-stat p { font:400 13px var(--fs-font-body)!important; text-transform:none!important; letter-spacing:0!important; color:var(--clean-muted)!important; }
@media (max-width:760px) {
  body.app-body[data-page="home"] .home-round-fixtures { grid-template-columns:minmax(0,1fr); }
  body.app-body[data-page="home"] .home-radar-shell .fs-section-head { flex-wrap:wrap!important; }
  body.app-body[data-page="home"] .home-radar-shell .fs-section-head > div:first-child { flex:1 1 100%; }
  .record-h2h-clubs { grid-template-columns:minmax(0,1fr); }
}
