|
@tailwind base; |
|
@tailwind components; |
|
@tailwind utilities; |
|
|
|
:root { |
|
--background: 210 11% 98%; |
|
--foreground: 215 25% 15%; |
|
--muted: 210 11% 96%; |
|
--muted-foreground: 215 16% 47%; |
|
--popover: 0 0% 100%; |
|
--popover-foreground: 215 25% 15%; |
|
--card: 0 0% 100%; |
|
--card-foreground: 215 25% 15%; |
|
--border: 215 12% 90%; |
|
--input: 215 12% 90%; |
|
--primary: 207 90% 54%; |
|
--primary-foreground: 211 100% 99%; |
|
--secondary: 210 11% 96%; |
|
--secondary-foreground: 215 25% 15%; |
|
--accent: 210 11% 96%; |
|
--accent-foreground: 215 25% 15%; |
|
--destructive: 0 84% 60%; |
|
--destructive-foreground: 0 0% 98%; |
|
--ring: 207 90% 54%; |
|
--radius: 0.5rem; |
|
|
|
|
|
--kb-blue: 207 90% 54%; |
|
--kb-indigo: 238 63% 63%; |
|
--kb-emerald: 158 65% 53%; |
|
--kb-amber: 45 93% 47%; |
|
} |
|
|
|
.dark { |
|
--background: 215 28% 6%; |
|
--foreground: 210 11% 98%; |
|
--muted: 215 25% 11%; |
|
--muted-foreground: 215 16% 47%; |
|
--popover: 215 28% 6%; |
|
--popover-foreground: 210 11% 98%; |
|
--card: 215 28% 6%; |
|
--card-foreground: 210 11% 98%; |
|
--border: 215 25% 15%; |
|
--input: 215 25% 15%; |
|
--primary: 207 90% 54%; |
|
--primary-foreground: 211 100% 99%; |
|
--secondary: 215 25% 11%; |
|
--secondary-foreground: 210 11% 98%; |
|
--accent: 215 25% 11%; |
|
--accent-foreground: 210 11% 98%; |
|
--destructive: 0 63% 31%; |
|
--destructive-foreground: 210 11% 98%; |
|
--ring: 207 90% 54%; |
|
} |
|
|
|
@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; |
|
} |
|
} |
|
|
|
|
|
.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-visible\:ring-2:focus-visible { |
|
ring-width: 2px; |
|
ring-color: hsl(var(--ring)); |
|
ring-offset-width: 2px; |
|
ring-offset-color: hsl(var(--background)); |
|
} |
|
|
|
|
|
button:focus-visible, |
|
input:focus-visible, |
|
select:focus-visible, |
|
textarea:focus-visible { |
|
outline: 3px solid #2563eb; |
|
outline-offset: 2px; |
|
border-radius: 4px; |
|
} |
|
|
|
|
|
.focus-enhanced:focus-visible { |
|
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.3); |
|
border-color: #2563eb; |
|
} |
|
|