/* GENERADO por scripts/build-tokens.mjs desde tokens/nivio.tokens.json. No editar a mano. */
/* 1rem = 16px por defecto. Las equivalencias en px de la documentación usan esa base. */

:root {
  color-scheme: light;
  --nv-coral-50: #FFF3EE;
  --nv-coral-100: #FFE3D6;
  --nv-coral-300: #FF9A78;
  --nv-coral-500: #FF6A3D;
  --nv-coral-600: #F0552A;
  --nv-coral-700: #C2410C;
  --nv-coral-900: #7C2D12;
  --nv-coral-950: #2A1A14;
  --nv-violet-50: #F5F3FF;
  --nv-violet-100: #DDD6FE;
  --nv-violet-300: #C4B5FD;
  --nv-violet-500: #8B5CF6;
  --nv-violet-700: #6D28D9;
  --nv-violet-900: #4C1D95;
  --nv-violet-950: #1E1633;
  --nv-graphite-0: #FFFFFF;
  --nv-graphite-50: #F5F5F7;
  --nv-graphite-100: #E6E7EC;
  --nv-graphite-200: #D4D6DD;
  --nv-graphite-300: #A3A6B1;
  --nv-graphite-400: #8A8D99;
  --nv-graphite-500: #5B5E6A;
  --nv-graphite-700: #2A2D36;
  --nv-graphite-800: #1A1C23;
  --nv-graphite-850: #17181E;
  --nv-graphite-900: #121318;
  --nv-graphite-925: #15161B;
  --nv-graphite-950: #0B0C10;
  --nv-graphite-fog: #ECEEF3;
  --nv-green-50: #F2FBF6;
  --nv-green-300: #86EFAC;
  --nv-green-700: #15803D;
  --nv-green-950: #13241A;
  --nv-amber-50: #FEF7EC;
  --nv-amber-300: #FCD34D;
  --nv-amber-700: #B45309;
  --nv-amber-950: #2A2010;
  --nv-red-50: #FDF4F4;
  --nv-red-300: #FCA5A5;
  --nv-red-400: #F87171;
  --nv-red-700: #B91C1C;
  --nv-red-950: #2A1517;
  --nv-blue-50: #EFF5FF;
  --nv-blue-300: #A5C0FF;
  --nv-blue-700: #1D4ED8;
  --nv-blue-950: #141D33;
  --nv-font-display: "Roboto Slab Variable", "Roboto Slab", Georgia, serif;
  --nv-font-sans: "Inter Variable", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --nv-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --nv-canvas: var(--nv-graphite-50);
  --nv-surface: var(--nv-graphite-0);
  --nv-surface-sunken: var(--nv-graphite-50);
  --nv-surface-raised: var(--nv-graphite-0);
  --nv-surface-hover: var(--nv-graphite-50);
  --nv-fg: var(--nv-graphite-925);
  --nv-fg-muted: var(--nv-graphite-500);
  --nv-fg-inverse: var(--nv-graphite-0);
  --nv-inverse: var(--nv-graphite-900);
  --nv-line: var(--nv-graphite-100);
  --nv-line-strong: var(--nv-graphite-400);
  --nv-primary: var(--nv-coral-500);
  --nv-primary-hover: var(--nv-coral-600);
  --nv-on-primary: #1A0D08;
  --nv-primary-ink: var(--nv-coral-700);
  --nv-primary-tint: var(--nv-coral-50);
  --nv-nivio: var(--nv-violet-700);
  --nv-nivio-tint: var(--nv-violet-50);
  --nv-focus: var(--nv-coral-700);
  --nv-success: var(--nv-green-700);
  --nv-success-tint: var(--nv-green-50);
  --nv-warning: var(--nv-amber-700);
  --nv-warning-tint: var(--nv-amber-50);
  --nv-danger: var(--nv-red-700);
  --nv-danger-tint: var(--nv-red-50);
  --nv-danger-solid: var(--nv-red-700);
  --nv-on-danger-solid: var(--nv-graphite-0);
  --nv-info: var(--nv-blue-700);
  --nv-info-tint: var(--nv-blue-50);
  --nv-scrim: rgba(18, 19, 24, 0.48);
  --nv-chart-1: #D9480F;
  --nv-chart-2: #7C3AED;
  --nv-chart-3: #0E7490;
  --nv-chart-4: #15803D;
  --nv-chart-5: #B45309;
  --nv-chart-6: #BE185D;
  --nv-chart-7: #4338CA;
  --nv-chart-8: #57534E;
  --nv-gradient-brand: linear-gradient(135deg, #FF6A3D, #8B5CF6);
  --nv-shadow-sm: 0 1px 2px rgba(18, 19, 24, 0.06);
  --nv-shadow-md: 0 8px 24px rgba(18, 19, 24, 0.10);
  --nv-shadow-lg: 0 18px 48px rgba(18, 19, 24, 0.16);
  --nv-spacing: 0.25rem;
  --nv-radius-sm: 6px;
  --nv-radius-md: 10px;
  --nv-radius-lg: 16px;
  --nv-radius-xl: 24px;
  --nv-radius-pill: 9999px;
  --nv-control-sm: 2rem;
  --nv-control-md: 2.5rem;
  --nv-control-lg: 3rem;
  --nv-touch: 2.75rem;
  --nv-icon-sm: 1rem;
  --nv-icon-md: 1.25rem;
  --nv-icon-lg: 1.5rem;
  --nv-icon-xl: 3rem;
  --nv-row: 3rem;
  --nv-container-reading: 68ch;
  --nv-container-form: 40rem;
  --nv-container-page: 80rem;
  --nv-gutter: clamp(1rem, 0.5rem + 2vw, 2rem);
  --nv-header: 4rem;
  --nv-sidebar: 16rem;
  --nv-duration-fast: 120ms;
  --nv-duration-base: 200ms;
  --nv-duration-slow: 300ms;
  --nv-ease-enter: cubic-bezier(0.2, 0.7, 0.2, 1);
  --nv-ease-exit: cubic-bezier(0.4, 0, 1, 1);
  --nv-z-base: 0;
  --nv-z-sticky: 20;
  --nv-z-header: 30;
  --nv-z-sidebar: 40;
  --nv-z-toast: 60;
  --nv-z-skip: 70;
  --nv-type-caption-size: 0.75rem;
  --nv-type-caption-line: 1rem;
  --nv-type-overline-size: 0.75rem;
  --nv-type-overline-line: 1rem;
  --nv-type-small-size: 0.875rem;
  --nv-type-small-line: 1.25rem;
  --nv-type-body-size: 1rem;
  --nv-type-body-line: 1.5rem;
  --nv-type-lead-size: 1.125rem;
  --nv-type-lead-line: 1.75rem;
  --nv-type-title-3-size: 1.25rem;
  --nv-type-title-3-line: 1.75rem;
  --nv-type-title-2-size: 1.5rem;
  --nv-type-title-2-line: 2rem;
  --nv-type-title-1-size: clamp(1.75rem, 1.5rem + 1vw, 2rem);
  --nv-type-title-1-line: 1.2;
  --nv-type-display-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.5rem);
  --nv-type-display-line: 1.08;
  --nv-type-figure-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.75rem);
  --nv-type-figure-line: 1;
  /* alias v1.4 (deprecados) */ --nv-legacy: 1;
  --nv-bg: var(--nv-surface);
  --nv-text: var(--nv-fg);
  --nv-text-muted: var(--nv-fg-muted);
  --nv-border: var(--nv-line);
  --nv-border-strong: var(--nv-line-strong);
  --nv-coral: var(--nv-coral-500);
  --nv-on-coral: var(--nv-on-primary);
  --nv-coral-ink: var(--nv-primary-ink);
  --nv-violet: var(--nv-violet-500);
  --nv-violet-ink: var(--nv-nivio);
  --nv-gradient: var(--nv-gradient-brand);
  --nv-success-bg: var(--nv-success-tint);
  --nv-warning-bg: var(--nv-warning-tint);
  --nv-danger-bg: var(--nv-danger-tint);
  --nv-info-bg: var(--nv-info-tint);
  --nv-font-ui: var(--nv-font-sans);
  --nv-font-code: var(--nv-font-mono);
  --nv-fast: var(--nv-duration-fast);
  --nv-base: var(--nv-duration-base);
  --nv-slow: var(--nv-duration-slow);
  --nv-ease-in: var(--nv-ease-enter);
  --nv-ease-out: var(--nv-ease-exit);
  --nv-ring: 0 0 0 2px var(--nv-surface), 0 0 0 4px var(--nv-focus);
  --nv-space-1: calc(var(--nv-spacing) * 1);
  --nv-space-2: calc(var(--nv-spacing) * 2);
  --nv-space-3: calc(var(--nv-spacing) * 3);
  --nv-space-4: calc(var(--nv-spacing) * 4);
  --nv-space-5: calc(var(--nv-spacing) * 5);
  --nv-space-6: calc(var(--nv-spacing) * 6);
  --nv-space-8: calc(var(--nv-spacing) * 8);
  --nv-space-10: calc(var(--nv-spacing) * 10);
  --nv-space-12: calc(var(--nv-spacing) * 12);
  --nv-space-16: calc(var(--nv-spacing) * 16);
}

