@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.animate-fadeOut{animation:fadeOut .2s ease-out}.animate-slideInLeft{animation:slideInLeft .3s ease-out}.animate-scaleOut{animation:scaleOut .2s ease-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.animate-shake{animation:shake .4s ease-in-out}.animate-wiggle{animation:wiggle .4s ease-in-out}.error-feedback{animation:shake .4s ease-in-out}@keyframes checkmark{0%{opacity:0;transform:scale(0) rotate(45deg)}50%{opacity:1;transform:scale(1.2) rotate(45deg)}to{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes successPulse{0%{box-shadow:0 0 0 0 rgba(5,150,105,.4)}70%{box-shadow:0 0 0 15px rgba(5,150,105,0)}to{box-shadow:0 0 0 0 rgba(5,150,105,0)}}.animate-checkmark{animation:checkmark .4s ease-out}.animate-successPulse,.success-feedback{animation:successPulse .6s ease-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes spring{0%{transform:scale(1)}10%{transform:scale(.9)}30%{transform:scale(1.1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-bounce{animation:bounce 1s ease-in-out infinite}.animate-bounceIn{animation:bounceIn .5s cubic-bezier(.68,-.55,.265,1.55)}.animate-spring{animation:spring .4s ease-out}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes dotPulse{0%,80%,to{opacity:0}40%{opacity:1}}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-spin{animation:spin 1s linear infinite}.animate-dotPulse{animation:dotPulse 1.4s ease-in-out infinite}.animate-shimmer,.shimmer-effect{animation:shimmer 2s infinite}.shimmer-effect{position:relative;overflow:hidden;background:linear-gradient(90deg,#f0f0f0,#e0e0e0 50%,#f0f0f0);background-size:200% 100%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(96,157,169,.4)}70%{box-shadow:0 0 0 10px rgba(96,157,169,0)}to{box-shadow:0 0 0 0 rgba(96,157,169,0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px rgba(96,157,169,.3)}50%{box-shadow:0 0 30px rgba(96,157,169,.5)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-pulseRing{animation:pulseRing 1.5s ease-out infinite}.animate-pulseGlow{animation:pulseGlow 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}.hover-lift{transition:transform .2s ease-out,box-shadow .2s ease-out}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgb(0 0 0/.15)}@keyframes timerPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}@keyframes progressRing{0%{stroke-dashoffset:0}to{stroke-dashoffset:-283}}@keyframes timerGlow{0%,to{box-shadow:0 0 0 0 rgba(96,157,169,.6),0 0 20px rgba(96,157,169,.3)}50%{box-shadow:0 0 0 8px rgba(96,157,169,0),0 0 30px rgba(96,157,169,.5)}}.animate-timerPulse{animation:timerPulse 1.5s ease-in-out infinite}.animate-progressRing{animation:progressRing 60s linear infinite}.animate-timerGlow{animation:timerGlow 2s ease-in-out infinite}@keyframes confetti{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.animate-confetti{animation:confetti 3s ease-out forwards}.confetti-piece{position:fixed;width:10px;height:10px;pointer-events:none;z-index:9999}.confetti-piece:first-child{background:#8B6AD8;animation-delay:0s;left:10%}.confetti-piece:nth-child(2){background:#4ECDC4;animation-delay:.1s;left:20%}.confetti-piece:nth-child(3){background:#FFD93D;animation-delay:.2s;left:30%}.confetti-piece:nth-child(4){background:#95E1D3;animation-delay:.3s;left:40%}.confetti-piece:nth-child(5){background:#F38181;animation-delay:.4s;left:50%}.confetti-piece:nth-child(6){background:#AA96DA;animation-delay:.5s;left:60%}.confetti-piece:nth-child(7){background:#FCBAD3;animation-delay:.6s;left:70%}.confetti-piece:nth-child(8){background:#A8D8EA;animation-delay:.7s;left:80%}.confetti-piece:nth-child(9){background:#FEF7DC;animation-delay:.8s;left:90%}@keyframes ripple{0%{transform:scale(0);opacity:.6}to{transform:scale(4);opacity:0}}.ripple-container{position:relative;overflow:hidden}.ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.6);pointer-events:none;animation:ripple .6s ease-out}@keyframes staggerIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-stagger{animation:staggerIn .4s ease-out backwards}.stagger-delay-1{animation-delay:50ms}.stagger-delay-2{animation-delay:.1s}.stagger-delay-3{animation-delay:.15s}.stagger-delay-4{animation-delay:.2s}.stagger-delay-5{animation-delay:.25s}.stagger-delay-6{animation-delay:.3s}.stagger-delay-7{animation-delay:.35s}.stagger-delay-8{animation-delay:.4s}.press-effect:active{transform:scale(.97);transition:transform .1s ease-out}.transition-smooth{transition:all .2s cubic-bezier(.4,0,.2,1)}.transition-spring{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}@keyframes labelFloat{0%{transform:translateY(0) scale(1);opacity:.7}to{transform:translateY(-1.5rem) scale(.85);opacity:1}}.label-float{animation:labelFloat .2s ease-out forwards}.input-container{position:relative}.input-container label{position:absolute;left:1rem;top:.75rem;transition:all .2s ease-out;pointer-events:none;color:#6b7280}.input-container input:not(:-moz-placeholder)+label,.input-container textarea:not(:-moz-placeholder)+label{transform:translateY(-1.5rem) scale(.85);color:#8B6AD8;font-weight:600}.input-container input:focus+label,.input-container input:not(:placeholder-shown)+label,.input-container textarea:focus+label,.input-container textarea:not(:placeholder-shown)+label{transform:translateY(-1.5rem) scale(.85);color:#8B6AD8;font-weight:600}@keyframes copiedPulse{0%{opacity:0;transform:scale(.5) translateY(0)}50%{opacity:1;transform:scale(1.1) translateY(-5px)}to{opacity:0;transform:scale(1) translateY(-10px)}}.animate-copied{animation:copiedPulse .6s ease-out}@keyframes savedPulse{0%,to{background-color:transparent}50%{background-color:rgba(5,150,105,.1)}}.animate-saved{animation:savedPulse .8s ease-out}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@keyframes slideOutLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}.animate-slideOutRight{animation:slideOutRight .3s ease-out forwards}.animate-slideOutLeft{animation:slideOutLeft .3s ease-out forwards}@keyframes backdropFadeIn{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(4px)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-backdropFadeIn{animation:backdropFadeIn .25s ease-out}.animate-modalSlideUp{animation:modalSlideUp .25s ease-out}@keyframes progressBar{0%{width:0}to{width:100%}}@keyframes progressPulse{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.02)}}.animate-progressBar{animation:progressBar .3s ease-out forwards}.animate-progressPulse{animation:progressPulse 1s ease-in-out infinite}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-tooltip{animation:tooltipFadeIn .15s ease-out}