/* Hallmark tokens · theme: Midnight · paper band: dark · display: geometric-sans (Geist) · accent hue: cool (252) */
:root {
  color-scheme: dark;

  /* Colour: paper, ink, neutrals, one accent. Hue 258 tints every neutral. */
  --color-paper:      oklch(16.5% 0.020 258);
  --color-paper-2:    oklch(20% 0.022 258);
  --color-paper-3:    oklch(24% 0.024 258);
  --color-rule:       oklch(33% 0.020 258);
  --color-rule-2:     oklch(44% 0.020 258);
  --color-neutral:    oklch(64% 0.020 258);
  --color-muted:      oklch(77% 0.016 258);
  --color-ink-2:      oklch(87% 0.012 258);
  --color-ink:        oklch(95% 0.008 258);
  --color-accent:     oklch(72% 0.150 252);
  --color-accent-2:   oklch(79% 0.120 252);
  --color-accent-ink: oklch(16.5% 0.020 258);
  --color-focus:      oklch(82% 0.120 252);
  --color-bloom:      oklch(40% 0.110 252 / 0.28);
  --color-shade:      oklch(8% 0.020 258 / 0.55);
  --color-mark:       oklch(95% 0.008 258 / 0.08);

  /* Type: display + body + one outlier (machine strings: protocols, versions, checksums) */
  --font-display: "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "Geist Mono", ui-monospace, "SFMono-Regular", monospace;

  --text-xs:   0.8125rem;
  --text-sm:   0.9375rem;
  --text-base: 1.0625rem;
  --text-md:   1.3125rem;
  --text-lg:   clamp(1.5rem, 1.1rem + 1.4vw, 2.125rem);
  --text-xl:   clamp(1.875rem, 1.2rem + 2.6vw, 3rem);
  --text-display: clamp(2.5rem, 1.4rem + 4.4vw, 4.75rem);

  /* Space: 4 pt 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(1rem, 4vw, 3rem);

  /* Radii and rules */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --rule-hair: 1px;
  --rule-line: 1.5px;

  /* Motion: Midnight runs at 0.9x */
  --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: 110ms;
  --dur-short: 200ms;
  --dur-long: 380ms;

  /* Layers */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
  --z-sticky-nav: 210;
  --banner-height: 84px;
}
