/**
 * Nonova — design tokens (sistema neutral grafito + papel + bronce)
 * Fuente: color.mdx (locked 2026-07-07, decision-log #44) · brand.nonova.com/visual/color
 * Generado desde src/lib/tokens.ts — no editar a mano.
 *
 * Tipografía (NO incluida — licencias retail pendientes de compra):
 *   --font-serif: GT Sectra Display (committed) / Cormorant Garamond (fallback vivo) — Display / editorial
 *   --font-sans: Söhne (committed) / Inter (fallback vivo) — Texto / UI
 *   --font-mono: Söhne Mono (committed) / JetBrains Mono (fallback vivo) — Dato / prueba (dossier)
 *
 * Reglas duras: nunca #fff ni #000 puros · el acento jamás toca el logo ·
 * bronce display solo ≥18px o no-texto · sin color por tier (F/P/L es
 * firma compositiva tipográfica).
 */

:root {
  /* ── Color ── */
  --color-paper: oklch(0.988 0.003 85); /* #FCFBF9 Papel — Fondo de lectura / lienzo del interior */
  --color-nacre: oklch(0.972 0.004 85); /* #F7F6F3 Nácar — Card elevada (method cards, fichas) */
  --color-ink: oklch(0.258 0.009 70); /* #26231F Tinta — Texto primario / dato de prueba */
  --color-ink-sub: oklch(0.458 0.011 74); /* #5B5751 Tinta-sub — Texto secundario, captions */
  --color-ink-eyebrow: oklch(0.530 0.011 76); /* #706B65 Tinta-eyebrow — Eyebrow/microcopy sobre papel (remediado AA) */
  --color-ink-faint: oklch(0.588 0.011 76); /* #807C76 Tinta-faint — Detalle no-textual */
  --color-pearl: oklch(0.904 0.006 84); /* #E1DFDB Perla — Hairline / borde / divisor */
  --color-cover-background: oklch(0.170 0.006 255); /* #0E1012 Grafito — Campo de portada / contraportada / chrome */
  --color-cover-raised: oklch(0.322 0.012 252); /* #2F3439 Panel — Plano alzado (spread de postura) */
  --color-cover-foreground: oklch(0.965 0.004 250); /* #F1F4F6 Bruma — Texto claro sobre grafito */
  --color-cover-foreground-strong: oklch(0.985 0.003 250); /* #F9FAFC Luz — Wordmark / titular sobre grafito */
  --color-cover-muted: oklch(0.822 0.007 252); /* #C1C5C9 Bruma-sub — Secundario sobre grafito */
  --color-cover-eyebrow: oklch(0.620 0.009 255); /* #83868C Bruma-quieta — Eyebrow SOLO sobre Grafito base (5.22:1) */
  --color-cover-eyebrow-panel: oklch(0.700 0.008 253); /* #9B9FA3 Bruma-quieta-panel — Eyebrow sobre Panel (4.72:1 AA) */
  --color-cover-hairline: oklch(0.300 0.008 255); /* #2B2E32 Hairline-grafito — Hairline / borde no-textual sobre Grafito (chrome) — decorativo, exento de 1.4.11 */
  --color-bronze: oklch(0.585 0.058 70); /* #927656 Bronce (display) — Tick de verificado, estados grandes/UI (≥3:1) */
  --color-bronze-text: oklch(0.520 0.058 70); /* #7F6343 Bronce-texto — Links y estados en texto de cuerpo (5.39:1 AA) */
  --color-sand: oklch(0.828 0.042 78); /* #D6C4A9 Arena — Detalle cálido (foil, micro-detalle) */

  /* ── Espaciado ── */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  /* ── Motion ── */
  --duration-instant: 90ms; /* Plano de evidencia — la prueba APARECE (bloque de dato completo) */
  --duration-fast: 120ms; /* Micro-feedback: hover, focus, link */
  --duration-base: 200ms; /* Transición de UI: acordeón, tooltip, method card */
  --duration-slow: 320ms; /* Entrada de sección, route transition, travesía de tapa */
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1); /* Superficie default */
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1); /* Superficie de mayor recorrido / travesías */
  --ease-proof: cubic-bezier(0.4, 0, 0.2, 1); /* SOLO plano de evidencia — simétrica, sin overshoot */

  /* ── Tracking ── */
  --tracking-micro: 0.16em; /* Eyebrow / microcopy UPPERCASE */
  --tracking-data: 0.02em; /* DATA/proof — mono, lote/dosis/COA */
  --tracking-wordmark: 0.04em; /* Lockups de exploración (el wordmark es vector) */

  /* ── Radios ── */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 6px;
  --radius-card: 4px;
}
