/* ============================================
   VARIABLES CSS - Sistema de Diseño
   ============================================ */

:root {
  /* Colores principales */
  --bg-cv: #f2f2f5;
  --text-main: #1c1c1e;
  --bg-alt: #050505;
  --text-alt: #e1e1e1;
  
  /* Accent (se modifica dinámicamente con JS) */
  --accent-red: #ff3b30;
  --accent-r: 255;
  --accent-g: 59;
  --accent-b: 48;
  
  /* Tipografía */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', 'SF Mono', Monaco, 'Cascadia Code', monospace;
  
  /* Parallax (actualizado por JS) */
  --px: 0px;
  --py: 0px;
  
  /* Espaciado */
  --spacing-xs: 8px;
  --spacing-sm: 12px;
  --spacing-md: 18px;
  --spacing-lg: 24px;
  --spacing-xl: 40px;
  
  /* Bordes */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  
  /* Sombras */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 8px 20px rgba(0, 0, 0, 0.12);
  --shadow-lg: 0 30px 60px rgba(0, 0, 0, 0.12);
  
  /* Transiciones */
  --transition-fast: 0.2s ease;
  --transition-base: 0.3s ease;
  --transition-slow: 0.5s ease;
  --transition-smooth: 0.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   TIPOGRAFÍA — auto-hospedada
   ============================================

   Antes esto declaraba `src: local('Inter')` y nada más. Como iba después
   de la hoja de Google en el orden del documento, ganaba: y al no tener
   casi nadie Inter instalado, la cara fallaba y el navegador se saltaba a
   la siguiente familia de la lista. Resultado: el sitio se veía con la
   fuente del sistema mientras se descargaban ~30 KB de Google para nada,
   bloqueando el render de paso.

   Ahora los .woff2 viven en /fonts (mismo origen, sin handshake extra ni
   tercero). Son las variables de 400 a 700, que cubre todos los pesos que
   usa el sitio con un solo archivo por subconjunto.

   El unicode-range no es decorativo: hace que latin-ext solo se descargue si
   aparece un glifo suyo. Los únicos del sitio son ₮ y ₿ (U+20AE y U+20BF).

   Aquí decía que "el latin-ext de Inter nunca se pide" porque esos dos solo
   salían en mono. Dejó de ser cierto al pasar los números a Inter 800: el ₮
   de cada resultado en USDT va ahora en Inter, así que esa cara sí se
   descarga. Está recortada a cuatro glifos —1,7 KB— y precargada en el
   service worker. */

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-latin.woff2?v=175a01e7') 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: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/inter-latin-ext.woff2?v=35e36b76') 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: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin.woff2?v=cf32987d') 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;
}

/* El ₮ del USDT y el ₿ viven aquí: 11 KB que solo se piden en los modos
   que los muestran */
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('/fonts/jetbrains-mono-latin-ext.woff2?v=c9d70a4d') 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;
}

/* ---------- Anton y Archivo: solo las usa el tema Turco ----------
   Una cara solo se descarga cuando alguna regla la pide, así que quien no
   tenga ese tema puesto no baja ni un byte de estas cuatro. Por eso tampoco
   entran en la lista de precarga del service worker: se piden la primera vez
   que se enciende el tema y se guardan a partir de ahí (la última rama de su
   manejador de fetch cachea lo que no estaba precargado).

   El latin-ext de las dos no se pedirá nunca en la práctica: los únicos
   glifos de ese rango en la app son ₮ y ₿, y esos van en las cifras, que se
   quedan en JetBrains Mono. Se declara igual, por si algún día aparece un
   texto con ellos. */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/anton-latin.woff2?v=23aab0b2') 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: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/anton-latin-ext.woff2?v=ae1a8ac1') 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;
}

/* Archivo es variable: un solo archivo por subconjunto cubre de 400 a 800,
   que son los tres pesos que usa su sitio. Mismo caso que Inter. */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/archivo-latin.woff2?v=7150c0ec') 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: 'Archivo';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('/fonts/archivo-latin-ext.woff2?v=a999e009') 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;
}