/* ============================================================
   v2 · TOKENS — REFACTOR v1.5
   Un solo radius (8px), un solo sistema de sombra/borde
   (borde fino 1px; --shadow-min reservada a elementos flotantes:
   barra de orientación y modales), espaciado 8/16/24/40/64,
   cero gradientes. Paleta heredada del sistema anterior con los
   colores estructurales que estaban hardcodeados ya tokenizados
   y los dorados de texto oscurecidos para WCAG AA.
   ============================================================ */
:root {
    /* Marca */
    --azul: #2f5d86;            /* navy principal (botón primario) */
    --azul-700: #274d72;        /* hover */
    --azul-900: #1b3a5c;        /* header navy */
    --verde: #3f7d5a;
    --verde-700: #2f6249;
    --terracota: #c8663c;       /* solo gráficos / texto grande (≥20px w600) */
    --terracota-text: #a04e28;  /* terracota apto para texto pequeño: 4.6:1 s/ paper */
    --dorado: #d69a1f;          /* solo gráficos grandes, nunca texto sobre marfil */
    --dorado-bright: #e2b23c;   /* solo ilustración */
    --dorado-text: #8a5a12;     /* dorado apto para texto: 5.2:1 sobre tint */
    --coral: #d4574a;
    --morado: #6e4b7d;
    --teal: #388382;            /* formativa (antes hardcodeado) */
    --rojo-text: #b23a2c;       /* error en texto: 5.1:1 */
    --reintento: #c59a24;       /* antes hardcodeado; solo bordes/gráfico */

    /* Neutros */
    --paper: #f4efe0;
    --card: #fbf8ee;
    --ink: #22303f;
    --ink-soft: #55606c;
    --muted: #6b6355;           /* oscurecido desde #8a8577 para AA en texto pequeño */
    --line: #e7ddc6;
    --line-strong: #cdbfa0;     /* tono tierra: EL borde del sistema */
    --white: #ffffff;
    --header-ink: #dbe6f0;      /* texto secundario sobre navy */

    /* Tintes (fondos suaves) */
    --tint-azul: #eef4fb;
    --tint-verde: #eaf3ee;
    --tint-terracota: #faefe7;
    --tint-coral: #fcece9;
    --tint-amarillo: #f9f1da;
    --tint-morado: #f0eaf3;

    /* Tipografía */
    --font-head: 'Fraunces', Georgia, 'Times New Roman', serif;
    --font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --fs-xs: 13px;
    --fs-sm: 15px;
    --fs-body: 17px;
    --fs-h4: 20px;
    --fs-h3: 26px;
    --fs-h2: 34px;
    --fs-h1: 46px;
    --lh-tight: 1.12;
    --lh-body: 1.65;

    /* Espaciado (escala del brief: 8/16/24/40/64) */
    --sp-1: 8px;
    --sp-2: 16px;
    --sp-3: 24px;
    --sp-4: 40px;
    --sp-5: 64px;

    /* Forma: UN radius, UN borde, UNA sombra mínima (solo flotantes) */
    --radius: 8px;
    --border: 1px solid var(--line-strong);
    --border-soft: 1px solid var(--line);
    --shadow-min: 0 1px 2px rgba(27, 58, 92, 0.08);

    /* Motion */
    --dur: .24s;
    --ease: cubic-bezier(.22, 1, .36, 1);
    --tap-min: 48px;
}

/* Modo oscuro — completo: incluye los tintes que antes no se redefinían */
html.dark {
    --paper: #16211f;
    --card: #1e2c2a;
    --ink: #eef3f0;
    --ink-soft: #b9c6c0;
    --muted: #93a89e;
    --line: #2c3d39;
    --line-strong: #3a4f4a;
    --header-ink: #c3d2df;
    --tint-azul: #1d2f3f;
    --tint-verde: #172a22;
    --tint-terracota: #2e2119;
    --tint-coral: #2e1c1a;
    --tint-amarillo: #2c2413;
    --tint-morado: #241d2b;
    --terracota-text: #e0906a;
    --dorado-text: #e8c064;
    --rojo-text: #f2a99b;
    --shadow-min: 0 1px 2px rgba(0, 0, 0, 0.45);
}
