:root {
  color-scheme: light;

  /* Brand and neutral surfaces */
  --vs-color-canvas: #f1f2ed;
  --vs-color-surface: #fffefa;
  --vs-color-surface-subtle: #f7f5ef;
  --vs-color-shell: #1e2522;
  --vs-color-shell-hover: #29312e;
  --vs-color-on-shell: #f7f5ef;
  --vs-color-on-shell-muted: #bdc6c1;
  --vs-color-ink: #1d2628;
  --vs-color-muted: #5e6a6c;
  --vs-color-subtle: #78827f;
  --vs-color-line: #d7d8d1;
  --vs-color-line-strong: #aeb9b4;
  --vs-color-brand: #215d54;
  --vs-color-brand-strong: #173f3a;
  --vs-color-brand-soft: #e4ece8;
  --vs-color-focus: #2a776b;

  /* Evidence and truth states. These are semantic, never decorative. */
  --vs-color-attested: #466478;
  --vs-color-attested-soft: #e9eff2;
  --vs-color-verified: #2f6a50;
  --vs-color-verified-soft: #e6f1e9;
  --vs-color-inferred: #8a601a;
  --vs-color-inferred-soft: #f6eddc;
  --vs-color-unknown: #5e6867;
  --vs-color-unknown-soft: #eceeea;
  --vs-color-rejected: #934b47;
  --vs-color-rejected-soft: #f6e6e3;

  /* Typography */
  --vs-font-ui: "Geist", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  --vs-font-editorial: "Source Serif 4", Georgia, "Times New Roman", serif;
  --vs-font-mono: "Geist Mono", "SFMono-Regular", Consolas, monospace;
  --vs-font-size-sm: 0.875rem;
  --vs-type-label: 650 0.75rem/1.2 var(--vs-font-ui);
  --vs-type-heading-md: 600 1.5rem/1.2 var(--vs-font-editorial);
  --vs-type-heading-lg: 600 clamp(2rem, 5vw, 2.75rem)/1.06 var(--vs-font-editorial);

  /* Spacing */
  --vs-space-1: 4px;
  --vs-space-2: 8px;
  --vs-space-3: 12px;
  --vs-space-4: 16px;
  --vs-space-6: 24px;
  --vs-space-8: 32px;
  --vs-space-12: 48px;
  --vs-space-16: 64px;

  /* Shape */
  --vs-radius-none: 0;
  --vs-radius-sm: 4px;
  --vs-radius-md: 8px;
  --vs-radius-overlay: 12px;
  --vs-radius-pill: 999px;

  /* Elevation */
  --vs-shadow-none: none;
  --vs-shadow-subtle: 0 8px 24px rgb(29 38 40 / 8%);
  --vs-shadow-overlay: 0 24px 64px rgb(18 37 32 / 20%);

  /* Density and interaction */
  --vs-row-compact: 32px;
  --vs-row-default: 40px;
  --vs-row-relaxed: 48px;
  --vs-motion-fast: 140ms;
  --vs-motion-default: 180ms;
  --vs-focus-width: 2px;
  --vs-focus-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --vs-motion-fast: 0ms;
    --vs-motion-default: 0ms;
  }
}
