:root {
  --background: oklch(0.15 0.03 300); /* deep blacklight purple */
  --foreground: oklch(0.98 0 0); /* near white */
  --card: oklch(0.22 0.04 300); /* slightly lighter purple */
  --card-foreground: oklch(0.98 0 0);
  --sidebar: oklch(0.18 0.03 300); /* sidebar separation */
  --sidebar-foreground: oklch(0.98 0 0);
  --primary: oklch(0.85 0.22 135); /* neon lime green */
  --primary-foreground: oklch(0.15 0.03 300);
  --secondary: oklch(0.75 0.18 300); /* neon purple accent */
  --secondary-foreground: oklch(0.98 0 0);
  --muted: oklch(0.30 0.02 300);
  --muted-foreground: oklch(0.70 0.02 300);
  --accent: oklch(0.80 0.18 135); /* lighter neon lime */
  --accent-foreground: oklch(0.15 0.03 300);
  --destructive: oklch(0.60 0.22 27); /* neon red for alerts */
  --destructive-foreground: oklch(0.98 0 0);
  --border: oklch(0.25 0.03 300);
  --input: oklch(0.22 0.04 300);
  --ring: oklch(0.85 0.22 135);
  --chart-1: oklch(0.85 0.22 135);
  --chart-2: oklch(0.75 0.18 300);
  --chart-3: oklch(0.60 0.22 27);
  --chart-4: oklch(0.80 0.18 135);
  --chart-5: oklch(0.22 0.04 300);
  --sidebar-primary: oklch(0.85 0.22 135);
  --sidebar-primary-foreground: oklch(0.15 0.03 300);
  --sidebar-accent: oklch(0.75 0.18 300);
  --sidebar-accent-foreground: oklch(0.98 0 0);
  --sidebar-border: oklch(0.25 0.03 300);
  --sidebar-ring: oklch(0.85 0.22 135);
  --font-sans: 'Plus Jakarta Sans', 'Poppins', 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;
  --radius: 0.75rem;
  --shadow-xs: 0 1px 2px 0 oklch(0 0 0 / 0.10);
  --shadow-sm: 0 1.5px 4px 0 oklch(0 0 0 / 0.15);
  --shadow-md: 0 4px 12px 0 oklch(0 0 0 / 0.18);
  --shadow-lg: 0 8px 24px 0 oklch(0 0 0 / 0.22);
  --spacing: 0.25rem;
}