/* Hallmark · tokens · warm-amber · paper-light/dark · roman-serif + sans */

:root {
  /* Paper bands */
  --color-paper-0: oklch(98.5% 0.008 85);   /* page background — warm off-white */
  --color-paper-1: oklch(96% 0.012 80);     /* card raised surface */
  --color-paper-2: oklch(92% 0.018 78);     /* inset (code, code well) */
  --color-rule:    oklch(86% 0.018 80);     /* hairline rules */
  --color-rule-strong: oklch(72% 0.025 78);

  /* Ink */
  --color-ink:       oklch(22% 0.015 70);   /* primary text */
  --color-ink-soft:  oklch(45% 0.015 70);   /* secondary text */
  --color-ink-muted: oklch(58% 0.012 75);   /* meta / labels */

  /* Accent — warm amber */
  --color-accent:       oklch(68% 0.16 70);
  --color-accent-ink:   oklch(28% 0.10 60);
  --color-accent-soft:  oklch(95% 0.04 80);
  --color-accent-ring:  oklch(68% 0.16 70 / 0.35);

  /* Status */
  --color-active:       oklch(55% 0.12 155);
  --color-active-soft:  oklch(94% 0.04 155);
  --color-paused:       oklch(55% 0.03 70);  /* desaturated to not fight amber */
  --color-paused-soft:  oklch(93% 0.012 70);
  --color-stuck:        oklch(52% 0.16 28);
  --color-stuck-soft:   oklch(95% 0.035 30);

  /* Focus ring (≥3:1 contrast guaranteed) */
  --color-focus: oklch(45% 0.20 260);

  /* Type */
  --font-display: "Source Serif 4", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;
  --font-body: "Inter", "Hiragino Sans", "Yu Gothic UI", system-ui, -apple-system, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;

  /* Type scale (4pt rhythm) */
  --text-xs: 0.75rem;
  --text-sm: 0.85rem;
  --text-base: 0.95rem;
  --text-md: 1rem;
  --text-lg: 1.15rem;
  --text-xl: 1.4rem;
  --text-2xl: 1.85rem;
  --text-display-s: 2.25rem;

  /* Spacing (4pt scale) */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;

  /* Radius */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;

  /* Rules */
  --rule-thin: 1px;

  /* Motion */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 120ms;
  --dur-base: 180ms;
  --dur-slow: 260ms;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-paper-0: oklch(14% 0.012 65);    /* warm dark */
    --color-paper-1: oklch(18% 0.014 65);
    --color-paper-2: oklch(22% 0.014 65);
    --color-rule:    oklch(30% 0.018 65);
    --color-rule-strong: oklch(42% 0.022 68);

    --color-ink:       oklch(94% 0.008 85);
    --color-ink-soft:  oklch(76% 0.012 78);
    --color-ink-muted: oklch(62% 0.012 75);

    --color-accent:       oklch(75% 0.15 75);
    --color-accent-ink:   oklch(18% 0.06 60);
    --color-accent-soft:  oklch(28% 0.06 70);
    --color-accent-ring:  oklch(75% 0.15 75 / 0.45);

    --color-active:       oklch(72% 0.14 155);
    --color-active-soft:  oklch(26% 0.04 155);
    --color-paused:       oklch(72% 0.025 70);
    --color-paused-soft:  oklch(26% 0.012 70);
    --color-stuck:        oklch(70% 0.16 28);
    --color-stuck-soft:   oklch(28% 0.06 28);

    --color-focus: oklch(72% 0.18 260);
  }
}
