@import "tailwindcss";
@import "tw-animate-css";

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

:root {
	--background: #ffffff;
	--foreground: #171717;
	--card: #ffffff;
	--card-foreground: #171717;
	--popover: #ffffff;
	--popover-foreground: #171717;
	--primary: #171717;
	--primary-foreground: #ffffff;
	--secondary: #fafafa;
	--secondary-foreground: #171717;
	--muted: #fafafa;
	--muted-foreground: #666666;
	--accent: #f5f5f5;
	--accent-foreground: #171717;
	--destructive: #ff5b4f;
	--destructive-foreground: #ffffff;
	--border: #ebebeb;
	--input: #ebebeb;
	--ring: hsla(212, 100%, 48%, 1);
	--chart-1: #171717;
	--chart-2: #0a72ef;
	--chart-3: #de1d8d;
	--chart-4: #666666;
	--chart-5: #ebebeb;
	--sidebar: #fafafa;
	--sidebar-foreground: #171717;
	--sidebar-primary: #171717;
	--sidebar-primary-foreground: #ffffff;
	--sidebar-accent: #f5f5f5;
	--sidebar-accent-foreground: #171717;
	--sidebar-border: #ebebeb;
	--sidebar-ring: hsla(212, 100%, 48%, 1);
	--radius: 0.625rem;
	--shadow-2xs: 0 0 0 1px rgba(0, 0, 0, 0.08);
	--shadow-xs: 0 0 0 1px rgba(0, 0, 0, 0.08);
	--shadow-sm: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 2px rgba(0, 0, 0, 0.04);
	--shadow:
		0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 2px rgba(0, 0, 0, 0.04),
		0 8px 8px -8px rgba(0, 0, 0, 0.04), 0 0 0 1px #fafafa;
	--shadow-md:
		0 0 0 1px rgba(0, 0, 0, 0.08), 0 2px 2px rgba(0, 0, 0, 0.04),
		0 8px 8px -8px rgba(0, 0, 0, 0.04), 0 0 0 1px #fafafa;
	--shadow-lg: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 8px 24px rgba(0, 0, 0, 0.08);
	--shadow-xl: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 16px 40px rgba(0, 0, 0, 0.12);
	--shadow-2xl: 0 0 0 1px rgba(0, 0, 0, 0.08), 0 24px 56px rgba(0, 0, 0, 0.16);
	--tracking-normal: -0.01em;
	--spacing: 0.25rem;
}

