/* Polices servies par l'appli (pas de CDN : CSP font-src 'self'), copiées par scripts/bibliotheques.py.
   Poppins = police d'interface du thème standard ; JetBrains Mono = chiffres et données, jamais remplacée.
   Liste fermée d'un thème client (design/DESIGN.md, « Thèmes société », élargie le 4/11) : neutres (Inter, Roboto,
   Open Sans, Source Sans 3, IBM Plex Sans), géométriques (Montserrat, DM Sans, Outfit), arrondies (Nunito, Rubik), très
   lisibles (Atkinson Hyperlegible Next, Lexend), étroite (Barlow), à empattements (Lora, Merriweather, Roboto Slab) ;
   lisibilité vérifiée par scripts/verifier_police.py ; un fichier n'est téléchargé que si un thème l'utilise. Jeu
   « latin » : accents français compris.
   Même taille apparente que Poppins (retour du 3/11) : chaque police de la liste est agrandie (size-adjust) pour que
   ses minuscules aient la hauteur de celles de Poppins ; Poppins et JetBrains Mono ne bougent pas. Valeur calculée et
   contrôlée par scripts/verifier_police.py. */
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('lib/poppins-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('lib/poppins-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Poppins'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('lib/poppins-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 500; font-display: swap;
  src: url('lib/jetbrains-mono-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-style: normal; font-weight: 600; font-display: swap;
  src: url('lib/jetbrains-mono-600-5.3.0.woff2') format('woff2'); }

/* Liste fermée des thèmes clients */
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 100.4%;
  src: url('lib/inter-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 100.4%;
  src: url('lib/inter-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 100.4%;
  src: url('lib/inter-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 103.7%;
  src: url('lib/roboto-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 103.7%;
  src: url('lib/roboto-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Roboto'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 103.7%;
  src: url('lib/roboto-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 102.4%;
  src: url('lib/open-sans-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 102.4%;
  src: url('lib/open-sans-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Open Sans'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 102.4%;
  src: url('lib/open-sans-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 112.8%;
  src: url('lib/source-sans-3-400-5.3.1.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 112.8%;
  src: url('lib/source-sans-3-500-5.3.1.woff2') format('woff2'); }
@font-face { font-family: 'Source Sans 3'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 112.8%;
  src: url('lib/source-sans-3-600-5.3.1.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 106.2%;
  src: url('lib/ibm-plex-sans-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 106.2%;
  src: url('lib/ibm-plex-sans-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 106.2%;
  src: url('lib/ibm-plex-sans-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 104.4%;
  src: url('lib/montserrat-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 104.4%;
  src: url('lib/montserrat-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Montserrat'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 104.4%;
  src: url('lib/montserrat-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 108.7%;
  src: url('lib/dm-sans-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 108.7%;
  src: url('lib/dm-sans-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 108.7%;
  src: url('lib/dm-sans-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 115.4%;
  src: url('lib/outfit-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 115.4%;
  src: url('lib/outfit-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Outfit'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 115.4%;
  src: url('lib/outfit-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 113.2%;
  src: url('lib/nunito-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 113.2%;
  src: url('lib/nunito-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Nunito'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 113.2%;
  src: url('lib/nunito-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 105.4%;
  src: url('lib/rubik-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 105.4%;
  src: url('lib/rubik-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Rubik'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 105.4%;
  src: url('lib/rubik-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 110.5%;
  src: url('lib/atkinson-hyperlegible-next-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 110.5%;
  src: url('lib/atkinson-hyperlegible-next-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Atkinson Hyperlegible Next'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 110.5%;
  src: url('lib/atkinson-hyperlegible-next-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 104.4%;
  src: url('lib/lexend-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 104.4%;
  src: url('lib/lexend-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Lexend'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 104.4%;
  src: url('lib/lexend-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 108.3%;
  src: url('lib/barlow-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 108.3%;
  src: url('lib/barlow-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 108.3%;
  src: url('lib/barlow-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 109.6%;
  src: url('lib/lora-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 109.6%;
  src: url('lib/lora-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Lora'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 109.6%;
  src: url('lib/lora-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 98.7%;
  src: url('lib/merriweather-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 98.7%;
  src: url('lib/merriweather-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Merriweather'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 98.7%;
  src: url('lib/merriweather-600-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Roboto Slab'; font-style: normal; font-weight: 400; font-display: swap; size-adjust: 103.7%;
  src: url('lib/roboto-slab-400-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Roboto Slab'; font-style: normal; font-weight: 500; font-display: swap; size-adjust: 103.7%;
  src: url('lib/roboto-slab-500-5.3.0.woff2') format('woff2'); }
@font-face { font-family: 'Roboto Slab'; font-style: normal; font-weight: 600; font-display: swap; size-adjust: 103.7%;
  src: url('lib/roboto-slab-600-5.3.0.woff2') format('woff2'); }
