.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-thin{scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.08) transparent}.scrollbar-thin::-webkit-scrollbar{width:5px;height:5px}.scrollbar-thin::-webkit-scrollbar-track{background:transparent}.scrollbar-thin::-webkit-scrollbar-thumb{background:#00000014;border-radius:10px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#00000026}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fade-in .2s ease-out}.animate-slide-up{animation:slide-up .3s ease-out}.animate-slide-down{animation:slide-down .3s ease-out}.animate-scale-in{animation:scale-in .2s ease-out}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes toast-enter{0%{opacity:0;transform:translateY(100%) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(100%) scale(.9)}}.toast-enter{animation:toast-enter .3s ease-out forwards}.toast-exit{animation:toast-exit .2s ease-in forwards}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.focus-ring{outline:none}.focus-ring:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #3b82f6}[draggable=true]{-webkit-user-drag:element}.panel-transition{transition:width .3s ease,transform .3s ease,opacity .3s ease}.hamburger-line{transition:transform .2s ease,opacity .2s ease}::selection{background-color:#8b5cf64d}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}@keyframes pulse-subtle{0%,to{box-shadow:0 10px 15px -3px #10b9814d,0 4px 6px -2px #10b98133}50%{box-shadow:0 20px 25px -5px #10b98166,0 10px 10px -5px #10b9814d}}.animate-pulse-subtle{animation:pulse-subtle 2s ease-in-out infinite}@keyframes connection-flash{0%{stroke:#10b981;stroke-width:4}50%{stroke:#34d399;stroke-width:6}to{stroke:#8b5cf6;stroke-width:2.5}}.animate-connection-flash{animation:connection-flash .6s ease-out forwards}@keyframes node-pop-in{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.animate-node-pop-in{animation:node-pop-in .3s ease-out forwards}@keyframes orbit{0%{transform:rotate(0) translate(30px) rotate(0)}to{transform:rotate(360deg) translate(30px) rotate(-360deg)}}@keyframes orbit-reverse{0%{transform:rotate(360deg) translate(24px) rotate(-360deg)}to{transform:rotate(0) translate(24px) rotate(0)}}.animate-orbit{animation:orbit 3s linear infinite}.animate-orbit-reverse{animation:orbit-reverse 4s linear infinite}.animate-orbit-slow{animation:orbit 5s linear infinite}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}@keyframes sparkle-float{0%,to{opacity:0;transform:translateY(0) scale(0)}10%{opacity:1;transform:translateY(-5px) scale(1)}90%{opacity:1;transform:translateY(-20px) scale(1)}to{opacity:0;transform:translateY(-25px) scale(0)}}.animate-sparkle{animation:sparkle 1.5s ease-in-out infinite}.animate-sparkle-delayed{animation:sparkle 1.5s ease-in-out infinite .5s}.animate-sparkle-float{animation:sparkle-float 2s ease-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes float-rotate{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-10px) rotate(5deg)}}.animate-float{animation:float 3s ease-in-out infinite}.animate-float-delayed{animation:float 3s ease-in-out infinite 1s}.animate-float-rotate{animation:float-rotate 4s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #8b5cf64d}50%{box-shadow:0 0 40px #8b5cf699,0 0 60px #8b5cf64d}}@keyframes pulse-ring{0%{transform:scale(.8);opacity:1}to{transform:scale(2);opacity:0}}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-pulse-ring{animation:pulse-ring 1.5s ease-out infinite}@keyframes progress-wave{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.animate-progress-wave{background:linear-gradient(90deg,#8b5cf6,#6366f1,#8b5cf6);background-size:200% 100%;animation:progress-wave 2s ease infinite}@keyframes confetti-fall{0%{transform:translateY(-100%) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes confetti-burst{0%{transform:scale(0) rotate(0);opacity:1}50%{opacity:1}to{transform:scale(1) rotate(180deg) translateY(50px);opacity:0}}.animate-confetti{animation:confetti-fall 3s ease-out forwards}.animate-confetti-burst{animation:confetti-burst 1s ease-out forwards}@keyframes reveal-up{0%{clip-path:inset(100% 0 0 0);opacity:0}to{clip-path:inset(0 0 0 0);opacity:1}}@keyframes reveal-scale{0%{transform:scale(1.1);opacity:0;filter:blur(10px)}to{transform:scale(1);opacity:1;filter:blur(0)}}.animate-reveal-up{animation:reveal-up .8s ease-out forwards}.animate-reveal-scale{animation:reveal-scale .6s ease-out forwards}@keyframes shimmer-wave{0%{transform:translate(-100%)}to{transform:translate(100%)}}.shimmer-wave{position:relative;overflow:hidden}.shimmer-wave:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer-wave 1.5s infinite}@keyframes magic-particle{0%{transform:translateY(0) translate(0) scale(0);opacity:0}20%{opacity:1;transform:translateY(-10px) translate(5px) scale(1)}to{transform:translateY(-50px) translate(-10px) scale(0);opacity:0}}.animate-magic-particle{animation:magic-particle 2s ease-out infinite}@keyframes celebration-pop{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes celebration-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.animate-celebration-pop{animation:celebration-pop .5s ease-out forwards}.animate-celebration-shake{animation:celebration-shake .5s ease-in-out}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.stagger-7{animation-delay:.35s}.stagger-8{animation-delay:.4s}@keyframes drop-zone-pulse{0%,to{border-color:#8b5cf64d;background-color:#8b5cf60d}50%{border-color:#8b5cf699;background-color:#8b5cf61a}}.animate-drop-zone-pulse{animation:drop-zone-pulse 1.5s ease-in-out infinite}@keyframes tab-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.animate-tab-slide-in{animation:tab-slide-in .3s ease-out forwards}
