/* ============================================================================
   SEMHYS — tipografías de marca, autoalojadas.
   ----------------------------------------------------------------------------
   Por qué este archivo existe: css/dark-theme.css declaraba 'Bebas Neue',
   'DM Sans' y 'DM Mono' en sus variables, pero ninguna hoja traía @font-face ni
   <link>, así que las 43 páginas públicas se renderizaban en la fuente del
   sistema. Si en la máquina del autor se veían bien era porque las tenía
   instaladas; el visitante no.

   Se autoalojan (no se enlazan a Google Fonts) por tres motivos: no depender de
   un tercero, no enviar la IP del visitante a otro dominio —lo que evita la
   cuestión de consentimiento—, y que la primera pintada no espere a una
   conexión externa.

   Licencia: las tres familias son SIL Open Font License 1.1, que permite el
   alojamiento propio. Ficheros tomados de la distribución oficial de Google
   Fonts (fonts.gstatic.com) el 11-09-2026.
     · Bebas Neue v16 — Ryoichi Tsunekawa (Dharma Type)
     · DM Sans v17    — Colophon Foundry / Jonny Pinhorn  (variable 300–900)
     · DM Mono v16    — Colophon Foundry / Jonny Pinhorn

   font-display: swap — el texto se lee desde el primer instante con la fuente
   de reserva y cambia cuando llega la real. Nunca deja la página en blanco.

   Cómo se usa: cargar ANTES que dark-theme.css en cada página:
     <link rel="preconnect">  ya no hace falta: no hay origen externo.
     <link rel="stylesheet" href="css/fuentes.css">
     <link rel="stylesheet" href="css/dark-theme.css">
   ============================================================================ */

/* ---------------------------------------------------------- Bebas Neue (display) */
@font-face {
  font-family: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-400-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: 'Bebas Neue';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/bebas-neue-400-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;
}

/* ------------------------------------- DM Sans (cuerpo) — variable 300 a 900 */
/* Un solo fichero cubre los seis pesos que usa el tema: 300, 400, 500, 600, 700 y 900. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/dm-sans-var-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: 'DM Sans';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('../fonts/dm-sans-var-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;
}

/* ------------------------------------------------- DM Mono (cifras y código) */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-mono-400-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: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/dm-mono-400-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: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/dm-mono-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: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/dm-mono-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;
}

/* ----------------------------------------------------------------------------
   Reservas explícitas. Si una fuente no llegara, el texto sigue con una pila
   coherente en vez de caer en la primera que encuentre el navegador.
   ---------------------------------------------------------------------------- */
:root {
  --fuente-display: 'Bebas Neue', 'Oswald', 'Arial Narrow', Impact, sans-serif;
  --fuente-cuerpo: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --fuente-mono: 'DM Mono', ui-monospace, 'Cascadia Mono', Consolas, 'Courier New', monospace;
}
