@keyframes showOpacity{0%{opacity:0}to{opacity:1}}.showOpacity{animation:showOpacity .5s ease-in-out}@keyframes hideOpacity{0%{opacity:1}to{opacity:0}}.hideOpacity{animation:hideOpacity .5s ease-in-out}@keyframes slideX{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.slideX{animation:slideX .3s ease-in-out}@keyframes slideY{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.slideY{animation:slideY .3s ease-in-out}@keyframes widthGrow{0%{width:0}to{width:100%}}.widthGrow{animation:widthGrow .7s ease-in-out}@keyframes heightGrow{0%{height:0}to{height:100%}}.heightGrow{animation:heightGrow .7s ease-in-out}.hoverY:hover{transform:translateY(-15%);transition:transform .3s ease-in-out}.scaleX{transform:scaleX(1)}.scaleX:hover{transform:scaleX(1.1);transition:transform .1s ease-in-out}.scaleY{transform:scaleY(1)}.scaleY:hover{transform:scaleY(1.1);transition:transform .3s ease-in-out}.hideToLeft{animation:hideToLeftAnimation .5s ease forwards}.showFromRight{animation:showFromRightAnimation .5s ease forwards}.showFromLeft{animation:showFromLeftAnimation .5s ease forwards}@keyframes hideToLeftAnimation{0%{opacity:1;transform:translateX(0)}to{opacity:0;display:none;transform:translateX(100%)}}@keyframes showFromRightAnimation{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes showFromLeftAnimation{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}@keyframes siren{0%,to{background-color:#f87171;border-color:#f87171;color:white}50%{background-color:#60a5fa;border-color:#60a5fa;color:white}}.siren:hover{animation:siren 1.5s infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-down{animation:fadeInDown .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-scale{animation:fadeInScale .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:slideInRight .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-left{animation:slideInLeft .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.6}}.animate-pulse-soft{animation:pulseSoft 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,rgba(255,255,255,.05) 25%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.05) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes progressFill{0%{width:0}to{width:var(--progress-width,100%)}}.animate-progress-fill{animation:progressFill .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes spinSlow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spinSlow 1.5s linear infinite}