/* Fuentes locales (funcionan sin internet) */
@font-face { font-family: 'Source Serif 4'; font-weight: 600; font-display: block; src: url('../fonts/source-serif-4-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Source Serif 4'; font-weight: 700; font-display: block; src: url('../fonts/source-serif-4-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 400; font-display: block; src: url('../fonts/inter-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 500; font-display: block; src: url('../fonts/inter-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 600; font-display: block; src: url('../fonts/inter-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Inter'; font-weight: 700; font-display: block; src: url('../fonts/inter-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 400; font-display: block; src: url('../fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'JetBrains Mono'; font-weight: 700; font-display: block; src: url('../fonts/jetbrains-mono-latin-700-normal.woff2') format('woff2'); }

/*
 * Paleta tomada del diseño original (Canva) y ajustada a WCAG 2.2 AA.
 * Los pares texto/fondo se verifican con scripts/check-contrast.mjs.
 */
:root {
  /* superficie clara */
  --amber: #FFBD59;          /* fondo de los slides */
  --amber-soft: #FFD48F;     /* tarjetas claras sobre ámbar */
  --indigo: #2A0FB5;         /* títulos, acentos (6.9:1 sobre ámbar) */
  --ink: #16142B;            /* texto de cuerpo (14:1 sobre ámbar) */
  --ink-soft: #3B3552;       /* texto secundario (8.6:1 sobre ámbar) */

  /* superficie oscura (tarjetas de código y escenarios de las demos) */
  --navy: #0F1428;
  --navy-2: #1B2240;         /* paneles dentro de la tarjeta */
  --navy-line: #3A4470;      /* bordes/aristas */
  --paper: #F4F1FF;          /* texto sobre navy (17:1) */
  --muted: #B7BEDB;          /* texto secundario sobre navy (9.6:1) */
  --cyan: #3DD6F5;           /* temporales, hojas (11:1 sobre navy) */
  --gold: #FFBD59;           /* operadores, palabras clave (11:1 sobre navy) */
  --coral: #FF8A6B;          /* etiquetas / saltos (7.9:1 sobre navy) */
  --green: #5BE49B;          /* reutilizado / correcto (11:1 sobre navy) */
  --violet: #B9A8FF;         /* resaltado de fuente (9.2:1 sobre navy) */

  --font-title: 'Source Serif 4', Georgia, 'Times New Roman', serif;
  --font-body: 'Inter', 'Segoe UI', system-ui, sans-serif;
  --font-code: 'JetBrains Mono', Consolas, 'Courier New', monospace;

  --radius: 32px;
  --ease: cubic-bezier(.2, .8, .2, 1);
  --dur: 420ms;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur: 0ms; }
  *, *::before, *::after { animation-duration: 0ms !important; transition-duration: 0ms !important; }
}
