/* Design tokens */
:root {
  /* Neutral palette */
  --bg-light: #fafafa;
  --surface-light: #ffffff;
  --surface-2-light: #f5f5f5;
  --border-light: #e6e6e6;
  --text-light: #111827;
  --muted-light: #6b7280;
  --muted-2-light: #9ca3af;
  --heading-light: #1f2937;

  /* Accent (Vue green) */
  --link-light: #42b883;
  --accent-light: #42b883;
  --accent-strong-light: #2a9f6b;
  --ring-light: rgba(17, 24, 39, 0.2);

  /* Code */
  --code-bg-light: #0b1020;
  --code-fg-light: #e2e8f0;

  /* Shadow */
  --shadow-light: 0 1px 3px rgba(0, 0, 0, 0.06);

  /* Dark palette */
  --bg-dark: #0b1220;
  --surface-dark: #0f172a;
  --surface-2-dark: #0b1220;
  --border-dark: #1f2937;
  --text-dark: #e5e7eb;
  --muted-dark: #9ca3af;
  --muted-2-dark: #6b7280;
  --heading-dark: #f3f4f6;
  --link-dark: #42d39a;
  --accent-dark: #42d39a;
  --accent-strong-dark: #3bc28d;
  --ring-dark: rgba(229, 231, 235, 0.25);
  --shadow-dark: 0 1px 2px rgba(0, 0, 0, 0.35);
  --code-bg-dark: #0b1020;
  --code-fg-dark: #e2e8f0;

  /* Active tokens default to light */
  --bg: var(--bg-light);
  --surface: var(--surface-light);
  --surface-2: var(--surface-2-light);
  --border: var(--border-light);
  --text: var(--text-light);
  --muted: var(--muted-light);
  --muted-2: var(--muted-2-light);
  --heading: var(--heading-light);
  --link: var(--link-light);
  --accent: var(--accent-light);
  --accent-strong: var(--accent-strong-light);
  --ring: var(--ring-light);
  --shadow: var(--shadow-light);
  --code-bg: var(--code-bg-light);
  --code-fg: var(--code-fg-light);

  /* Focus */
  --focus: 0 0 0 2px var(--ring);

  /* Radius & spacing (4px base scale) */
  --r-s: 4px;
  --r-m: 8px;
  --r-l: 12px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-6: 24px;
  --space-8: 32px;

  /* Fonts */
  --font-sans:
    Manrope, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial,
    "Apple Color Emoji", "Segoe UI Emoji";
  --font-mono:
    ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono",
    monospace;

  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  :root:not(.light) {
    color-scheme: dark;
    --bg: var(--bg-dark);
    --surface: var(--surface-dark);
    --surface-2: var(--surface-2-dark);
    --border: var(--border-dark);
    --text: var(--text-dark);
    --muted: var(--muted-dark);
    --muted-2: var(--muted-2-dark);
    --heading: var(--heading-dark);
    --link: var(--link-dark);
    --accent: var(--accent-dark);
    --accent-strong: var(--accent-strong-dark);
    --ring: var(--ring-dark);
    --shadow: var(--shadow-dark);
    --code-bg: var(--code-bg-dark);
    --code-fg: var(--code-fg-dark);
  }
}

html.dark {
  color-scheme: dark;
  --bg: var(--bg-dark);
  --surface: var(--surface-dark);
  --surface-2: var(--surface-2-dark);
  --border: var(--border-dark);
  --text: var(--text-dark);
  --muted: var(--muted-dark);
  --muted-2: var(--muted-2-dark);
  --heading: var(--heading-dark);
  --link: var(--link-dark);
  --accent: var(--accent-dark);
  --accent-strong: var(--accent-strong-dark);
  --ring: var(--ring-dark);
  --shadow: var(--shadow-dark);
  --code-bg: var(--code-bg-dark);
  --code-fg: var(--code-fg-dark);
}

html.light {
  color-scheme: light;
  --bg: var(--bg-light);
  --surface: var(--surface-light);
  --surface-2: var(--surface-2-light);
  --border: var(--border-light);
  --text: var(--text-light);
  --muted: var(--muted-light);
  --muted-2: var(--muted-2-light);
  --heading: var(--heading-light);
  --link: var(--link-light);
  --accent: var(--accent-light);
  --accent-strong: var(--accent-strong-light);
  --ring: var(--ring-light);
  --shadow: var(--shadow-light);
  --code-bg: var(--code-bg-light);
  --code-fg: var(--code-fg-light);
}
