/* ==========================================================================
   DIRECTION A SKIN — CANVA WAVE 2, SOCCER FRONTS (2026-10-14)
   Package A "The Editorial Standard" (James picked 2026-10-14 ~09:42 PT).
   Family: /sports/premier-league/ · /sports/laliga/ · /sports/ucl/
   Loaded ONLY by those three fronts (link injected by their generators:
   bake_pl_front.py + build_intl_fronts.py page_shell, league canons only —
   the /sports/soccer/ hub built by the same script does NOT get this file).
   CSS-only: zero markup, zero JS, zero data/copy changes. Scores, tables,
   fixtures and story selection stay live-owned by the generators.
   Specificity: the fronts carry their component rules in a page-inline
   <style> block that follows this link in <head>, so every rule here is
   prefixed `body .pvhub` to win on specificity, never on order.
   Tokens: cream #000000 · card #101010 · ink #A5ACAF (canonical; the
   bible.css drift value #211910 is NOT used) · brick #FFFFFF · press red
   #6E7478 · sand #1B1B1B · hairline #2C2C2C · dotted #7E858B · dek #959DA2 ·
   muted #8C9399. Display: 'Playfair Display'/Georgia serif (self-hosted via
   /css/fonts.css, already linked by these pages) + the pages' system sans.
   LOCKED IDENTITY PRESERVED: each front's composition and module order are
   untouched; the league-switcher bar (.pv-league-nav, shared chrome owned
   by the nav crew) is not restyled; the LIVE chip treatment stays brick
   with its live dot; form-chip W/D/L semantics keep their held colors.
   ========================================================================== */

/* ---------- 0. SCOPED TOKENS — A values for the bible vars, this family only */
body .pvhub{
  --bible-bg:#000000;
  --bible-card:#101010;
  --bible-ink:#A5ACAF;
  --bible-ink-soft:#959DA2;
  --bible-ink-dim:#8C9399;
  --bible-red:#FFFFFF;
  --bible-red-deep:#6E7478;
  --bible-rule:#2C2C2C;
  --bible-serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --w2s-sand:#1B1B1B;
  --w2s-dotted:#7E858B;
  color:#A5ACAF;
}
body .pvhub a:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}

