/* Hallmark · tokens · theme: custom (Dexo default-dark, from crates/dexo-tui/src/theme.rs)
 * axes: dark / geometric-sans / cool
 */
:root {
  color-scheme: dark;

  /* paper → ink, tinted toward the accent's hue (239) */
  --color-paper:    oklch(17.5% 0.006 245);
  --color-paper-2:  oklch(20.5% 0.008 245);
  --color-paper-3:  oklch(24.5% 0.010 245);
  --color-rule-2:   oklch(28% 0.010 260);
  --color-rule:     oklch(40% 0.010 271);
  --color-muted:    oklch(66.5% 0.020 258);
  --color-ink-2:    oklch(84% 0.008 250);
  --color-ink:      oklch(93% 0.005 250);

  /* Dexo's roles */
  --color-accent:   oklch(70% 0.157 239);   /* focus / development — #03a9f4 */
  --color-focus:    oklch(72% 0.190 239);
  --color-on-accent: oklch(17.5% 0.006 245);
  --color-prod:     oklch(58.7% 0.206 26);  /* production — #dc3232 */
  --color-error:    oklch(64% 0.207 25);
  --color-warn:     oklch(79.4% 0.153 87);
  --color-ok:       oklch(68% 0.176 146);
  --color-select:   oklch(48% 0.156 259);
  --color-glow:     oklch(70% 0.157 239 / 0.14);
  --color-glow-prod: oklch(58.7% 0.206 26 / 0.16);
  --color-grid:     oklch(93% 0.005 250 / 0.028);
  --color-shade:    oklch(8% 0.006 245 / 0.6);

  /* type: display + body share Space Grotesk; JetBrains Mono carries the terminal (code, TUI replicas, wordmark) */
  --font-display: "Space Grotesk", ui-sans-serif, sans-serif;
  --font-body:    "Space Grotesk", ui-sans-serif, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, monospace;

  /* scale · major third */
  --text-xs:   0.8rem;
  --text-sm:   0.875rem;
  --text-base: 1.0625rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   clamp(1.75rem, 2.2vw + 1rem, 2.45rem);
  --text-display: clamp(2.5rem, 4vw + 1rem, 4.6rem);

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

  --rule-hair: 1px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  --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;
  --dur-reveal: 700ms;

  --z-base: 1;
  --z-raised: 10;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-sticky-nav: 300;
  --z-modal: 400;
  --z-toast: 500;
}
