:root{--ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-in-out-expo:cubic-bezier(.87,0,.13,1);--ease-elastic:cubic-bezier(.68,-.6,.32,1.6);--ease-back:cubic-bezier(.36,0,.66,-.56);--ease-anticipate:cubic-bezier(.68,-.55,.265,1.55);--stagger-1:50ms;--stagger-2:.1s;--stagger-3:.15s;--stagger-4:.2s;--stagger-5:.25s}.button-press{transition:all var(--transition-fast)var(--ease-smooth);transform-style:preserve-3d;position:relative}.button-press:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--transition-fast)var(--ease-smooth);background:linear-gradient(#ffffff1a 0%,#0000 50%,#0000001a 100%);position:absolute;inset:0}.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{transition:transform var(--transition-normal)var(--ease-out-expo);position:relative}.ripple{position:relative;overflow:hidden}.ripple:after{content:"";background:#ffffff80;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ripple:active:after{opacity:0;width:300px;height:300px}@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%);animation:skeleton-pulse 2s infinite var(--ease-in-out-expo);background-size:200% 100%}@keyframes dot-bounce{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.loading-dots span{background-color:hsl(var(--primary));border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite both dot-bounce;display:inline-block}.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:"";border-radius:inherit;transition:all var(--transition-normal)var(--ease-smooth);border:2px solid #0000;position:absolute;inset:-4px}.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{background:hsl(var(--primary));cursor:ew-resize;width:4px;transition:width var(--transition-fast)var(--ease-smooth);z-index:10;position:absolute;top:0;bottom:0}.comparison-slider:hover,.comparison-slider:active{width:8px}.comparison-slider:before,.comparison-slider:after{content:"";background:hsl(var(--primary));opacity:0;width:24px;height:24px;transition:opacity var(--transition-fast)var(--ease-smooth);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.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{animation:diff-highlight 1s var(--ease-smooth);background-color:hsl(var(--primary)/.1);border-left:3px solid hsl(var(--primary))}.diff-removed{animation:diff-highlight 1s var(--ease-smooth);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%{opacity:1;transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.02)}to{opacity:1;transform:translateY(0)scale(1)}}.card-stack-item{animation:card-stack .4s var(--ease-elastic)}.card-stack-item:first-child{animation-delay:0s}.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:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(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:0s}.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{transition:all var(--transition-normal)var(--ease-smooth);transform-style:preserve-3d;position:relative}.model-card:before{content:"";border-radius:inherit;background:linear-gradient(45deg,transparent,hsl(var(--primary)/.1),transparent);opacity:0;transition:opacity var(--transition-normal)var(--ease-smooth);position:absolute;inset:-1px}.model-card:hover:before{opacity:1;animation:2s infinite shimmer}.model-card:hover{box-shadow:0 10px 20px -5px #0003,0 0 30px hsl(var(--primary)/.2);transform:translateY(-4px)rotateX(-2deg)}@keyframes float-label{0%{opacity:.5;transform:translateY(0)}to{opacity:1;transform:translateY(-20px)scale(.8)}}.floating-label{animation:float-label .3s var(--ease-out-expo)forwards}@keyframes progress-wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-wave{position:relative;overflow:hidden}.progress-wave:after{content:"";background:linear-gradient(90deg,transparent,hsl(var(--primary)/.3),transparent);animation:1.5s infinite progress-wave;position:absolute;inset:0}.code-block-interactive{transition:all var(--transition-normal)var(--ease-smooth);position:relative}.code-block-interactive:hover{box-shadow:0 0 40px hsl(var(--primary)/.1)}.code-line-highlight{background:hsl(var(--primary)/.1);transition:all var(--transition-fast)var(--ease-smooth);position:relative}.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{box-shadow:0 0 30px hsl(var(--primary)/.3);transform:scale(1.02)}@keyframes toggle-slide{0%{transform:translate(0)}to{transform:translate(100%)}}.comparison-toggle{background:hsl(var(--muted));cursor:pointer;width:60px;height:30px;transition:background var(--transition-fast)var(--ease-smooth);border-radius:15px;position:relative}.comparison-toggle.active{background:hsl(var(--primary)/.2)}.comparison-toggle:after{content:"";background:hsl(var(--primary));width:24px;height:24px;transition:transform var(--transition-normal)var(--ease-elastic);border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0003}.comparison-toggle.active:after{transform:translate(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{transition:transform .1s var(--ease-smooth);transform:scale(.98)}}
