/* ============================================================================
   football.css - the Premier League data annexe
   SIGNAL v5.0, dialect C-v2 "Aurora".  Built 8 August 2026.

   Loaded ONLY by /football/premier-league-2026-27.html, always AFTER
   /assets/signal.css.  It is a second sheet rather than an addition to the
   estate sheet because 46 KB of annexe-only data furniture should not be
   fetched by every page, and because annexe styling can then be revised
   without reissuing a 3.2 MB document.

   TOKEN NAMESPACE.  Every token this sheet defines carries an --f- prefix.
   This is not decoration: the annexe's --body is a FONT STACK while
   signal.css's --body is a COLOUR, and signal.css's .plate rule sets
   --body:#2B2B29.  Without the prefix a plate would feed a colour into
   font-family.  Never remove the prefix.

   ------------------------------------------------------------------------
   PLATE EXEMPTION - DATA COLOUR   (adopted 8 August 2026, Amin Bilal)

   Within a data plate, colour that carries meaning the reader already holds
   takes precedence over the estate palette.  The single-hue and no-green
   rules of SIGNAL govern the estate's OWN signalling - action, completion,
   wayfinding.  They do not govern data whose colours belong to its subject.
   Overriding a reader's colour associations to protect a house look is the
   wrong trade in a reference instrument.

   The exemption is bounded, and the bound is the point:

     EXEMPT - the 43 club brand colours wherever they appear (chips, crests,
              grid axes, curve strokes, manager spans); the win / draw / loss
              shading and its away variants; the league table's champion and
              relegation zone marks.
     NOT    - the season ribbon's midweek, Boxing Day and final-day marks
              (the annexe's own invented signalling, not convention); the
              position and nationality chips (the pills already spell "GK",
              "DEF", so colour there is decoration); and all chrome.

   Mechanically the exemption is carried by TWO selectors only - .gridwrap
   and .mwrap - which re-pin the --f- tokens to the annexe's original light
   palette and sit on the board as plates, ringed and shadowed, exactly as
   signal.css already treats the technology figures and the finance plate.
   Everything inside a plate therefore renders in its original colours to
   the byte.  Add a new data view by wrapping it in .gridwrap; do not add
   light colours to chrome.

   One green is lifted for the dark ground: --f-mint is #3DD68C in chrome
   (the league table's champion mark) where the original #00875A gave only
   4.28:1.  Inside plates the original #00875A is restored unchanged.
   ------------------------------------------------------------------------

   TYPE.  Geist and Geist Mono replace IBM Plex Sans and IBM Plex Mono.
   Big Shoulders Display is self-hosted and subset here rather than unified
   to Geist: measured from shipped metrics at the 375px breakpoint, the
   longest unbreakable heading word ("Wolverhampton") clears its column by
   +85.4px in Big Shoulders and OVERFLOWS by 47.8px in Geist.  There is no
   third-party font request on this page.

   BODY.  The annexe's markup is unchanged - byte-identical, with no body
   class.  Scoping comes from this sheet being loaded by one page only.
   ============================================================================ */

@font-face{
  font-family:'Big Shoulders Display';
  src:url('/assets/fonts/BigShoulders.woff2') format('woff2');
  font-weight:500 800; font-style:normal; font-display:swap;
}

