/* Hallmark · genre: modern-minimal · theme: custom · vibe: "engineered, cool, precise, fresh"
 * paper: oklch(98.5% 0.004 250) · accent: oklch(55% 0.11 195) teal (from the logo) · display: Space Grotesk 600 · body: Geist · mono: JetBrains Mono
 * axes: light / grotesk-sans / chromatic-teal ~195° · design-system: design.md · studied: no · context: explicit
 */
:root {
  /* cool engineered paper → charcoal ink */
  --color-paper:        oklch(98.5% 0.004 250);
  --color-paper-2:      oklch(96.5% 0.006 250);
  --color-paper-3:      oklch(94% 0.008 250);
  --color-ink:          oklch(24% 0.02 258);
  --color-ink-2:        oklch(34% 0.018 257);
  --color-muted:        oklch(48% 0.016 257);
  --color-neutral:      oklch(64% 0.014 255);
  --color-rule:         oklch(89% 0.008 250);
  --color-rule-2:       oklch(93.5% 0.006 250);

  /* the one dark band */
  --color-graphite:        oklch(21% 0.016 260);
  --color-graphite-2:      oklch(27% 0.016 260);
  --color-graphite-ink:    oklch(95% 0.006 250);
  --color-graphite-muted:  oklch(72% 0.012 250);

  /* one accent: the logo's teal, as a signal */
  --color-accent:        oklch(55% 0.11 195);
  --color-accent-deep:   oklch(47% 0.11 195);
  --color-accent-bright: oklch(74% 0.12 195);
  --color-accent-ink:    oklch(98.5% 0.004 250);
  --color-accent-soft:   oklch(93% 0.035 195);
  --color-link-line:     oklch(78% 0.07 195);
  --color-focus:         oklch(58% 0.15 195);

  /* type: display + body + one outlier (mono: labels, numerals, footer) */
  --font-display: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
  --font-body:    "Geist", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* scale 1.25 from a 17px body */
  --text-xs:        0.75rem;
  --text-sm:        0.875rem;
  --text-base:      1.0625rem;
  --text-md:        1.25rem;
  --text-lg:        1.5625rem;
  --text-xl:        1.953rem;
  --text-2xl:       2.441rem;
  --text-3xl:       3.052rem;
  --text-display-s: clamp(2rem, 2.2vw + 1rem, 3.25rem);
  --text-display:   clamp(2.5rem, 4.2vw + 0.5rem, 4.5rem);
  --measure:        65ch;

  /* 4pt spacing 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 */
  --page-gutter: clamp(1rem, 4vw, 3rem);
  --page-max:    74rem;

  /* rules, radii: drawn with a ruler */
  --rule-hair:    1px;
  --rule-heavy:   2px;
  --radius-none:  0;
  --radius-input: 6px;
  --radius-card:  10px;

  /* motion (sparse) */
  --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 scale */
  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-modal:    400;
  --z-toast:    500;
}
