/* Hallmark · genre: modern-minimal · theme: Cobalt
 * paper-band: light (L > 85%) · display-style: grotesk-sans · accent-hue: cool (cobalt ~245°)
 * display: Space Grotesk · body: Inter · mono: JetBrains Mono
 */

:root {
  color-scheme: dark;

  /* ── Paper ── */
  --color-paper: oklch(0% 0 0);
  --color-paper-2: oklch(10% 0 0);
  --color-paper-3: oklch(15% 0 0);

  /* ── Ink ── */
  --color-ink: oklch(96% 0.005 250);
  --color-ink-2: oklch(75% 0.01 250);
  --color-ink-3: oklch(55% 0.01 250);

  /* ── Accent ── */
  --color-accent: oklch(70% 0.18 245);
  --color-accent-hover: oklch(75% 0.18 245);
  --color-accent-subtle: oklch(25% 0.04 245);

  /* ── Semantic ── */
  --color-success: oklch(65% 0.15 155);
  --color-warning: oklch(75% 0.15 75);
  --color-error: oklch(65% 0.18 25);

  /* ── Focus ── */
  --color-focus: oklch(70% 0.18 245);

  /* ── Border ── */
  --color-border: oklch(25% 0.01 250);
  --color-border-strong: oklch(35% 0.01 250);

  /* ── Typography ── */
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  --text-display: clamp(2.5rem, 5vw + 0.5rem, 4.75rem);
  --text-display-s: clamp(1.75rem, 3vw + 0.5rem, 2.75rem);
  --text-4xl: clamp(1.5rem, 2.5vw + 0.5rem, 2.25rem);
  --text-3xl: 1.75rem;
  --text-2xl: 1.375rem;
  --text-xl: 1.125rem;
  --text-base: 1rem;
  --text-sm: 0.875rem;
  --text-xs: 0.75rem;

  --leading-tight: 1.15;
  --leading-snug: 1.3;
  --leading-normal: 1.6;

  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.02em;

  /* ── Space (4pt scale) ── */
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-5xl: 8rem;

  /* ── Radius ── */
  --radius-sm: 4px;
  --radius-md: 6px;
  --radius-lg: 10px;
  --radius-pill: 999px;

  /* ── 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.45, 0, 0.55, 1);

  --dur-fast: 120ms;
  --dur-normal: 200ms;
  --dur-slow: 350ms;

  /* ── Rule ── */
  --rule-hairline: 1px solid var(--color-border);
  --rule-strong: 1px solid var(--color-border-strong);
}