[data-theme="dark"] {
  color-scheme: dark;
  --nv-canvas: var(--nv-graphite-950);
  --nv-surface: var(--nv-graphite-900);
  --nv-surface-sunken: var(--nv-graphite-950);
  --nv-surface-raised: var(--nv-graphite-800);
  --nv-surface-hover: var(--nv-graphite-800);
  --nv-fg: var(--nv-graphite-fog);
  --nv-fg-muted: var(--nv-graphite-300);
  --nv-fg-inverse: var(--nv-graphite-900);
  --nv-inverse: var(--nv-graphite-fog);
  --nv-line: var(--nv-graphite-700);
  --nv-line-strong: var(--nv-graphite-400);
  --nv-primary: var(--nv-coral-500);
  --nv-primary-hover: var(--nv-coral-300);
  --nv-on-primary: #1A0D08;
  --nv-primary-ink: var(--nv-coral-300);
  --nv-primary-tint: var(--nv-coral-950);
  --nv-nivio: var(--nv-violet-300);
  --nv-nivio-tint: var(--nv-violet-950);
  --nv-focus: var(--nv-coral-300);
  --nv-success: var(--nv-green-300);
  --nv-success-tint: var(--nv-green-950);
  --nv-warning: var(--nv-amber-300);
  --nv-warning-tint: var(--nv-amber-950);
  --nv-danger: var(--nv-red-300);
  --nv-danger-tint: var(--nv-red-950);
  --nv-danger-solid: var(--nv-red-400);
  --nv-on-danger-solid: var(--nv-graphite-900);
  --nv-info: var(--nv-blue-300);
  --nv-info-tint: var(--nv-blue-950);
  --nv-scrim: rgba(0, 0, 0, 0.64);
  --nv-chart-1: #FF8A5C;
  --nv-chart-2: #A78BFA;
  --nv-chart-3: #22D3EE;
  --nv-chart-4: #4ADE80;
  --nv-chart-5: #FBBF24;
  --nv-chart-6: #F472B6;
  --nv-chart-7: #818CF8;
  --nv-chart-8: #A8A29E;
  --nv-gradient-brand: linear-gradient(135deg, #FF6A3D, #8B5CF6);
  --nv-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
  --nv-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.55);
  --nv-shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.6);
}

