qwen-hackthon / frontend /src /index.css
Yousef
Add all project files
f97e4ec
Raw
History Blame Contribute Delete
2.81 kB
@tailwind base;
@tailwind components;
@tailwind utilities;
@layer base {
body {
@apply bg-white text-slate-800 antialiased;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
}
@keyframes blink {
50% { opacity: 0; }
}
.animate-blink {
animation: blink 0.8s step-end infinite;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(6px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
animation: fadeIn 0.3s ease-out;
}
@keyframes thinking-dot {
0%, 80%, 100% { transform: scale(0.6); opacity: 0.3; }
40% { transform: scale(1); opacity: 1; }
}
.thinking-dot {
animation: thinking-dot 1.4s infinite;
}
@keyframes shimmer {
0% { transform: translateX(-100%); }
100% { transform: translateX(100%); }
}
.animate-shimmer {
animation: shimmer 2s ease-in-out infinite;
}
.scrollbar-thin {
scrollbar-width: thin;
scrollbar-color: #e2e8f0 transparent;
}
.scrollbar-thin::-webkit-scrollbar { width: 5px; }
.scrollbar-thin::-webkit-scrollbar-track { background: transparent; }
.scrollbar-thin::-webkit-scrollbar-thumb { background-color: #e2e8f0; border-radius: 3px; }
@keyframes slideUp {
from { opacity: 0; transform: translateY(8px); }
to { opacity: 1; transform: translateY(0); }
}
.animate-slide-up {
animation: slideUp 0.3s ease-out;
}
@keyframes scaleIn {
from { opacity: 0; transform: scale(0.95); }
to { opacity: 1; transform: scale(1); }
}
.animate-scale-in {
animation: scaleIn 0.2s ease-out;
}
@keyframes floatUp {
0% { opacity: 0; transform: translateY(12px); }
100% { opacity: 1; transform: translateY(0); }
}
.animate-float-up {
animation: floatUp 0.4s ease-out both;
}
@keyframes pulse-glow {
0%, 100% { box-shadow: 0 0 0 0 rgba(236, 72, 153, 0.3); }
50% { box-shadow: 0 0 0 6px rgba(236, 72, 153, 0); }
}
.animate-pulse-glow {
animation: pulse-glow 2s ease-in-out infinite;
}
@keyframes slideInRight {
from { opacity: 0; transform: translateX(10px); }
to { opacity: 1; transform: translateX(0); }
}
.animate-slide-in-right {
animation: slideInRight 0.25s ease-out;
}
.message-enter {
animation: slideUp 0.3s ease-out;
}
.message-user {
animation: slideInRight 0.3s ease-out;
}
.message-assistant {
animation: slideUp 0.35s ease-out;
}
@keyframes shimmer-bg {
0% { background-position: -200% 0; }
100% { background-position: 200% 0; }
}
.btn-hover-effect {
position: relative;
overflow: hidden;
}
.btn-hover-effect::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
background-size: 200% 100%;
animation: shimmer-bg 2s infinite;
opacity: 0;
transition: opacity 0.3s;
}
.btn-hover-effect:hover::after {
opacity: 1;
}