@keyframes toast-enter{0%{opacity:0;transform:translate(20%) scale(.9) skew(2deg)}60%{opacity:1;transform:translate(-5px) scale(1.02) skew(0)}80%{transform:translate(2px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(100%) scale(.9)}}@keyframes toast-enter-rtl{0%{opacity:0;transform:translate(-20%) scale(.9) skew(-2deg)}60%{opacity:1;transform:translate(5px) scale(1.02) skew(0)}80%{transform:translate(-2px) scale(.99)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toast-exit-rtl{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-100%) scale(.9)}}@keyframes mobile-toast-enter{0%{opacity:0;transform:translateY(-40px) scale(.85)}60%{opacity:1;transform:translateY(5px) scale(1.02)}80%{transform:translateY(-2px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mobile-toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(.9)}}@keyframes toast-shrink{0%{width:100%}to{width:0%}}@keyframes icon-success-draw{0%{transform:scale(.5) rotate(-10deg);opacity:0}50%{transform:scale(1.2) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes icon-error-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}@keyframes icon-warning-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes icon-info-bounce{0%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-1px)}}.toast-enter{animation:toast-enter .5s cubic-bezier(.2,.8,.2,1) forwards}.toast-exit{animation:toast-exit .3s cubic-bezier(.4,0,.2,1) forwards}.toast-enter-rtl{animation:toast-enter-rtl .5s cubic-bezier(.2,.8,.2,1) forwards}.toast-exit-rtl{animation:toast-exit-rtl .3s cubic-bezier(.4,0,.2,1) forwards}.mobile-toast-enter{animation:mobile-toast-enter .5s cubic-bezier(.2,.8,.2,1) forwards}.mobile-toast-exit{animation:mobile-toast-exit .25s cubic-bezier(.4,0,.2,1) forwards}.toast-icon-success{animation:icon-success-draw .5s cubic-bezier(.16,1,.3,1) .1s forwards}.toast-icon-error{animation:icon-error-shake .5s ease-in-out}.toast-icon-warning{animation:icon-warning-pulse 1s ease-in-out infinite}.toast-icon-info{animation:icon-info-bounce .6s cubic-bezier(.16,1,.3,1)}@keyframes bounce-in{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.animate-bounce-in{animation:bounce-in .5s cubic-bezier(.16,1,.3,1) forwards}@keyframes slide-in-top{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in-top{animation:slide-in-top .4s cubic-bezier(.16,1,.3,1) forwards}@keyframes slide-up{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-slide-up{animation:slide-up .35s cubic-bezier(.16,1,.3,1) forwards}.bg-noise{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat}.animate-shine{animation:shine 4s ease-in-out infinite}@keyframes shine{0%,80%{transform:translate(-100%) rotate(45deg)}to{transform:translate(200%) rotate(45deg)}}
