@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translate(0,0)}40%,43%{transform:translateY(-30px)}70%{transform:translateY(-15px)}90%{transform:translateY(-4px)}}.animate-in{animation:.5s ease-out slideInUp}.animate-fade-in{animation:.5s ease-out fadeIn}.animate-pulse-slow{animation:2s infinite pulse}.animate-bounce-slow{animation:2s infinite bounce}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.button-hover{transition:all .2s ease-in-out}.button-hover:hover{transform:translateY(-1px)}.button-hover:active{transform:translateY(0)}.input-focus{transition:all .2s ease-in-out}.input-focus:focus{transform:scale(1.02)}.star-rating{transition:all .2s ease-in-out}.star-rating:hover{transform:scale(1.1)}.progress-bar{transition:width .3s ease-in-out}.tab-content{animation:.3s ease-in-out fadeIn}.recording-indicator{animation:1.5s infinite pulse}.loading-spinner{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge-animation{animation:1s ease-in-out bounce}.tooltip{opacity:0;visibility:hidden;transition:all .2s ease-in-out;transform:translateY(5px)}.tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}.gradient-animation{background-size:200% 200%;animation:3s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.scroll-reveal{opacity:0;transition:all .6s ease-out;transform:translateY(30px)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.hover-scale{transition:transform .2s ease-in-out}.hover-scale:hover{transform:scale(1.05)}.highlight{position:relative}.highlight:after{content:"";background:linear-gradient(90deg,#0000,currentColor,#0000);width:100%;height:2px;transition:transform .3s ease-in-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.highlight:hover:after{transform:scaleX(1)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #3b82f666}50%{box-shadow:0 0 40px #3b82f6cc}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.2)}}.float-animation{animation:3s ease-in-out infinite float}.pulse-glow{animation:2s ease-in-out infinite pulse-glow}.slide-up{animation:.6s ease-out slide-up}.glow-pulse{animation:2s ease-in-out infinite glow-pulse}@media (max-width:768px){.float-animation{animation-duration:4s}.pulse-glow{animation-duration:3s}.slide-up{animation-duration:.8s}}@media (prefers-reduced-motion:reduce){.float-animation,.pulse-glow,.glow-pulse,.slide-up{animation:none}}.micro-interaction{transition:all .3s cubic-bezier(.4,0,.2,1)}.micro-interaction:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.micro-interaction:active{transform:translateY(0)}.gradient-shift{background-size:200% 200%;animation:4s infinite gradientShift}.loading-dots span{animation:1.4s ease-in-out infinite both loadingDots}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDots{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.card-tilt{transform-style:preserve-3d;transition:all .3s cubic-bezier(.4,0,.2,1)}.card-tilt:hover{transform:perspective(1000px)rotateX(5deg)rotateY(-5deg)translateY(-5px)}.ripple{position:relative;overflow:hidden}.ripple:before{content:"";background:#ffffff80;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple:active:before{width:300px;height:300px}.input-glow{transition:all .3s}.input-glow:focus{box-shadow:0 0 0 3px #3b82f61a,0 0 0 1px #3b82f699}.tab-enter{opacity:0;transform:translate(10px)}.tab-enter-active{opacity:1;transition:opacity .3s,transform .3s;transform:translate(0)}.tab-exit{opacity:1;transform:translate(0)}.tab-exit-active{opacity:0;transition:opacity .3s,transform .3s;transform:translate(-10px)}.number-roll{transition:all .6s cubic-bezier(.4,0,.2,1)}.progress-fill{transition:width 1s cubic-bezier(.4,0,.2,1)}.breathing{animation:3s ease-in-out infinite breathing}@keyframes breathing{0%,to{opacity:.3}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg)scale(.8)}to{opacity:1;transform:rotate(0)scale(1)}}.shimmer-effect{background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/200px 100%;animation:2s infinite shimmer}.slide-in-left{animation:.5s ease-out slideInFromLeft}.slide-in-right{animation:.5s ease-out slideInFromRight}.scale-in{animation:.4s ease-out scaleIn}.rotate-in{animation:.6s ease-out rotateIn}.card-hover-enhanced{transform-style:preserve-3d;perspective:1000px;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.card-hover-enhanced:hover{transform:translateY(-8px)rotateX(2deg)rotateY(-2deg);box-shadow:0 25px 50px -12px #00000040}.ripple-button{position:relative;overflow:hidden}.ripple-button:before{content:"";background:#fff9;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple-button:active:before{width:300px;height:300px}.tab-content-enter{animation:.3s ease-out slideInFromRight}.tab-content-exit{animation:.3s ease-out slideInFromLeft}.progress-bar-fill{animation:1s ease-out progressFill}@keyframes progressFill{0%{width:0}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:.5s ease-out countUp}@keyframes badgeFlash{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.badge-flash{animation:2s infinite badgeFlash}.input-focus-enhanced{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.input-focus-enhanced:focus{transform:scale(1.02);box-shadow:0 0 0 4px #3b82f61a,0 0 0 2px #3b82f699}.input-focus-enhanced:focus:before{content:"";border-radius:inherit;background:linear-gradient(45deg,#0000,#3b82f61a,#0000);animation:2s infinite shimmer;position:absolute;inset:-2px}.slider-enhanced{appearance:none;cursor:pointer;background:0 0;transition:all .3s}.slider-enhanced::-webkit-slider-thumb{appearance:none;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#6366f1);border:3px solid #fff;border-radius:50%;width:24px;height:24px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #3b82f666}.slider-enhanced::-webkit-slider-thumb:hover{transform:scale(1.2)rotate(10deg);box-shadow:0 4px 20px #3b82f699}.slider-enhanced::-moz-range-thumb{cursor:pointer;background:linear-gradient(135deg,#3b82f6,#6366f1);border:3px solid #fff;border-radius:50%;width:24px;height:24px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #3b82f666}.slider-enhanced::-moz-range-thumb:hover{transform:scale(1.2)rotate(10deg);box-shadow:0 4px 20px #3b82f699}.loading-enhanced{position:relative}.loading-enhanced:after{content:"";background:linear-gradient(90deg,#0000,#3b82f61a,#0000) 0 0/200px 100%;animation:1.5s infinite shimmer;position:absolute;inset:0}.list-item-enter{animation:.3s ease-out forwards slideInFromLeft}.list-item-enter:first-child{animation-delay:.1s}.list-item-enter:nth-child(2){animation-delay:.2s}.list-item-enter:nth-child(3){animation-delay:.3s}.list-item-enter:nth-child(4){animation-delay:.4s}.list-item-enter:nth-child(5){animation-delay:.5s}.tooltip-enhanced{opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);transform:translateY(8px)scale(.9)}.tooltip-enhanced.show{opacity:1;visibility:visible;transform:translateY(0)scale(1)}
