@tailwind base; @tailwind components; @tailwind utilities; :root { --background: 210 11% 98%; /* #F5F7FA */ --foreground: 215 25% 15%; /* #1E293B */ --muted: 210 11% 96%; /* #F1F5F9 */ --muted-foreground: 215 16% 47%; /* #64748B */ --popover: 0 0% 100%; /* #FFFFFF */ --popover-foreground: 215 25% 15%; /* #1E293B */ --card: 0 0% 100%; /* #FFFFFF */ --card-foreground: 215 25% 15%; /* #1E293B */ --border: 215 12% 90%; /* #E2E8F0 */ --input: 215 12% 90%; /* #E2E8F0 */ --primary: 207 90% 54%; /* #3B82F6 */ --primary-foreground: 211 100% 99%; /* #F8FAFC */ --secondary: 210 11% 96%; /* #F1F5F9 */ --secondary-foreground: 215 25% 15%; /* #1E293B */ --accent: 210 11% 96%; /* #F1F5F9 */ --accent-foreground: 215 25% 15%; /* #1E293B */ --destructive: 0 84% 60%; /* #EF4444 */ --destructive-foreground: 0 0% 98%; /* #FEFEFE */ --ring: 207 90% 54%; /* #3B82F6 */ --radius: 0.5rem; /* Knowledge Base specific colors */ --kb-blue: 207 90% 54%; /* #3B82F6 */ --kb-indigo: 238 63% 63%; /* #6366F1 */ --kb-emerald: 158 65% 53%; /* #10B981 */ --kb-amber: 45 93% 47%; /* #F59E0B */ } .dark { --background: 215 28% 6%; /* #0F172A */ --foreground: 210 11% 98%; /* #F8FAFC */ --muted: 215 25% 11%; /* #1E293B */ --muted-foreground: 215 16% 47%; /* #64748B */ --popover: 215 28% 6%; /* #0F172A */ --popover-foreground: 210 11% 98%; /* #F8FAFC */ --card: 215 28% 6%; /* #0F172A */ --card-foreground: 210 11% 98%; /* #F8FAFC */ --border: 215 25% 15%; /* #334155 */ --input: 215 25% 15%; /* #334155 */ --primary: 207 90% 54%; /* #3B82F6 */ --primary-foreground: 211 100% 99%; /* #F8FAFC */ --secondary: 215 25% 11%; /* #1E293B */ --secondary-foreground: 210 11% 98%; /* #F8FAFC */ --accent: 215 25% 11%; /* #1E293B */ --accent-foreground: 210 11% 98%; /* #F8FAFC */ --destructive: 0 63% 31%; /* #991B1B */ --destructive-foreground: 210 11% 98%; /* #F8FAFC */ --ring: 207 90% 54%; /* #3B82F6 */ } @layer base { * { @apply border-border; } body { @apply font-sans antialiased bg-background text-foreground; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif; } html { scroll-behavior: smooth; } } @layer utilities { .line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; } .animate-slide-down { animation: slideDown 0.3s ease-out; } .animate-fade-in { animation: fadeIn 0.2s ease-out; } } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } /* Custom scrollbar styles */ .overflow-y-auto::-webkit-scrollbar { width: 6px; } .overflow-y-auto::-webkit-scrollbar-track { background: hsl(var(--muted)); border-radius: 3px; } .overflow-y-auto::-webkit-scrollbar-thumb { background: hsl(var(--muted-foreground) / 0.3); border-radius: 3px; } .overflow-y-auto::-webkit-scrollbar-thumb:hover { background: hsl(var(--muted-foreground) / 0.5); } /* Focus styles for accessibility */ .focus-visible\:ring-2:focus-visible { ring-width: 2px; ring-color: hsl(var(--ring)); ring-offset-width: 2px; ring-offset-color: hsl(var(--background)); } /* High-contrast focus rings for keyboard navigation */ button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; border-radius: 4px; } /* Enhanced focus for interactive elements */ .focus-enhanced:focus-visible { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3); border-color: #2563eb; }