.reveal{opacity:0;transition:all .8s var(--ease-out)}.reveal.active{opacity:1}.reveal-fade-up{opacity:0;transform:translateY(30px)}.reveal-fade-up.active{opacity:1;transform:translateY(0)}.reveal-fade-down{opacity:0;transform:translateY(-30px)}.reveal-fade-down.active{opacity:1;transform:translateY(0)}.reveal-fade-left{opacity:0;transform:translateX(30px)}.reveal-fade-left.active{opacity:1;transform:translateX(0)}.reveal-fade-right{opacity:0;transform:translateX(-30px)}.reveal-fade-right.active{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(.9)}.reveal-scale.active{opacity:1;transform:scale(1)}.delay-100{transition-delay:0.1s}.delay-200{transition-delay:0.2s}.delay-300{transition-delay:0.3s}.delay-400{transition-delay:0.4s}.delay-500{transition-delay:0.5s}.delay-600{transition-delay:0.6s}.typing-container{display:inline-block;overflow:hidden;white-space:nowrap;border-right:3px solid var(--n8n-primary);width:0;animation:typing 2s steps(20,end) forwards,blink-caret .75s step-end infinite}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink-caret{from,to{border-color:transparent}50%{border-color:var(--n8n-primary)}}.btn-shine{position:relative;overflow:hidden}.btn-shine::after{content:'';position:absolute;top:0;left:-100%;width:50%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 100%);transform:skewX(-25deg)}.btn-shine:hover::after{animation:shine 1.5s ease-out}@keyframes shine{0%{left:-100%}100%{left:200%}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}.bounce{animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.hover-lift{transition:transform var(--transition-medium) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px)}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-blob{animation:blob 7s infinite}@keyframes blob{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.hero-bg-animate{animation:subtle-float 20s ease-in-out infinite alternate}@keyframes subtle-float{0%{transform:scale(1.05) translate(0,0)}100%{transform:scale(1.1) translate(-1%,-1%)}}.gradient-animate{background-size:200% 200%;animation:gradient-shift 15s ease infinite}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}100%{background-position:0 50%}}.skeleton{background:linear-gradient(90deg,var(--bg-elevated-2) 0,var(--bg-elevated-3) 50%,var(--bg-elevated-2) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}@keyframes skeleton-loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.loading-dots{display:inline-flex;gap:var(--space-2)}.loading-dots span{width:8px;height:8px;background:var(--n8n-primary);border-radius:50%;animation:dot-pulse 1.4s infinite ease-in-out both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dot-pulse{0%,100%,80%{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.confetti{position:fixed;width:10px;height:10px;background-color:var(--n8n-primary);animation:confetti-fall 3s linear forwards;z-index:var(--z-modal)}@keyframes confetti-fall{to{transform:translateY(100vh) rotate(360deg);opacity:0}}.count-up{font-variant-numeric:tabular-nums;font-feature-settings:'tnum'}.parallax{will-change:transform}.progress-bar-animated{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem;animation:progress-bar-stripes 1s linear infinite}@keyframes progress-bar-stripes{0%{background-position:1rem 0}100%{background-position:0 0}}.shake{animation:shake .4s ease-in-out}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-8px)}20%,40%,60%,80%{transform:translateX(8px)}}.fade-in{animation:fade-in .3s ease-in}@keyframes fade-in{from{opacity:0}to{opacity:1}}.fade-out{animation:fade-out .3s ease-out}@keyframes fade-out{from{opacity:1}to{opacity:0}}.slide-in-right{animation:slide-in-right .3s ease-out}@keyframes slide-in-right{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.slide-in-left{animation:slide-in-left .3s ease-out}@keyframes slide-in-left{from{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}.slide-in-up{animation:slide-in-up .3s ease-out}@keyframes slide-in-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.slide-in-down{animation:slide-in-down .3s ease-out}@keyframes slide-in-down{from{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.rotate-90{transform:rotate(90deg);transition:transform var(--transition-base) var(--ease-out)}.rotate-180{transform:rotate(180deg);transition:transform var(--transition-base) var(--ease-out)}.glow{animation:glow 2s ease-in-out infinite alternate}@keyframes glow{from{box-shadow:0 0 10px rgba(255,109,90,.5)}to{box-shadow:0 0 20px #ff6d5a}}.heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,100%{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%{transform:scale(1.1)}}.ripple{position:relative;overflow:hidden}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active::after{width:200%;height:200%}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.spinner{animation:spin .8s linear infinite!important}}.gpu-accelerated{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.reveal.active{will-change:auto}