:root {
  /* Colors */
  --color-bg: #0f1115;
  --color-bg-elevated: #151821;
  --color-bg-soft: #181c26;
  --color-surface: #ffffff;
  --color-surface-alt: #f5f7fb;
  --color-border-subtle: rgba(15, 17, 21, 0.08);
  --color-border-strong: rgba(15, 17, 21, 0.16);

  --color-text: #0f1115;
  --color-text-subtle: #5b6476;
  --color-text-muted: #8b94a7;
  --color-on-dark: #f7f8fc;

  --color-primary: #4f46e5;
  --color-primary-soft: rgba(79, 70, 229, 0.12);
  --color-primary-strong: #3730a3;

  --color-positive: #16a34a;
  --color-neutral: #4b5563;
  --color-warning: #eab308;
  --color-danger: #ef4444;

  /* Shadows */
  --shadow-soft: 0 18px 45px rgba(15, 17, 21, 0.18);
  --shadow-subtle: 0 1px 3px rgba(15, 17, 21, 0.08);

  /* Radius */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-pill: 999px;

  /* Spacing scale */
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 40px;
  --space-3xl: 56px;

  /* Typography */
  --font-sans: system-ui, -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  --font-mono: ui-monospace, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;

  --text-xs: 11px;
  --text-sm: 13px;
  --text-md: 15px;
  --text-lg: 18px;
  --text-xl: 24px;
  --text-2xl: 32px;

  /* Layout */
  --container-max: 1120px;
  --header-height: 64px;

  /* Transitions */
  --transition-fast: 160ms ease-out;
  --transition-med: 220ms ease-out;
}

body.theme-dark {
  --color-bg: #050712;
  --color-bg-elevated: #0b0f1a;
  --color-bg-soft: #101422;
  --color-surface: #111827;
  --color-surface-alt: #020617;
  --color-border-subtle: rgba(148, 163, 184, 0.26);
  --color-border-strong: rgba(148, 163, 184, 0.38);
  --color-text: #e5e7eb;
  --color-text-subtle: #9ca3af;
  --color-text-muted: #6b7280;
  --color-on-dark: #f9fafb;
}
