/* Hallmark · tokens · theme: Cobalt · genre: modern-minimal · anchor hue: 256 (electric cobalt) */

:root {
  /* — paper band: cool engineered near-white (light) — */
  --color-paper:          oklch(98.5% 0.004 250);
  --color-paper-2:        oklch(96%   0.007 250);
  --color-rule:           oklch(90%   0.009 252);
  --color-rule-2:         oklch(83%   0.012 252);
  --color-ink:            oklch(24%   0.020 258);
  --color-ink-2:          oklch(34%   0.018 257);
  --color-muted:          oklch(52%   0.014 257);

  --color-accent:         oklch(58% 0.20 256);
  --color-accent-strong:  oklch(50% 0.21 256);
  --color-accent-ink:     oklch(99% 0.006 256);
  --color-focus:          oklch(64% 0.19 256);

  --color-graphite:       oklch(22% 0.016 260);
  --color-graphite-2:     oklch(27% 0.018 260);
  --color-graphite-ink:   oklch(95% 0.012 260);
  --color-graphite-muted: oklch(72% 0.020 260);
  --color-graphite-rule:  oklch(38% 0.020 260);

  --color-danger:         oklch(58% 0.19 25);

  /* — type — */
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Inter", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;

  --text-xs:      0.6875rem;
  --text-sm:      0.8125rem;
  --text-base:    1rem;
  --text-md:      1.125rem;
  --text-lg:      1.375rem;
  --text-xl:      1.75rem;
  --text-2xl:     2.25rem;
  --text-3xl:     2.875rem;
  --text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);

  /* — space (4pt scale) — */
  --space-3xs: 0.125rem;
  --space-2xs: 0.25rem;
  --space-xs:  0.5rem;
  --space-sm:  0.75rem;
  --space-md:  1rem;
  --space-lg:  1.5rem;
  --space-xl:  2.5rem;
  --space-2xl: 4rem;
  --space-3xl: 6rem;
  --space-4xl: 9rem;

  --page-max:    72rem;
  --page-gutter: clamp(1.25rem, 4vw, 2.5rem);

  /* — radii: tight, ruler-drawn — */
  --radius-control: 6px;
  --radius-card:    8px;
  --radius-code:    10px;

  /* — motion — */
  --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-micro: 120ms;
  --dur-short: 220ms;
  --dur-long:  420ms;

  /* — z-index — */
  --z-base: 1; --z-raised: 10; --z-dropdown: 100; --z-sticky: 200; --z-modal: 400; --z-toast: 500;
}

[data-theme="dark"] {
  --color-paper:          oklch(15% 0.010 258);
  --color-paper-2:        oklch(19% 0.012 258);
  --color-rule:           oklch(30% 0.014 258);
  --color-rule-2:         oklch(38% 0.016 258);
  --color-ink:            oklch(95% 0.008 258);
  --color-ink-2:          oklch(88% 0.010 257);
  --color-muted:          oklch(65% 0.016 257);

  --color-accent:         oklch(70% 0.17 256);
  --color-accent-strong:  oklch(76% 0.16 256);
  --color-accent-ink:     oklch(14% 0.010 258);
  --color-focus:          oklch(74% 0.17 256);

  --color-graphite:       oklch(11% 0.012 260);
  --color-graphite-2:     oklch(16% 0.014 260);
  --color-graphite-ink:   oklch(95% 0.010 260);
  --color-graphite-muted: oklch(68% 0.018 260);
  --color-graphite-rule:  oklch(30% 0.016 260);
}
