/* Public brand palette, sampled from assets/prime-ministers-cup-logo.png.
   Blue: most frequent saturated blue pixel (#001e8e, 51,207 pixels).
   Yellow: bright trophy-gold sample at x=250,y=545 (#f1c30b).
   The logo's gold is a gradient, not a single flat colour. Deep/soft values
   below are deliberate shades/tints of these two anchors. No layout rules.
   Loaded last on public pages only; admin and manager palettes are untouched. */
body:not([data-page="admin"]):not([data-page="manager"]) {
  --cup-blue: #001e8e;
  --cup-yellow: #f1c30b;
  --cup-blue-deep: #00145f;
  --cup-blue-ink: #000d40;
  --cup-yellow-soft: #f8e185;
  --cup-blue-soft: #dce2f8;
  --cup-hero: radial-gradient(circle at 82% 8%, rgba(241,195,11,.2), transparent 24rem), radial-gradient(circle at 12% 88%, #ffffff14, transparent 22rem), linear-gradient(135deg, var(--cup-blue) 0%, var(--cup-blue-deep) 56%, #030711 100%);
  --cup-gold-fill: linear-gradient(135deg, var(--cup-yellow), var(--cup-yellow-soft));
  --cup-blue-fill: linear-gradient(135deg, var(--cup-blue), var(--cup-blue-deep));
  /* Legacy aliases keep older public components on the same palette. */
  --pmc-blue: var(--cup-blue);
  --pmc-plum: var(--cup-blue);
  --pmc-wine: var(--cup-blue-deep);
  --pmc-red: var(--cup-blue);
  --pmc-coral: var(--cup-yellow);
  --pmc-gold: var(--cup-yellow);
  --pmc-gold-soft: var(--cup-yellow-soft);
  --tpc-flag-blue: var(--cup-blue);
  --tpc-flag-blue-dark: var(--cup-blue-deep);
  --tpc-flag-gold: var(--cup-yellow);
  --fan-blue-950: var(--cup-blue-ink);
  --fan-blue-900: var(--cup-blue-deep);
  --fan-blue-800: var(--cup-blue);
  --fan-blue-650: var(--cup-blue);
  --fan-gold: var(--cup-yellow);
  --fan-gold-soft: var(--cup-yellow-soft);
  --fan-focus: var(--cup-yellow);
}

/* Keep the familiar hero treatment; prevent the old mobile hue filter from
   changing it (or the logo) on small screens. */
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-home-hero,.pmc-hero,.pmc-nav,.tpc-live-pill-banner) { filter:none !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-home-hero,.pmc-subhero,.pmc-sponsor-hero,.sponsor-page-hero,.page-hero,.subpage-hero,.tpc-page-hero),
body:not([data-page="admin"]):not([data-page="manager"]) main .pmc-subhero,
body:not([data-page="admin"]):not([data-page="manager"]) #homePlayerSpotlightSection,
body:not([data-page="admin"]):not([data-page="manager"]) #homeSponsorSpotlightSection,
body:not([data-page="admin"]):not([data-page="manager"]) #matchDetail .pmc-match-hero { background:var(--cup-hero) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-nav-shell,.pmc-footer-shell,.fan-favorite-card) { background:var(--cup-hero) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-subhero-card,.fan-bottom-nav) { background:var(--cup-blue-fill) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-primary-cta,.pmc-nav-links .sponsor-nav-link,.fan-favorite-primary,.fan-bottom-item[aria-current="page"],.pmc-footer-admin,.pmc-sponsor-hero aside a) {
  background:var(--cup-gold-fill) !important;color:var(--cup-blue-ink) !important;
}
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-brand-copy small,.pmc-hero-eyebrow,.pmc-hero-kicker,.pmc-kicker,.pmc-footer-grid h4,.fan-favorite-kicker,.fan-briefing-match-label) { color:var(--cup-yellow) !important; }

/* Public utility colours, score blocks and default identity badges. Real
   sponsor artwork and team-specific supplied kit colours are not modified. */
