/* Polices du template, auto-hebergees, sous-ensemblees latin et latin-ext.
   Inter est servi en fichier variable : son axe optique (opsz 14 a 32) donne
   le dessin « Display » des grands titres sans un second fichier.
   Les deux familles sont sous licence SIL Open Font License 1.1.

   `font-display: optional` et non `swap` : avec `swap`, le navigateur affiche
   d'abord la police du systeme puis permute, et toute la page se decale au
   moment du changement — la barre de navigation la premiere. Avec `optional`,
   il n'echange jamais en cours de route : soit la police est prete a temps
   (elle est locale, et prechargee dans le <head>), soit la page reste dans le
   repli, cale juste dessous. Rien ne bouge, dans les deux cas. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400 500;
  font-display: optional;
  src: url("Inter-variable-latin-ext.woff2") 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: 'Inter';
  font-style: normal;
  font-weight: 400 500;
  font-display: optional;
  src: url("Inter-variable-latin.woff2") 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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url("PlexMono-500-latin-ext.woff2") 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: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: optional;
  src: url("PlexMono-500-latin.woff2") 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;
}

/* --- Les polices de repli, calées sur les vraies ---------------------------
   Sans elles, la page s'affiche d'abord dans la police du système, puis
   permute : la barre de navigation saute de 5 px au moment du changement.
   `size-adjust` corrige la largeur, les deux `*-override` la hauteur de ligne,
   si bien que le repli occupe exactement la place de la police finale.

   Il en faut DEUX pour Inter, et c'est le piège : son axe optique change la
   largeur des lettres. À la taille du texte (opsz 18) Inter est 4,2 % plus
   large que la police du système ; à celle des titres (opsz 32) elle est 2,6 %
   plus étroite. Un seul réglage ferait sauter l'un ou l'autre.

   Les valeurs sont mesurées, pas devinées : `_mesures/metriques.mjs`. */

@font-face {
  font-family: "Inter fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Arimo");
  size-adjust: 104.24%;
  ascent-override: 92.93%;
  descent-override: 23.14%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Inter display fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Arimo");
  size-adjust: 97.45%;
  ascent-override: 99.41%;
  descent-override: 24.75%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Plex Mono fallback";
  src: local("Courier New"), local("Liberation Mono"), local("DejaVu Sans Mono");
  size-adjust: 98.58%;
  ascent-override: 103.98%;
  descent-override: 27.9%;
  line-gap-override: 0%;
}
