@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fade-in{animation:fadeIn var(--transition-slow)var(--ease-out)}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-bounce{animation:1s infinite bounce}.animate-spin{animation:1s linear infinite spin}.animate-gradient{background-size:200% 200%;animation:3s infinite gradientShift}.stagger-fade-in>*{animation:fadeIn var(--transition-slow)var(--ease-out)}.stagger-fade-in>:first-child{animation-delay:0s}.stagger-fade-in>:nth-child(2){animation-delay:.1s}.stagger-fade-in>:nth-child(3){animation-delay:.2s}.stagger-fade-in>:nth-child(4){animation-delay:.3s}.stagger-fade-in>:nth-child(5){animation-delay:.4s}.stagger-fade-in>:nth-child(6){animation-delay:.5s}.stagger-fade-in>:nth-child(7){animation-delay:.6s}.stagger-fade-in>:nth-child(8){animation-delay:.7s}.hover-lift{transition:all var(--transition-base)var(--ease-out)}.hover-lift:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-base)var(--ease-out)}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:all var(--transition-base)var(--ease-out)}.hover-glow:hover{box-shadow:0 0 20px color-mix(in srgb,var(--color-primary)30%,transparent)}.active-scale{transition:transform var(--transition-fast)var(--ease-out)}.active-scale:active{transform:scale(.98)}.focus-ring{transition:box-shadow var(--transition-fast)var(--ease-out)}.focus-ring:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary)30%,transparent);outline:none}.skeleton{background:linear-gradient(90deg,var(--bg-secondary)0%,var(--bg-tertiary)50%,var(--bg-secondary)100%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-card{width:100%;height:200px}.ripple-container{position:relative;overflow:hidden}.ripple{pointer-events:none;background:#fff9;border-radius:50%;animation:.6s ease-out ripple;position:absolute;transform:scale(0)}.gradient-border{background:var(--bg-primary);border-radius:var(--radius-lg);position:relative}.gradient-border:before{content:"";border-radius:var(--radius-lg);background:var(--gradient-hero-rainbow);-webkit-mask-composite:xor;padding:2px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}html{scroll-behavior:smooth}.parallax{transition:transform .1s ease-out}.image-zoom{overflow:hidden}.image-zoom img{transition:transform var(--transition-slow)var(--ease-out)}.image-zoom:hover img{transform:scale(1.1)}.blur-up{filter:blur(20px);transition:filter var(--transition-slow)var(--ease-out)}.blur-up.loaded{filter:blur()}.toast-enter{animation:slideDown var(--transition-base)var(--ease-out)}.toast-exit{animation:fadeInUp var(--transition-base)var(--ease-out)reverse}@keyframes ctaShimmer{0%{transform:translate(-100%)skew(-15deg)}to{transform:translate(200%)skew(-15deg)}}@keyframes ctaPulse{0%,to{box-shadow:0 0 0 0 rgba(var(--color-primary-rgb),.4)}50%{box-shadow:0 0 0 8px rgba(var(--color-primary-rgb),0)}}@keyframes ctaGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animated-cta-button[data-variant=primary] .animated-cta-bg{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)50%,var(--color-primary)100%);background-size:200% 200%}.animated-cta-button[data-variant=primary][data-animated=true] .animated-cta-bg{animation:3s infinite ctaGradient}.animated-cta-button[data-variant=primary]:hover:not(:disabled) .animated-cta-bg{background:linear-gradient(135deg,var(--color-primary-dark)0%,var(--color-primary)50%,var(--color-primary-dark)100%)}.animated-cta-button[data-variant=secondary] .animated-cta-bg{background:linear-gradient(135deg,var(--color-secondary)0%,var(--color-secondary-dark)50%,var(--color-secondary)100%);background-size:200% 200%}.animated-cta-button[data-variant=secondary][data-animated=true] .animated-cta-bg{animation:3s infinite ctaGradient}.animated-cta-button[data-variant=success] .animated-cta-bg{background:linear-gradient(135deg,var(--color-success)0%,#059669 50%,var(--color-success)100%);background-size:200% 200%}.animated-cta-button[data-variant=success][data-animated=true] .animated-cta-bg{animation:3s infinite ctaGradient}.animated-cta-shimmer{background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);width:50%;animation:3s ease-in-out 1s infinite ctaShimmer}.animated-cta-glow{opacity:0;transition:opacity .3s}.animated-cta-button:hover:not(:disabled) .animated-cta-glow{opacity:1;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.4),0 0 30px rgba(var(--color-primary-rgb),.2)}.animated-cta-button[data-variant=success]:hover:not(:disabled) .animated-cta-glow{box-shadow:0 4px 15px #10b98166,0 0 30px #10b98133}.animated-cta-button[data-animated=true]:not(:disabled){animation:2s ease-in-out infinite ctaPulse}.animated-cta-button:hover:not(:disabled){transform:translateY(-1px)}.animated-cta-button:active:not(:disabled){transform:translateY(0)scale(.98)}@keyframes superCatchGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes superCatchPulse{0%,to{box-shadow:0 0 5px #ef444466,0 0 10px #3b82f64d,0 0 15px #ef444433}50%{box-shadow:0 0 5px #3b82f666,0 0 10px #ef44444d,0 0 15px #3b82f633}}.animated-cta-button[data-variant=rainbow] .animated-cta-bg{background:linear-gradient(135deg,#ef4444 0%,#dc2626 25%,#3b82f6 50%,#2563eb 75%,#ef4444 100%) 0 0/300% 300%}.animated-cta-button[data-variant=rainbow][data-animated=true] .animated-cta-bg{animation:4s infinite superCatchGradient}.animated-cta-button[data-variant=rainbow]:hover:not(:disabled) .animated-cta-bg{filter:brightness(1.1)}.animated-cta-button[data-variant=rainbow][data-animated=true]:not(:disabled){animation:3s ease-in-out infinite superCatchPulse}.animated-cta-button[data-variant=rainbow]:hover:not(:disabled) .animated-cta-glow{box-shadow:0 4px 20px #3b82f680,0 0 40px #ef44444d}@keyframes badgeGradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 0 #ef444466}50%{transform:scale(1.05);box-shadow:0 0 8px 2px #3b82f666}}@keyframes badgeShimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}.animated-badge{color:#fff;text-shadow:0 1px 2px #0003;border-radius:9999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.animated-badge-bg{background:linear-gradient(135deg,#ef4444 0%,#dc2626 20%,#3b82f6 50%,#2563eb 80%,#ef4444 100%) 0 0/300% 300%;animation:3s infinite badgeGradient;position:absolute;inset:0}.animated-badge-shimmer{background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%);width:50%;animation:2s ease-in-out infinite badgeShimmer;position:absolute;inset:0}.animated-badge[data-animated=true]{animation:2s ease-in-out infinite badgePulse}.animated-badge-content{z-index:10;position:relative}.animated-badge-sm{padding:2px 8px;font-size:11px}.animated-badge-md{padding:4px 12px;font-size:12px}.animated-badge-lg{padding:6px 16px;font-size:14px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animated-cta-button[data-animated=true]{animation:none!important}.animated-cta-shimmer{display:none}}
