/* nod — tokens del sistema de diseño (fuente: sistema «nod», tokens.json).
   Una sola fuente para la app, la web, las páginas legales y el panel de métricas.
   Color en OKLCH: neutros teñidos con el tono del acento (h 260); acento, éxito y peligro en tríada a 120°.
   Tipografía y radios en razón 1,25; duraciones en serie ×√2; muelles con 2–4 % de sobrepaso. */
:root,:root[data-theme="light"]{
  --background:oklch(95.8% 0.002 260);--surface:oklch(100% 0 0);--surface-raised:oklch(100% 0 0);
  --surface-muted:oklch(97.9% 0.001 260);--border-subtle:oklch(96.85% 0.002 260);--border:oklch(93.7% 0.003 260);
  --border-strong:oklch(82% 0.008 260);--border-control:oklch(63.6% 0.013 260);--foreground:oklch(15% 0.007 260);
  --text-secondary:oklch(43.4% 0.014 260);--text-muted:oklch(55.2% 0.014 260);--accent:oklch(53.5% 0.215 260);
  --accent-strong:oklch(45% 0.180 260);--accent-subtle:oklch(95.4% 0.022 260);--accent-line:oklch(86.1% 0.065 260);
  --control-on:oklch(53.5% 0.215 260);--control-glyph:#ffffff;--success:oklch(52% 0.150 140);
  --success-subtle:oklch(95.2% 0.015 140);--success-line:oklch(85.6% 0.045 140);--warning:oklch(64% 0.132 80);
  --warning-subtle:oklch(96.4% 0.013 80);--warning-line:oklch(89.2% 0.040 80);--danger:oklch(52% 0.170 20);
  --danger-subtle:oklch(95.2% 0.017 20);--danger-line:oklch(85.6% 0.051 20);--scrim:oklch(18% 0.02 260 / 0.32);
  --logo-ring:oklch(80% 0.009 260);--logo-smile:var(--accent);--shadow-resting:0 1px 3px oklch(24% 0.02 260 / 0.06);
  --shadow-raised:0 4px 12px oklch(24% 0.02 260 / 0.07), 0 1px 3px oklch(24% 0.02 260 / 0.05);--shadow-floating:0 16px 48px oklch(24% 0.02 260 / 0.12), 0 4px 12px oklch(24% 0.02 260 / 0.05);
  color-scheme:light;
}
:root[data-theme="dark"]{
  --background:oklch(19% 0.009 260);--surface:oklch(21.5% 0.009 260);--surface-raised:oklch(24% 0.010 260);
  --surface-muted:oklch(26.5% 0.011 260);--border-subtle:oklch(25.25% 0.011 260);--border:oklch(29% 0.012 260);
  --border-strong:oklch(40% 0.013 260);--border-control:oklch(52.2% 0.014 260);--foreground:oklch(96.5% 0.002 260);
  --text-secondary:oklch(75.5% 0.010 260);--text-muted:oklch(64.2% 0.013 260);--accent:oklch(72% 0.145 260);
  --accent-strong:oklch(84% 0.079 260);--accent-subtle:oklch(29.6% 0.031 260);--accent-line:oklch(40.7% 0.061 260);
  --control-on:oklch(57.5% 0.190 260);--control-glyph:#ffffff;--success:oklch(75% 0.150 140);
  --success-subtle:oklch(30.1% 0.032 140);--success-line:oklch(41.8% 0.063 140);--warning:oklch(82% 0.140 80);
  --warning-subtle:oklch(31.2% 0.030 80);--warning-line:oklch(44.5% 0.059 80);--danger:oklch(74% 0.140 20);
  --danger-subtle:oklch(29.9% 0.030 20);--danger-line:oklch(41.4% 0.059 20);--scrim:oklch(6% 0.01 260 / 0.56);
  --logo-ring:oklch(46% 0.014 260);--logo-smile:var(--accent);--shadow-resting:0 1px 3px oklch(4% 0.01 260 / 0.32);
  --shadow-raised:0 4px 12px oklch(4% 0.01 260 / 0.36), 0 1px 3px oklch(4% 0.01 260 / 0.3);--shadow-floating:0 16px 48px oklch(4% 0.01 260 / 0.5), 0 4px 12px oklch(4% 0.01 260 / 0.3);
  color-scheme:dark;
}
:root{
  --font-display:"Geist", system-ui, sans-serif;
  --font-body:"Inter", system-ui, sans-serif;
  --font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  /* Escala tipográfica 1,25 sobre 14px (medios pasos 12, 16, 20) */
  --text-mono-xs:.6875rem;--text-caption:.75rem;--text-body:.875rem;--text-title-md:1rem;--text-title-lg:1.125rem;--text-wordmark:1.25rem;
  --text-display-sm:1.375rem;--text-display-md:1.75rem;--text-display-lg:2.125rem;--text-display-xl:3.3125rem;--text-display-2xl:4.1875rem;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;
  --space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;
  --radius-mark:.375rem;--radius-chip:.5rem;--radius-inner:1rem;--radius-control:1.25rem;
  --radius-float:1.5rem;--radius-panel:1.875rem;--radius-surface:2.375rem;--radius-pill:9999px;
  --control-height-xs:1.75rem;--control-height-sm:2.25rem;--control-height-md:2.75rem;--node-width:240px;
  --node-width-sub:220px;--node-width-open:340px;--node-height:80px;--grid-step:20px;
  --duration-instant:120ms;--duration-fast:170ms;--duration-standard:240ms;--duration-considered:340ms;--duration-slow:480ms;
  --ease-standard:cubic-bezier(.22,1,.36,1);
  --ease-enter:cubic-bezier(.16,1,.3,1);
  --ease-exit:cubic-bezier(.55,0,.75,.2);
  --ease-in-out:cubic-bezier(.65,0,.35,1);
  --spring-gentle:linear(0, 0.048, 0.16, 0.301, 0.445, 0.579, 0.696, 0.791, 0.866, 0.922, 0.962, 0.988, 1.005, 1.015, 1.019, 1.02, 1.019, 1.016, 1.013, 1.011, 1.008, 1.006, 1);
  --spring-snappy:linear(0, 0.057, 0.189, 0.352, 0.516, 0.663, 0.785, 0.879, 0.948, 0.993, 1.021, 1.035, 1.04, 1.038, 1.034, 1.027, 1.021, 1.015, 1.009, 1.005, 1.003, 1.001, 1);
  --focus-ring:var(--accent);--press-scale:.96;--lift-scale:1.02;--stagger:40ms;
}
