:root {
  --font-sans: "Inter", system-ui, -apple-system, sans-serif;
  --radius-sm: 10px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 8px 30px rgba(15, 23, 42, 0.08);
  --shadow-lg: 0 20px 50px rgba(15, 23, 42, 0.12);
  --color-bg: #f8fafc;
  --color-surface: #ffffff;
  --color-text: #0f172a;
  --color-muted: #64748b;
  --color-primary: #6366f1;
  --color-primary-600: #4f46e5;
  --color-accent: #38bdf8;
  --color-success: #22c55e;
  --color-danger: #ef4444;
  --color-border: rgba(15, 23, 42, 0.08);
  --bs-body-font-family: var(--font-sans);
  --bs-body-bg: var(--color-bg);
  --bs-body-color: var(--color-text);
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 99, 102, 241;
  --bs-border-radius: var(--radius-md);
  --bs-border-radius-lg: var(--radius-lg);
}

[data-theme="dark"] {
  --color-bg: #0f172a;
  --color-surface: #111c33;
  --color-text: #e2e8f0;
  --color-muted: #94a3b8;
  --color-border: rgba(148, 163, 184, 0.12);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35);
  --shadow-md: 0 10px 40px rgba(0, 0, 0, 0.45);
  --shadow-lg: 0 24px 60px rgba(0, 0, 0, 0.55);
  --bs-body-bg: var(--color-bg);
  --bs-body-color: var(--color-text);
}

html,
body {
  font-family: var(--font-sans);
  background: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
}

body {
  min-height: 100dvh;
}

a {
  color: var(--color-primary);
}

a:hover {
  color: var(--color-primary-600);
}
