@tailwind base;@tailwind components;@tailwind utilities;@layer utilities{@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromTop{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInFromLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInFromRight{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes zoomIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes bounceSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulseSubtle{0%,to{opacity:1}50%{opacity:.8}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.animate-in{animation-fill-mode:both}.fade-in{animation:fadeIn .3s ease-out}.slide-in-from-bottom-2{animation:slideInFromBottom .3s ease-out}.slide-in-from-bottom-4{animation:slideInFromBottom .5s ease-out}.slide-in-from-top-2{animation:slideInFromTop .3s ease-out}.slide-in-from-top-10{animation:slideInFromTop .4s ease-out}.slide-in-from-left-2{animation:slideInFromLeft .3s ease-out}.slide-in-from-left-4{animation:slideInFromLeft .5s ease-out}.slide-in-from-right-4{animation:slideInFromRight .5s ease-out}.zoom-in,.zoom-in-95{animation:zoomIn .3s ease-out}.bounce-subtle{animation:bounceSubtle 2s ease-in-out infinite}.pulse-subtle{animation:pulseSubtle 2s ease-in-out infinite}.shake{animation:shake .5s ease-in-out}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}}html{scroll-behavior:smooth}*{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}button,a,input,select,textarea{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.dark .glass{background:#0003;border:1px solid rgba(255,255,255,.1)}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}*:focus-visible{outline:2px solid #3b82f6;outline-offset:2px;border-radius:.375rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.dark ::-webkit-scrollbar-thumb{background:#475569}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.dark ::-webkit-scrollbar-thumb:hover{background:#64748b}@media(hover:none)and (pointer:coarse){button:active,a:active{transform:scale(.95)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{animation:shimmer 2s infinite;background:linear-gradient(to right,#f0f0f0,#e0e0e0,#f0f0f0 40%,#f0f0f0);background-size:1000px 100%}.dark .skeleton{background:linear-gradient(to right,#1e293b,#334155,#1e293b 40%,#1e293b)}
