@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}@keyframes slideInFromBottom{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}@keyframes drawCheckmark{0%{stroke-dasharray:0,100;opacity:0}50%{opacity:1}to{stroke-dasharray:100,0;opacity:1}}@keyframes circleGrow{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{opacity:.8}to{transform:scale(1) rotate(0);opacity:1}}@keyframes floatUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow{0%,to{box-shadow:0 0 20px #4ecdc44d}50%{box-shadow:0 0 40px #4ecdc499}}@keyframes fadeInScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #48bb7866}50%{box-shadow:0 0 40px #48bb78cc}}@keyframes shakeError{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spin{animation:spin 1s linear infinite}.pulse{animation:pulse 2s ease-in-out infinite}.fadeInOut{animation:fadeInOut 3s ease-in-out infinite}.slideInFromBottom{animation:slideInFromBottom .8s ease-out}.bounceIn{animation:bounceIn 1s ease-out}.pulseGlow{animation:pulseGlow 2s ease-in-out infinite}.shakeError{animation:shakeError .5s ease-in-out}.fadeIn{animation:fadeIn .5s ease-out}@keyframes slideInFromRight{0%{transform:translate(100%) scale(.95);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes slideOutToRight{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(100%) scale(.95);opacity:0}}@keyframes fadeInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.slideInFromRight{animation:slideInFromRight .4s cubic-bezier(.4,0,.2,1)}.slideOutToRight{animation:slideOutToRight .3s cubic-bezier(.4,0,.2,1)}.fadeInUp{animation:fadeInUp .6s ease-out}.scaleIn{animation:scaleIn .3s ease-out}
