/* ============================================================
   M.E.T.A.S · Las tipografías, aquí dentro
   ------------------------------------------------------------
   Antes esto era un `@import` a fonts.googleapis.com en `css/app.css`
   y un `<link>` en 81 páginas. Un `<link>` de hoja de estilo BLOQUEA
   el primer pintado, y el CDN es un servidor que está en otro país:
   medido el 9 de septiembre de 2026, con el CDN colgado —que es lo
   que hace la señal de un pueblo: no rechaza, se traga los paquetes—
   la portada y una misión **no pintaron nunca**, ni a los dos
   minutos. Pantalla en blanco. Con los externos fuera, la portada
   pinta en 432 ms y una misión en 180.

   Por eso las fuentes viven aquí, en el repositorio:

   - **Solo el subconjunto latino y el latin-ext.** El latino lleva
     todo lo del español —tildes, ñ, ¿, ¡ y el º de «6º-1»—; el
     latin-ext solo se baja en la página que lo necesita (la de los
     continentes tiene una ł y una ż), porque cada @font-face declara
     su `unicode-range`. El cirílico, el griego, el hebreo y el
     vietnamita del CDN no se bajan nunca más.
   - **`font-display: swap`.** El texto sale desde el primer momento
     con la letra del sistema y cambia cuando llega la nuestra. Un
     alumno con mala señal LEE; antes esperaba, y a veces para siempre.
   - **Un solo archivo con las cuatro familias.** No cuesta nada: una
     @font-face no baja nada hasta que la página pinta un carácter con
     ella, así que la misión que no usa Outfit no lo pide.

   Son fuentes SIL Open Font License; alojarlas es lo que la licencia
   espera. Se bajaron de Google Fonts el 9 de septiembre de 2026.
   Si algún día hay que renovarlas: se pide la CSS de
   `fonts.googleapis.com/css2?family=...&display=swap` con un
   navegador de escritorio, se sacan las URL de los bloques `latin` y
   `latin-ext`, y se guardan con estos mismos nombres.
   ============================================================ */


/* ---------- Fredoka ---------- */

@font-face {
  font-family: 'Fredoka';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(fredoka-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: 'Fredoka';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(fredoka-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;
}

/* ---------- Nunito ---------- */

@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url(nunito-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: 'Nunito';
  font-style: normal;
  font-weight: 200 1000;
  font-display: swap;
  src: url(nunito-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;
}

/* ---------- Fira Code ---------- */

@font-face {
  font-family: 'Fira Code';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(fira-code-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: 'Fira Code';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(fira-code-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;
}

/* ---------- Outfit ---------- */

@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(outfit-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: 'Outfit';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url(outfit-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;
}

/* ---------- JetBrains Mono ---------- */
/* La trae el juego de la Fábrica Geométrica (Círculos y Polígonos) para sus
   números y sus fórmulas. Llegó el 9 de septiembre de 2026 pidiéndola al CDN,
   como todo lo demás antes; se aloja aquí en vez de cambiarla por Fira Code
   porque la letra la eligió quien hizo el juego, y arreglar la espera
   cambiando la letra sería arreglar el problema cambiando el producto. */

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(jetbrains-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;
}

@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 800;
  font-display: swap;
  src: url(jetbrains-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;
}
