/* Hallmark · theme: Cobalt · genre: modern-minimal
 * paper: cool near-white oklch(98.5% 0.004 250) · accent: electric cobalt oklch(55% 0.21 256)
 * accent-bright: on-dark text variant oklch(72% 0.16 256)
 * display: Space Grotesk · body: Inter · outlier/mono: JetBrains Mono
 * All colours and fonts in styles.css must reference these tokens by name.
 * Contrast-tuned: accent fill carries accent-ink at 4.57:1 (gate 41); muted lifted
 * to 4.7:1 on paper (gate 40); accent-bright carries accent text on graphite at 4.6:1.
 */
:root {
  /* colour — cool engineered ground, ink, one cobalt signal */
  --color-paper:        oklch(98.5% 0.004 250);
  --color-paper-2:      oklch(96.5% 0.006 250);
  --color-ink:          oklch(24% 0.02 258);
  --color-ink-2:        oklch(34% 0.018 257);
  --color-muted:        oklch(46% 0.016 256);
  --color-rule:         oklch(88% 0.008 250);
  --color-rule-2:       oklch(78% 0.012 254);
  --color-accent:       oklch(55% 0.21 256);
  --color-accent-hover: oklch(53% 0.21 256);
  --color-accent-active: oklch(50% 0.20 256);
  --color-accent-ink:   oklch(98% 0.008 250);
  --color-accent-soft:  oklch(60% 0.18 256 / 0.30);
  --color-accent-bright: oklch(72% 0.16 256);
  --color-focus:        oklch(58% 0.20 256);
  --color-focus-on-accent: oklch(24% 0.02 258);
  --color-graphite:     oklch(22% 0.016 260);
  --color-graphite-2:   oklch(28% 0.018 260);
  --color-on-graphite:  oklch(91% 0.012 255);
  --color-on-graphite-2: oklch(70% 0.02 258);
  --color-success:      oklch(74% 0.15 152);
  --color-scrim:        oklch(20% 0.02 260 / 0.42);

  /* font */
  --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, "SF Mono", Menlo, monospace;

  /* space — 4 pt scale */
  --space-3xs: 0.125rem;   /*  2px */
  --space-2xs: 0.25rem;    /*  4px */
  --space-xs:  0.5rem;     /*  8px */
  --space-sm:  0.75rem;    /* 12px */
  --space-md:  1rem;       /* 16px */
  --space-lg:  1.5rem;     /* 24px */
  --space-xl:  2.5rem;     /* 40px */
  --space-2xl: 4rem;       /* 64px */
  --space-3xl: 6rem;       /* 96px */
  --space-4xl: 9rem;       /* 144px */

  /* text — major third 1.25 */
  --text-xs:    0.75rem;
  --text-sm:    0.875rem;
  --text-base:  1rem;
  --text-md:    1.125rem;
  --text-lg:    1.4rem;
  --text-xl:    1.75rem;
  --text-2xl:   2.2rem;
  --text-3xl:   2.75rem;
  --text-display: clamp(2.75rem, 5vw + 1rem, 5.25rem);

  /* radius — drawn with a ruler */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;

  /* rules */
  --rule-hair: 1px;

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

  /* shadow */
  --shadow-card:    0 1px 2px oklch(24% 0.02 258 / 0.06);
  --shadow-modal:   0 24px 64px -24px oklch(20% 0.02 260 / 0.4);
  --shadow-popover: 0 16px 36px -6px rgba(0, 0, 0, 0.65), 0 4px 12px rgba(0, 0, 0, 0.4);
  --shadow-frame:   0 24px 64px -12px rgba(0, 0, 0, 0.45), 0 8px 24px rgba(0, 0, 0, 0.2);

  /* z — named scale */
  --z-base:     1;
  --z-raised:   10;
  --z-sticky:   200;
  --z-modal:    400;
  --z-tooltip:  600;

  /* layout */
  --page-gutter: clamp(1rem, 4vw, 4rem);
  --content-max: 78rem;
}