.dark {
	--background: #121212;
	--foreground: #f5f5f5;
	--card: #181818;
	--card-foreground: #f5f5f5;
	--popover: #181818;
	--popover-foreground: #f5f5f5;
	--primary: #f5f5f5;
	--primary-foreground: #171717;
	--secondary: #1d1d1d;
	--secondary-foreground: #f5f5f5;
	--muted: #1b1b1b;
	--muted-foreground: #a3a3a3;
	--accent: #202020;
	--accent-foreground: #f5f5f5;
	--destructive: #ff5b4f;
	--destructive-foreground: #ffffff;
	--border: rgba(255, 255, 255, 0.1);
	--input: #242424;
	--ring: hsla(212, 100%, 48%, 1);
	--chart-1: #f5f5f5;
	--chart-2: #0a72ef;
	--chart-3: #de1d8d;
	--chart-4: #a1a1a1;
	--chart-5: rgba(255, 255, 255, 0.1);
	--sidebar: #181818;
	--sidebar-foreground: #f5f5f5;
	--sidebar-primary: #f5f5f5;
	--sidebar-primary-foreground: #171717;
	--sidebar-accent: #202020;
	--sidebar-accent-foreground: #f5f5f5;
	--sidebar-border: rgba(255, 255, 255, 0.1);
	--sidebar-ring: hsla(212, 100%, 48%, 1);
	--radius: 0.625rem;
	--shadow-2xs: 0 0 0 1px rgba(255, 255, 255, 0.08);
	--shadow-xs: 0 0 0 1px rgba(255, 255, 255, 0.08);
	--shadow-sm:
		0 0 0 1px rgba(255, 255, 255, 0.08), 0 2px 2px rgba(0, 0, 0, 0.2),
		0 0 0 1px rgba(255, 255, 255, 0.03);
	--shadow:
		0 0 0 1px rgba(255, 255, 255, 0.08), 0 2px 2px rgba(0, 0, 0, 0.2),
		0 8px 8px -8px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.03);
	--shadow-md:
		0 0 0 1px rgba(255, 255, 255, 0.08), 0 2px 2px rgba(0, 0, 0, 0.2),
		0 8px 8px -8px rgba(0, 0, 0, 0.28), 0 0 0 1px rgba(255, 255, 255, 0.03);
	--shadow-lg:
		0 0 0 1px rgba(255, 255, 255, 0.08), 0 12px 28px rgba(0, 0, 0, 0.28),
		0 0 0 1px rgba(255, 255, 255, 0.03);
	--shadow-xl:
		0 0 0 1px rgba(255, 255, 255, 0.08), 0 20px 44px rgba(0, 0, 0, 0.36),
		0 0 0 1px rgba(255, 255, 255, 0.03);
	--shadow-2xl:
		0 0 0 1px rgba(255, 255, 255, 0.08), 0 28px 64px rgba(0, 0, 0, 0.42),
		0 0 0 1px rgba(255, 255, 255, 0.03);
}

@theme inline {
	--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);
	--color-chart-1: var(--chart-1);
	--color-chart-2: var(--chart-2);
	--color-chart-3: var(--chart-3);
	--color-chart-4: var(--chart-4);
	--color-chart-5: var(--chart-5);
	--color-sidebar: var(--sidebar);
	--color-sidebar-foreground: var(--sidebar-foreground);
	--color-sidebar-primary: var(--sidebar-primary);
	--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
	--color-sidebar-accent: var(--sidebar-accent);
	--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
	--color-sidebar-border: var(--sidebar-border);
	--color-sidebar-ring: var(--sidebar-ring);

	--font-sans: var(--font-geist-sans), system-ui, sans-serif;
	--font-mono: var(--font-geist-mono), ui-monospace, monospace;

	--radius-sm: calc(var(--radius) - 4px);
	--radius-md: calc(var(--radius) - 2px);
	--radius-lg: var(--radius);
	--radius-xl: calc(var(--radius) + 4px);

	--shadow-2xs: var(--shadow-2xs);
	--shadow-xs: var(--shadow-xs);
	--shadow-sm: var(--shadow-sm);
	--shadow: var(--shadow);
	--shadow-md: var(--shadow-md);
	--shadow-lg: var(--shadow-lg);
	--shadow-xl: var(--shadow-xl);
	--shadow-2xl: var(--shadow-2xl);

	--animate-fade-in: fade-in 0.3s ease-out;
	--animate-slide-up: slide-up 0.3s ease-out;
	--animate-slide-down: slide-down 0.3s ease-out;
	--animate-scale-in: scale-in 0.2s ease-out;

	@keyframes fade-in {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}
	@keyframes slide-up {
		from {
			opacity: 0;
			transform: translateY(8px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	@keyframes slide-down {
		from {
			opacity: 0;
			transform: translateY(-8px);
		}
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	@keyframes scale-in {
		from {
			opacity: 0;
			transform: scale(0.95);
		}
		to {
			opacity: 1;
			transform: scale(1);
		}
	}
}

@layer base {
	* {
		@apply border-border outline-ring/50;
	}
	body {
		@apply bg-background text-foreground;
	}
	html {
		color-scheme: light;
	}
	html.dark {
		color-scheme: dark;
	}
}

@utility scrollbar-none {
	scrollbar-width: none;
	&::-webkit-scrollbar {
		display: none;
	}
}
