:root {
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;

  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --border: #e2e8f0;
  --border-strong: #cbd5e1;

  --fg: #0f172a;
  --fg-muted: #64748b;
  --fg-subtle: #94a3b8;

  --accent: #2563eb;
  --accent-fg: #ffffff;
  --accent-soft: #dbeafe;

  --danger: #e11d48;
  --danger-soft: #ffe4e6;
  --success: #059669;
  --success-soft: #d1fae5;
  --warn: #d97706;
  --warn-soft: #fef3c7;

  --sidebar-bg: #0f172a;
  --sidebar-fg: #cbd5e1;
  --sidebar-fg-strong: #ffffff;
  --sidebar-active-bg: rgba(37, 99, 235, 0.15);
  --sidebar-active-fg: #bfdbfe;
  --sidebar-hover-bg: rgba(255,255,255,0.04);
  --sidebar-width: 14rem;

  --body-bg-image: none;
  --body-bg-attachment: scroll;

  --radius-sm: 0.25rem;
  --radius: 0.375rem;
  --radius-lg: 0.5rem;

  --shadow-card: none;

  --density-text: 13px;
  --density-pad-y: 0.375rem;
  --density-pad-x: 1rem;
  --gap: 1rem;

  --icon-marker: '▸';
}

[data-theme="clean"] {
  --font-sans: 'Inter', system-ui, sans-serif;
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-2: #f8fafc;
  --border: #e2e8f0;
  --accent: #4f46e5;
  --accent-soft: #eef2ff;
  --sidebar-bg: #ffffff;
  --sidebar-fg: #64748b;
  --sidebar-fg-strong: #0f172a;
  --sidebar-active-bg: #f1f5f9;
  --sidebar-active-fg: #0f172a;
  --sidebar-hover-bg: var(--surface-2);
  --sidebar-width: 16rem;
  --body-bg-image: none;
  --body-bg-attachment: scroll;
  --radius: 0.5rem;
  --radius-lg: 0.75rem;
  --shadow-card: none;
  --density-text: 14px;
  --density-pad-y: 0.625rem;
  --gap: 1.25rem;
}

[data-theme="soft"] {
  --font-sans: 'Plus Jakarta Sans', system-ui, sans-serif;
  --bg: #f5f5f4;
  --surface: rgba(255,255,255,0.78);
  --surface-2: rgba(255,255,255,0.55);
  --border: rgba(255,255,255,0.9);
  --border-strong: #fecdd3;
  --fg: #1e293b;
  --fg-muted: #64748b;
  --accent: #f43f5e;
  --accent-soft: #ffe4e6;
  --sidebar-bg: rgba(255,255,255,0.7);
  --sidebar-fg: #475569;
  --sidebar-fg-strong: #0f172a;
  --sidebar-active-bg: linear-gradient(90deg,#ffe4e6,#fef3c7);
  --sidebar-active-fg: #0f172a;
  --sidebar-hover-bg: rgba(255,255,255,0.5);
  --sidebar-width: 18rem;
  --body-bg-image: linear-gradient(135deg,#f5f5f4,#fff1f2 60%,#fef3c7);
  --body-bg-attachment: fixed;
  --radius: 1rem;
  --radius-lg: 1.5rem;
  --shadow-card: 0 20px 40px -20px rgba(244, 63, 94, 0.18);
  --density-text: 14px;
  --density-pad-y: 0.75rem;
  --gap: 1.5rem;
}

[data-theme="dark"] {
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', monospace;
  --bg: #09090b;
  --surface: rgba(24,24,27,0.6);
  --surface-2: #18181b;
  --border: #27272a;
  --border-strong: #3f3f46;
  --fg: #e4e4e7;
  --fg-muted: #a1a1aa;
  --fg-subtle: #71717a;
  --accent: #34d399;
  --accent-fg: #09090b;
  --accent-soft: rgba(52, 211, 153, 0.12);
  --danger-soft: rgba(244, 63, 94, 0.12);
  --success-soft: rgba(52, 211, 153, 0.12);
  --warn-soft: rgba(245, 158, 11, 0.12);
  --sidebar-bg: #09090b;
  --sidebar-fg: #a1a1aa;
  --sidebar-fg-strong: #ffffff;
  --sidebar-active-bg: #18181b;
  --sidebar-active-fg: #ffffff;
  --sidebar-hover-bg: rgba(255,255,255,0.04);
  --sidebar-width: 16rem;
  --body-bg-image: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(52,211,153,.06), transparent);
  --body-bg-attachment: scroll;
  --radius: 0.5rem;
  --radius-lg: 0.75rem;
  --shadow-card: 0 0 0 1px rgba(52,211,153,0.05);
  --density-text: 14px;
  --density-pad-y: 0.625rem;
  --gap: 1.25rem;
}

[data-theme="enterprise"] {
  --font-sans: 'Inter', system-ui, sans-serif;
  --font-mono: 'IBM Plex Mono', monospace;
  --bg: #f8fafc;
  --surface: #ffffff;
  --surface-2: #f1f5f9;
  --border: #e2e8f0;
  --accent: #2563eb;
  --accent-soft: #dbeafe;
  --sidebar-bg: #0f172a;
  --sidebar-fg: #cbd5e1;
  --sidebar-fg-strong: #ffffff;
  --sidebar-active-bg: rgba(37,99,235,0.15);
  --sidebar-active-fg: #bfdbfe;
  --sidebar-hover-bg: rgba(255,255,255,0.04);
  --sidebar-width: 14rem;
  --body-bg-image: none;
  --body-bg-attachment: scroll;
  --radius-sm: 0.125rem;
  --radius: 0.25rem;
  --radius-lg: 0.375rem;
  --shadow-card: none;
  --density-text: 12.5px;
  --density-pad-y: 0.375rem;
  --density-pad-x: 1rem;
  --gap: 0.75rem;
}
