.scroll-reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.scroll-reveal-left{opacity:0;transform:translate(-40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.scroll-reveal-left.revealed{opacity:1;transform:translate(0)}.scroll-reveal-right{opacity:0;transform:translate(40px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1)}.scroll-reveal-right.revealed{opacity:1;transform:translate(0)}.scroll-reveal-scale{opacity:0;transform:scale(.92);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.scroll-reveal-scale.revealed{opacity:1;transform:scale(1)}.stagger-1{transition-delay:0ms!important}.stagger-2{transition-delay:80ms!important}.stagger-3{transition-delay:.16s!important}.stagger-4{transition-delay:.24s!important}.stagger-5{transition-delay:.32s!important}.stagger-6{transition-delay:.4s!important}.stagger-7{transition-delay:.48s!important}.stagger-8{transition-delay:.56s!important}.hover-spring{transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s cubic-bezier(.16,1,.3,1)}.hover-spring:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 40px -12px #00000014,0 4px 12px -2px #0000000a}.hover-spring:active{transform:translateY(-1px) scale(.99);transition-duration:.15s}.hover-lift{transition:transform .35s cubic-bezier(.34,1.56,.64,1),box-shadow .35s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 12px 24px -8px #0000000f}@keyframes glow-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.glow-pulse{animation:glow-pulse 2s ease-in-out infinite}.count-up{display:inline-block;transition:all .3s ease}.view-enter{animation:viewFadeIn .35s ease-out both}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}.modal-enter{animation:modalSpring .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes modalSpring{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.backdrop-enter{animation:backdropFade .3s ease forwards}@keyframes backdropFade{0%{opacity:0}to{opacity:1}}.dropdown-enter{animation:dropdownSlide .25s cubic-bezier(.16,1,.3,1) forwards}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.float-up-enter{animation:floatUp .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes floatUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.drag-over{background-color:#6366f10f!important;border:2px dashed rgba(99,102,241,.3)!important;border-radius:16px;transition:all .2s ease}.dragging{opacity:.5;transform:rotate(2deg) scale(1.02);transition:all .15s ease;cursor:grabbing!important}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite}.progress-fill{transition:width 1s cubic-bezier(.16,1,.3,1)}.toast-enter{animation:toastSlide .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes toastSlide{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes checkBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.check-bounce{animation:checkBounce .3s cubic-bezier(.34,1.56,.64,1)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.shake{animation:shake .3s ease}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#94a3b8}
