/* ============================================================================
   TOKENS — Policy Brief · Perspectiva de género en la educación superior
   Concepto rector: la norma tiene bordes; la realidad se difumina.
   Paleta derivada de pigmentos reales de acuarela, no de un degradado violeta.
   ========================================================================== */

:root {
  /* --- Papel -------------------------------------------------------------
     Base cálida de papel de algodón. Nunca blanco puro: el papel de acuarela
     tiene temperatura y absorbe luz. */
  --paper-00: #F6F2EC;   /* borde de hoja, zonas sin lavar */
  --paper-10: #EFE9E2;   /* superficie base */
  --paper-20: #E4DCD3;   /* primer lavado, separadores */
  --paper-30: #D6CCC1;   /* segundo lavado, bordes de tabla */

  /* --- Pigmentos ---------------------------------------------------------
     Dominante: violeta de quinacridona (PV19) en tres diluciones.
     Acento cálido: tierra de siena (PBr7) — rompe la monocromía violeta.
     Alarma: laca de granza (PR83). */
  --pv-90: #2A1B3D;      /* violeta a máxima carga: cuerpo de texto fuerte */
  --pv-70: #4A2C6B;      /* violeta medio: titulares, trazo */
  --pv-50: #6B3FA0;      /* violeta pleno: acento primario */
  --pv-30: #9B7BC4;      /* dilución: datos secundarios */
  --pv-15: #C9B6DE;      /* velo: fondos de énfasis */
  --pv-06: rgba(107, 63, 160, 0.07);

  /* Se oscurece de #8F4F22 a #85491F: sobre el propio velo de siena al 13 %
     el valor anterior daba 4,22:1 y el mínimo de texto es 4,5:1. */
  --siena: #85491F;      /* acento cálido complementario */
  --siena-15: rgba(143, 79, 34, 0.13);
  --granza: #8C2F39;     /* señal de fallo / brecha */
  --verde:  #3F6B4E;     /* señal de dato favorable */

  /* --- Tinta -------------------------------------------------------------
     Nunca #000. La tinta más oscura conserva la temperatura del violeta. */
  --ink-00: #1C1523;     /* titulares */
  --ink-10: #332941;     /* cuerpo */
  --ink-20: #574A66;     /* secundario sobre papel */
  /* Se oscurece de #6B5F7C a #5B4F6B. El valor anterior daba 4,90:1 sobre el
     papel limpio: justo por encima del mínimo y sin margen para nada más.
     Con la acuarela detrás, un velo de apenas el 6 % ya lo dejaba en 4,48.
     A #5B4F6B parte de 6,28:1 y aguanta pigmento hasta el 20 % sin bajar
     de 4,5. El techo del contraste era lo que mantenía las aguadas tímidas. */
  --ink-30: #5B4F6B;     /* terciario, pies de figura — 6,28:1 sobre papel */

  /* --- Tipografía --------------------------------------------------------
     Fraunces: serif variable con ejes SOFT y WONK. Voz editorial con carácter.
     Archivo: grotesca de datos, con cifras tabulares reales.
     Se evita deliberadamente el stack por defecto y las sans genéricas. */
  --font-display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --font-text: "Archivo", "Helvetica Neue", Arial, sans-serif;

  /* Escala tipográfica — razón 1.26 (cuarta menor templada), redondeada.
     El display no supera 6rem en cuerpo de página; el héroe usa clamp propio. */
  --t-xs:  0.75rem;   /* 12px  · pies, etiquetas de eje */
  --t-sm:  0.8125rem; /* 13px  · metadatos */
  --t-base:1.0625rem; /* 17px  · cuerpo */
  --t-md:  1.25rem;   /* 20px  · entradilla */
  --t-lg:  1.75rem;   /* 28px  · titular de bloque */
  --t-xl:  2.5rem;    /* 40px  · titular de sección */
  --t-2xl: 3.75rem;   /* 60px  · cifra destacada */

  /* Interletrado: negativo en display, neutro en texto, abierto en versalitas */
  --track-display: -0.028em;
  --track-tight:   -0.015em;
  --track-caps:     0.08em;

  /* --- Retícula ----------------------------------------------------------
     12 columnas asimétricas. El margen es material, no sobra. */
  --col: minmax(0, 1fr);
  --gutter: clamp(1rem, 2.2vw, 2rem);
  --margin: clamp(1.25rem, 6vw, 7rem);
  --measure: 63ch;        /* medida de lectura */
  --measure-tight: 48ch;

  /* --- Espaciado — escala de 4px con saltos deliberados ------------------ */
  --s-1: 0.25rem;  --s-2: 0.5rem;   --s-3: 0.75rem;  --s-4: 1rem;
  --s-5: 1.5rem;   --s-6: 2rem;     --s-7: 3rem;     --s-8: 4.5rem;
  --s-9: 7rem;     --s-10: 10rem;

  /* --- Identidad de movimiento -------------------------------------------
     Personalidad física: pesada y viscosa, como pigmento en agua.
     Amortiguamiento crítico (ζ = 1): todo llega, nada rebota.
     Duraciones canónicas y UNA sola familia de easing.
     Constantes derivadas de λ = −60·ln(1−k) (suavizado exponencial, V.3):
       k = 0.10 @60fps  ⇒  λ ≈  6.3 s⁻¹   (respuesta de interfaz)
       k = 0.07 @60fps  ⇒  λ ≈  4.4 s⁻¹   (deriva del pigmento, cinematográfica)
     El valor de λ vive en scripts/motion.js; aquí van sus equivalentes CSS. */
  --dur-micro: 240ms;     /* estados: hover, foco */
  --dur-trans: 720ms;     /* entrada de bloques */
  --dur-cine: 1400ms;     /* revelado del héroe */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);   /* ease-out exponencial */
  --ease-inout: cubic-bezier(0.65, 0, 0.35, 1);
  --stagger: 45ms;        /* Δ de escalonamiento, dentro de 30–60ms */

  /* --- Elevación ---------------------------------------------------------
     Toda sombra lleva desplazamiento Y desenfoque. Teñida de violeta,
     nunca gris neutro: la luz del papel es cálida. */
  --lift-1: 0 1px 2px rgba(42, 27, 61, 0.06), 0 2px 8px rgba(42, 27, 61, 0.04);
  --lift-2: 0 2px 4px rgba(42, 27, 61, 0.07), 0 10px 28px -8px rgba(42, 27, 61, 0.13);
  --lift-3: 0 4px 8px rgba(42, 27, 61, 0.08), 0 24px 56px -16px rgba(42, 27, 61, 0.20);

  /* --- Escala de z-index, documentada ----------------------------------- */
  --z-canvas: 0;
  --z-content: 10;
  --z-sticky: 20;
  --z-nav: 30;
  --z-grain: 40;   /* siempre pointer-events: none */
  --z-preload: 90;
  --z-skip: 100;   /* por encima de todo: es la salida de emergencia */
}

/* El documento se bloquea en tema claro: el papel de acuarela es la escena.
   No se mezclan tokens de dos temas. */
:root { color-scheme: light; }
