@import "tailwindcss"; @variant dark (&:where(.dark, .dark *)); @plugin "tailwindcss-animate"; @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); --radius-lg: var(--radius); --radius-md: calc(var(--radius) - 2px); --radius-sm: calc(var(--radius) - 4px); } /* Default theme */ :root { --background: var(--color-white); --foreground: var(--color-slate-900); --card: var(--color-white); --card-foreground: var(--color-slate-900); --popover: var(--color-white); --popover-foreground: var(--color-slate-900); --primary: var(--color-slate-900); --primary-foreground: var(--color-slate-50); --secondary: var(--color-slate-100); --secondary-foreground: var(--color-slate-900); --muted: var(--color-slate-100); --muted-foreground: var(--color-slate-500); --accent: var(--color-slate-100); --accent-foreground: var(--color-slate-900); --destructive: var(--color-rose-500); --destructive-foreground: var(--color-slate-50); --border: var(--color-slate-200); --input: var(--color-slate-200); --ring: var(--color-slate-400); --chart-1: hsl(12 76% 61%); --chart-2: hsl(173 58% 39%); --chart-3: hsl(197 37% 24%); --chart-4: hsl(43 74% 66%); --chart-5: hsl(27 87% 67%); --radius: 0.5rem; } .dark { --background: var(--color-zinc-950); --foreground: var(--color-zinc-50); --card: var(--color-zinc-950); --card-foreground: var(--color-zinc-50); --popover: var(--color-zinc-950); --popover-foreground: var(--color-zinc-50); --primary: var(--color-zinc-50); --primary-foreground: var(--color-zinc-900); --secondary: var(--color-zinc-800); --secondary-foreground: var(--color-zinc-50); --muted: var(--color-zinc-800); --muted-foreground: var(--color-zinc-400); --accent: var(--color-zinc-800); --accent-foreground: var(--color-zinc-50); --destructive: var(--color-rose-700); --destructive-foreground: var(--color-zinc-50); --border: var(--color-zinc-800); --input: var(--color-zinc-800); --ring: var(--color-zinc-300); --chart-1: hsl(220 70% 50%); --chart-2: hsl(160 60% 45%); --chart-3: hsl(30 80% 55%); --chart-4: hsl(280 65% 60%); --chart-5: hsl(340 75% 55%); } [data-theme="example"] { --background: var(--color-blue-50); --foreground: var(--color-gray-900); --card: var(--color-blue-100); --card-foreground: var(--color-gray-800); --popover: var(--color-blue-50); --popover-foreground: var(--color-gray-800); --primary: var(--color-blue-100); --primary-foreground: var(--color-gray-900); --secondary: var(--color-blue-400); --secondary-foreground: var(--color-gray-800); --muted: var(--color-emerald-100); --muted-foreground: var(--color-gray-600); --accent: var(--color-emerald-200); --accent-foreground: var(--color-gray-800); --destructive: var(--color-red-700); --destructive-foreground: var(--color-gray-200); --border: var(--color-blue-600); --input: var(--color-blue-800); --ring: var(--color-blue-100); --radius: 0.3rem; } .dark [data-theme="example"], .dark[data-theme="example"] { --background: var(--color-gray-900); --foreground: var(--color-gray-200); --card: var(--color-gray-900); --card-foreground: var(--color-gray-200); --popover: var(--color-gray-950); --popover-foreground: var(--color-gray-200); --primary: var(--color-blue-500); --primary-foreground: var(--color-blue-50); --secondary: var(--color-blue-800); --secondary-foreground: var(--color-blue-50); --muted: var(--color-emerald-900); --muted-foreground: var(--color-gray-500); --accent: var(--color-emerald-900); --accent-foreground: var(--color-gray-200); --destructive: var(--color-red-700); --destructive-foreground: var(--color-gray-200); --border: var(--color-blue-800); --input: var(--color-blue-800); --ring: var(--color-blue-100); --radius: 0.3rem; } html, body { background-color: var(--background); color: var(--foreground); } body * { border-color: var(--border); } /* Animation utilities */ @keyframes enter { from { opacity: var(--tw-enter-opacity, 1); transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0)); } } @keyframes exit { to { opacity: var(--tw-exit-opacity, 1); transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0)); } }