/* AguaNet · tokens de diseño
 * Tema noche por defecto; tema día en [data-theme="light"].
 * Colores del manual de marca: azul intenso #2837ff, azul cielo #00cdff, azul profundo #001450.
 * Tipografías: Unbounded (títulos), Hanken Grotesk (texto), IBM Plex Mono (datos).
 */

:root {
  /* Marca (manual): azul intenso #2837ff · azul cielo #00cdff · azul profundo #001450 */
  --brand-intenso: oklch(50% 0.26 268);
  --brand-cielo: oklch(79% 0.145 218);
  --brand-profundo: oklch(21% 0.11 266);

  /* Tema noche (por defecto) */
  --color-paper: oklch(14% 0.045 266);
  --color-paper-2: oklch(18% 0.05 266);
  --color-paper-3: oklch(23% 0.055 266);
  --color-ink: oklch(96% 0.01 250);
  --color-ink-2: oklch(80% 0.025 255);
  --color-ink-3: oklch(66% 0.03 258);
  --color-rule: oklch(32% 0.05 264);
  --color-accent: oklch(52% 0.25 268);
  --color-rule-fuerte: oklch(53% 0.05 262);
  --color-error: oklch(76% 0.15 25);
  --sombra-elevada: 0 10px 28px -12px oklch(0% 0 0 / 0.6);
  --color-accent-ink: oklch(99% 0 0);
  --color-signal: oklch(82% 0.14 215);
  --color-focus: oklch(85% 0.14 215);
  --color-bloom-1: oklch(45% 0.2 266 / 0.35);
  --color-bloom-2: oklch(70% 0.14 215 / 0.12);

  /* Escena 3D (se leen desde JS) */
  --map-land: oklch(24% 0.06 266);
  --map-land-lit: oklch(40% 0.17 266);
  --map-edge: oklch(45% 0.08 262);
  --map-edge-lit: oklch(82% 0.14 215);
  --map-link: oklch(82% 0.14 215);
  --map-node: oklch(92% 0.08 215);
  --map-sea: oklch(14% 0.045 266);

  /* Tipografía */
  --font-display: "Unbounded", "Arial Black", sans-serif;
  --font-body: "Hanken Grotesk", system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;

  --text-xs: 0.8125rem;
  --text-sm: 0.9375rem;
  --text-base: 1.0625rem;
  --text-lg: 1.25rem;
  --text-xl: clamp(1.375rem, 1rem + 1vw, 1.75rem);
  --text-2xl: clamp(1.75rem, 1.1rem + 2vw, 2.75rem);
  --text-3xl: clamp(2.25rem, 1.2rem + 3.4vw, 4rem);
  --text-display: clamp(2.4rem, 1rem + 4.2vw, 5.6rem);

  /* Espacio (4 pt) */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 7rem;

  /* Ancho completo: sangría lateral fluida, sin contenedor centrado */
  --gutter: clamp(16px, 3vw, 56px);
  --measure: 62ch;

  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --rule: 1px solid var(--color-rule);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 160ms;
  --dur-mid: 520ms;
  --dur-slow: 900ms;

  color-scheme: dark;
}

:root[data-theme="light"] {
  --color-paper: oklch(97.5% 0.008 255);
  --color-paper-2: oklch(94.5% 0.014 255);
  --color-paper-3: oklch(91% 0.02 258);
  --color-ink: oklch(19% 0.07 266);
  --color-ink-2: oklch(35% 0.06 266);
  --color-ink-3: oklch(48% 0.05 264);
  --color-rule: oklch(86% 0.025 258);
  --color-accent: oklch(48% 0.25 268);
  --color-rule-fuerte: oklch(62% 0.04 260);
  --color-error: oklch(52% 0.2 27);
  --sombra-elevada: 0 10px 24px -12px oklch(20% 0.05 266 / 0.35);
  --color-accent-ink: oklch(99% 0 0);
  --color-signal: oklch(46% 0.15 234);
  --color-focus: oklch(48% 0.25 268);
  --color-bloom-1: oklch(70% 0.14 266 / 0.18);
  --color-bloom-2: oklch(82% 0.12 215 / 0.2);

  --map-land: oklch(90% 0.025 258);
  --map-land-lit: oklch(62% 0.2 266);
  --map-edge: oklch(78% 0.04 258);
  --map-edge-lit: oklch(40% 0.2 266);
  --map-link: oklch(50% 0.24 268);
  --map-node: oklch(45% 0.24 268);
  --map-sea: oklch(97.5% 0.008 255);

  color-scheme: light;
}
