/* =========================================================================
   ClubArea — Polices des PAGES PUBLIQUES, auto-hébergées (#705)
   =========================================================================
   CE QU'ON RÉPARE. Les pages publiques d'un club (`/club/:slug`) et d'une
   feuille de match (`/match/public/:slug`) sont rendues côté serveur par
   `api/_lib/public/`, et leur `<head>` portait encore :

     <link rel="preconnect" href="https://fonts.googleapis.com">
     <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
     <link href="https://fonts.googleapis.com/css2?family=Manrope…&family=Saira+Condensed…">

   La CSP (`style-src 'self'`, `font-src 'self'`) bloquait déjà la feuille :
   aucune requête n'atteignait Google. Mais `preconnect` n'est gouverné par
   AUCUNE directive CSP — le navigateur faisait quand même la résolution DNS,
   la connexion TCP et la poignée de main TLS. L'adresse IP du visiteur et le
   SNI parvenaient donc à un tiers états-unien, sans consentement, sur une page
   indexée dont le public inclut des familles de mineurs.

   ET LA CONSÉQUENCE MUETTE, qui est le défaut de #600 à l'identique : la
   feuille étant bloquée, Manrope et Saira Condensed ne se chargeaient NULLE
   PART sur ces deux pages. Elles retombaient sur `Arial Narrow` puis
   `system-ui` — sans une erreur, sans un mot dans la console. Personne ne l'a
   vu parce que personne ne les a REGARDÉES.

   ─ POURQUOI UNE FEUILLE SÉPARÉE DE `vitrine.css` ────────────────────────────
   Pour la raison qui fait que `main.tsx` importe `polices.css` AVANT
   `tokens.css` : une `@font-face` déclarée après le premier rendu produit un
   changement de fonte visible à l'écran. `meta.polices` est inséré avant
   `meta.feuilleDeStyle` dans le `<head>` — l'ordre est tenu par la structure,
   pas par la discipline.

   ─ LES FICHIERS ────────────────────────────────────────────────────────────
   Manrope est la variable déjà servie à l'application (`/fonts/manrope-*`) :
   les deux déploiements partagent le même fichier, ils ne peuvent pas diverger.

   Saira CONDENSED, elle, n'était pas dans le dépôt — le ticket la croyait déjà
   là, c'est `Saira` (non condensée, `font-stretch: 100%`) qui y était. Ce sont
   deux familles distinctes chez l'éditeur, et la DA « affiche sportive
   imprimée » de ces pages est calibrée en condensé. L'éditeur n'en publie
   aucune version variable : ses quatre graisses (600, 700, 800 et 900 — les
   quatre sont réellement utilisées par `vitrine.css`) sont quatre fichiers par
   sous-ensemble. Licence SIL OFL, qui autorise l'auto-hébergement.
   ─ PROVENANCE, ET POURQUOI ELLE EST ÉCRITE ICI ─────────────────────────────
   Ce lot est un lot de CONFORMITÉ : la question « d'où viennent ces huit
   binaires, et a-t-on le droit de les servir ? » se posera en audit, et le
   dépôt n'a aucune trace de provenance pour les dix fontes déjà présentes.
   Elle est donc consignée pour celles-ci, à défaut de pouvoir l'être
   rétroactivement pour les autres.

   Famille   : Saira Condensed (Omnibus-Type), v12
   Licence   : SIL Open Font License 1.1 — l'auto-hébergement est expressément
               autorisé, et c'est ce qui rend ce lot possible sans contrepartie
   Récupéré  : le 17/09/2026 depuis fonts.gstatic.com/s/sairacondensed/v12/,
               par l'API `css2` de Google, en HTTPS
   Sous-ensembles retenus : latin et latin-ext. Le vietnamien est écarté — il
               ne servirait aucun des libellés de ces pages, et une fonte
               inutile reste une fonte téléchargée.

   Empreintes SHA-256 — de quoi constater qu'un fichier n'a pas changé sans
   qu'on le dise :
   saira-condensed-600-latin.woff2        d20f5b8d2d6a1a236cf776fa3ac0bec671503824cbed5dedf656b61930dc87ee
   saira-condensed-600-latin-ext.woff2    0bf20d8abc9843a3039af6c678237d795ac09fa3695cfeaa8e29be246bfed6c6
   saira-condensed-700-latin.woff2        eb1cf59a1f785a890ac30d69bb59fffef3989fef4e7a2ae2367c85e861077fda
   saira-condensed-700-latin-ext.woff2    f15c9a22d2d8f00bebdf7f005f95b75e502813de13ad70879a5c8bba65d6f4ea
   saira-condensed-800-latin.woff2        5afa98eefcd54d5e7c4d9e5dc5a01a8ae61dc6ad91e2bbc0aaed82525063ae91
   saira-condensed-800-latin-ext.woff2    645272c3bc699905d0314b17bc4f4145987051f199968364adc43c0fe689b29e
   saira-condensed-900-latin.woff2        28e7f85ac4b26a1b9f2070fa6867c073457412414def415e9bd6387e7f3228f8
   saira-condensed-900-latin-ext.woff2    533f2f44ed84a5c3ca1c3f45515086b3704122e99d0f082e2ce42273b18ec469
   ========================================================================= */

/* ── Manrope — corps de texte (`--ca-corps`) ────────────────────────────── */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/manrope-latin.woff2?v=20261103') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/manrope-latin-ext.woff2?v=20261103') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ── Saira Condensed — titres et chiffres (`--ca-titre`) ────────────────── */
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/saira-condensed-600-latin.woff2?v=20261103') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('/fonts/saira-condensed-600-latin-ext.woff2?v=20261103') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/saira-condensed-700-latin.woff2?v=20261103') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/saira-condensed-700-latin-ext.woff2?v=20261103') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/saira-condensed-800-latin.woff2?v=20261103') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('/fonts/saira-condensed-800-latin-ext.woff2?v=20261103') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/saira-condensed-900-latin.woff2?v=20261103') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC,
    U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215,
    U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Saira Condensed';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/fonts/saira-condensed-900-latin-ext.woff2?v=20261103') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304,
    U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB,
    U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