:root{
  /* Chrome defaults: the annexe's own token names, pointed at SIGNAL values.
     Inside a plate these are re-pinned to the annexe's original palette. */
  --f-ground:var(--board);
  --f-panel:var(--card-solid);
  --f-ink:var(--ink);
  --f-crimson:var(--rose);
  --f-crimson-mid:var(--muted);
  --f-mint:#3DD68C;
  --f-signal:var(--rose);
  --f-muted:var(--muted);
  --f-line:var(--hair);
  --f-line-soft:var(--hair);
  --f-display:'Big Shoulders Display','Geist','Arial Narrow',sans-serif;
  --f-body:'Geist','Helvetica Neue',Arial,sans-serif;
  --f-mono:'Geist Mono',ui-monospace,'SF Mono',Menlo,monospace;
  --f-shell:var(--wrap);
  --f-r:3px;
  --f-card-r:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{margin:0; background:var(--f-ground); color:var(--f-ink); font-family:var(--f-body);
  font-size:16px; line-height:1.55; font-feature-settings:"tnum" 1}
a{color:inherit}
:focus-visible{outline:3px solid var(--f-signal); outline-offset:2px; border-radius:2px}
.shell{max-width:var(--f-shell); margin:0 auto; padding:0 20px}

/* ---------- routing: one page visible at a time, no script ---------- */
.page{display:none}
.page:target{display:block}
#s26-home{display:block}
body:has(.page:target) #s26-home{display:none}

/* ---------- masthead ---------- */
.masthead{background:var(--f-crimson); color:#fff; position:sticky; top:0; z-index:50;
  box-shadow:0 1px 0 rgba(0,0,0,.25)}
.masthead__in{display:flex; align-items:center; gap:22px; min-height:60px; flex-wrap:wrap}
.wordmark{display:flex; align-items:baseline; gap:9px; text-decoration:none; padding:6px 0}
.wordmark b{font-family:var(--f-display); font-weight:800; font-size:27px; letter-spacing:.055em;
  line-height:1; text-transform:uppercase}
.wordmark span{font-family:var(--f-mono); font-size:11px; letter-spacing:.19em; color:#D7B0B9}
.mainnav{display:flex; gap:2px; margin-left:auto; flex-wrap:wrap}
.mainnav a{font-family:var(--f-mono); font-size:11px; letter-spacing:.15em; text-transform:uppercase;
  text-decoration:none; padding:8px 13px; border-radius:var(--f-r); color:#E2C6CC}
.mainnav a:hover{background:rgba(255,255,255,.12); color:#fff}

/* ---------- season ribbon (signature) ---------- */
.spine{background:#3B0A15; border-bottom:1px solid rgba(255,255,255,.1); padding:12px 0 10px}
.spl{font-family:var(--f-mono); font-size:9.5px; letter-spacing:.17em; color:#AC8890;
  text-transform:uppercase; margin:0 0 9px; display:flex; justify-content:space-between; gap:16px}
.spi{display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:thin;
  -webkit-overflow-scrolling:touch}
.mg{display:flex; flex-direction:column; min-width:0;
  border-left:1px solid rgba(255,255,255,.13); padding:0 3px}
.mg:first-child{border-left:0}
.mgl{font-family:var(--f-mono); font-size:9px; letter-spacing:.15em; color:#AC8890;
  text-transform:uppercase; padding:0 0 6px 3px; white-space:nowrap}
.mgt{display:flex; align-items:flex-end; gap:2px; flex:1}
.k{flex:1 0 14px; min-width:14px; display:flex; flex-direction:column; justify-content:flex-end;
  text-decoration:none; border-radius:2px 2px 0 0}
.k i{display:block; background:#824A57; border-radius:1.5px 1.5px 0 0; height:15px;
  transition:height .2s ease, background .2s ease}
.k b{font-family:var(--f-mono); font-size:8.5px; color:#9F7780; text-align:center; margin-top:5px;
  font-weight:400; transition:color .2s ease}
.k:hover i{background:#D7B0B9; height:28px}
.k:hover b{color:#F0E0E3}
.k-midweek i{background:#E0447B}
.k-boxing  i{background:#F0A800}
.k-final   i{background:#00D77E; height:22px}
.kh i{background:#00D77E}
.ka i{background:#B07280}
.kon i{background:#fff !important; height:34px}
.kon b{color:#fff; font-weight:600}
.gp{flex:0 0 11px; align-self:stretch; position:relative}
.gp::before{content:""; position:absolute; left:50%; top:8px; bottom:18px; width:1px;
  background:repeating-linear-gradient(to bottom,#8D5A66 0 3px,transparent 3px 6px)}

/* ---------- page furniture ---------- */
.page{padding-bottom:20px}
.page .shell{padding-top:30px}
.eyebrow{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.21em; text-transform:uppercase;
  color:var(--f-crimson-mid); margin:0 0 10px}
h1{font-family:var(--f-display); font-weight:800; text-transform:uppercase; letter-spacing:.015em;
  line-height:.93; margin:0 0 8px; font-size:clamp(38px,7.5vw,68px)}
h2{font-family:var(--f-display); font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  font-size:23px; margin:0 0 14px; line-height:1}
.lede{font-size:17px; color:#452A30; max-width:60ch; margin:0 0 26px}
.rule{height:1px; background:var(--f-line); border:0; margin:30px 0}

/* ---------- hero ---------- */
.hero{background:var(--f-panel); border:1px solid var(--f-line); border-radius:var(--f-r);
  padding:26px 24px 24px; margin-bottom:26px; position:relative; overflow:hidden}
.hero::after{content:""; position:absolute; inset:0 auto 0 0; width:4px; background:var(--f-crimson)}
.opener{font-family:var(--f-display); font-weight:700; font-size:clamp(24px,4vw,34px);
  text-transform:uppercase; line-height:1; letter-spacing:.02em; margin:0}
.opener em{font-style:normal; color:var(--f-muted); font-size:.62em; padding:0 .3em}
.openermeta{font-family:var(--f-mono); font-size:12px; color:var(--f-muted); margin:8px 0 0}
.counter{font-family:var(--f-mono); font-size:12px; color:var(--f-signal); margin:10px 0 0;
  letter-spacing:.05em}

/* ---------- key facts ---------- */
.facts{display:grid; grid-template-columns:repeat(auto-fit,minmax(158px,1fr)); gap:1px;
  background:var(--f-line); border:1px solid var(--f-line); border-radius:var(--f-r); overflow:hidden;
  margin:0}
.facts div{background:var(--f-panel); padding:15px 16px}
.facts dt{font-family:var(--f-mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--f-muted); margin-bottom:5px}
.facts dd{margin:0; font-family:var(--f-display); font-weight:700; font-size:21px; line-height:1.05;
  text-transform:uppercase; letter-spacing:.015em}
.facts dd small{display:block; font-family:var(--f-body); font-weight:400; font-size:12px;
  text-transform:none; letter-spacing:0; color:var(--f-muted); margin-top:3px}

/* ---------- fixture list ---------- */
.daygroup{margin-bottom:22px}
.dayhead{display:flex; align-items:baseline; gap:12px; padding:0 0 8px;
  border-bottom:2px solid var(--f-ink); flex-wrap:wrap}
.dayhead h3{font-family:var(--f-display); font-weight:700; font-size:21px; text-transform:uppercase;
  letter-spacing:.03em; margin:0; line-height:1}
.badge{font-family:var(--f-mono); font-size:9.5px; letter-spacing:.13em; text-transform:uppercase;
  padding:3px 8px; border-radius:20px; border:1px solid var(--f-line); color:var(--f-muted);
  white-space:nowrap; background:var(--f-panel); margin-left:auto}
.badge--mid{border-color:var(--f-signal); color:var(--f-signal); margin-left:0}
.listwrap{border:1px solid var(--f-line); border-top:0; border-radius:0 0 var(--f-r) var(--f-r);
  overflow:hidden; background:var(--f-panel)}
.fx{display:grid; grid-template-columns:66px 1fr 34px 1fr 132px; align-items:center; gap:10px;
  padding:11px 12px; border-bottom:1px solid var(--f-line-soft)}
.fx:last-child{border-bottom:0}
.fx__t{font-family:var(--f-mono); font-size:13px; font-weight:500; letter-spacing:.02em}
.fx__t.is-prov{color:var(--f-muted); font-weight:400}
.fx__h{text-align:right; display:flex; align-items:center; justify-content:flex-end; gap:9px;
  min-width:0}
.fx__a{text-align:left; display:flex; align-items:center; gap:9px; min-width:0}
.fx__h,.fx__a{text-decoration:none; border-radius:2px; padding:3px 4px; margin:-3px -4px;
  transition:background .15s ease}
.fx__h:hover,.fx__a:hover{background:#F7ECEE}
.fx__n{font-weight:500; font-size:14.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fx__s{display:none; font-weight:500; font-size:13px; white-space:nowrap}
.fx__v{font-family:var(--f-mono); font-size:11px; color:var(--f-muted); text-align:center;
  letter-spacing:.08em}
.fx__x{font-family:var(--f-mono); font-size:10.5px; color:var(--f-muted); text-align:right;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.fxnote{grid-column:1/-1; font-size:12px; color:var(--f-muted); padding:2px 0 0 66px; line-height:1.4}
.chip{font-style:normal; font-family:var(--f-mono); font-weight:600; font-size:10px; letter-spacing:.05em; color:#fff;
  padding:4px 6px; border-radius:2px; flex:0 0 auto}

/* ---------- grids ---------- */
.mwgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:8px}
.mwcard{background:var(--f-panel); border:1px solid var(--f-line); border-radius:var(--f-r);
  padding:12px 13px; text-decoration:none; display:block; transition:transform .16s, border-color .16s}
.mwcard:hover{transform:translateY(-2px); border-color:var(--f-crimson)}
.mwcard b{font-family:var(--f-display); font-weight:800; font-size:28px; line-height:1; display:block;
  color:var(--f-crimson)}
.mwcard span{font-family:var(--f-mono); font-size:10.5px; color:var(--f-muted); display:block; margin-top:5px}
.mwcard i{font-style:normal; font-family:var(--f-mono); font-size:9px; letter-spacing:.13em;
  text-transform:uppercase; color:var(--f-signal); display:block; margin-top:4px}
.clubgrid{display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:8px}
.clubcard{background:var(--f-panel); border:1px solid var(--f-line); border-radius:var(--f-r);
  padding:13px 14px; text-decoration:none; display:flex; gap:11px; align-items:center;
  transition:transform .16s, border-color .16s}
.clubcard:hover{transform:translateY(-2px); border-color:var(--f-crimson)}
.clubcard b{font-size:15px; font-weight:600; display:block; line-height:1.2}
.clubcard span{font-size:11.5px; color:var(--f-muted); display:block}

/* ---------- club page ---------- */
.clubhead{display:flex; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:6px}
.clubhead h1{margin:0}
.crest{width:52px; height:52px; border-radius:var(--f-r); display:grid; place-items:center;
  font-family:var(--f-mono); font-weight:600; font-size:15px; color:#fff; flex:0 0 auto;
  letter-spacing:.04em}
.cfx{display:grid; grid-template-columns:46px 96px 30px 1fr 62px 118px; gap:10px; align-items:center;
  padding:10px 12px; border-bottom:1px solid var(--f-line-soft)}
.cfx:last-child{border-bottom:0}
.cfx__mw{font-family:var(--f-display); font-weight:700; font-size:19px; color:var(--f-crimson-mid);
  line-height:1; text-decoration:none; transition:color .15s}
.cfx__mw:hover{color:var(--f-signal)}
.cfx__d{font-family:var(--f-mono); font-size:11.5px; color:var(--f-muted)}
.cfx__ha{font-family:var(--f-mono); font-size:10px; font-weight:600; letter-spacing:.1em;
  text-align:center; padding:3px 0; border-radius:2px}
.is-h{background:#DFF3E9; color:var(--f-mint)}
.is-a{background:#F3E7EA; color:var(--f-crimson-mid)}
.cfx__o{font-weight:500; font-size:14.5px; display:flex; align-items:center; gap:9px; min-width:0;
  text-decoration:none; border-radius:2px; padding:3px 5px; margin:-3px -5px; transition:background .15s}
.cfx__o:hover{background:#F7ECEE}
.cfx__t{font-family:var(--f-mono); font-size:12px}
.cfx__t.is-prov{color:var(--f-muted)}
.cfx__x{font-family:var(--f-mono); font-size:10.5px; color:var(--f-muted); text-align:right;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

/* ---------- pager + legend ---------- */
.pager{display:flex; gap:10px; align-items:stretch; margin:26px 0 8px; flex-wrap:wrap}
.pager a{flex:1 1 210px; background:var(--f-panel); border:1px solid var(--f-line);
  border-radius:var(--f-r); padding:13px 16px; text-decoration:none; transition:border-color .16s}
.pager a:hover{border-color:var(--f-crimson)}
.pager span{display:block; font-family:var(--f-mono); font-size:9.5px; letter-spacing:.17em;
  text-transform:uppercase; color:var(--f-muted); margin-bottom:3px}
.pager b{font-family:var(--f-display); font-weight:700; font-size:19px; text-transform:uppercase;
  letter-spacing:.02em}
.pager .nxt{text-align:right}
.biglines{display:flex; gap:28px; flex-wrap:wrap; margin:0}
.bigline{display:inline-block; font-family:var(--f-display); font-weight:700; font-size:22px;
  text-transform:uppercase; letter-spacing:.03em; text-decoration:none; color:var(--f-crimson);
  border-bottom:3px solid var(--f-signal); padding-bottom:2px}
.bigline:hover{color:var(--f-signal)}
.legend{display:flex; gap:9px; flex-wrap:wrap; margin:18px 0 0}
.legend b{font-family:var(--f-mono); font-size:9.5px; letter-spacing:.13em; text-transform:uppercase;
  color:var(--f-muted); font-weight:400; display:flex; align-items:center; gap:6px;
  border:1px solid var(--f-line); border-radius:20px; padding:4px 10px; background:var(--f-panel)}
.legend b::before{content:""; width:9px; height:9px; border-radius:2px; background:var(--f-crimson-mid)}
.legend b.l-mid::before{background:#E0447B}
.legend b.l-box::before{background:#F0A800}
.legend b.l-fin::before{background:#00D77E}
.legend b.l-prov::before{background:var(--f-line); border:1px solid #CCB8BD}


/* ---------- season grid ---------- */
.sr{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.gridwrap{overflow:auto; max-height:min(76vh,880px); border:1px solid var(--f-line);
  border-radius:var(--f-r); background:var(--f-panel); -webkit-overflow-scrolling:touch}
.grid{border-collapse:separate; border-spacing:0; font-family:var(--f-mono); font-size:11px}
.grid th,.grid td{border-right:1px solid var(--f-line-soft); border-bottom:1px solid var(--f-line-soft);
  padding:0; text-align:center}
.grid thead th{position:sticky; top:0; z-index:2; background:var(--f-crimson); color:#fff;
  min-width:60px; height:34px; font-weight:600; letter-spacing:.06em;
  border-right:1px solid rgba(255,255,255,.18)}
.grid tbody th{position:sticky; left:0; z-index:1; background:var(--f-crimson); color:#fff;
  min-width:54px; width:54px; height:32px; font-weight:600; letter-spacing:.06em}
.grid th a{color:inherit; text-decoration:none; display:block; padding:9px 6px}
.grid th a:hover{background:rgba(255,255,255,.16)}
.g-corner{position:sticky; left:0; top:0; z-index:3 !important; background:#2A070F !important;
  min-width:54px; box-shadow:none !important;
  background-image:linear-gradient(to bottom right,transparent calc(50% - 1px),
    rgba(255,255,255,.28) 50%,transparent calc(50% + 1px)) !important}
.g-corner span{display:block; font-size:8px; letter-spacing:.13em; color:#D7B0B9; line-height:1.1}
.g-corner span:first-child{text-align:right; padding:3px 5px 0 0}
.g-corner span:last-child{text-align:left; padding:0 0 3px 5px}
.g-c a{display:block; padding:9px 5px; text-decoration:none; color:var(--f-ink); white-space:nowrap}
.g-c a:hover{background:var(--f-ink); color:#fff}
.g-x{background:repeating-linear-gradient(135deg,#EEE0E3 0 4px,#F7EEF0 4px 8px)}
.gridnote{font-family:var(--f-mono); font-size:10.5px; letter-spacing:.06em; color:var(--f-muted);
  margin:12px 0 0; text-transform:uppercase}
.legend--ramp{gap:0; margin-top:14px; border:1px solid var(--f-line); border-radius:20px;
  overflow:hidden; display:inline-flex}
.legend--ramp b{border:0; border-radius:0; padding:5px 13px; color:var(--f-ink)}
.legend--ramp b::before{display:none}
@media(max-width:720px){
  .grid thead th{min-width:52px}
  .grid tbody th{min-width:46px; width:46px}
  .g-c a{padding:9px 3px; font-size:10px}
}


/* ---------- chronological list ---------- */
.monthrule{display:flex; align-items:baseline; gap:14px; margin:36px 0 16px; padding-bottom:6px;
  border-bottom:3px solid var(--f-crimson); color:var(--f-crimson); font-size:30px}
.monthrule:first-of-type{margin-top:8px}
.monthrule span{margin-left:auto; font-family:var(--f-mono); font-size:10px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--f-muted); font-weight:400}
.badge--mw{margin-left:0; text-decoration:none; border-color:#D2BBC0; color:var(--f-crimson-mid)}
.badge--mw:hover{background:var(--f-crimson); border-color:var(--f-crimson); color:#fff}

.c-BOU{background:#DA291C}
.c-ARS{background:#EF0107}
.c-AVL{background:#670E36}
.c-BRE{background:#D50032}
.c-BHA{background:#0057B8}
.c-CHE{background:#034694}
.c-COV{background:#3C7CB8}
.c-CRY{background:#1B458F}
.c-EVE{background:#003399}
.c-FUL{background:#2B2B2B}
.c-HUL{background:#C77A2E}
.c-IPS{background:#3A64A3}
.c-LEE{background:#005BAC}
.c-LIV{background:#C8102E}
.c-MCI{background:#4A90C2}
.c-MUN{background:#DA291C}
.c-NEW{background:#2E2A2B}
.c-NFO{background:#DD0000}
.c-SUN{background:#EB172B}
.c-TOT{background:#132257}
.grid thead th.h-BOU{box-shadow:inset 0 -3px 0 #DA291C}.grid tbody th.h-BOU{box-shadow:inset -3px 0 0 #DA291C}
.grid thead th.h-ARS{box-shadow:inset 0 -3px 0 #EF0107}.grid tbody th.h-ARS{box-shadow:inset -3px 0 0 #EF0107}
.grid thead th.h-AVL{box-shadow:inset 0 -3px 0 #670E36}.grid tbody th.h-AVL{box-shadow:inset -3px 0 0 #670E36}
.grid thead th.h-BRE{box-shadow:inset 0 -3px 0 #D50032}.grid tbody th.h-BRE{box-shadow:inset -3px 0 0 #D50032}
.grid thead th.h-BHA{box-shadow:inset 0 -3px 0 #0057B8}.grid tbody th.h-BHA{box-shadow:inset -3px 0 0 #0057B8}
.grid thead th.h-CHE{box-shadow:inset 0 -3px 0 #034694}.grid tbody th.h-CHE{box-shadow:inset -3px 0 0 #034694}
.grid thead th.h-COV{box-shadow:inset 0 -3px 0 #3C7CB8}.grid tbody th.h-COV{box-shadow:inset -3px 0 0 #3C7CB8}
.grid thead th.h-CRY{box-shadow:inset 0 -3px 0 #1B458F}.grid tbody th.h-CRY{box-shadow:inset -3px 0 0 #1B458F}
.grid thead th.h-EVE{box-shadow:inset 0 -3px 0 #003399}.grid tbody th.h-EVE{box-shadow:inset -3px 0 0 #003399}
.grid thead th.h-FUL{box-shadow:inset 0 -3px 0 #2B2B2B}.grid tbody th.h-FUL{box-shadow:inset -3px 0 0 #2B2B2B}
.grid thead th.h-HUL{box-shadow:inset 0 -3px 0 #C77A2E}.grid tbody th.h-HUL{box-shadow:inset -3px 0 0 #C77A2E}
.grid thead th.h-IPS{box-shadow:inset 0 -3px 0 #3A64A3}.grid tbody th.h-IPS{box-shadow:inset -3px 0 0 #3A64A3}
.grid thead th.h-LEE{box-shadow:inset 0 -3px 0 #005BAC}.grid tbody th.h-LEE{box-shadow:inset -3px 0 0 #005BAC}
.grid thead th.h-LIV{box-shadow:inset 0 -3px 0 #C8102E}.grid tbody th.h-LIV{box-shadow:inset -3px 0 0 #C8102E}
.grid thead th.h-MCI{box-shadow:inset 0 -3px 0 #4A90C2}.grid tbody th.h-MCI{box-shadow:inset -3px 0 0 #4A90C2}
.grid thead th.h-MUN{box-shadow:inset 0 -3px 0 #DA291C}.grid tbody th.h-MUN{box-shadow:inset -3px 0 0 #DA291C}
.grid thead th.h-NEW{box-shadow:inset 0 -3px 0 #2E2A2B}.grid tbody th.h-NEW{box-shadow:inset -3px 0 0 #2E2A2B}
.grid thead th.h-NFO{box-shadow:inset 0 -3px 0 #DD0000}.grid tbody th.h-NFO{box-shadow:inset -3px 0 0 #DD0000}
.grid thead th.h-SUN{box-shadow:inset 0 -3px 0 #EB172B}.grid tbody th.h-SUN{box-shadow:inset -3px 0 0 #EB172B}
.grid thead th.h-TOT{box-shadow:inset 0 -3px 0 #132257}.grid tbody th.h-TOT{box-shadow:inset -3px 0 0 #132257}
/* ---------- league table ---------- */
.ltwrap{border-radius:var(--f-r); border-top:1px solid var(--f-line); max-width:620px}
.ltable{width:100%; border-collapse:collapse}
.ltable thead th{font-family:var(--f-mono); font-size:9.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--f-muted); font-weight:400; text-align:right;
  padding:11px 12px; border-bottom:2px solid var(--f-ink); background:var(--f-panel)}
.ltable thead th.t-pos,.ltable thead th.t-club{text-align:left}
.ltable thead abbr{text-decoration:none; border:0}
.ltable td{padding:11px 12px; border-bottom:1px solid var(--f-line-soft); text-align:right}
.ltable tbody tr:last-child td{border-bottom:0}
.t-pos{font-family:var(--f-display); font-weight:700; font-size:19px; color:var(--f-crimson-mid);
  width:46px; text-align:left !important; line-height:1}
.t-club{text-align:left !important}
.t-club a{display:flex; align-items:center; gap:9px; text-decoration:none; font-weight:500;
  font-size:14.5px; border-radius:2px; padding:3px 5px; margin:-3px -5px}
.t-club a:hover{background:#F7ECEE}
.t-n{font-family:var(--f-mono); font-size:13px; color:var(--f-muted); width:58px}
.t-pts{font-family:var(--f-display); font-weight:800; font-size:22px; width:62px; line-height:1}
.ltable tbody tr:first-child td:first-child{box-shadow:inset 4px 0 0 var(--f-mint)}
.ltable tbody tr:nth-last-child(-n+3) td:first-child{box-shadow:inset 4px 0 0 var(--f-signal)}
.ltable.pre tbody tr td:first-child{box-shadow:none}
.preonly{display:none}
body:has(.ltable.pre) .preonly{display:block}
.tnote{font-family:var(--f-mono); font-size:11px; letter-spacing:.04em; color:var(--f-crimson-mid);
  background:var(--f-panel); border:1px solid var(--f-line); border-left:4px solid var(--f-crimson-mid);
  border-radius:var(--f-r); padding:12px 14px; margin:0 0 20px; max-width:620px; line-height:1.6}
.legend--zone{margin-top:16px}
.legend b.l-top::before{background:var(--f-mint)}
.legend b.l-rel::before{background:var(--f-signal)}
@media(max-width:560px){
  .ltable td,.ltable thead th{padding:10px 8px}
  .t-n{width:44px; font-size:12px}
  .t-pts{width:50px; font-size:19px}
  .t-club a{font-size:13.5px; gap:7px}
}
/* ---------- footer ---------- */
footer{background:var(--f-crimson); color:#DFC4CA; padding:32px 0 26px; font-size:13px; line-height:1.6}
.fgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:26px}
footer h4{font-family:var(--f-mono); font-size:10px; letter-spacing:.19em; text-transform:uppercase;
  color:#DCBFC6; margin:0 0 9px; font-weight:400}
footer p{margin:0}
footer a{color:#fff}
footer ul{list-style:none; margin:0; padding:0}
footer li{margin-bottom:4px}
.fbar{border-top:1px solid rgba(255,255,255,.16); margin-top:26px; padding-top:16px; font-size:11.5px;
  color:#D2BEC2; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap}

/* ---------- responsive ---------- */
@media(max-width:720px){
  .fx{grid-template-columns:56px 1fr 26px 1fr; row-gap:4px}
  .fx__x{grid-column:1/-1; text-align:left; padding-left:56px}
  .fxnote{padding-left:56px}
  .cfx{grid-template-columns:38px 1fr 30px; row-gap:3px}
  .cfx__o{grid-column:1/-1}
  .cfx__t,.cfx__x{grid-column:span 2; text-align:left}
  .fx__n{font-size:13px}
}
@media(max-width:560px){
  .shell{padding:0 14px}
  .fx__n{display:none}
  .fx__s{display:inline}
  .fx{grid-template-columns:50px 1fr 24px 1fr; padding:11px 10px}
  .chip{font-size:10.5px; padding:4px 6px}
  .cfx{grid-template-columns:34px 1fr auto; row-gap:2px; padding:11px 10px}
  .cfx__mw{font-size:22px}
  .cfx__d{grid-column:2; font-size:11px}
  .cfx__ha{grid-column:3; width:26px; justify-self:end}
  .cfx__o{grid-column:2/4; font-size:14px}
  .cfx__t{grid-column:2; font-size:11.5px}
  .cfx__x{grid-column:3; text-align:right; font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation:none !important; transition:none !important}
}
@media print{
  .masthead,.spine,.pager,.legend{display:none}
  .page{display:block !important}
  .gridwrap{max-height:none; overflow:visible}
  body{background:#fff}
}

/* ---------- routing: one page visible at a time, no script ---------- */
/* (see the block above; the default page is the 2026/27 hub) */

/* ---------- season toggle ---------- */
.seasons{display:flex; align-items:stretch; flex:0 0 auto; border-radius:var(--f-r);
  overflow:hidden; border:1px solid rgba(255,255,255,.32)}
.seasons a,.seasons>span{font-family:var(--f-mono); font-size:11px; letter-spacing:.1em;
  padding:7px 12px; line-height:1.15; display:block; white-space:nowrap; text-decoration:none}
.seasons a{color:#E2C6CC}
.seasons a:hover{background:rgba(255,255,255,.14); color:#fff}
.seasons>span{background:#fff; color:var(--f-crimson); font-weight:600}
.seasons>a+span,.seasons>span+a,.seasons>a+a{border-left:1px solid rgba(255,255,255,.32)}
.page .masthead .shell{padding-top:0}
@media(max-width:560px){
  .masthead__in{gap:12px}
  .seasons a,.seasons>span{padding:6px 9px; font-size:10.5px; letter-spacing:.06em}
}

/* ---------- completed-season results ---------- */
.fx--res{grid-template-columns:66px 1fr 48px 1fr 132px}
.fx__v.is-res{font-size:13px; font-weight:600; color:var(--f-ink); letter-spacing:.02em}
.fx__s{min-width:0; overflow:hidden; text-overflow:ellipsis}
.cfx__r{text-align:center; font-weight:600; font-size:12.5px; border-radius:2px;
  padding:3px 4px; letter-spacing:.02em}
.r-w{background:#8CCFAF; color:#053D2A}
.r-d{background:#3D3A33; color:#FFFFFF}
.r-l{background:#F2A7BB; color:#8A0030}
.legend b.l-w::before{background:#8CCFAF}
.legend b.l-d::before{background:#3D3A33}
.legend b.l-l::before{background:#F2A7BB}

/* ---------- full-column league table ---------- */
.ltwrap--full{max-width:100%; overflow:auto; -webkit-overflow-scrolling:touch}
.ltable--full{min-width:544px}
.ltable--full td,.ltable--full thead th{padding-left:7px; padding-right:7px}
.ltable--full .t-n{width:auto; min-width:32px; font-size:12.5px}
.ltable--full .t-club{min-width:148px}
.ltable--full .t-pos{width:38px}
.ltable--full .t-pts{width:52px}

/* ---------- clubs of 2025/26 only ---------- */
.c-BUR{background:#6C1D45}
.c-WHU{background:#7A263A}
.c-WOL{background:#CD8D0F}
.grid thead th.h-BUR{box-shadow:inset 0 -3px 0 #6C1D45}.grid tbody th.h-BUR{box-shadow:inset -3px 0 0 #6C1D45}
.grid thead th.h-WHU{box-shadow:inset 0 -3px 0 #7A263A}.grid tbody th.h-WHU{box-shadow:inset -3px 0 0 #7A263A}
.grid thead th.h-WOL{box-shadow:inset 0 -3px 0 #CD8D0F}.grid tbody th.h-WOL{box-shadow:inset -3px 0 0 #CD8D0F}


/* ---------- 2025/26 grid: club-coloured axes, result-shaded cells ---------- */
.grid--res thead th.h-ARS,.grid--res tbody th.h-ARS{background:#EF0107; color:#fff}
.grid--res thead th.h-AVL,.grid--res tbody th.h-AVL{background:#670E36; color:#fff}
.grid--res thead th.h-BHA,.grid--res tbody th.h-BHA{background:#0057B8; color:#fff}
.grid--res thead th.h-BOU,.grid--res tbody th.h-BOU{background:#DA291C; color:#fff}
.grid--res thead th.h-BRE,.grid--res tbody th.h-BRE{background:#D50032; color:#fff}
.grid--res thead th.h-BUR,.grid--res tbody th.h-BUR{background:#6C1D45; color:#fff}
.grid--res thead th.h-CHE,.grid--res tbody th.h-CHE{background:#034694; color:#fff}
.grid--res thead th.h-CRY,.grid--res tbody th.h-CRY{background:#1B458F; color:#fff}
.grid--res thead th.h-EVE,.grid--res tbody th.h-EVE{background:#003399; color:#fff}
.grid--res thead th.h-FUL,.grid--res tbody th.h-FUL{background:#2B2B2B; color:#fff}
.grid--res thead th.h-LEE,.grid--res tbody th.h-LEE{background:#005BAC; color:#fff}
.grid--res thead th.h-LIV,.grid--res tbody th.h-LIV{background:#C8102E; color:#fff}
.grid--res thead th.h-MCI,.grid--res tbody th.h-MCI{background:#4A90C2; color:#fff}
.grid--res thead th.h-MUN,.grid--res tbody th.h-MUN{background:#DA291C; color:#fff}
.grid--res thead th.h-NEW,.grid--res tbody th.h-NEW{background:#2E2A2B; color:#fff}
.grid--res thead th.h-NFO,.grid--res tbody th.h-NFO{background:#DD0000; color:#fff}
.grid--res thead th.h-SUN,.grid--res tbody th.h-SUN{background:#EB172B; color:#fff}
.grid--res thead th.h-TOT,.grid--res tbody th.h-TOT{background:#132257; color:#fff}
.grid--res thead th.h-WHU,.grid--res tbody th.h-WHU{background:#7A263A; color:#fff}
.grid--res thead th.h-WOL,.grid--res tbody th.h-WOL{background:#CD8D0F; color:#240A10}
.grid--res thead th{border-right:1px solid rgba(255,255,255,.3)}
.grid--res tbody th{border-bottom:1px solid rgba(255,255,255,.3)}
.grid--res thead th a:hover,.grid--res tbody th a:hover{background:rgba(0,0,0,.22)}
.grid--res .g-w{background:#8CCFAF}
.grid--res .g-d{background:#3D3A33}
.grid--res .g-l{background:#F2A7BB}
.grid--res .g-w a{color:#053D2A}
.grid--res .g-d a{color:#FFFFFF}
.grid--res .g-l a{color:#8A0030}
.grid--res .g-c a{font-weight:500}
.grid--res .g-b{background:var(--f-panel)}
.grid--hi .g-b{background:#FCFAFB}
.grid--hi .g-c a{font-weight:600}
.grid--res .g-c a:hover{background:var(--f-ink); color:#fff}


/* ---------- 2025/26 managers chart ---------- */
.mwrap{overflow:auto; -webkit-overflow-scrolling:touch; max-width:100%;
  border:1px solid var(--f-line); border-radius:var(--f-r); background:var(--f-panel);
  max-height:min(78vh,900px)}
.mchart{min-width:980px}
.mhead,.mrow{display:grid; grid-template-columns:152px repeat(10,1fr); align-items:center}
.mhead{position:sticky; top:0; z-index:8; background:var(--f-crimson); color:#fff;
  font-family:var(--f-mono); font-size:10.5px; letter-spacing:.14em; text-transform:uppercase}
.mhead span{padding:11px 0; text-align:center; border-left:1px solid rgba(255,255,255,.2)}
.mhead .mcorner{position:sticky; left:0; z-index:2; background:#2A070F; text-align:left;
  padding-left:13px; border-left:0}
.mrow{border-top:1px solid var(--f-line-soft); min-height:46px}
.mrow>*{grid-row:1}
.mrow:hover{background:#FCF9FA}
.mrow__club{position:sticky; left:0; z-index:5; background:var(--f-panel); height:100%;
  display:flex; align-items:center; gap:9px; padding:0 10px 0 13px; text-decoration:none;
  font-size:13.5px; font-weight:500; border-right:1px solid var(--f-line)}
.mrow__club span{min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.mrow__club:hover{background:#F7ECEE}
.mtick{border-left:1px solid var(--f-line-soft); height:100%}
.mcut{border-left:2px dotted var(--f-signal); height:100%; z-index:2}
.mspan{display:flex; align-items:center; gap:7px; padding:0 8px; min-width:0; z-index:3}
.mspan b{font-size:12.5px; font-weight:600; color:var(--f-ink); white-space:nowrap; flex:0 1 auto;
  overflow:hidden; text-overflow:ellipsis}
.mspan i{flex:1 1 0; min-width:10px; height:0; border-top:2px solid; position:relative}
.mspan .a-l::before{content:""; position:absolute; left:-1px; top:-5px;
  border:4px solid transparent; border-right-color:currentColor; border-left:0}
.mspan .a-r::after{content:""; position:absolute; right:-1px; top:-5px;
  border:4px solid transparent; border-left-color:currentColor; border-right:0}
.mspan--one{justify-content:center; padding:0 4px}
.mspan--one b{font-size:11.5px}
.mint{font-style:normal; font-size:8px; vertical-align:top; margin-left:3px; color:var(--f-signal)}
.legend b.l-int::before{background:var(--f-signal); border-radius:50%}
.legend b.l-cut::before{background:none; border-left:2px dotted var(--f-signal); width:2px;
  border-radius:0}


/* ---------- 2025/26 position by matchweek ---------- */
.pgrid{border-collapse:separate; border-spacing:0; font-family:var(--f-mono); font-size:10.5px}
.pgrid th,.pgrid td{padding:0; text-align:center; border-right:1px solid var(--f-line-soft);
  border-bottom:1px solid var(--f-line-soft)}
.pgrid thead th{position:sticky; z-index:2; background:var(--f-crimson); color:#fff;
  min-width:38px; height:32px; font-weight:600; letter-spacing:.04em;
  border-right:1px solid rgba(255,255,255,.18)}
.pgrid thead tr:first-child th{top:0; height:25px}
.pgrid thead tr:nth-child(2) th{top:25px}
.pgrid thead th.p-month{background:#3B0A15; color:#D7B0B9; font-size:9.5px; font-weight:400;
  letter-spacing:.15em; text-transform:uppercase; padding:0 4px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; border-right:1px solid rgba(255,255,255,.3);
  border-bottom:1px solid rgba(255,255,255,.16)}
.pgrid thead th.p-mcorner{position:sticky; left:0; top:0; z-index:5; background:#1C0409;
  min-width:44px; font-size:8px; font-weight:400; letter-spacing:.12em; color:#D7B0B9;
  text-transform:uppercase; border-right:1px solid rgba(255,255,255,.3);
  border-bottom:1px solid rgba(255,255,255,.16)}
.pgrid thead th a{color:inherit; text-decoration:none; display:block; padding:9px 3px}
.pgrid thead th a:hover{background:rgba(255,255,255,.18)}
.pgrid tbody th{position:sticky; left:0; z-index:1; background:var(--f-crimson); color:#fff;
  min-width:44px; width:44px; height:30px; font-family:var(--f-display); font-weight:700;
  font-size:17px; line-height:1}
.pgrid .p-corner{position:sticky; left:0; top:25px; z-index:3 !important; background:#2A070F !important;
  min-width:44px; box-shadow:none !important;
  background-image:linear-gradient(to bottom right,transparent calc(50% - 1px),
    rgba(255,255,255,.28) 50%,transparent calc(50% + 1px)) !important}
.pgrid .p-corner span{display:block; font-size:8px; letter-spacing:.12em; color:#D7B0B9;
  line-height:1.1}
.pgrid .p-corner span:first-child{text-align:right; padding:3px 5px 0 0}
.pgrid .p-corner span:last-child{text-align:left; padding:0 0 3px 5px}
.pc a{display:block; padding:8px 2px; text-decoration:none; color:#fff; font-weight:600;
  letter-spacing:.02em}
.pc.is-ink a{color:var(--f-ink)}
.pc a:hover{outline:2px solid var(--f-ink); outline-offset:-2px}
.pgrid tbody tr:first-child th{box-shadow:inset 4px 0 0 var(--f-mint)}
.pgrid tbody tr:nth-last-child(-n+3) th{box-shadow:inset 4px 0 0 var(--f-signal)}
@media(max-width:720px){
  .pgrid thead th{min-width:34px}
  .pgrid tbody th{min-width:38px; width:38px; font-size:15px}
  .pc a{padding:8px 1px}
}


/* ---------- club page tabs ---------- */
.tabs{display:inline-flex; border:1px solid var(--f-line); border-radius:var(--f-r);
  overflow:hidden; margin:0 0 22px; background:var(--f-panel)}
.tabs a,.tabs>span{font-family:var(--f-mono); font-size:11px; letter-spacing:.11em;
  text-transform:uppercase; padding:9px 17px; text-decoration:none; line-height:1.15;
  display:block}
.tabs a{color:var(--f-crimson-mid)}
.tabs a:hover{background:#F7ECEE; color:var(--f-crimson)}
.tabs>span{background:var(--f-crimson); color:#fff; font-weight:600}
.tabs>a+span,.tabs>span+a,.tabs>a+a{border-left:1px solid var(--f-line)}

/* ---------- squad table ---------- */
.ltwrap--squad{max-width:100%; overflow:auto; -webkit-overflow-scrolling:touch}
.ltable--squad{min-width:432px}
.ltable--squad .t-club{min-width:152px; font-size:14.5px; font-weight:500}
.ltable--squad .t-pn{width:66px; text-align:center}
.ltable--squad .t-ap{font-family:var(--f-mono); font-size:14px; font-weight:600; width:52px;
  text-align:right}
.ltable--squad .t-n{width:44px}
.ltable--squad tbody tr td:first-child{box-shadow:none}
.ltable--squad tbody tr:hover{background:#FCF9FA}
.pos{font-style:normal; font-family:var(--f-mono); font-size:9.5px; font-weight:600;
  letter-spacing:.08em; padding:3px 7px; border-radius:2px; display:inline-block}
.pos-GK{background:#FBEFD6; color:#7A5600}
.pos-DEF{background:#DFF3E9; color:var(--f-mint)}
.pos-MID{background:#ECEAE4; color:#5B554D}
.pos-FWD{background:#F7E1E6; color:#8B1A32}
.pos-NA{background:#F4F2ED; color:#9A948C}
.legend b.l-gk::before{background:#E8B93F}
.legend b.l-def::before{background:var(--f-mint)}
.legend b.l-fwd::before{background:#8B1A32}


/* ---------- 2025/26 opponents grid ---------- */
.ogrid{border-collapse:separate; border-spacing:0; font-family:var(--f-mono); font-size:10px}
.ogrid th,.ogrid td{padding:0; text-align:center; border-right:1px solid var(--f-line-soft);
  border-bottom:1px solid var(--f-line-soft)}
.ogrid thead th{position:sticky; z-index:2; background:var(--f-crimson); color:#fff;
  min-width:36px; font-weight:600; letter-spacing:.04em;
  border-right:1px solid rgba(255,255,255,.18)}
.ogrid thead tr:first-child th{top:0; height:25px}
.ogrid thead tr:nth-child(2) th{top:25px; height:30px}
.ogrid thead th a{color:inherit; text-decoration:none; display:block; padding:8px 3px}
.ogrid thead th a:hover{background:rgba(255,255,255,.18)}
.ogrid thead th.p-month{background:#3B0A15; color:#E3C3CB; font-size:9.5px; font-weight:400;
  letter-spacing:.15em; text-transform:uppercase; padding:0 4px; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; border-right:1px solid rgba(255,255,255,.3);
  border-bottom:1px solid rgba(255,255,255,.16)}
.ogrid .o-mcorner,.ogrid .o-corner{position:sticky; left:0; z-index:6 !important;
  background:#2A070F !important; min-width:132px; text-align:left}
.ogrid .o-mcorner{top:0; font-size:8px; font-weight:400; letter-spacing:.12em; color:#E3C3CB;
  text-transform:uppercase; padding-left:13px;
  border-bottom:1px solid rgba(255,255,255,.16)}
.ogrid .o-corner{top:25px;
  background-image:linear-gradient(to bottom right,transparent calc(50% - 1px),
    rgba(255,255,255,.28) 50%,transparent calc(50% + 1px)) !important}
.ogrid .o-corner span{display:block; font-size:8px; letter-spacing:.12em; color:#E3C3CB;
  line-height:1.1}
.ogrid .o-corner span:first-child{text-align:right; padding:2px 6px 0 0}
.ogrid .o-corner span:last-child{text-align:left; padding:0 0 2px 13px}
.ogrid tbody th{position:sticky; z-index:1; background:var(--f-panel); height:28px}
.ogrid tbody .o-pos{left:0; width:32px; min-width:32px; font-family:var(--f-display);
  font-weight:700; font-size:15px; color:var(--f-muted); background:#FBF7F8}
.ogrid tbody .o-pos.o-champ{box-shadow:inset 3px 0 0 var(--f-mint)}
.ogrid tbody .o-pos.o-rel{box-shadow:inset 3px 0 0 var(--f-signal)}
.ogrid tbody .o-club{left:32px; width:100px; min-width:100px; text-align:left;
  border-right:1px solid var(--f-line)}
.ogrid tbody .o-club a{display:flex; align-items:center; gap:6px; padding:0 8px;
  text-decoration:none; font-family:var(--f-body); font-size:12px; font-weight:500}
.ogrid tbody .o-club a span{min-width:0; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap}
.ogrid tbody .o-club a:hover{background:#F7ECEE}
.ogrid tbody tr:hover .o-club,.ogrid tbody tr:hover .o-pos{background:#F3E7EA}
.oc a{display:block; padding:8px 2px; text-decoration:none; font-weight:600; letter-spacing:.02em}
.oc a:hover{outline:2px solid var(--f-ink); outline-offset:-2px}
.oc.o-w{background:#8CCFAF}
.oc.o-d{background:#3D3A33}
.oc.o-l{background:#F2A7BB}
.oc.o-w a{color:#053D2A}
.oc.o-d a{color:#FFFFFF}
.oc.o-l a{color:#8A0030}
.oc.o-w.is-a{background:#D3EDE0}
.oc.o-d.is-a{background:#6E6A60}
.oc.o-l.is-a{background:#FBDFE7}
.oc.o-w.is-a a{color:#046143}
.oc.o-l.is-a a{color:#A80038}
.oc.o-d a:hover{outline-color:#FFFFFF}
.oc.is-a a{text-decoration:underline; text-decoration-thickness:1px;
  text-underline-offset:2px; font-weight:500}
.legend b.l-away::before{background:none; border-bottom:2px solid var(--f-muted);
  border-radius:0; height:8px}
@media(max-width:720px){
  .ogrid thead th{min-width:32px}
  .ogrid .o-mcorner,.ogrid .o-corner{min-width:112px}
  .ogrid tbody .o-club{width:80px; min-width:80px}
  .ogrid tbody .o-club a span{display:none}
  .oc a{padding:8px 1px}
}


/* ---------- season selector: multi-year item ---------- */
.seasons .s-multi{font-weight:600}
.seasons a.s-multi{color:#F0D9DE}
.seasons a.s-multi:hover{background:rgba(255,255,255,.16); color:#fff}

/* ---------- decade ribbon ---------- */
.spi--dec{gap:2px}
.dk{flex:1 1 0; min-width:0; text-align:center; padding:0 1px}
.dk i{display:block; background:#A25C6C; border-radius:1.5px 1.5px 0 0; height:15px;
  margin-bottom:4px}
.dk b{display:block; font-family:var(--f-mono); font-size:9px; letter-spacing:.02em;
  color:#E3C3CB; font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.dk-void i{background:none; border:1px dashed rgba(255,255,255,.34); height:14px}
.dk-void b{color:#B98F99}

/* ---------- decade grid ---------- */
.dgrid{border-collapse:separate; border-spacing:0; font-family:var(--f-mono); font-size:11px;
  min-width:820px}
.dgrid th,.dgrid td{padding:0; text-align:center; border-right:1px solid var(--f-line-soft);
  border-bottom:1px solid var(--f-line-soft)}
.dgrid thead th{position:sticky; top:0; z-index:2; background:var(--f-crimson); color:#fff;
  min-width:64px; height:40px; font-weight:600;
  border-right:1px solid rgba(255,255,255,.18)}
.dgrid thead th span{display:block; line-height:1.15; font-size:11px; letter-spacing:.02em}
.dgrid thead th span:last-child{font-size:9.5px; color:#E3C3CB}
.dgrid thead th.dh-void{background:#6E2233; color:#E3C3CB}
.dgrid thead th.dh-void span:last-child{color:#C89AA5}
.dgrid .d-corner{position:sticky; left:0; top:0; z-index:3 !important;
  background:#2A070F !important; min-width:52px; width:52px;
  background-image:linear-gradient(to bottom right,transparent calc(50% - 1px),
    rgba(255,255,255,.28) 50%,transparent calc(50% + 1px)) !important}
.dgrid .d-corner span{display:block; font-size:8px; letter-spacing:.1em; color:#E3C3CB;
  line-height:1.1; font-weight:400}
.dgrid .d-corner span:first-child{text-align:right; padding:4px 5px 0 0}
.dgrid .d-corner span:last-child{text-align:left; padding:0 0 4px 5px}
.dgrid tbody th{position:sticky; left:0; z-index:1; background:var(--f-crimson); color:#fff;
  min-width:52px; width:52px; height:31px; font-family:var(--f-display); font-weight:700;
  font-size:18px; line-height:1}
.dgrid tbody tr:hover th{background:#6C1327}
.dc{color:#fff; font-weight:600; letter-spacing:.03em; padding:9px 4px}
.dc.is-ink{color:var(--f-ink)}
.dc.is-void{background:repeating-linear-gradient(135deg,#F2EDEE,#F2EDEE 5px,
  #E8E1E3 5px,#E8E1E3 10px)}
.dgrid tbody tr:first-child th{box-shadow:inset 4px 0 0 #00D77E}
.dgrid tbody tr:nth-last-child(-n+3) th{box-shadow:inset 4px 0 0 #FF7A97}
.legend b.l-void::before{background:repeating-linear-gradient(135deg,#F2EDEE,#F2EDEE 3px,
  #D6CCCF 3px,#D6CCCF 6px); border:1px solid var(--f-line)}
@media(max-width:720px){
  .dgrid thead th{min-width:56px}
  .dgrid tbody th,.dgrid .d-corner{min-width:44px; width:44px}
  .dgrid tbody th{font-size:16px}
}
.c-CAR{background:#0070B5}
.c-HUD{background:#0E63AD}
.c-LEI{background:#003090}
.c-LUT{background:#F78F1E}
.c-NOR{background:#FFF200}
.c-SHU{background:#EE2737}
.c-SOU{background:#D71920}
.c-STK{background:#E03A3E}
.c-SWA{background:#121212}
.c-WAT{background:#FBEE23}
.c-WBA{background:#122F67}


/* ---------- squad: nationality and age ---------- */
.ltable--squad{min-width:544px}
.ltable--squad .t-nat{width:56px; text-align:center}
.ltable--squad .t-age{width:48px; text-align:right; font-family:var(--f-mono); font-size:13px}
.nat{font-style:normal; font-family:var(--f-mono); font-size:10px; font-weight:600;
  letter-spacing:.06em; color:var(--f-crimson-mid); background:#F7EFF1; padding:3px 6px;
  border-radius:2px; display:inline-block}
.nat-na{background:#F4F2ED; color:#9A948C}

/* ---------- stadiums and owners ---------- */
.ltwrap--info{max-width:100%; overflow:auto; -webkit-overflow-scrolling:touch}
.ltable--info{min-width:560px}
.ltable--info .i-club{width:128px; min-width:128px; text-align:left}
.ltable--info .i-club a{display:flex; align-items:center; gap:7px; text-decoration:none;
  font-size:13.5px; font-weight:500}
.ltable--info .i-club a span{min-width:0; overflow:hidden; text-overflow:ellipsis;
  white-space:nowrap}
.ltable--info .i-name{font-size:14px; line-height:1.3}
.ltable--info .i-name small{display:block; font-size:11.5px; color:var(--f-muted);
  margin-top:2px; line-height:1.35}
.ltable--info .i-num{width:92px; text-align:right; font-family:var(--f-mono); font-size:14px;
  font-weight:600}
.ltable--info .i-yr{width:76px; text-align:right; font-family:var(--f-mono); font-size:14px}
.ltable--info .i-yr small{display:block; font-size:10px; color:var(--f-muted); font-weight:400}
.ltable--info .i-nat{width:132px; font-size:12.5px; color:var(--f-muted); line-height:1.3}
.ltable--own{min-width:640px}
.ltable--info .i-chair{width:158px; font-size:13.5px; line-height:1.3}
.ltable--info .i-chair b{font-weight:600; display:block}
.ltable--info .i-chair small{display:block; font-size:10.5px; color:var(--f-muted);
  font-family:var(--f-mono); letter-spacing:.02em}
.ltable--info .i-chair .i-then{margin-top:5px; padding-top:5px;
  border-top:1px solid var(--f-line)}
.i-changed{box-shadow:inset 3px 0 0 var(--f-signal)}
@media(max-width:560px){
  .ltable--info .i-club{width:104px; min-width:104px}
  .ltable--info .i-club a span{display:none}
}

/* ---------- points curve ---------- */
.chartwrap{padding:4px 0 2px}
.pchart{display:block; min-width:954px; background:var(--f-panel)}
.pc-ax{font-family:var(--f-mono); fill:var(--f-muted)}
.pc-ax--y{font-size:10.5px; text-anchor:end}
.pc-ax--x{font-size:10.5px; text-anchor:middle}
.pc-ax--unit{font-size:8.5px; letter-spacing:.12em; fill:#A08B91}
.pc-ax--m{font-size:9px; letter-spacing:.14em; text-anchor:middle; fill:#A08B91;
  text-transform:uppercase}
.pc-lab{font-family:var(--f-mono); font-size:10px; font-weight:600; letter-spacing:.04em;
  fill:#FFFFFF; text-anchor:middle}
.pc-lab--ink{fill:#240A10}

/* ---------- points spread plot ---------- */
.dchart{display:block; min-width:1536px; background:var(--f-panel)}
.dd-ax{font-family:var(--f-mono); fill:var(--f-muted)}
.dd-ax--y{font-size:10.5px; text-anchor:end}
.dd-ax--unit{font-size:8.5px; letter-spacing:.12em; fill:#A08B91}
.dd-ax--s{font-size:11px; text-anchor:middle; fill:var(--f-ink); font-weight:600}
.dd-ax--void{fill:#A08B91; font-weight:400}
.dd-ax--note{font-size:8.5px; letter-spacing:.1em; text-anchor:middle; fill:#A08B91;
  text-transform:uppercase}
.dd-ax--ch{font-size:9.5px; font-weight:700; text-anchor:middle; fill:var(--f-mint)}
.dd-c{font-family:var(--f-mono); font-size:8.5px; font-weight:600; letter-spacing:.02em;
  fill:#FFFFFF; text-anchor:middle}
.dd-c--ink{fill:#240A10}

@media(max-width:720px){
  .fx--res{grid-template-columns:56px 1fr 44px 1fr}
  .cfx__r{justify-self:start; min-width:54px}
}
@media(max-width:560px){
  .fx--res{grid-template-columns:48px 1fr 40px 1fr; gap:8px}
  .cfx__r{min-width:50px; font-size:12px}
}

/* ---------- accents that sit on the crimson chrome ---------- */
:focus-visible{outline:3px solid var(--f-signal); outline-offset:2px; border-radius:2px;
  box-shadow:0 0 0 2px #FFFFFF}
.pgrid tbody tr:first-child th{box-shadow:inset 4px 0 0 #00D77E}
.pgrid tbody tr:nth-last-child(-n+3) th{box-shadow:inset 4px 0 0 #FF7A97}

/* ---------- 2026/27 launch: awaiting-season notice & void states ---------- */
.notice{margin:12px 0 4px; padding:9px 12px 10px; border:1px solid var(--f-line);
  border-left:3px solid var(--f-crimson); border-radius:var(--f-r); background:var(--f-panel);
  color:var(--f-muted); font-size:13px; line-height:1.5; max-width:620px}
.notice strong{color:var(--f-ink); font-weight:600}
.pc.is-void{background:repeating-linear-gradient(135deg,#F2EDEE,#F2EDEE 5px,
  #E8E1E3 5px,#E8E1E3 10px)}
.ltable td.is-void{color:var(--f-muted)}
.oc.o-f{background:#FFFFFF}
.oc.o-f.is-a{background:#FBF7F8}
.voidpanel{border:1px solid var(--f-line); border-radius:var(--f-r); margin-top:14px; min-height:320px;
  background:repeating-linear-gradient(135deg,#F2EDEE,#F2EDEE 5px,#E8E1E3 5px,#E8E1E3 10px);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px}
.vp-note{font-family:var(--f-mono); font-size:13px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--f-muted)}
.vp-sub{font-size:12.5px; color:var(--f-muted)}

/* ---------- estate band & colophon (web dress) ---------- */
.estateband{background:var(--f-panel); border-bottom:1px solid var(--f-line)}
.estateband .shell{display:flex; flex-wrap:wrap; gap:4px 18px; align-items:baseline;
  padding-top:9px; padding-bottom:9px}
.estateband a{font-family:var(--f-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--f-crimson); text-decoration:none}
.estateband a:hover{color:var(--f-crimson-mid)}
.estateband span{font-family:var(--f-mono); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--f-muted); margin-left:auto}
.colophon{border-top:1px solid var(--f-line); background:var(--f-panel); margin-top:26px}
.colophon .shell{padding-top:22px; padding-bottom:30px}
.colophon p{font-size:12.5px; line-height:1.6; color:var(--f-muted); margin:0 0 8px; max-width:74ch}
.colophon p:last-child{margin-bottom:0}
.colophon strong{color:var(--f-ink)}
.colophon a{color:var(--f-crimson); text-decoration:none}
.colophon a:hover{text-decoration:underline}


/* ============================================================================
   SIGNAL DRESS - chrome only.  Everything below overrides a hard-coded light
   value in the original sheet.  Plate interiors are deliberately untouched.
   ============================================================================ */

/* ---------- ground ---------- */
body{ background:var(--board); color:var(--ink); }
a{ color:inherit; }
:focus-visible{ outline:3px solid var(--rose); outline-offset:2px; border-radius:4px;
  box-shadow:0 0 0 2px var(--board); }

/* ---------- estate band ---------- */
.estateband{ background:var(--board-2); border-bottom:1px solid var(--hair); }
.estateband a{ color:var(--rose); }
.estateband a:hover{ color:var(--crimson-deep); }
.estateband span{ color:var(--muted); }

/* ---------- annexe masthead: the estate band grammar ---------- */
.masthead{ background:rgba(19,17,16,.72); color:var(--ink);
  -webkit-backdrop-filter:saturate(1.4) blur(14px);
  backdrop-filter:saturate(1.4) blur(14px);
  border-bottom:1px solid var(--hair); box-shadow:none; }
.wordmark b{ color:var(--ink); }
.wordmark span{ color:var(--muted); }
.mainnav a{ color:var(--b-mut); }
.mainnav a:hover{ background:var(--board-3); color:var(--ink); }
.seasons{ border:1px solid var(--hair-strong); }
.seasons a{ color:var(--muted); }
.seasons a:hover{ background:var(--board-3); color:var(--ink); }
.seasons>span{ background:var(--rose); color:#1C0A0F; }
.seasons>a+span,.seasons>span+a,.seasons>a+a{ border-left:1px solid var(--hair-strong); }
.seasons a.s-multi{ color:var(--soft); }
.seasons a.s-multi:hover{ background:var(--board-3); color:var(--ink); }

/* ---------- season ribbon ---------- */
.spine{ background:var(--board-2); border-bottom:1px solid var(--hair); }
.spl,.mgl{ color:var(--muted); }
.mg{ border-left:1px solid var(--hair); }
.k i{ background:rgba(240,86,111,.34); }
.k b{ color:var(--muted); }
.k:hover i{ background:var(--rose); }
.k:hover b{ color:var(--ink); }
.k-midweek i{ background:var(--rose); }
.k-boxing  i{ background:var(--gold); }
.k-final   i{ background:var(--gold); }
.kh i{ background:var(--gold); }
.ka i{ background:rgba(240,86,111,.45); }
.kon i{ background:var(--ink) !important; }
.kon b{ color:var(--ink); }
.gp::before{ background:repeating-linear-gradient(to bottom,
  var(--hair-strong) 0 3px,transparent 3px 6px); }
.dk i{ background:rgba(240,86,111,.34); }
.dk b{ color:var(--muted); }
.dk-void i{ border:1px dashed var(--hair-strong); }
.dk-void b{ color:var(--muted); }

/* ---------- page furniture ---------- */
.eyebrow{ color:var(--rose); }
h1,h2{ color:var(--ink); }
.lede{ color:var(--body); }
.rule{ background:var(--hair); }

.hero{ background:var(--card-solid); border:1px solid var(--hair);
  border-radius:var(--f-card-r); }
.hero::after{ background:var(--rose); }
.opener em{ color:var(--muted); }
.openermeta{ color:var(--muted); }
.counter{ color:var(--rose); }

.facts{ background:var(--hair); border:1px solid var(--hair);
  border-radius:var(--f-card-r); }
.facts div{ background:var(--card-solid); }
.facts dt,.facts dd small{ color:var(--muted); }

/* ---------- fixture and club lists ---------- */
.dayhead{ border-bottom:2px solid var(--hair-strong); }
.badge{ border:1px solid var(--hair); color:var(--muted); background:var(--card); }
.badge--mid{ border-color:var(--rose); color:var(--rose); }
.badge--mw{ border-color:var(--hair-strong); color:var(--muted); }
.badge--mw:hover{ background:var(--rose); border-color:var(--rose); color:#1C0A0F; }
.listwrap{ border:1px solid var(--hair); background:var(--card);
  border-radius:0 0 var(--f-card-r) var(--f-card-r); }
.fx,.cfx{ border-bottom:1px solid var(--hair); }
.fx__h:hover,.fx__a:hover,.cfx__o:hover,.t-club a:hover,.mrow__club:hover{
  background:var(--board-3); }
.fx__v.is-res{ color:var(--ink); }
.cfx__mw{ color:var(--rose); }
.cfx__mw:hover{ color:var(--crimson-deep); }

/* home / away marker: letters already carry the meaning */
.is-h{ background:var(--board-3); color:var(--ink); }
.is-a{ background:transparent; box-shadow:inset 0 0 0 1px var(--hair);
  color:var(--muted); }

/* club chip and crest: brand colour preserved, edge redrawn.
   Twelve club marks sit below 2.2:1 against the board - Tottenham at 1.29:1 -
   so without a ring a dark chip loses its shape.  The fill is untouched. */
.chip{ box-shadow:0 0 0 1px var(--hair-strong); }
.crest{ box-shadow:0 0 0 1px var(--hair-strong); }

/* ---------- cards, pagers, tabs, notices ---------- */
.mwcard,.clubcard,.pager a{ background:var(--card-solid); border:1px solid var(--hair);
  border-radius:var(--f-card-r); }
.mwcard:hover,.clubcard:hover,.pager a:hover{ border-color:var(--rose); }
.mwcard b{ color:var(--rose); }
.mwcard span,.clubcard span,.pager span{ color:var(--muted); }
.mwcard i{ color:var(--gold); }
.bigline{ color:var(--ink); border-bottom:3px solid var(--rose); }
.bigline:hover{ color:var(--rose); }
.monthrule{ color:var(--ink); border-bottom:3px solid var(--rose); }
.monthrule span{ color:var(--muted); }
.tabs{ border:1px solid var(--hair); background:var(--card);
  border-radius:var(--f-card-r); }
.tabs a{ color:var(--muted); }
.tabs a:hover{ background:var(--board-3); color:var(--ink); }
.tabs>span{ background:var(--rose); color:#1C0A0F; }
.tabs>a+span,.tabs>span+a,.tabs>a+a{ border-left:1px solid var(--hair); }
.notice{ background:var(--card); border:1px solid var(--hair);
  border-left:3px solid var(--rose); border-radius:var(--f-card-r);
  color:var(--muted); }
.notice strong{ color:var(--ink); }
.tnote{ background:var(--card); border:1px solid var(--hair);
  border-left:4px solid var(--rose); border-radius:var(--f-card-r);
  color:var(--body); }

/* ---------- legend ---------- */
.legend b{ border:1px solid var(--hair); color:var(--muted); background:var(--card); }
.legend b::before{ background:var(--muted); }
.legend b.l-mid::before{ background:var(--rose); }
.legend b.l-box::before{ background:var(--gold); }
.legend b.l-fin::before{ background:var(--gold); }
.legend b.l-prov::before{ background:transparent; border:1px solid var(--hair-strong); }
.legend b.l-int::before{ background:var(--rose); }
.legend b.l-cut::before{ border-left:2px dotted var(--rose); }
.legend b.l-away::before{ border-bottom:2px solid var(--muted); }
.legend--ramp{ border:1px solid var(--hair); }
.legend--ramp b{ color:var(--ink); }

/* ---------- league table (chrome; zone marks are exempt) ---------- */
.ltwrap{ border-top:1px solid var(--hair); }
.ltable thead th{ color:var(--muted); background:transparent;
  border-bottom:2px solid var(--hair-strong); }
.ltable td{ border-bottom:1px solid var(--hair); }
.t-pos{ color:var(--muted); }
.t-n{ color:var(--muted); }
.t-pts{ color:var(--ink); }
.ltable td.is-void{ color:var(--muted); }
.ltable tbody tr:first-child td:first-child{ box-shadow:inset 4px 0 0 var(--f-mint); }
.ltable tbody tr:nth-last-child(-n+3) td:first-child{ box-shadow:inset 4px 0 0 var(--rose); }
.legend b.l-top::before{ background:var(--f-mint); }
.legend b.l-rel::before{ background:var(--rose); }
.ltable--squad tbody tr:hover{ background:var(--board-3); }
.ltable--info .i-name small,.ltable--info .i-yr small,
.ltable--info .i-nat,.ltable--info .i-chair small{ color:var(--muted); }
.ltable--info .i-chair .i-then{ border-top:1px solid var(--hair); }
.i-changed{ box-shadow:inset 3px 0 0 var(--rose); }

/* ---------- squad chips: no reader-held convention, so estate palette.
   The pills spell GK / DEF / MID / FWD, so colour is redundant here. ---------- */
.pos-GK { background:var(--gold-tint);  color:var(--gold); }
.pos-DEF{ background:var(--board-3);    color:var(--soft); }
.pos-MID{ background:var(--board-2);    color:var(--muted); }
.pos-FWD{ background:var(--rose-soft);  color:var(--rose); }
.pos-NA { background:transparent; box-shadow:inset 0 0 0 1px var(--hair);
          color:var(--muted); }
.legend b.l-gk::before { background:var(--gold); }
.legend b.l-def::before{ background:var(--soft); }
.legend b.l-fwd::before{ background:var(--rose); }
.nat{ background:var(--board-2); color:var(--muted); }
.nat-na{ background:transparent; box-shadow:inset 0 0 0 1px var(--hair);
  color:var(--muted); }

/* ---------- void states ---------- */
.voidpanel{ border:1px solid var(--hair); border-radius:var(--f-card-r);
  background:repeating-linear-gradient(135deg,
    var(--board-2) 0 5px, transparent 5px 10px); }
.vp-note,.vp-sub{ color:var(--muted); }

/* ---------- the annexe's per-page footer ---------- */
footer{ background:var(--board-2); color:var(--body);
  border-top:1px solid var(--hair); }
footer h4{ color:var(--muted); }
footer a{ color:var(--rose); }
.fbar{ border-top:1px solid var(--hair); color:var(--muted); }

/* ---------- colophon ---------- */
.colophon{ background:var(--board); border-top:1px solid var(--hair); }
.colophon p{ color:var(--muted); }
.colophon strong{ color:var(--ink); }
.colophon a{ color:var(--rose); }

/* ---------- the interim-manager dot ----------
   U+25CF is carried by no face on the estate.  Drawn instead, which also
   matches how the legend already renders the same signal (.l-int::before). */
.mint{ font-size:0; line-height:0; }
.mint::before{ content:""; display:inline-block; width:5px; height:5px;
  border-radius:50%; background:currentColor; vertical-align:.34em;
  margin-left:1px; }


/* ============================================================================
   ESTATE LEAKS - signal.css rules that can reach this page, opposed by name.

   signal.css is loaded here for its tokens, faces and reset.  A nesting-aware
   reach test says 36 of its rules can match markup on this page.  Page scopes
   (.p-note, .p-football and the rest) cannot match, because this page carries
   no body class - that is the whole point of scoping by sheet.  Most of what
   remains is wanted: the reset, the board, the grain overlay, [hidden],
   ::selection.  Five are not wanted, and are opposed explicitly rather than
   left to the accident of source order.  If signal.css gains an unscoped rule
   whose classes exist here, this block is where it must be answered.
   ============================================================================ */

/* the estate turns every link rose on hover.  Here links are fixture rows,
   club names and grid cells - and inside a plate that hover would paint rose
   on white paper. */
a:hover{ color:inherit; }

/* the estate wordmark takes margin-right:auto.  The annexe masthead is a flex
   row in which .mainnav already claims margin-left:auto; two competing auto
   margins would centre the row. */
.wordmark{ margin-right:0; font-size:inherit; letter-spacing:normal;
  color:inherit; }

/* the estate's wordmark hover reaches here but lands inert, because both
   children carry explicit colour.  Inert by accident is not the same as
   answered: the hover is made real on the child instead, which is the
   behaviour the estate intends anyway. */
.wordmark:hover{ color:inherit; }
.wordmark:hover b{ color:var(--rose); }

/* the estate eyebrow is an inline-flex row with a gap; the annexe's is a
   plain block paragraph. */
.eyebrow{ display:block; align-items:normal; gap:normal;
  font-weight:400; line-height:1.4; }

/* the estate lede is set in Newsreader.  This is a data page: it reads in
   Geist, and Newsreader is never fetched here. */
.lede{ font-family:var(--f-body); font-weight:400; line-height:1.55; }

/* the estate .hero is a full-height landing panel - display:flex,
   min-height:min(92svh,980px), and a rose radial wash.  The annexe .hero is a
   small bordered summary card that appears on 184 pages.  Unopposed, every one
   of them would grow to near-viewport height. */
.hero{ display:block; align-items:normal; min-height:0; background-image:none; }


/* ============================================================================
   PLATES - the exemption, carried by two selectors.
   Inside these, the --f- tokens return to the annexe's original values, so
   every club colour, every result shade and every axis renders exactly as it
   did in the light dress.  The plate sits on the board ringed and shadowed,
   the same treatment signal.css gives the technology figures.
   ============================================================================ */
.gridwrap,.mwrap{
  color-scheme:light;
  --f-ground:#F4EDEF;
  --f-panel:#FFFFFF;
  --f-ink:#240A10;
  --f-crimson:#861831;
  --f-crimson-mid:#642332;
  --f-mint:#00875A;
  --f-signal:#C4003F;
  --f-muted:#766065;
  --f-line:#E5D7DA;
  --f-line-soft:#F0E6E8;

  border:0;
  border-radius:var(--radius-sm);
  background:var(--f-panel);
  box-shadow:0 0 0 1px rgba(255,255,255,.09), var(--plate-shadow);
}
.chartwrap{ padding:0; overflow:auto; -webkit-overflow-scrolling:touch; }
.pchart,.dchart{ display:block; background:var(--f-panel); }
.mchart{ border-radius:inherit; }

/* a plate needs a little air from the chrome above it */
.gridwrap,.mwrap{ margin-top:14px; }


/* ============================================================================
   PRINT - restore the light palette, or the near-white chrome ink vanishes
   on paper.  The annexe's own print block (pages all open, chrome hidden)
   still applies.
   ============================================================================ */
@media print{
  :root{
    --board:#FFFFFF; --board-2:#FFFFFF; --board-3:#F2EDEE;
    --card:#FFFFFF; --card-solid:#FFFFFF;
    --ink:#240A10; --body:#240A10; --soft:#452A30; --muted:#766065;
    --hair:#E5D7DA; --hair-strong:#D2BBC0;
    --rose:#861831; --crimson:#861831; --crimson-deep:#642332;
    --gold:#B08D2E; --gold-tint:#FBEFD6; --rose-soft:#F7E1E6;
    --f-mint:#00875A;
  }
  body{ background:#FFFFFF; color:#240A10; }
  .gridwrap,.mwrap{ box-shadow:none; border:1px solid #E5D7DA; }
}
