/* Hallmark · theme: Cobalt (modern-minimal) · genre: modern-minimal
 * Paper band: cool light (L 98.5%, hue ~250) · Display style: grotesk-sans (Space Grotesk, mono-paired)
 * Accent hue: electric cobalt · pre-emit critique: P5 H4 E5 S4 R5 V5 */

:root {
  /* ——— Colour · Cobalt (cool engineered, instrument-panel) ——— */
  --color-paper:      oklch(98.5% 0.004 250);
  --color-paper-2:    oklch(96%   0.005 250);
  --color-paper-3:    oklch(92%   0.006 250);
  --color-rule:       oklch(89%   0.006 250);
  --color-rule-2:     oklch(78%   0.01  250);
  --color-neutral:    oklch(55%   0.01  255);
  --color-muted:      oklch(42%   0.018 257);
  --color-ink-2:      oklch(34%   0.018 257);
  --color-ink:        oklch(24%   0.02  258);

  /* accent family — split so small text clears 4.5:1 on paper
     and the button fill clears 4.5:1 against accent-ink */
  --color-accent:      oklch(48% 0.18 256);   /* fills: buttons, bars, badge, dots */
  --color-accent-2:    oklch(42% 0.18 256);   /* hover for accent fills */
  --color-accent-text: oklch(40% 0.16 256);   /* small accent text on paper */
  --color-accent-light: oklch(72% 0.16 256);  /* accent text/cues on the dark graphite band */
  --color-accent-ink:  oklch(98% 0.002 250);  /* text on accent fills */
  --color-focus:       oklch(55% 0.18 256);   /* focus ring (3:1 on paper) */

  /* graphite band + code surfaces */
  --color-graphite:       oklch(22% 0.016 260);
  --color-graphite-2:     oklch(27% 0.016 260);
  --color-graphite-deep:  oklch(18% 0.014 260);
  --color-graphite-ink:   oklch(93% 0.006 260);
  --color-graphite-ink-2: oklch(70% 0.012 258);
  --color-graphite-rule:  oklch(35% 0.014 258);

  /* code syntax */
  --color-code-fn:  oklch(85% 0.02 220);
  --color-code-num: oklch(90% 0.02 70);

  /* overlays + shadows */
  --color-backdrop:   oklch(24% 0.02 258 / 0.4);
  --color-shadow-lift:  0 1px 2px oklch(24% 0.02 258 / 0.08);
  --color-shadow-panel: 0 24px 48px -16px oklch(24% 0.02 258 / 0.28);

  /* text on the dark CTA band */
  --color-on-ink-2: oklch(78% 0.008 258);
  --color-on-ink-3: oklch(72% 0.008 258);

  /* ——— Fonts · Space Grotesk display · Inter body · JetBrains Mono outlier ——— */
  --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, Menlo, monospace;

  /* ——— Type scale · major third (1.25) ——— */
  --text-2xs:   0.7rem;
  --text-xs:    0.75rem;
  --text-sm:    0.8rem;
  --text-base:  1rem;
  --text-md:    1.25rem;
  --text-lg:    1.5625rem;
  --text-xl:    1.9531rem;
  --text-2xl:   2.4414rem;
  --text-3xl:   3.0518rem;
  --text-4xl:   3.8147rem;
  --text-display: clamp(2.5rem, 4vw + 0.75rem, 4.25rem);

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

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

  /* ——— Radii · Cobalt: drawn with a ruler ——— */
  --radius-sm:   6px;
  --radius-md:   10px;
  --radius-lg:   14px;

  /* ——— Z-index scale ——— */
  --z-base:     1;
  --z-raised:   10;
  --z-dropdown: 100;
  --z-sticky:   200;
  --z-sticky-nav: 300;
  --z-modal:    400;
  --z-toast:    500;
  --z-tooltip:  600;

  /* ——— Layout ——— */
  --page-max:    76rem;
  --page-gutter: clamp(1rem, 4vw, 2.5rem);
  --nav-height:  68px;
}
