|
|
@tailwind base; |
|
|
@tailwind components; |
|
|
@tailwind utilities; |
|
|
|
|
|
@layer base { |
|
|
:root { |
|
|
--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: 221.2 83.2% 53.3%; |
|
|
--primary-foreground: 210 40% 98%; |
|
|
--secondary: 210 40% 96%; |
|
|
--secondary-foreground: 222.2 84% 4.9%; |
|
|
--muted: 210 40% 96%; |
|
|
--muted-foreground: 215.4 16.3% 46.9%; |
|
|
--accent: 210 40% 96%; |
|
|
--accent-foreground: 222.2 84% 4.9%; |
|
|
--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: 221.2 83.2% 53.3%; |
|
|
--radius: 0.5rem; |
|
|
} |
|
|
|
|
|
.dark { |
|
|
--background: 222.2 84% 4.9%; |
|
|
--foreground: 210 40% 98%; |
|
|
--card: 222.2 84% 4.9%; |
|
|
--card-foreground: 210 40% 98%; |
|
|
--popover: 222.2 84% 4.9%; |
|
|
--popover-foreground: 210 40% 98%; |
|
|
--primary: 217.2 91.2% 59.8%; |
|
|
--primary-foreground: 222.2 84% 4.9%; |
|
|
--secondary: 217.2 32.6% 17.5%; |
|
|
--secondary-foreground: 210 40% 98%; |
|
|
--muted: 217.2 32.6% 17.5%; |
|
|
--muted-foreground: 215 20.2% 65.1%; |
|
|
--accent: 217.2 32.6% 17.5%; |
|
|
--accent-foreground: 210 40% 98%; |
|
|
--destructive: 0 62.8% 30.6%; |
|
|
--destructive-foreground: 210 40% 98%; |
|
|
--border: 217.2 32.6% 17.5%; |
|
|
--input: 217.2 32.6% 17.5%; |
|
|
--ring: 224.3 76.3% 94.1%; |
|
|
} |
|
|
} |
|
|
|
|
|
@layer base { |
|
|
* { |
|
|
@apply border-border; |
|
|
} |
|
|
body { |
|
|
@apply bg-background text-foreground; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
::-webkit-scrollbar { |
|
|
width: 6px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-track { |
|
|
background: transparent; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb { |
|
|
background: hsl(var(--muted-foreground) / 0.3); |
|
|
border-radius: 3px; |
|
|
} |
|
|
|
|
|
::-webkit-scrollbar-thumb:hover { |
|
|
background: hsl(var(--muted-foreground) / 0.5); |
|
|
} |
|
|
|
|
|
|
|
|
.message-enter { |
|
|
opacity: 0; |
|
|
transform: translateY(10px); |
|
|
} |
|
|
|
|
|
.message-enter-active { |
|
|
opacity: 1; |
|
|
transform: translateY(0); |
|
|
transition: opacity 200ms, transform 200ms; |
|
|
} |
|
|
|
|
|
|
|
|
.typing-dots { |
|
|
display: inline-block; |
|
|
} |
|
|
|
|
|
.typing-dots span { |
|
|
display: inline-block; |
|
|
width: 4px; |
|
|
height: 4px; |
|
|
border-radius: 50%; |
|
|
background-color: hsl(var(--muted-foreground)); |
|
|
margin: 0 1px; |
|
|
animation: typing 1.4s infinite ease-in-out; |
|
|
} |
|
|
|
|
|
.typing-dots span:nth-child(1) { |
|
|
animation-delay: -0.32s; |
|
|
} |
|
|
|
|
|
.typing-dots span:nth-child(2) { |
|
|
animation-delay: -0.16s; |
|
|
} |
|
|
|
|
|
@keyframes typing { |
|
|
0%, 80%, 100% { |
|
|
transform: scale(0.8); |
|
|
opacity: 0.5; |
|
|
} |
|
|
40% { |
|
|
transform: scale(1); |
|
|
opacity: 1; |
|
|
} |
|
|
} |
|
|
|