/* Design tokens — warm paper light theme + warm charcoal dark theme.
   Accents keep one chroma and swap hue only: pine green 165° (actions/articles),
   teal 205° (moments/links). Green deliberately off Claude's clay 32° hue. */
:root {
  --bg:  oklch(0.975 0.013 85);
  --bg2: oklch(0.995 0.008 85);
  --bg3: oklch(0.935 0.018 80);
  --ink:  oklch(0.26 0.02 60);
  --ink2: oklch(0.53 0.02 65);
  --line: oklch(0.88 0.02 75);
  --a1: oklch(0.52 0.10 165);
  --a2: oklch(0.60 0.11 205);
  --a1soft: oklch(0.52 0.10 165 / 0.14);
  --a2soft: oklch(0.60 0.11 205 / 0.13);
  --on-accent: oklch(0.99 0.01 85);
  /* commit-heatmap ramp: empty → full pine green */
  --ramp-0: oklch(0.925 0.012 75);
  --ramp-1: oklch(0.85 0.05 165);
  --ramp-2: oklch(0.73 0.08 165);
  --ramp-3: oklch(0.62 0.10 165);
  --ramp-4: oklch(0.52 0.11 165);
  --shadow: 0 1px 2px oklch(0.26 0.02 60 / .05), 0 10px 24px -12px oklch(0.26 0.02 60 / .16);
  --lift:   0 2px 4px oklch(0.26 0.02 60 / .06), 0 22px 40px -18px oklch(0.26 0.02 60 / .28);
  --sans:  "Bricolage Grotesque", "Noto Sans SC", system-ui, sans-serif;
  --serif: "Newsreader", "Noto Sans SC", Georgia, serif;
  --mono:  "IBM Plex Mono", ui-monospace, monospace;
}
:root[data-theme="dark"] {
  --bg:  oklch(0.19 0.016 62);
  --bg2: oklch(0.235 0.018 62);
  --bg3: oklch(0.30 0.02 62);
  --ink:  oklch(0.93 0.014 85);
  --ink2: oklch(0.73 0.016 80);
  --line: oklch(0.35 0.02 65);
  --a1: oklch(0.74 0.11 165);
  --a2: oklch(0.76 0.10 205);
  --a1soft: oklch(0.74 0.11 165 / 0.18);
  --a2soft: oklch(0.76 0.10 205 / 0.18);
  --shadow: 0 1px 2px oklch(0.1 0.02 60 / .5), 0 12px 28px -14px oklch(0.08 0.02 60 / .7);
  --lift:   0 2px 6px oklch(0.1 0.02 60 / .55), 0 26px 46px -18px oklch(0.08 0.02 60 / .8);
  --ramp-0: oklch(0.285 0.014 62);
  --ramp-1: oklch(0.40 0.06 165);
  --ramp-2: oklch(0.52 0.08 165);
  --ramp-3: oklch(0.63 0.10 165);
  --ramp-4: oklch(0.74 0.11 165);
}