/* Sin JavaScript o sin elección explícita: sigue la preferencia del sistema. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --nv-canvas: var(--nv-graphite-950);
    --nv-surface: var(--nv-graphite-900);
    --nv-surface-sunken: var(--nv-graphite-950);
    --nv-surface-raised: var(--nv-graphite-800);
    --nv-surface-hover: var(--nv-graphite-800);
    --nv-fg: var(--nv-graphite-fog);
    --nv-fg-muted: var(--nv-graphite-300);
    --nv-fg-inverse: var(--nv-graphite-900);
    --nv-inverse: var(--nv-graphite-fog);
    --nv-line: var(--nv-graphite-700);
    --nv-line-strong: var(--nv-graphite-400);
    --nv-primary: var(--nv-coral-500);
    --nv-primary-hover: var(--nv-coral-300);
    --nv-on-primary: #1A0D08;
    --nv-primary-ink: var(--nv-coral-300);
    --nv-primary-tint: var(--nv-coral-950);
    --nv-nivio: var(--nv-violet-300);
    --nv-nivio-tint: var(--nv-violet-950);
    --nv-focus: var(--nv-coral-300);
    --nv-success: var(--nv-green-300);
    --nv-success-tint: var(--nv-green-950);
    --nv-warning: var(--nv-amber-300);
    --nv-warning-tint: var(--nv-amber-950);
    --nv-danger: var(--nv-red-300);
    --nv-danger-tint: var(--nv-red-950);
    --nv-danger-solid: var(--nv-red-400);
    --nv-on-danger-solid: var(--nv-graphite-900);
    --nv-info: var(--nv-blue-300);
    --nv-info-tint: var(--nv-blue-950);
    --nv-scrim: rgba(0, 0, 0, 0.64);
    --nv-chart-1: #FF8A5C;
    --nv-chart-2: #A78BFA;
    --nv-chart-3: #22D3EE;
    --nv-chart-4: #4ADE80;
    --nv-chart-5: #FBBF24;
    --nv-chart-6: #F472B6;
    --nv-chart-7: #818CF8;
    --nv-chart-8: #A8A29E;
    --nv-gradient-brand: linear-gradient(135deg, #FF6A3D, #8B5CF6);
    --nv-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.5);
    --nv-shadow-md: 0 8px 24px rgba(0, 0, 0, 0.55);
    --nv-shadow-lg: 0 18px 48px rgba(0, 0, 0, 0.6);
}
}

[data-density="compact"] {
  --nv-control-md: 2rem;
  --nv-row: 2.5rem;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --nv-duration-fast: 0.01ms;
    --nv-duration-base: 0.01ms;
    --nv-duration-slow: 0.01ms;
}
}
