/* RateSignal — design tokens
 * Hallmark custom theme · vibe: "midnight rate desk, signal amber, wire calm"
 * axes: dark / grotesk-sans / chromatic-amber ~75°
 * Every colour and font in styles.css references these by name. No inline values.
 */
:root {
  /* ---- colour · paper (night-blue tinted, hue 250) ---- */
  --color-paper:    oklch(15% 0.015 250);
  --color-paper-2:  oklch(18.5% 0.017 250);
  --color-paper-3:  oklch(22.5% 0.018 250);

  /* ---- colour · ink ---- */
  --color-ink:      oklch(93% 0.008 250);
  --color-ink-2:    oklch(86% 0.010 250);

  /* ---- colour · supporting greys ---- */
  --color-rule:     oklch(29% 0.015 250);
  --color-rule-2:   oklch(24% 0.014 250);
  --color-muted:    oklch(68% 0.012 250);
  --color-neutral:  oklch(48% 0.012 250);

  /* ---- colour · accent (signal amber, hue 75) ---- */
  --color-accent:      oklch(80% 0.15 75);
  --color-accent-ink:  oklch(17% 0.03 75);   /* text on accent fill */
  --color-accent-dim:  oklch(80% 0.15 75 / 0.14); /* bloom / tint washes only */
  --color-focus:       oklch(84% 0.19 75);

  /* ---- colour · form states ---- */
  --color-error:    oklch(70% 0.16 25);
  --color-ok:       oklch(78% 0.13 150);

  /* ---- type ---- */
  --font-display: "Space Grotesk", ui-sans-serif, system-ui, sans-serif;
  --font-body:    "Geist", ui-sans-serif, system-ui, sans-serif;
  --font-mono:    "JetBrains Mono", ui-monospace, "SF Mono", monospace;

  /* type scale · major third (1.25) */
  --text-xs:   0.8rem;
  --text-sm:   0.9rem;
  --text-base: 1rem;
  --text-md:   1.25rem;
  --text-lg:   1.5625rem;
  --text-xl:   1.9531rem;
  --text-2xl:  2.4414rem;
  --text-3xl:  3.0518rem;
  --text-display-s: clamp(2rem, 3.2vw + 1rem, 3.4rem);
  --text-display:   clamp(2.75rem, 5vw + 1rem, 5.25rem);
  --text-figure:    clamp(4.5rem, 11vw + 1rem, 10rem);

  /* ---- 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;

  /* ---- 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;

  /* ---- structure ---- */
  --rule-hair: 1px;
  --radius-md: 10px;
  --radius-pill: 999px;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);
  --page-max: 68rem;

  /* ---- z scale ---- */
  --z-base: 1;
  --z-raised: 10;
  --z-sticky: 200;
}
