@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); @tailwind base; @tailwind components; @tailwind utilities; /* Toast animations */ @keyframes slide-in-from-top-full { 0% { transform: translateY(-100%); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } } @keyframes slide-in-from-right { 0% { transform: translateX(100%); opacity: 0; } 100% { transform: translateX(0); opacity: 1; } } @keyframes slide-out-to-right { 0% { transform: translateX(0); opacity: 1; } 100% { transform: translateX(100%); opacity: 0; } } @keyframes slide-in-from-left { 0% { transform: translateX(-100%); opacity: 0; } 100% { transform: translateX(0); opacity: 1; } } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes scale-in { 0% { transform: scale(0.95); opacity: 0; } 100% { transform: scale(1); opacity: 1; } } @keyframes scale-out { 0% { transform: scale(1); opacity: 1; } 100% { transform: scale(0.95); opacity: 0; } } @keyframes slide-down { 0% { transform: translateY(-10px); opacity: 0; } 100% { transform: translateY(0); opacity: 1; } } @keyframes pulse-click { 0% { transform: scale(1); } 50% { transform: scale(0.95); } 100% { transform: scale(1); } } .animate-in { animation-duration: 300ms; animation-fill-mode: both; } .slide-in-from-top-full { animation-name: slide-in-from-top-full; } .slide-in-from-right { animation-name: slide-in-from-right; } .slide-out-to-right { animation-name: slide-out-to-right; } .slide-in-from-left { animation-name: slide-in-from-left; } .fade-in { animation-name: fade-in; } .scale-in { animation-name: scale-in; } .scale-out { animation-name: scale-out; } * { box-sizing: border-box; } body { font-family: 'Inter', sans-serif; font-feature-settings: 'cv02', 'cv03', 'cv04', 'cv11'; overflow: hidden; background-color: #FFFFFF; color: #212529; } /* Custom scrollbar for light theme */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: #F8F9FA; } ::-webkit-scrollbar-thumb { background: #E9ECEF; border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: #DEE2E6; } /* Custom range slider styling */ .slider::-webkit-slider-thumb { appearance: none; height: 16px; width: 16px; border-radius: 50%; background: #FDE047; cursor: pointer; border: 2px solid #FFFFFF; } .slider::-moz-range-thumb { height: 16px; width: 16px; border-radius: 50%; background: #FDE047; cursor: pointer; border: 2px solid #FFFFFF; } /* Marching ants animation */ @keyframes marching-ants { 0% { stroke-dashoffset: 0; } 100% { stroke-dashoffset: 10; } } .marching-ants { stroke-dasharray: 5 5; animation: marching-ants 0.5s linear infinite; } /* Focus styles for accessibility */ *:focus-visible { outline: 2px solid #FDE047; outline-offset: 2px; } /* Smooth transitions */ * { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); } /* Animation classes */ .slide-down { animation-name: slide-down; } .pulse-click { animation-name: pulse-click; } /* Card styles */ .card { @apply bg-white rounded-xl shadow-card border border-gray-100 overflow-hidden; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); } .card-hover { @apply shadow-card-hover; } .card-lg { @apply shadow-card-lg; }