/* ══════════════════════════════════════════════════════════════════════════════════════════════
   pn-legibility — CEO 2026-09-27: "on this team page above there is illegible copy" (the card
   header row — CAPTAIN / NO.02 / NO.03… and the FLYING / TENSE / "1 HR FLAG" condition word,
   top-left of every team card) — "run full design skills on all pages".

   ROOT CAUSE, MEASURED (not guessed): `.sqd-cardtop` (assets/css/play/pn-squad-dossier-20260801.css)
   declares its own pale-slate header strip — `background:var(--rail-bg)` — with dark-navy ink on
   top, a real ~15:1 pair by design. But pn-ds.css's site-wide card-substring rule:

     html:not(#pn-ds-never) body [class*="card"]:not(.bigmodal-card):not(.pn-window):not(.coo-card)
       :not([data-pn-surface]){ background-image: none !important; }

   matches `.sqd-cardtop` too (its class LITERALLY contains the substring "card") and strips the
   gradient to nothing — measured live: computed backgroundImage was "none", backgroundColor
   "rgba(0,0,0,0)". The dark-navy ink then sits directly on the page's own dark ground bleeding
   through the now-transparent strip: CAPTAIN measured 1.29:1, NO.02 1.17:1, FLYING 1.81–2.00:1 —
   all catastrophically under the 4.5:1 AA floor pn-ds.css's own comments say this exact pattern
   has broken FOUR times before (the WahWahs invite, the week-close ledger, the NBO card…). Each
   of those was fixed by adding `data-pn-surface` in the markup, which this sheet's OWN ink-bridge
   rule then reads. `.sqd-cardtop` lives in script-01.js, which is off-limits to this pass (another
   agent owns it) — so the fix is a CSS-only restore at MATCHING specificity to the stripping rule
   (same `:not()` chain, PLUS the target class, so it always outranks it — not merely a load-order
   bet), rather than another entry on the failing "add the class name to an exclusion list" pattern
   that sheet's own comments say is now retired in favour of pointing at `[data-pn-surface]`.

   Light theme no longer exists (Jon, 2026-09-27) — this hardcodes the dark-shell/pale-chrome
   pairing that was always the live one (`body:not(.mvc-light)`), rather than keeping a dead
   light-theme branch alive.

   MEASURED AFTER: CAPTAIN / NO.0x / FLYING / TENSE / "N HR FLAG" all read ≥14:1 (dark navy on the
   pale-slate strip — the exact pair the component already declared for itself).
   ══════════════════════════════════════════════════════════════════════════════════════════════ */
html:not(#pn-ds-never) body [class*="card"]:not(.bigmodal-card):not(.pn-window):not(.coo-card):not([data-pn-surface]).sqd-cardtop{
  background-image: linear-gradient(180deg,#e3e9f2,#d3dbe7) !important;
}

/* belt-and-braces: if some future rule strips the IMAGE again, a flat colour keeps the strip pale
   rather than transparent, so the ink pairing above is never re-broken by omission alone. */
.sqd-cardtop{ background-color: #d8e0ea; }
