:root {
  --font-sans: "Segoe UI", ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Code", "Segoe UI Mono", Consolas, monospace;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;

  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 18px;
  --radius-full: 999px;

  --header-h: 64px;
  --sidebar-w: 240px;
  --sidebar-w-collapsed: 76px;
  --bottom-nav-h: 64px;

  --ease: 160ms ease;
  --ease-move: 200ms cubic-bezier(0.2, 0.7, 0.2, 1);

  --z-header: 30;
  --z-sidebar: 40;
  --z-overlay: 50;
  --z-palette: 60;
  --z-toast: 70;
  --z-skip: 80;

  --focus: 0 0 0 2px var(--bg), 0 0 0 4px var(--accent);
}

:root,
[data-theme="dark"] {
  --bg: #0e1218;
  --bg-elevated: #141a22;
  --surface: #171e28;
  --surface-hover: #1e2733;
  --sidebar: #10151c;
  --text: #eef3f8;
  --text-muted: #93a0b0;
  --text-faint: #6d7a8c;
  --accent: #7eb8b0;
  --accent-strong: #9fd0c8;
  --accent-soft: rgba(126, 184, 176, 0.14);
  --violet: #a89ad4;
  --violet-soft: rgba(168, 154, 212, 0.14);
  --border: rgba(232, 238, 246, 0.08);
  --border-strong: rgba(232, 238, 246, 0.16);
  --ok: #86c49a;
  --ok-soft: rgba(134, 196, 154, 0.12);
  --warn: #d4b06a;
  --warn-soft: rgba(212, 176, 106, 0.12);
  --danger: #e08b8b;
  --danger-soft: rgba(224, 139, 139, 0.12);
  --overlay: rgba(6, 8, 12, 0.62);
  --shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
  --logo-dot: var(--accent);
  color-scheme: dark;
}

[data-theme="light"] {
  --bg: #f3f0e8;
  --bg-elevated: #fbf8f1;
  --surface: #fffdf8;
  --surface-hover: #f3eee4;
  --sidebar: #ebe6db;
  --text: #1c2430;
  --text-muted: #5b6573;
  --text-faint: #7a8492;
  --accent: #2f6f68;
  --accent-strong: #1f5852;
  --accent-soft: rgba(47, 111, 104, 0.12);
  --violet: #5f4f8a;
  --violet-soft: rgba(95, 79, 138, 0.1);
  --border: rgba(28, 36, 48, 0.1);
  --border-strong: rgba(28, 36, 48, 0.18);
  --ok: #2f7a4a;
  --ok-soft: rgba(47, 122, 74, 0.1);
  --warn: #8a6418;
  --warn-soft: rgba(138, 100, 24, 0.1);
  --danger: #a33b3b;
  --danger-soft: rgba(163, 59, 59, 0.1);
  --overlay: rgba(28, 36, 48, 0.4);
  --shadow: 0 12px 32px rgba(28, 36, 48, 0.1);
  --logo-dot: var(--accent);
  color-scheme: light;
}
