.fade-in{animation:fadeIn .5s ease-in-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:slideUp .5s ease-out forwards}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.slide-down{animation:slideDown .5s ease-out forwards}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.scale-in{animation:scaleIn .4s ease-out forwards}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.shimmer{background:linear-gradient(90deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.2) 50%,hsla(0,0%,100%,0));background-size:200% 100%}.dark .shimmer,.shimmer{animation:shimmer 1.5s infinite}.dark .shimmer{background:linear-gradient(90deg,rgba(30,30,30,0),rgba(60,60,60,.2) 50%,rgba(30,30,30,0));background-size:200% 100%}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.btn-hover-effect{transition:transform .2s,box-shadow .2s}.btn-hover-effect:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.btn-hover-effect:active{transform:translateY(0);box-shadow:0 2px 6px rgba(0,0,0,.1)}.card-hover{transition:transform .3s,box-shadow .3s}.card-hover:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.gold-glitter{position:relative;overflow:hidden}.gold-glitter:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(255,215,0,.1) 0,rgba(255,215,0,0) 70%);animation:glitterRotate 12s linear infinite;pointer-events:none}@keyframes glitterRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}[dir=rtl] .slide-in-right{animation:slideInLeft .5s forwards}[dir=ltr] .slide-in-right{animation:slideInRight .5s forwards}@keyframes slideInRight{0%{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-30px);opacity:0}to{transform:translateX(0);opacity:1}}.page-enter{opacity:0;transform:scale(.98)}.page-enter-active{opacity:1;transform:scale(1);transition:opacity .3s,transform .3s}.page-exit{opacity:1}.page-exit-active{opacity:0;transition:opacity .2s}.loading-spinner{border-radius:50%;border:3px solid rgba(0,0,0,.1);border-top-color:#daa520;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.coin-flip{animation:flip 1.5s ease-in-out;transform-style:preserve-3d}@keyframes flip{0%{transform:rotateY(0deg)}50%{transform:rotateY(180deg)}to{transform:rotateY(1turn)}}.animate-float{animation:float var(--float-speed,3s) ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(var(--float-intensity,-10px))}}.animate-pulse-custom{animation:pulseCustom 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulseCustom{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.02)}}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.shimmer{position:relative;overflow:hidden}.shimmer-line{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);animation:shimmerMove 1.5s infinite}.dark .shimmer-line{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.1),transparent)}@keyframes shimmerMove{0%{left:-100%}to{left:100%}}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}.elastic-scale{animation:elasticScale .8s cubic-bezier(.68,-.55,.265,1.55)}@keyframes elasticScale{0%{transform:scale(0)}60%{transform:scale(1.1)}to{transform:scale(1)}}.rotate-fade-in{animation:rotateFadeIn .8s ease-out}@keyframes rotateFadeIn{0%{opacity:0;transform:rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0deg) scale(1)}}.slide-bounce{animation:slideBounce .7s ease-out}@keyframes slideBounce{0%{transform:translateX(-100px);opacity:0}60%{transform:translateX(10px);opacity:1}to{transform:translateX(0)}}.text-reveal{overflow:hidden}.text-reveal-content{animation:textReveal .8s cubic-bezier(.77,0,.175,1)}@keyframes textReveal{0%{transform:translateY(100%)}to{transform:translateY(0)}}.gradient-shift{background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.glow-effect{position:relative}.glow-effect:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;padding:2px;background:linear-gradient(45deg,gold,#ffed4e,gold);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:glowRotate 2s linear infinite}@keyframes glowRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.morph-loader{width:40px;height:40px;border-radius:50%;background:linear-gradient(45deg,gold,#ffed4e);animation:morphLoader 1.5s ease-in-out infinite}@keyframes morphLoader{0%,to{border-radius:50%;transform:scale(1)}25%{border-radius:0;transform:scale(1.1) rotate(45deg)}50%{border-radius:50%;transform:scale(.9) rotate(90deg)}75%{border-radius:0;transform:scale(1.1) rotate(135deg)}}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);animation:ripple .6s ease-out}@keyframes ripple{to{width:300px;height:300px;opacity:0}}.magnetic{transition:transform .2s ease-out}.magnetic:hover{transform:scale(1.05)}.stagger-item{opacity:0;transform:translateY(20px);animation:staggerFadeIn .5s ease-out forwards}.stagger-item:first-child{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}@keyframes staggerFadeIn{to{opacity:1;transform:translateY(0)}}.success-checkmark{width:50px;height:50px;border-radius:50%;display:block;stroke-width:2;stroke:#4caf50;stroke-miterlimit:10;box-shadow:inset 0 0 0 #4caf50;animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.checkmark-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#4caf50;fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.checkmark{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #4caf50}}