/* ---------- 1. MASTHEAD — editorial plate, 2px ink rule (held) ---------- */
body .pvhub-mast{padding:34px 0 20px;border-bottom:2px solid #FFFFFF}
body .pvhub-kicker{
  font-size:12px;font-weight:700;letter-spacing:.30em;
  text-transform:uppercase;color:#FFFFFF}
body .pvhub-mast h1{letter-spacing:-.01em;color:#A5ACAF}
body .pvhub-stand{font-size:17px;line-height:1.55;color:#959DA2}
body .pvhub-updated{font-size:12px;letter-spacing:.04em;color:#8C9399}

/* ---------- 2. SECTION HEADS — serif title, brick kicker, hairline rule */
body .pvhub-sechead{border-bottom:1px solid #2C2C2C;padding-bottom:9px}
body .pvhub-sechead h2{color:#A5ACAF}
body .pvhub-sechead .pvhub-kicker{font-size:11px;letter-spacing:.24em}
body .pvhub-more{color:#FFFFFF}
body .pvhub-more:hover{color:#6E7478}

/* ---------- 3. SCOREBOARD STRIP — squared cards, tabular figures */
body .pvhub-chip{
  background:#101010;border:1px solid #2C2C2C;border-radius:0;
  font-variant-numeric:tabular-nums}
body .pvhub-chip:hover{border-color:#FFFFFF}
body .pvhub-chip .lg{letter-spacing:.12em;color:#8C9399}
body .pvhub-live{color:#FFFFFF;font-weight:800;letter-spacing:.08em}
body .pvhub-trow .sc{color:#A5ACAF}

/* ---------- 4. LEAD + SIDE STORIES — squared media, serif headline */
body .pvhub-lead{background:#101010;border:1px solid #2C2C2C;border-radius:0}
body .pvhub-lead .bd{padding:18px 20px 20px}
body .pvhub-tag{color:#FFFFFF;letter-spacing:.14em}
body .pvhub-lead h3{color:#A5ACAF}
body .pvhub-dek{color:#959DA2}
body .pvhub-src{color:#8C9399}
body .pvhub-side a{border-bottom:1px solid #2C2C2C}
body .pvhub-side img{border-radius:0}
body .pvhub-side span{color:#8C9399}

/* ---------- 5. FIXTURES & RESULTS — squared match rows */
body .pvhub-day{color:#A5ACAF}
body .pvhub-mrow{
  background:#101010;border:1px solid #2C2C2C;border-radius:0;
  font-variant-numeric:tabular-nums}
body .pvhub-mrow:hover{border-color:#FFFFFF}
body .pvhub-mwhen{color:#8C9399}
body .pvhub-mvenue{color:#8C9399}
body .pvhub-door{color:#FFFFFF}

/* ---------- 6. TABLE — sand header band, ruled rows (A furniture) */
body .pvhub-table{background:#101010;font-variant-numeric:tabular-nums}
body .pvhub-table th{
  background:#1B1B1B;color:#A5ACAF;letter-spacing:.08em;
  border-bottom:1px solid #7E858B}
body .pvhub-table td{border-bottom:1px solid #2C2C2C}
body .pvhub-f{border-radius:0}
body .pvhub-fulldoor{color:#FFFFFF}

/* ---------- 7. LEADERS (scorers / assists) */
body .pvhub-leaders li{border-bottom:1px solid #2C2C2C}
body .pvhub-leaders .rk{color:#FFFFFF}
body .pvhub-leaders .who span{color:#8C9399}
body .pvhub-leaders .val{color:#A5ACAF}

/* ---------- 8. BRIDGES — the sand box */
body .pvhub-bridges{background:#1B1B1B;border:1px solid #2C2C2C;border-radius:0}
body .pvhub-bridges a{border-bottom:1px solid #2C2C2C;color:#A5ACAF}
body .pvhub-bridges span{color:#8C9399}

/* ---------- 9. CARDS / RIVER / DOORS / CLUBS — squared furniture */
body .pvhub-card{background:#101010;border:1px solid #2C2C2C;border-radius:0}
body .pvhub-card:hover{border-color:#FFFFFF}
body .pvhub-card span{color:#8C9399}
body .pvhub-river a{border-bottom:1px solid #2C2C2C}
body .pvhub-river img{border-radius:0}
body .pvhub-river span{color:#8C9399}
body .pvhub-door-card{background:#101010;border:1px solid #2C2C2C;border-radius:0}
body .pvhub-door-card:hover{border-color:#FFFFFF}
body .pvhub-door-card span{color:#8C9399}
body .pvhub-club{background:#101010;border:1px solid #2C2C2C;border-radius:0}
body .pvhub-club:hover{border-color:#FFFFFF}

/* ---------- 10. PROSE (UCL / La Liga explainer blocks) */
body .pvhub-prose p{color:#959DA2;line-height:1.66}
body .pvhub-prose a{color:#FFFFFF}
body .pvhub-names{color:#959DA2}

/* ---------- 11. FOOTER PLATE — held 2px ink rule, serif wordmark */
body .pvhub-foot{border-top:2px solid #FFFFFF;color:#8C9399}
body .pvhub-foot .wm{color:#A5ACAF}
body .pvhub-foot .wm em{color:#E10600}
body .pvhub-foot nav a{color:#959DA2}

/* ---------- 12. PHONE (390) — type tightening only, layout held */
@media(max-width:640px){
  body .pvhub-mast{padding:26px 0 16px}
  body .pvhub-sechead h2{font-size:23px}
  body .pvhub-lead .bd{padding:15px 16px 17px}
  body .pvhub-chip{flex-basis:236px;max-width:236px}
}

/* RAIDERS PHASE 2 (2026-10-16): small accent links + rank numerals take
   the accent-text step; kickers/labels stay white. (The header comment's
   "LIVE chip stays brick" is superseded by the Raiders lock.) */
body .pvhub-more,body .pvhub-door,body .pvhub-fulldoor,body .pvhub-prose a{color:#D7DBDD}
body .pvhub-leaders .rk{color:#D7DBDD}
