@custom-variant dark (&:is(.dark *));

:root {
	--background: oklch(0.98 0 0); /* Light background */
	--foreground: oklch(0.09 0 0); /* Dark text */
	--card: oklch(1 0 0); /* White cards */
	--card-foreground: oklch(0.09 0 0);
	--popover: oklch(1 0 0);
	--popover-foreground: oklch(0.09 0 0);
	--primary: oklch(0.6 0.2 260); /* Cool blue-purple accent */
	--primary-foreground: oklch(0.98 0 0);
	--secondary: oklch(0.95 0 0); /* Light gray */
	--secondary-foreground: oklch(0.09 0 0);
	--muted: oklch(0.96 0 0);
	--muted-foreground: oklch(0.45 0 0); /* Muted gray text */
	--accent: oklch(0.6 0.2 260);
	--accent-foreground: oklch(0.98 0 0);
	--destructive: oklch(0.65 0.2 25);
	--destructive-foreground: oklch(0.98 0 0);
	--border: oklch(0.89 0 0); /* Light borders */
	--input: oklch(0.96 0 0);
	--ring: oklch(0.6 0.2 260); /* Cool blue focus rings */
	--radius: 0.5rem;
}

.dark {
	--background: oklch(0.13 0 0); /* Softer dark background */
	--foreground: oklch(0.98 0 0); /* Pure white text */
	--card: oklch(0.12 0 0); /* Slightly lighter black for cards */
	--card-foreground: oklch(0.95 0 0);
	--popover: oklch(0.12 0 0);
	--popover-foreground: oklch(0.95 0 0);
	--primary: oklch(0.7 0.2 260); /* Cool blue-purple accent */
	--primary-foreground: oklch(0.98 0 0);
	--secondary: oklch(0.18 0 0); /* Dark gray */
	--secondary-foreground: oklch(0.95 0 0);
	--muted: oklch(0.18 0 0);
	--muted-foreground: oklch(0.65 0 0); /* Muted gray text */
	--accent: oklch(0.65 0.18 240); /* Cooler blue accent */
	--accent-foreground: oklch(0.98 0 0);
	--destructive: oklch(0.65 0.2 25);
	--destructive-foreground: oklch(0.95 0 0);
	--border: oklch(100% 0 0/0.1); /* Subtle borders */
	--input: oklch(0.15 0 0);
	--ring: oklch(0.7 0.2 260); /* Cool blue focus rings */
	--radius: 0.5rem;
}

@theme inline {
	--font-sans: 'Poppins', sans-serif;
	--font-mono: 'Geist Mono', monospace;
	--color-background: var(--background);
	--color-foreground: var(--foreground);
	--color-card: var(--card);
	--color-card-foreground: var(--card-foreground);
	--color-popover: var(--popover);
	--color-popover-foreground: var(--popover-foreground);
	--color-primary: var(--primary);
	--color-primary-foreground: var(--primary-foreground);
	--color-secondary: var(--secondary);
	--color-secondary-foreground: var(--secondary-foreground);
	--color-muted: var(--muted);
	--color-muted-foreground: var(--muted-foreground);
	--color-accent: var(--accent);
	--color-accent-foreground: var(--accent-foreground);
	--color-destructive: var(--destructive);
	--color-destructive-foreground: var(--destructive-foreground);
	--color-border: var(--border);
	--color-input: var(--input);
	--color-ring: var(--ring);
	--radius-sm: calc(var(--radius) - 4px);
	--radius-md: calc(var(--radius) - 2px);
	--radius-lg: var(--radius);
	--radius-xl: calc(var(--radius) + 4px);
}

@layer base {
	* {
		@apply border-border outline-ring/50;
	}
	body {
		@apply bg-background text-foreground font-sans relative;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
