:root {
  color-scheme: light;
  --font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Consolas", monospace;

  --color-black: #171923;
  --color-white: #ffffff;
  --color-red: #e25555;
  --color-blue: #5458e6;
  --color-dark-blue: #32356f;
  --color-light: #f8f9fd;
  --color-bg: #f4f5fa;
  --color-surface: #ffffff;
  --color-primary: #5458e6;
  /* Saturated brand fill that keeps white text readable in both themes */
  --color-primary-solid: #4549cf;
  --color-primary-solid-hover: #383cba;
  --color-text: #171923;
  --color-border: #e4e7f0;
  --color-muted: #5e6577;
  --color-gray-50: #f8f9fc;
  --color-gray-100: #f2f4f9;
  --color-gray-200: #e6e9f2;
  --color-gray-300: #d5d9e6;
  --color-gray-400: #b3b9c9;
  --color-gray-500: #828a9d;
  --color-gray-600: #5e6577;
  --color-gray-700: #454b5c;
  --color-gray-800: #2e3340;
  --color-gray-900: #1d212b;
  --color-primary-light: #ecedfd;
  --color-success: #1f9d6b;
  --color-success-light: #e3f7ee;
  --color-warning: #e9a13b;
  --color-warning-light: #fdf3e0;
  --color-danger: #e25555;
  --color-danger-light: #fdecec;
  --color-error: var(--color-danger);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;

  --weight-normal: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  --max-width: 1200px;
  --sidebar-width: 260px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius: 10px;
  --radius-lg: 16px;
  --radius-xl: 20px;
  --radius-full: 999px;
  --shadow-sm: 0 1px 2px rgba(23, 26, 45, 0.06);
  --shadow: 0 1px 2px rgba(23, 26, 45, 0.05), 0 4px 12px -2px rgba(23, 26, 45, 0.08);
  --shadow-md: var(--shadow);
  --shadow-lg: 0 4px 12px -2px rgba(23, 26, 45, 0.08), 0 16px 40px -8px rgba(23, 26, 45, 0.18);
  --ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);
  --transition: 160ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 280ms cubic-bezier(0.4, 0, 0.2, 1);

  /* Sidebar — light defaults */
  --sidebar-bg: linear-gradient(180deg, var(--color-surface) 0%, #fafbfe 100%);
  --sidebar-text: var(--color-gray-700);
  --sidebar-text-strong: var(--color-dark-blue);
  --sidebar-divider: var(--color-border);
  --sidebar-hover-bg: color-mix(in srgb, var(--color-primary) 6%, transparent);
  --sidebar-active-bg: color-mix(in srgb, var(--color-primary) 10%, transparent);
  --sidebar-active-text: var(--color-primary);
  --sidebar-active-border: var(--color-primary);
  --sidebar-avatar-bg: linear-gradient(135deg, #5458e6, #8b5cf6);
  --sidebar-avatar-text: #ffffff;
  --sidebar-avatar-ring: color-mix(in srgb, var(--color-primary) 22%, transparent);
  --sidebar-shadow: 1px 0 0 var(--color-border);
  --sidebar-focus-ring: var(--color-primary);
  --sidebar-brand-shadow: none;
}

[data-theme="dark"] {
  color-scheme: dark;

  --color-bg: #0b0d12;
  --color-surface: #151821;
  --color-light: #1c2029;
  --color-text: #e7e9ef;
  --color-black: #f0f1f5;
  --color-border: #272b38;
  --color-muted: #9ba1ae;

  --color-blue: #8a8ff2;
  --color-dark-blue: #a9adf8;
  --color-primary: #8a8ff2;
  --color-primary-solid: #565cdb;
  --color-primary-solid-hover: #676ce6;

  --color-gray-50: #181b25;
  --color-gray-100: #1c2029;
  --color-gray-200: #272b38;
  --color-gray-300: #353a4a;
  --color-gray-400: #636a7e;
  --color-gray-500: #8b91a0;
  --color-gray-600: #b0b5c1;
  --color-gray-700: #d0d3dc;
  --color-gray-800: #e7e9ef;
  --color-gray-900: #f0f1f5;
  --color-primary-light: #23264a;

  --color-success: #3fbb87;
  --color-success-light: #14332a;
  --color-warning-light: #382b14;
  --color-danger: #ef7070;
  --color-danger-light: #3a1c1c;

  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 4px 14px -2px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 4px 14px -2px rgba(0, 0, 0, 0.5), 0 20px 48px -8px rgba(0, 0, 0, 0.6);
  --ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 30%, transparent);

  /* Sidebar — neutral dark surface that matches the rest of the dark theme */
  --sidebar-bg: linear-gradient(180deg, #12141c 0%, #0b0d12 100%);
  --sidebar-text: var(--color-gray-600);
  --sidebar-text-strong: var(--color-gray-800);
  --sidebar-divider: rgba(255, 255, 255, 0.06);
  --sidebar-hover-bg: rgba(255, 255, 255, 0.05);
  --sidebar-active-bg: color-mix(in srgb, var(--color-primary) 16%, transparent);
  --sidebar-active-text: var(--color-primary);
  --sidebar-active-border: var(--color-primary);
  --sidebar-avatar-bg: linear-gradient(135deg, #565cdb, #7c4ddb);
  --sidebar-avatar-text: #ffffff;
  --sidebar-avatar-ring: rgba(255, 255, 255, 0.14);
  --sidebar-shadow: 1px 0 0 rgba(255, 255, 255, 0.04);
  --sidebar-focus-ring: var(--color-primary);
  --sidebar-brand-shadow: none;
}
