@keyframes training-scale-in{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}@keyframes training-stat-pulse{0%{background-color:transparent}30%{background-color:rgb(209 250 229/.6)}to{background-color:transparent}}@keyframes cascadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes cascadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:slideInUp .7s ease-out forwards}.animate-fade-in{animation:fadeInSmooth .5s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .5s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards;opacity:0;animation-fill-mode:both}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}@keyframes fadeInSmooth{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-smooth{animation:fadeInSmooth .6s ease-out forwards}.animate-fade-in-smooth-delay-1{animation:fadeInSmooth .6s ease-out .1s forwards;animation-fill-mode:both}.animate-fade-in-smooth-delay-2{animation:fadeInSmooth .6s ease-out .2s forwards;animation-fill-mode:both}.animate-fade-in-smooth-delay-3{animation:fadeInSmooth .6s ease-out .3s forwards;animation-fill-mode:both}.animate-fade-in-smooth-delay-4{animation:fadeInSmooth .6s ease-out .4s forwards;animation-fill-mode:both}@keyframes fadeInTogether{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-together{animation:fadeInTogether .8s ease-out forwards}.animate-on-scroll{opacity:0;transform:translateY(20px);transition:all .6s ease-out}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}@keyframes scan{0%{top:0}50%{top:100%}to{top:0}}.animate-scan{animation:scan 2s ease-in-out infinite}@keyframes bounceIn{0%{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes progress{0%{width:0}to{width:100%}}.animate-progress{animation:progress 8s linear forwards}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-slow{animation:pulse-slow 2s ease-in-out infinite}@keyframes print{0%,to{transform:translateY(0)}25%{transform:translateY(-5px)}75%{transform:translateY(5px)}}.animate-print{animation:print 1s ease-in-out infinite}@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 gentleFloat{0%,to{transform:perspective(800px) rotateY(-5deg) rotateX(5deg) translateY(0)}50%{transform:perspective(800px) rotateY(-3deg) rotateX(3deg) translateY(-10px)}}.delay-75{animation-delay:75ms}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.animate-delay-150{animation-delay:.5s;animation-fill-mode:both;opacity:0}.animate-delay-300{animation-delay:.65s;animation-fill-mode:both;opacity:0}@keyframes pulse-ripple{0%{transform:scale(1);opacity:.5}to{transform:scale(2.5);opacity:0}}.animate-pulse-ripple{animation:pulse-ripple 2s ease-out infinite}@keyframes dash-flow{to{stroke-dashoffset:-20}}.animate-dash-flow{animation:dash-flow 2s linear infinite}