@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideRight{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes progressFill{0%{width:0}}@keyframes slideInBlur{0%{opacity:0;transform:translateY(20px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-10deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}@layer utilities{.animate-fadeIn{animation:fadeIn .5s cubic-bezier(.4,0,.2,1) forwards}.animate-slideDown{animation:slideDown .5s cubic-bezier(.4,0,.2,1) forwards}.animate-slideUp{animation:slideUp .5s cubic-bezier(.4,0,.2,1) forwards}.animate-slideLeft{animation:slideLeft .6s cubic-bezier(.4,0,.2,1) forwards}.animate-slideRight{animation:slideRight .6s cubic-bezier(.4,0,.2,1) forwards}.animate-scaleIn{animation:scaleIn .5s cubic-bezier(.4,0,.2,1) forwards}.animate-progressFill{animation:progressFill 1s cubic-bezier(.4,0,.2,1) forwards}.animate-slideInBlur{animation:slideInBlur .6s cubic-bezier(.4,0,.2,1) forwards}.animate-bounceIn{animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55) forwards}.animate-slideInFromBottom{animation:slideInFromBottom .5s cubic-bezier(.4,0,.2,1) forwards}.animate-rotateIn{animation:rotateIn .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes accordion-down{0%{height:0;opacity:0}to{height:var(--radix-accordion-content-height);opacity:1}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height);opacity:1}to{height:0;opacity:0}}.animate-accordion-down{animation:accordion-down .3s cubic-bezier(.87,0,.13,1) forwards}.animate-accordion-up{animation:accordion-up .3s cubic-bezier(.87,0,.13,1) forwards}}.animation-delay-100{animation-delay:.1s;opacity:0}.animation-delay-200{animation-delay:.2s;opacity:0}.animation-delay-300{animation-delay:.3s;opacity:0}.animation-delay-400{animation-delay:.4s;opacity:0}.animation-delay-500{animation-delay:.5s;opacity:0}.animation-delay-600{animation-delay:.6s;opacity:0}.animation-delay-700{animation-delay:.7s;opacity:0}.animation-delay-800{animation-delay:.8s;opacity:0}.stagger-item{opacity:0;animation:slideUp .4s ease-out forwards}.stagger-item:first-child{animation-delay:50ms}.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}.stagger-item:nth-child(7){animation-delay:.35s}.stagger-item:nth-child(8){animation-delay:.4s}.hover-lift{transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 28px -8px rgba(0,0,0,.12),0 4px 8px -4px rgba(0,0,0,.08)}.hover-brighten{transition:filter .2s ease}.hover-brighten:hover{filter:brightness(1.05)}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.ripple-container{position:relative;overflow:hidden}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}.animate-pulse-dot{animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-scale{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.15);opacity:.5}}.animate-pulse-scale{animation:pulse-scale 2s ease-in-out infinite}@keyframes bounce-continuous{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-continuous{animation:bounce-continuous 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.7}}.animate-pulse-slow{animation:pulse-slow 3s ease-in-out infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.animate-shimmer{animation:shimmer 2s ease-in-out infinite}@keyframes zoomInOut{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.animate-zoomInOut{animation:zoomInOut 2s ease-in-out infinite;transform-origin:center;will-change:transform;backface-visibility:hidden}@keyframes confetti{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.animate-confetti{animation:confetti 2s ease-out forwards}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-gradient{background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes tiltShake{0%,to{transform:rotate(0deg)}25%{transform:rotate(1deg)}75%{transform:rotate(-1deg)}}.hover-tilt:hover{animation:tiltShake .3s ease-in-out}@keyframes fadeInBlur{0%{opacity:0;filter:blur(20px);transform:scale(.95)}to{opacity:1;filter:blur(0);transform:scale(1)}}.animate-fade-blur{animation:fadeInBlur .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes reveal{0%{opacity:0;transform:translateY(50px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(0 0 0 0)}}.animate-reveal{animation:reveal .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes glowPulse{0%,to{box-shadow:0 0 20px rgba(108,43,217,.3)}50%{box-shadow:0 0 40px rgba(108,43,217,.6)}}.animate-glow-pulse{animation:glowPulse 2s ease-in-out infinite}.magnetic-hover{transition:transform .3s cubic-bezier(.4,0,.2,1)}.magnetic-hover:hover{transform:translateY(-8px)}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.animate-text-reveal{animation:textReveal 1s cubic-bezier(.4,0,.2,1) forwards}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.animate-ripple{animation:ripple .6s ease-out}@keyframes bounceInUp{0%{opacity:0;transform:translateY(100px) scale(.9)}60%{opacity:1;transform:translateY(-10px) scale(1.05)}to{transform:translateY(0) scale(1)}}.animate-bounce-in{animation:bounceInUp .8s cubic-bezier(.68,-.55,.265,1.55) forwards}@keyframes spotlight{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.spotlight-effect{background:linear-gradient(110deg,transparent 30%,hsla(0,0%,100%,.1) 50%,transparent 70%);background-size:200% 100%;animation:spotlight 3s linear infinite}@keyframes flipCard{0%{transform:rotateY(0deg)}to{transform:rotateY(180deg)}}.flip-card{transition:transform .6s;transform-style:preserve-3d}.flip-card:hover{transform:rotateY(180deg)}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes checkmark{0%{stroke-dashoffset:50;opacity:0}50%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:1}}.animate-checkmark{stroke-dasharray:50;animation:checkmark .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes particleFloat{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.animate-particle{animation:particleFloat 2s ease-in-out infinite}@keyframes morphBlob{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}}.animate-blob{animation:morphBlob 8s ease-in-out infinite}.animate-blob2{animation:morphBlob 4s ease-in-out infinite}@keyframes elegantEntrance{0%{opacity:0;transform:translateY(30px) scale(.98)}60%{opacity:1;transform:translateY(-5px) scale(1.01)}to{transform:translateY(0) scale(1)}}.animate-elegant{animation:elegantEntrance .9s cubic-bezier(.4,0,.2,1) forwards}@keyframes breathWaveOne{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(0) scaleY(1.1)}}@keyframes breathWaveTwo{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-8px) scaleY(1.15)}}.wave-one{animation:breathWaveOne 2.2s ease-in-out infinite}.wave-one,.wave-two{transform-origin:bottom}.wave-two{animation:breathWaveTwo 2.2s ease-in-out infinite;animation-delay:.3s}@keyframes floatEmoji{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-8px)}}@keyframes fadeInEmoji{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}60%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes slidePanelInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.animate-slidePanelInRight{animation:slidePanelInRight .35s cubic-bezier(.2,.8,.2,1) forwards}@keyframes glowMoveLeftToRight{0%{transform:translateX(-200%);opacity:0}10%{opacity:.3}50%{opacity:.8}90%{opacity:.3}to{transform:translateX(200%);opacity:0}}.animate-glow-move{animation:glowMoveLeftToRight 8s ease-in-out infinite}