/* Hallmark · genre: modern-minimal · theme: Cobalt
 * Portable design tokens for Bladerboek. Cool engineered near-white paper,
 * one electric cobalt signal, hairline structure, Space Grotesk + Inter +
 * JetBrains Mono. Every colour/font/space value in the app references a token
 * from this file by name.
 */
:root {
  /* Paper & ink — cool, never #fff / #000 */
  --color-paper: oklch(98.5% 0.004 250);
  --color-paper-2: oklch(96.6% 0.005 252);
  --color-paper-3: oklch(94.2% 0.006 254);
  --color-ink: oklch(24% 0.02 258);
  --color-ink-2: oklch(34% 0.018 257);
  --color-ink-3: oklch(52% 0.014 255);

  /* The one signal */
  --color-accent: oklch(58% 0.20 256);
  --color-accent-strong: oklch(50% 0.19 256);
  --color-accent-ink: oklch(98% 0.01 250);
  --color-accent-weak: oklch(58% 0.20 256 / 0.10);
  --color-focus: oklch(58% 0.20 256);

  /* Graphite — the code / instrument surface */
  --color-graphite: oklch(22% 0.016 260);
  --color-graphite-2: oklch(27% 0.016 260);
  --color-graphite-ink: oklch(90% 0.01 255);
  --color-graphite-ink-2: oklch(72% 0.012 255);

  /* Syntax tokens on graphite */
  --tok-key: oklch(70% 0.14 256);
  --tok-str: oklch(80% 0.09 195);
  --tok-num: oklch(82% 0.11 90);
  --tok-punc: oklch(62% 0.012 255);
  --tok-comment: oklch(52% 0.012 255);

  /* Hairlines */
  --color-rule: oklch(90% 0.006 255);
  --color-rule-2: oklch(84% 0.008 255);

  /* Status */
  --color-ok: oklch(64% 0.14 152);
  --color-ok-weak: oklch(64% 0.14 152 / 0.12);
  --color-warn: oklch(72% 0.13 70);
  --color-warn-weak: oklch(72% 0.13 70 / 0.14);
  --color-danger: oklch(58% 0.18 25);
  --color-danger-weak: oklch(58% 0.18 25 / 0.10);

  /* Type */
  --font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;
  --font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

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

  /* Space — 4pt scale */
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;
  --space-3xl: 96px;
  --space-4xl: 128px;

  /* Radius, rule, motion */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --rule: 1px;

  --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-1: 150ms;
  --dur-2: 300ms;
  --dur-3: 600ms;
}
