:root{--ease-out-expo:cubic-bezier(0.19,1,0.22,1);--ease-in-out-expo:cubic-bezier(0.87,0,0.13,1);--ease-elastic:cubic-bezier(0.68,-0.6,0.32,1.6);--ease-back:cubic-bezier(0.36,0,0.66,-0.56);--ease-anticipate:cubic-bezier(0.68,-0.55,0.265,1.55);--stagger-1:50ms;--stagger-2:100ms;--stagger-3:150ms;--stagger-4:200ms;--stagger-5:250ms}.button-press{position:relative;transition:all var(--transition-fast) var(--ease-smooth);transform-style:preserve-3d}.button-press:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,hsla(0,0%,100%,.1) 0,transparent 50%,rgba(0,0,0,.1));opacity:0;transition:opacity var(--transition-fast) var(--ease-smooth)}.button-press:hover:before{opacity:1}.button-press:active{transform:scale(.98) translateZ(-2px)}.card-tilt{transition:transform var(--transition-normal) var(--ease-smooth);transform-style:preserve-3d}.card-tilt:hover{transform:rotateX(-2deg) rotateY(2deg) translateZ(10px)}.magnetic-hover{position:relative;transition:transform var(--transition-normal) var(--ease-out-expo)}.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%,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:after{width:300px;height:300px;opacity:0}@keyframes skeleton-pulse{0%{background-position:-200%}to{background-position:200%}}.skeleton-enhanced{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--muted)/.5) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:skeleton-pulse 2s infinite var(--ease-in-out-expo)}@keyframes dot-bounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:hsl(var(--primary));animation:dot-bounce 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes page-enter{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes page-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.98)}}.page-transition-enter{animation:page-enter .5s var(--ease-out-expo) both}.page-transition-exit{animation:page-exit .3s var(--ease-in-out-expo) both}.focus-ring{position:relative}.focus-ring:after{content:"";position:absolute;inset:-4px;border-radius:inherit;border:2px solid transparent;transition:all var(--transition-normal) var(--ease-smooth)}.focus-ring:focus-visible:after{border-color:hsl(var(--primary));box-shadow:0 0 0 4px hsl(var(--primary)/.1)}.comparison-split{position:relative;overflow:hidden}.comparison-slider{position:absolute;top:0;bottom:0;width:4px;background:hsl(var(--primary));cursor:ew-resize;transition:width var(--transition-fast) var(--ease-smooth);z-index:10}.comparison-slider:active,.comparison-slider:hover{width:8px}.comparison-slider:after,.comparison-slider:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:hsl(var(--primary));opacity:0;transition:opacity var(--transition-fast) var(--ease-smooth)}.comparison-slider:hover:before{opacity:.2}@keyframes diff-highlight{0%{background-color:hsl(var(--primary)/.3)}to{background-color:hsl(var(--primary)/.1)}}.diff-added{background-color:hsl(var(--primary)/.1);border-left:3px solid hsl(var(--primary))}.diff-added,.diff-removed{animation:diff-highlight 1s var(--ease-smooth)}.diff-removed{background-color:hsl(var(--destructive)/.1);border-left:3px solid hsl(var(--destructive))}@keyframes tooltip-enter{0%{opacity:0;transform:scale(.9) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.tooltip-enhanced{animation:tooltip-enter .2s var(--ease-out-expo)}@keyframes card-stack{0%{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-10px) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}.card-stack-item{animation:card-stack .4s var(--ease-elastic)}.card-stack-item:first-child{animation-delay:0ms}.card-stack-item:nth-child(2){animation-delay:50ms}.card-stack-item:nth-child(3){animation-delay:.1s}@keyframes success-pulse{0%{box-shadow:0 0 0 0 hsl(var(--primary)/.4)}70%{box-shadow:0 0 0 10px hsl(var(--primary)/0)}to{box-shadow:0 0 0 0 hsl(var(--primary)/0)}}@keyframes error-shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.success-feedback{animation:success-pulse 1s var(--ease-smooth)}.error-feedback{animation:error-shake .5s var(--ease-smooth)}@keyframes scroll-reveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.scroll-reveal{opacity:0;animation:scroll-reveal .8s var(--ease-out-expo) forwards}.scroll-reveal:first-child{animation-delay:0ms}.scroll-reveal:nth-child(2){animation-delay:.1s}.scroll-reveal:nth-child(3){animation-delay:.2s}.scroll-reveal:nth-child(4){animation-delay:.3s}.scroll-reveal:nth-child(5){animation-delay:.4s}@keyframes glow-pulse{0%,to{filter:brightness(1) drop-shadow(0 0 5px hsl(var(--primary)/.5))}50%{filter:brightness(1.1) drop-shadow(0 0 20px hsl(var(--primary)/.8))}}.glow-on-hover{transition:filter var(--transition-normal) var(--ease-smooth)}.glow-on-hover:hover{animation:glow-pulse 2s infinite var(--ease-smooth)}.model-card{position:relative;transition:all var(--transition-normal) var(--ease-smooth);transform-style:preserve-3d}.model-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(45deg,transparent,hsl(var(--primary)/.1),transparent);opacity:0;transition:opacity var(--transition-normal) var(--ease-smooth)}.model-card:hover:before{opacity:1;animation:shimmer 2s infinite}.model-card:hover{transform:translateY(-4px) rotateX(-2deg);box-shadow:0 10px 20px -5px rgba(0,0,0,.2),0 0 30px hsl(var(--primary)/.2)}@keyframes float-label{0%{transform:translateY(0);opacity:.5}to{transform:translateY(-20px) scale(.8);opacity:1}}.floating-label{animation:float-label .3s var(--ease-out-expo) forwards}@keyframes progress-wave{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-wave{position:relative;overflow:hidden}.progress-wave:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsl(var(--primary)/.3),transparent);animation:progress-wave 1.5s infinite}.code-block-interactive{position:relative;transition:all var(--transition-normal) var(--ease-smooth)}.code-block-interactive:hover{box-shadow:0 0 40px hsl(var(--primary)/.1)}.code-line-highlight{position:relative;background:hsl(var(--primary)/.1);transition:all var(--transition-fast) var(--ease-smooth)}.code-line-highlight:hover{background:hsl(var(--primary)/.2)}.drag-active{background:hsl(var(--primary)/.1);border:2px dashed hsl(var(--primary));transition:all var(--transition-fast) var(--ease-smooth)}.drag-over{transform:scale(1.02);box-shadow:0 0 30px hsl(var(--primary)/.3)}@keyframes toggle-slide{0%{transform:translateX(0)}to{transform:translateX(100%)}}.comparison-toggle{position:relative;width:60px;height:30px;background:hsl(var(--muted));border-radius:15px;cursor:pointer;transition:background var(--transition-fast) var(--ease-smooth)}.comparison-toggle.active{background:hsl(var(--primary)/.2)}.comparison-toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;background:hsl(var(--primary));border-radius:50%;transition:transform var(--transition-normal) var(--ease-elastic);box-shadow:0 2px 4px rgba(0,0,0,.2)}.comparison-toggle.active:after{transform:translateX(30px)}@media (hover:hover) and (pointer:fine){.hover-scale{transition:transform var(--transition-fast) var(--ease-smooth)}.hover-scale:hover{transform:scale(1.05)}}@media (hover:none) and (pointer:coarse){.touch-feedback{-webkit-tap-highlight-color:hsl(var(--primary)/.1)}.touch-feedback:active{transform:scale(.98);transition:transform .1s var(--ease-smooth)}}