@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-slide-in-left{animation:slideInFromLeft .6s ease-out}.animate-slide-in-right{animation:slideInFromRight .6s ease-out}.animate-scale-in{animation:scaleIn .4s ease-out}.stagger-item:first-child{animation-delay:.05s}.stagger-item:nth-child(2){animation-delay:.1s}.stagger-item:nth-child(3){animation-delay:.15s}.stagger-item:nth-child(4){animation-delay:.2s}.stagger-item:nth-child(5){animation-delay:.25s}.stagger-item:nth-child(6){animation-delay:.3s}.smooth-transition{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}@keyframes ripple{to{transform:scale(4);opacity:0}}.ripple-effect{position:relative;overflow:hidden}.ripple-effect:after{content:"";position:absolute;width:100%;height:100%;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);border-radius:50%;background:rgba(255,255,255,.5);opacity:0;pointer-events:none}.ripple-effect:active:after{animation:ripple .6s ease-out}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes gradient{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{animation:gradient 2s ease infinite}@keyframes progress-pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-progress-pulse{animation:progress-pulse 2s ease-in-out infinite}@keyframes step-glow{0%,to{box-shadow:0 0 0 0 rgba(59,130,246,.4)}50%{box-shadow:0 0 0 8px rgba(59,130,246,0)}}.animate-step-glow{animation:step-glow 2s ease-in-out infinite}@keyframes indeterminate{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}.animate-indeterminate{animation:indeterminate 1.5s ease-in-out infinite}@keyframes mockup-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.mockup-float{animation:mockup-float 6s ease-in-out infinite}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-content-enter{animation:fadeSlideIn .3s ease-out}@keyframes spring-in{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.spring-in{animation:spring-in .6s cubic-bezier(.175,.885,.32,1.275)}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.85}}.pulse-subtle{animation:pulse-subtle 2s ease-in-out infinite}.fade-in-view{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out}.fade-in-view.visible{opacity:1;transform:translateY(0)}@keyframes scale-up{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scale-up{animation:scale-up .4s ease-out forwards}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(59,130,246,.3)}50%{box-shadow:0 0 20px rgba(59,130,246,.6)}}.animate-glow{animation:glow 2s ease-in-out infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.animate-cursor{animation:blink 1s step-end infinite}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border-color:#29d transparent transparent #29d;border-style:solid;border-width:2px;border-radius:50%;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}