:root {
  --ink: #17212b;
  --muted: #5e6b76;
  --surface: #f6f8f9;
  --surface-raised: #ffffff;
  --line: #d7dee3;
  --accent: #0b6bcb;
  --accent-strong: #064c91;
  --focus: #f0a500;
  --notice: #fff4d6;
  --code: #1d2935;
  --success: #176b45;
  --danger: #a33a3a;

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  --radius-sm: 0.25rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.875rem;
  --shadow-sm: 0 2px 8px rgba(23, 33, 43, 0.06);
  --shadow-md: 0 8px 24px rgba(23, 33, 43, 0.1);

  --container: 1200px;
  --article: 760px;
  --sidebar: 288px;
  --gutter: clamp(1rem, 3vw, 2rem);
  --reading-size: 1.125rem;
  --body-leading: 1.65;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: Geist, Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

/* Future dark-mode token set; only an explicit data-theme attribute may opt in. */
html[data-theme="dark"] {
  --ink: #edf3f7;
  --muted: #aab8c3;
  --surface: #121a21;
  --surface-raised: #1b2730;
  --line: #34434d;
  --accent: #72b7ff;
  --accent-strong: #b2d7ff;
  --focus: #ffc85c;
  --notice: #3f351d;
  --code: #0c1116;
  --success: #75d2a1;
  --danger: #ff9b9b;
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.35);
}
