/* Botzz design tokens — derived from logo (navy + electric cyan) */
:root {
  color-scheme: light;

  /* Brand */
  --bz-ink:        oklch(0.18 0.04 252);
  --bz-ink-2:      oklch(0.24 0.05 252);
  --bz-ink-3:      oklch(0.32 0.05 252);
  --bz-cyan:       oklch(0.72 0.18 232);
  --bz-cyan-hi:    oklch(0.82 0.14 220);
  --bz-cyan-lo:    oklch(0.55 0.20 246);
  --bz-cyan-soft:  oklch(0.72 0.18 232 / 0.12);

  /* Surfaces — tinted toward navy, intentionally NOT bright white.
   * The cool cyan undertone gives the page atmosphere without becoming
   * blue. Each step down adds chroma so deeper surfaces feel more alive. */
  --bz-paper:      oklch(0.975 0.008 252);
  --bz-paper-2:    oklch(0.95 0.012 252);
  --bz-paper-3:    oklch(0.92 0.016 252);

  /* Lines and outlines */
  --bz-line:       oklch(0.88 0.014 252);
  --bz-line-2:     oklch(0.82 0.018 252);

  /* Ambient washes — used for radial gradients across the page so light
   * mode has the same atmospheric depth that dark mode gets for free
   * from its navy surface. Higher alpha here = visible on off-white. */
  --bz-glow-cyan:  oklch(0.72 0.18 232 / 0.18);
  --bz-glow-blue:  oklch(0.55 0.20 246 / 0.10);
  --bz-glow-soft:  oklch(0.55 0.20 246 / 0.05);

  /* Text */
  --bz-text:       oklch(0.22 0.03 252);
  --bz-text-soft:  oklch(0.45 0.02 252);
  --bz-text-mute:  oklch(0.62 0.015 252);
  --bz-text-on-ink: oklch(0.97 0.005 252);
  --bz-text-on-ink-soft: oklch(0.78 0.015 252);

  /* Status */
  --bz-success:    oklch(0.68 0.16 155);
  --bz-warn:       oklch(0.78 0.15 80);
  --bz-danger:     oklch(0.60 0.20 25);
  --bz-success-soft: oklch(0.68 0.16 155 / 0.12);
  --bz-danger-soft:  oklch(0.60 0.20 25 / 0.12);

  /* Radii */
  --bz-r-1: 6px;
  --bz-r-2: 10px;
  --bz-r-3: 14px;
  --bz-r-4: 22px;
  --bz-r-pill: 999px;

  /* Shadows — tinted in navy */
  --bz-shadow-1: 0 1px 2px oklch(0.18 0.04 252 / 0.06);
  --bz-shadow-2: 0 1px 2px oklch(0.18 0.04 252 / 0.06), 0 8px 24px -10px oklch(0.18 0.04 252 / 0.18);
  --bz-shadow-3: 0 2px 4px oklch(0.18 0.04 252 / 0.06), 0 24px 48px -16px oklch(0.18 0.04 252 / 0.30);
  --bz-shadow-cyan: 0 8px 32px -8px oklch(0.55 0.20 246 / 0.45);

  /* Type */
  --bz-font-display: "Space Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --bz-font-body:    "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --bz-font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;

  /* Type scale (1.333 ratio, base 16) */
  --bz-fs-12: 0.75rem;
  --bz-fs-14: 0.875rem;
  --bz-fs-16: 1rem;
  --bz-fs-18: 1.125rem;
  --bz-fs-21: 1.3125rem;
  --bz-fs-28: 1.75rem;
  --bz-fs-37: 2.3125rem;
  --bz-fs-49: 3.0625rem;
  --bz-fs-65: 4.0625rem;

  /* Motion */
  --bz-ease: cubic-bezier(.25, 1, .5, 1);
  --bz-dur-1: 150ms;
  --bz-dur-2: 280ms;
  --bz-dur-3: 480ms;

  /* Layout */
  --bz-container: 1180px;
  --bz-container-narrow: 880px;
  --bz-container-prose: 68ch;
}

[data-theme="dark"] {
  color-scheme: dark;

  --bz-paper:      oklch(0.16 0.02 252);
  --bz-paper-2:    oklch(0.20 0.025 252);
  --bz-paper-3:    oklch(0.24 0.028 252);

  --bz-line:       oklch(0.30 0.02 252);
  --bz-line-2:     oklch(0.38 0.025 252);

  --bz-text:       oklch(0.96 0.006 252);
  --bz-text-soft:  oklch(0.78 0.012 252);
  --bz-text-mute:  oklch(0.60 0.015 252);

  --bz-glow-cyan:  oklch(0.55 0.20 246 / 0.30);
  --bz-glow-blue:  oklch(0.72 0.18 232 / 0.20);
  --bz-glow-soft:  oklch(0.55 0.20 246 / 0.18);

  --bz-shadow-1: 0 1px 2px oklch(0 0 0 / 0.30);
  --bz-shadow-2: 0 1px 2px oklch(0 0 0 / 0.30), 0 8px 24px -10px oklch(0 0 0 / 0.55);
  --bz-shadow-3: 0 2px 4px oklch(0 0 0 / 0.35), 0 24px 48px -16px oklch(0 0 0 / 0.65);
}

/* No blanket prefers-reduced-motion override here: it killed essential
 * micro-animations (typing dots, online pulse). Each component handles
 * its own reduced-motion behaviour where the motion is non-essential. */
