/* ==========================================================================
   FRIINT — Design tokens
   Dirección: terminal técnico. Única fuente de verdad de color y escalas.
   Ningún otro archivo declara valores literales de color o tamaño.

   ⚠️ clamp() exige espacios alrededor de + y -. Sin ellos el valor entero
      se invalida en silencio. Ver BITACORA.md, 2026-08-05.
   ========================================================================== */

:root {
  /* ---- Superficies -------------------------------------------------- */
  --bg:        #0c0e0d;
  --bg-soft:   #0f1211;
  --surface:   #0a0c0b;
  --surface-2: #141816;

  /* ---- Bordes -------------------------------------------------------- */
  --line:      #222724;
  --line-dash: #2a2f2d;

  /* ---- Texto (contraste medido sobre --bg) --------------------------- */
  --text:      #e8e6df;   /* 15.8:1 — titulares y cuerpo                 */
  --text-soft: #9aa39d;   /*  7.3:1 — cuerpo secundario                  */
  --muted:     #7b8580;   /*  5.0:1 — metadatos. NO usar bajo 14px.      */
                          /*  Hoy sin uso: todo lo chico usa --text-soft */

  /* ---- Marca --------------------------------------------------------- */
  --amber:     #f5a524;   /*  9.5:1 — acento, prompt, cursor, CTA        */
  --amber-hi:  #ffba4a;
  --amber-dim: #6b5426;   /* solo decoración de fondo, nunca texto       */
  --ink:       #0a0a09;   /* texto SOBRE ámbar. Nunca texto claro.       */

  /* ---- Tipografía ----------------------------------------------------- */
  /* Self-hosteada. Cero CDN, cero Google Fonts. Ver base.css. */
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Consolas,
          "Liberation Mono", monospace;

  --fs-xs:     0.6875rem;
  --fs-sm:     0.75rem;
  --fs-base:   0.875rem;
  --fs-body:   1rem;
  --fs-lg:     clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  --fs-xl:     clamp(1.375rem, 1.2rem + 0.85vw, 1.75rem);
  --fs-2xl:    clamp(1.75rem, 1.45rem + 1.5vw, 2.5rem);
  --fs-hero:   clamp(1.75rem, 1rem + 3.2vw, 3.25rem);

  --lh-tight:  1.22;
  --lh-snug:   1.4;
  --lh-body:   1.75;   /* mono necesita más aire que una sans */

  --tracking-tight: -0.01em;
  --tracking-wide:   0.08em;

  --fw-regular: 400;
  --fw-medium:  500;

  /* ---- Espaciado (base 4px) ------------------------------------------- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-7: 3rem;
  --sp-8: 4rem;
  --sp-9: 6rem;

  --section-y: clamp(3rem, 1.5rem + 8vw, 6rem);

  /* ---- Layout ---------------------------------------------------------- */
  --shell:     1180px;
  --shell-pad: clamp(1.25rem, 0.6rem + 3vw, 3rem);
  --tap:       44px;      /* área táctil mínima. No bajar. */

  --radius:    2px;       /* la dirección terminal es angular */
  --ring:      0 0 0 2px var(--bg), 0 0 0 4px var(--amber);

  /* ---- Movimiento ------------------------------------------------------ */
  --dur-fast:  120ms;
  --dur:       200ms;
  --dur-slow:  400ms;
  --ease:      cubic-bezier(.22, .61, .36, 1);
  --rot-cycle: 18s;       /* ciclo del prompt rotativo (3 × 6s) */

  /* ---- Capas ----------------------------------------------------------- */
  --z-bg:      0;
  --z-base:    1;
  --z-header:  200;
  --z-overlay: 300;
}

@media (prefers-reduced-motion: reduce) {
  :root { --dur-fast: 0ms; --dur: 0ms; --dur-slow: 0ms; }
}
