@tailwind base; @tailwind components; @tailwind utilities; @layer base { :root { /* Light mode (fallback) */ --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; --card: 0 0% 100%; --card-foreground: 222.2 84% 4.9%; --popover: 0 0% 100%; --popover-foreground: 222.2 84% 4.9%; --primary: 243 75% 59%; --primary-foreground: 210 40% 98%; --secondary: 210 40% 96.1%; --secondary-foreground: 222.2 47.4% 11.2%; --muted: 210 40% 96.1%; --muted-foreground: 215.4 16.3% 46.9%; --accent: 210 40% 96.1%; --accent-foreground: 222.2 47.4% 11.2%; --destructive: 0 84.2% 60.2%; --destructive-foreground: 210 40% 98%; --border: 214.3 31.8% 91.4%; --input: 214.3 31.8% 91.4%; --ring: 243 75% 59%; --radius: 0.75rem; } .dark { /* ResolutionFlow Dark Theme */ --background: 240 10% 3.9%; --foreground: 0 0% 100%; --card: 240 10% 9.4%; --card-foreground: 0 0% 100%; --popover: 240 10% 9.4%; --popover-foreground: 0 0% 100%; --primary: 243 75% 59%; --primary-foreground: 0 0% 100%; --secondary: 240 5.9% 15%; --secondary-foreground: 0 0% 100%; --muted: 240 5.9% 15%; --muted-foreground: 240 5% 64.9%; --accent: 240 5.9% 15%; --accent-foreground: 0 0% 100%; --destructive: 0 62.8% 30.6%; --destructive-foreground: 0 0% 100%; --border: 240 5.9% 15%; --input: 240 5.9% 15%; --ring: 243 75% 59%; } } @layer base { * { @apply border-border; scrollbar-width: thin; scrollbar-color: hsl(var(--border)) transparent; } *::-webkit-scrollbar { width: 6px; height: 6px; } *::-webkit-scrollbar-track { background: transparent; } *::-webkit-scrollbar-thumb { background-color: hsl(var(--border)); border-radius: 9999px; } *::-webkit-scrollbar-thumb:hover { background-color: hsl(var(--muted-foreground)); } body { @apply bg-background text-foreground; font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; } h1, h2, h3, h4, h5, h6 { font-family: 'Plus Jakarta Sans', system-ui, sans-serif; font-weight: 700; letter-spacing: -0.02em; } } /* Animations */ @keyframes fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes fade-in-up { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } } @keyframes slide-in-from-left { from { transform: translateX(-100%); } to { transform: translateX(0); } } @keyframes slide-in-from-bottom { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @keyframes scale-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } @layer utilities { .text-gradient-brand { @apply bg-gradient-brand bg-clip-text text-transparent; } .animate-fade-in { animation: fade-in 200ms ease-out; } .animate-fade-in-up { animation: fade-in-up 200ms ease-out; } .animate-slide-in-left { animation: slide-in-from-left 200ms ease-out; } .animate-slide-in-bottom { animation: slide-in-from-bottom 200ms ease-out; } .animate-scale-in { animation: scale-in 150ms ease-out; } /* Button press feedback for primary action buttons */ .btn-press { @apply active:scale-[0.98] transition-transform; } }