�� � � @keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scaleOut{0%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:0}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-fadeIn{animation:fadeIn .3s ease-in-out}.animate-fadeOut{animation:fadeOut .3s ease-in-out}.animate-slideInUp{animation:slideInUp .4s ease-out}.animate-slideInDown{animation:slideInDown .4s ease-out}.animate-slideInLeft{animation:slideInLeft .4s ease-out}.animate-slideInRight{animation:slideInRight .4s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-scaleOut{animation:scaleOut .3s ease-out}.animate-bounceIn{animation:bounceIn .6s ease-out}.animate-shake{animation:shake .5s ease-in-out}.animate-pulse-slow{animation:pulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0,#e0e0e0,#f0f0f0 40%,#f0f0f0);background-size:1000px 100%;animation:shimmer 2s infinite}.animate-gradient{background-size:200% 200%;animation:gradient 3s ease infinite}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 20px #0000001a}.hover-scale:hover{transform:scale(1.05);transition:transform .3s ease}.hover-glow:hover{box-shadow:0 0 20px #7c3aed80;transition:box-shadow .3s ease}.stagger-item{opacity:0;animation:fadeIn .5s ease-out forwards}.stagger-item:nth-child(1){animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}.page-enter{animation:fadeIn .4s ease-in-out,slideInUp .4s ease-out}.page-exit{animation:fadeOut .3s ease-in-out}.btn-press:active{transform:scale(.95);transition:transform .1s ease}@keyframes dotFlashing{0%,to{opacity:1}50%{opacity:.3}}.loading-dot{animation:dotFlashing 1.4s infinite}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}
