@import "tailwindcss"; @custom-variant dark (&:where(.dark, .dark *)); @import './animations.css'; @theme { --color-background: hsl(var(--background)); --color-foreground: hsl(var(--foreground)); --color-card: hsl(var(--card)); --color-card-foreground: hsl(var(--card-foreground)); --color-popover: hsl(var(--popover)); --color-popover-foreground: hsl(var(--popover-foreground)); --color-primary: hsl(var(--primary)); --color-primary-foreground: hsl(var(--primary-foreground)); --color-secondary: hsl(var(--secondary)); --color-secondary-foreground: hsl(var(--secondary-foreground)); --color-muted: hsl(var(--muted)); --color-muted-foreground: hsl(var(--muted-foreground)); --color-accent: hsl(var(--accent)); --color-accent-foreground: hsl(var(--accent-foreground)); --color-destructive: hsl(var(--destructive)); --color-destructive-foreground: hsl(var(--destructive-foreground)); --color-border: hsl(var(--border)); --color-input: hsl(var(--input)); --color-ring: hsl(var(--ring)); --radius-lg: var(--radius); --radius-md: calc(var(--radius) - 2px); --radius-sm: calc(var(--radius) - 4px); } @layer base { :root { /* Light Mode Values */ --background: 0 0% 100%; --foreground: 240 10% 3.9%; --card: 0 0% 100%; --card-foreground: 240 10% 3.9%; --popover: 0 0% 100%; --popover-foreground: 240 10% 3.9%; --primary: 263.4 70% 50.4%; --primary-foreground: 210 40% 98%; --secondary: 240 4.8% 95.9%; --secondary-foreground: 240 5.9% 10%; --muted: 240 4.8% 95.9%; --muted-foreground: 240 3.8% 46.1%; --accent: 240 4.8% 95.9%; --accent-foreground: 240 5.9% 10%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 0 0% 98%; --border: 240 5.9% 90%; --input: 240 5.9% 90%; --ring: 263.4 70% 50.4%; --radius: 0.75rem; } /* Force Dark Mode aesthetic even without .dark class if desired, but let's stick to standard class usage */ .dark { --background: 240 10% 3.9%; --foreground: 0 0% 98%; --card: 240 4% 10%; /* Slightly lighter for depth */ --card-foreground: 0 0% 98%; --popover: 240 10% 4%; --popover-foreground: 0 0% 98%; --primary: 263 70% 60%; --primary-foreground: 210 40% 98%; --secondary: 240 4% 16%; --secondary-foreground: 0 0% 98%; --muted: 240 4% 16%; --muted-foreground: 240 5% 65%; --accent: 240 4% 16%; --accent-foreground: 0 0% 98%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 98%; --border: 240 4% 16%; --input: 240 4% 16%; --ring: 263 70% 60%; } } @layer base { * { @apply border-border; } body { @apply bg-background text-foreground; /* Global Gradient Background */ background-image: radial-gradient(circle at 15% 50%, rgba(76, 29, 149, 0.15), transparent 25%), radial-gradient(circle at 85% 30%, rgba(59, 130, 246, 0.15), transparent 25%); background-attachment: fixed; } } /* Glassmorphism Utilities */ .glass-panel { @apply bg-slate-950/40 backdrop-blur-xl border border-white/10 shadow-xl; } .glass-card { @apply bg-card/60 backdrop-blur-md border-border/50; } /* Custom scrollbar */ ::-webkit-scrollbar { width: 8px; height: 8px; } ::-webkit-scrollbar-track { background: transparent; } ::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground) / 0.3); border-radius: 4px; } ::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground) / 0.6); }