body:not([data-page="admin"]):not([data-page="manager"]) :is(.bg-bfa-navy,.bg-bfa-blue,.bg-pmc-navy,.bg-pmc-blue,.happening-icon,.audience-icon,.home-table-pos,.sponsor-feature-logo) { background:var(--cup-blue-fill) !important;color:#fff !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.bg-bfa-gold,.bg-bfa-yellow,.bg-pmc-gold,.tpc-v16-gold-btn) { background:var(--cup-gold-fill) !important;color:var(--cup-blue-ink) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) .team-logo-fallback { background:var(--cup-blue-fill) !important;color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.text-bfa-gold,.text-bfa-yellow,.text-pmc-gold) { color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.border-bfa-gold,.border-pmc-gold) { border-color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.border-bfa-navy,.border-pmc-navy) { border-color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-ticket-card b { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) #matchDetail .pmc-match-score,
body:not([data-page="admin"]):not([data-page="manager"]) :is(#homeLiveMatches,#fixturesList,#liveMatchesList) .bg-bfa-navy .text-3xl { color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]):not(.tpc-site-dark-mode) :is(.text-bfa-navy,.text-bfa-blue,.text-pmc-navy,.text-pmc-blue) { color:var(--cup-blue) !important; }
/* On dark content panels use the accessible light tint, never blue on blue. */
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode :is(.text-bfa-navy,.text-bfa-blue,.text-pmc-navy,.text-pmc-blue) { color:var(--cup-blue-soft) !important; }

/* Accent labels are blue on light surfaces and the exact yellow on dark
   surfaces. Neutral copy and semantic Live/Finished/error colours stay put. */
body:not([data-page="admin"]):not([data-page="manager"]):not(.tpc-site-dark-mode) :is(.pmc-section-head > span,.pmc-section-head > div > span,.tpc-hub-stage-header > span,.tpc-hub-group-top span) { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode :is(.pmc-section-head > span,.pmc-section-head > div > span,.tpc-hub-stage-header > span,.tpc-hub-group-top span,.tpc-hub-player-card .rank,.tpc-hub-knockout-card > span),
body:not([data-page="admin"]):not([data-page="manager"]) :is(#homePlayerSpotlightSection,#homeSponsorSpotlightSection) .pmc-section-head span,
body:not([data-page="admin"]):not([data-page="manager"]) #homeSponsorSpotlightSection .pmc-section-head > a { color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-hub-group-top > b { background:var(--cup-yellow) !important;color:var(--cup-blue-ink) !important; }
body:not([data-page="admin"]):not([data-page="manager"]):not(.tpc-site-dark-mode) { --tpc-collection-link:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-rail-toolbar button { color:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .tpc-rail-toolbar button { color:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-rail-toolbar button:not(:disabled):hover { background:var(--cup-blue) !important;color:#fff !important; }
body:not([data-page="admin"]):not([data-page="manager"]) [data-tpc-rail].tpc-horizontal-rail { scrollbar-color:var(--cup-yellow) var(--cup-blue-deep); }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.tpc-horizontal-rail,.tpc-rail-toolbar button,.tpc-collection-card a,.tpc-collection-card button,.tpc-team-stat-link,.tpc-group-table-link):focus-visible { outline-color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) #tpcLiveThemeToggle { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode #tpcLiveThemeToggle { color:var(--cup-yellow) !important; }

/* Weekly spotlight: saturated logo blue and yellow, not slate and beige.
   All dimensions, card spacing, scrolling and mobile breakpoints are retained. */
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact { --weekly-accent:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .pmc-weekly-compact { --weekly-accent:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact .pmc-weekly-card.pmc-weekly-star { background:var(--cup-blue);border-color:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact .pmc-weekly-avatar { background:var(--cup-yellow);color:var(--cup-blue-ink); }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact .pmc-weekly-star .pmc-weekly-role,
body:not([data-page="admin"]):not([data-page="manager"]) .player-panel .pmc-weekly-compact .pmc-weekly-method summary { color:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact .pmc-weekly-star .pmc-weekly-evidence > span { background:var(--cup-blue-deep);color:#fff; }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact .pmc-weekly-card:hover { border-color:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-weekly-compact :is(.pmc-weekly-card,.pmc-weekly-method summary):focus-visible { outline-color:var(--cup-yellow); }

/* Detailed match statistics use the same two anchors for home/away series.
   Keep the pitch green, event semantics and readable neutral table surfaces. */
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-bar,body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-map-key span:last-child i { background:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-bar i,body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-map-key i,body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-dot.home { background:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-dot.away { background:var(--cup-yellow);color:var(--cup-blue-ink); }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.tpc-pitch-panel,.tpc-pitch-coverage) { --pitch-accent:var(--cup-blue);--pitch-link:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode :is(.tpc-pitch-panel,.tpc-pitch-coverage) { --pitch-accent:var(--cup-yellow);--pitch-link:var(--cup-blue-soft); }
body:not([data-page="admin"]):not([data-page="manager"]):not(.tpc-site-dark-mode) .tpc-pitch-event-time { color:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .tpc-pitch-event-time { color:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]):not(.tpc-site-dark-mode) #matchDetail .pmc-match-panel [class*="text-bfa-gold"] { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode #matchDetail .pmc-match-panel [class*="text-bfa-gold"] { color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-pitch-active-filter input { accent-color:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-fan-alert-dialog #tpcWatchMatch,body:not([data-page="admin"]):not([data-page="manager"]) .tpc-fan-alert-actions button:last-child { background:var(--cup-blue);color:#fff; }

/* Remaining navigation, group emblems and standalone public support pages. */
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-hub-controls button.active { background:var(--cup-gold-fill) !important;color:var(--cup-blue-ink) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) .tpc-hub-mini-row i { background:var(--cup-blue) !important;color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-more-menu a { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]):not(.tpc-site-dark-mode) .pmc-more-menu a:hover { background:var(--cup-blue-soft) !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .pmc-more-menu a { color:var(--cup-blue-soft) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.privacy-nav,.privacy-hero) { background:var(--cup-hero); }
body:not([data-page="admin"]):not([data-page="manager"]) .privacy-hero span { color:var(--cup-yellow); }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.privacy-card h2,.privacy-card a) { color:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]):is([data-page="offline"],[data-page="not-found"]) :is(h1,main > span) { color:var(--cup-blue); }
body:not([data-page="admin"]):not([data-page="manager"]):is([data-page="offline"],[data-page="not-found"]) main > a { background:var(--cup-blue);color:#fff; }
body:not([data-page="admin"]):not([data-page="manager"]):is([data-page="offline"],[data-page="not-found"],[data-page="privacy"]) a:focus-visible { outline-color:var(--cup-yellow); }

/* Explicit surface/text pairs outrank the dark-mode utility tint. Examples:
   yellow pinned-news badges and player initials must retain dark blue ink. */
body:not([data-page="admin"]):not([data-page="manager"]) :is(.bg-bfa-gold,.bg-bfa-yellow,.bg-pmc-gold):is(.text-bfa-navy,.text-bfa-blue,.text-pmc-navy,.text-pmc-blue),
body:not([data-page="admin"]):not([data-page="manager"]) :is(.bg-bfa-gold,.bg-bfa-yellow,.bg-pmc-gold) :is(.text-bfa-navy,.text-bfa-blue,.text-pmc-navy,.text-pmc-blue,.text-white) { color:var(--cup-blue-ink) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.bg-bfa-navy,.bg-bfa-blue,.bg-pmc-navy,.bg-pmc-blue):is(.text-bfa-navy,.text-bfa-blue,.text-pmc-navy,.text-pmc-blue),
body:not([data-page="admin"]):not([data-page="manager"]) :is(.bg-bfa-navy,.bg-bfa-blue,.bg-pmc-navy,.bg-pmc-blue) :is(.text-bfa-navy,.text-bfa-blue,.text-pmc-navy,.text-pmc-blue) { color:#fff !important; }
body:not([data-page="admin"]):not([data-page="manager"]) #tpcLiveThemeToggle:focus-visible { outline-color:var(--cup-yellow) !important; }

/* Match award and formations retain their existing neutral/green surfaces. */
body:not([data-page="admin"]):not([data-page="manager"]) .pmc-match-player-award-icon { background:var(--cup-yellow);color:var(--cup-blue-ink); }
body:not([data-page="admin"]):not([data-page="manager"]) :is(.pmc-match-player-award-player,.pmc-match-player-award-content h3) { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .pmc-match-player-award-player { color:#fff !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .pmc-match-player-award-content h3 { color:var(--cup-yellow) !important; }
body:not([data-page="admin"]):not([data-page="manager"]).tpc-site-dark-mode .pmc-match-player-award-meta { color:var(--cup-blue-soft); }
body:not([data-page="admin"]):not([data-page="manager"]) #tpcMatchCentreTacticalBoard :is(.tpc-mc-board-head span,.tpc-mc-board-head h2,.tpc-mc-player strong) { color:var(--cup-blue) !important; }
body:not([data-page="admin"]):not([data-page="manager"]) #tpcMatchCentreTacticalBoard .tpc-mc-side { background:var(--cup-blue-fill); }
body:not([data-page="admin"]):not([data-page="manager"]) #tpcMatchCentreTacticalBoard :is(.tpc-mc-side header span,.tpc-mc-player span) { background:var(--cup-yellow);color:var(--cup-blue-ink); }
