/* GENERATO da scripts/build-brand.mjs da brand/caratteri.css della libreria. Non modificare a mano: modificare la fonte. */
/* ──────────────────────────────────────────────────────────────────────────
   cosmetiFULL, I CARATTERI DELLE APP. Fonte unica delle facce e del ripiego.
   I due nomi (`--cf-sans`, `--cf-mono`) stanno in `tokens.css`; qui c'e' cio'
   che serve perche' quei due nomi puntino a qualcosa di reale.

   ⚠️ PERCHE' UN FILE A PARTE E NON UNA SEZIONE DI `tokens.css`. Stessa ragione
   di `guscio.css`, gia' pagata una volta: l'artefatto che ogni app genera non e'
   un sottoinsieme di `tokens.css`, e' la COPIA INTERA di quel file. Aggiungere
   qui dentro renderebbe stantio in un colpo solo l'artefatto committato di sette
   repository, per una cosa che ne riguarda due. Con un file suo, i caratteri li
   prende chi li dichiara, e chi non li serve non si accorge che esistono.

   ⚠️ PERCHE' NASCE OGGI, 22-08-2026. Queste righe vivevano solo dentro
   LabelCheck, che e' l'unica app che serve i caratteri da casa. La condizione
   per portarle in libreria era la stessa scritta in `guscio.css`: quando le
   adotta una seconda app. La seconda e' il Content Engine, oggi.

   ⚠️ DIVERGENZA DICHIARATA, con la sua condizione di chiusura, perche' una
   deroga che vive solo dove e' comodo leggerla non la rilegge nessuno.
   1. LabelCheck continua a dichiarare le sue `@font-face` in casa, dentro
      `src/index.css`, e i suoi file hanno il suffisso `-normal` che qui non c'e'
      (`poppins-latin-400-normal.woff2` contro `poppins-latin-400.woff2`). Il
      debito si chiude quando LabelCheck genera anche questo pezzo da qui, come
      fa gia' per i colori. Finche' non succede, i due elenchi possono divergere.
   2. `brand/fonts/` NON porta Space Mono a peso 700: ci sono solo `latin` e
      `latin-ext` senza peso, cioe' il 400. LabelCheck ce l'ha e questa fonte no.
      Chi genera da qui dichiara il 400 e basta: dichiarare una faccia che non ha
      un file la fa cadere sul carattere di sistema in silenzio, che e' peggio
      che non averla.

   ⚠️ IL PERCORSO E' `/fonts/<nome>.woff2`, cioe' la radice del sito servito, e
   non un percorso relativo a questo file: e' un accordo fra le app, non una
   proprieta' della libreria. Chi genera da qui copia i `.woff2` in `fonts/`
   sotto la propria radice pubblica.
   ────────────────────────────────────────────────────────────────────────── */

/* I due intervalli di caratteri con cui Google Fonts divide le famiglie latine.
   Servono a non scaricare il file `latin-ext` (accenti dell'Europa centrale e
   orientale, valute, lettere rare) a chi scrive solo in inglese: il browser lo
   chiede solo se sulla pagina compare davvero uno di quei segni.
   ⚠️ Poppins NON copre cirillico, greco e la h-sbarrata del maltese: per quelle
   lingue serve il ripiego dichiarato in fondo, e serve che la pila `--cf-sans`
   lo nomini SUBITO DOPO Poppins, mai il font di sistema. */

@font-face{font-family:'Poppins';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/poppins-latin-ext-400.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:'Poppins';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/poppins-latin-400.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:'Poppins';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/poppins-latin-ext-500.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:'Poppins';font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/poppins-latin-500.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:'Poppins';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/poppins-latin-ext-600.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:'Poppins';font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/poppins-latin-600.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:'Poppins';font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/poppins-latin-ext-700.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:'Poppins';font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/poppins-latin-700.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:'Space Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/space-mono-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:'Space Mono';font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/space-mono-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}

/* ──────────────────────────────────────────────────────────────────────────
   IL RIPIEGO CON LE METRICHE DI POPPINS.

   Serve a una cosa sola: che l'arrivo di Poppins non sposti niente. Senza, sulla
   home del sito l'H1 passava da 130 a 195 pixel (una riga in piu') e spingeva
   giu' tutta la pagina: CLS 0,131 a 1440 contro la soglia 0,1 dei Core Web
   Vitals. Un titolo che cambia numero di righe mentre il lettore ha gia'
   cominciato a leggere e' il difetto che si sente e non si sa nominare.

   I NUMERI SONO MISURATI, non copiati da una tabella: la stessa frase a 100px e
   peso 600 occupa 4024px in Poppins e 3806,45px nella famiglia metrica di Arial.
   4024 / 3806,45 = 105,7%. Le correzioni verticali vengono dalle metriche del
   file (upem 1000, ascendente 1050, discendente -350, interlinea 100) DIVISE per
   il size-adjust, perche' l'override si applica al carattere gia' scalato.

   Se nessuno dei `local()` esiste (Android non ha Arial), la faccia non si
   costruisce e la catena scende al nome successivo: il ripiego peggiora, non si
   rompe. E' il motivo per cui i nomi sono sei e non uno.
   ────────────────────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Poppins ripiego';
  src: local('Arial'), local('Helvetica Neue'), local('Helvetica'), local('Liberation Sans'),
    local('Arimo'), local('Roboto');
  size-adjust: 105.7%;
  ascent-override: 99.3%;
  descent-override: 33.1%;
  line-gap-override: 9.5%;
}

/* Il monospazio ha il suo ripiego, e conta piu' di quello di Poppins: sulla
   landing di LabelCheck la testata (marchio, menu lingua, bottoni) e' tutta in
   Space Mono, ed e' proprio la testata che cresceva di 18px allo scambio,
   spingendo giu' l'intera pagina.

   I numeri vengono dalle metriche del file, non da una tabella: Space Mono ha
   upem 1000, ascendente 1120, discendente -361, e avanzamento 600/1000 contro i
   600/1233 di Courier New, da cui size-adjust 123%. */
@font-face {
  font-family: 'Space Mono ripiego';
  src: local('Courier New'), local('Courier'), local('Liberation Mono'), local('DejaVu Sans Mono');
  size-adjust: 123%;
  ascent-override: 91.1%;
  descent-override: 29.3%;
  line-gap-override: 0%;
}
