:root{--vpa-anim-fast:0.15s;--vpa-anim-normal:0.3s;--vpa-anim-slow:0.6s;--vpa-ease-out:cubic-bezier(0.4, 0, 0.2, 1);--vpa-ease-in:cubic-bezier(0.4, 0, 1, 1);--vpa-ease-bounce:cubic-bezier(0.68, -0.55, 0.265, 1.55)}.vpa-animate-in{animation:vpa-fade-in-up var(--vpa-anim-slow) var(--vpa-ease-out) forwards}@keyframes vpa-fade-in-up{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.vpa-animate-out{animation:vpa-fade-out-down var(--vpa-anim-normal) var(--vpa-ease-in) forwards}@keyframes vpa-fade-out-down{to{opacity:0;transform:translateY(20px) scale(.95)}}.vpa-like-animation{position:relative;overflow:visible}.vpa-like-animation::after{content:'❤️';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);font-size:1.5rem;opacity:0;pointer-events:none;z-index:10}.vpa-like-animation.animate::after{animation:vpa-like-burst var(--vpa-anim-slow) var(--vpa-ease-bounce)}@keyframes vpa-like-burst{0%{transform:translate(-50%,-50%) scale(0);opacity:0}15%{transform:translate(-50%,-50%) scale(1.3);opacity:1}30%{transform:translate(-50%,-50%) scale(1);opacity:1}100%{transform:translate(-50%,-80%) scale(.8);opacity:0}}.vpa-follow-animation{position:relative}.vpa-follow-animation.animate{animation:vpa-follow-confirm var(--vpa-anim-normal) var(--vpa-ease-out)}@keyframes vpa-follow-confirm{0%,100%{transform:scale(1)}20%{transform:scale(1.1)}40%{transform:scale(.95)}60%{transform:scale(1.05)}80%{transform:scale(.98)}}.vpa-copy-animation{position:relative}.vpa-copy-animation.animate{animation:vpa-copy-success var(--vpa-anim-slow) var(--vpa-ease-out)}@keyframes vpa-copy-success{0%{transform:scale(1);box-shadow:0 0 0 0 rgb(16 185 129 / .7)}25%{transform:scale(1.1);box-shadow:0 0 0 8px rgb(16 185 129 / .4)}50%{transform:scale(1.05);box-shadow:0 0 0 16px rgb(16 185 129 / .2)}100%{transform:scale(1);box-shadow:0 0 0 0 #fff0}}.vpa-count-animation{display:inline-block;transition:all var(--vpa-anim-normal) var(--vpa-ease-out)}.vpa-count-animation.animate{animation:vpa-count-bump var(--vpa-anim-normal) var(--vpa-ease-bounce)}@keyframes vpa-count-bump{0%{transform:scale(1)}25%{transform:scale(1.4);color:var(--vpa-core-primary)}50%{transform:scale(1.2);color:var(--vpa-core-primary)}100%{transform:scale(1)}}.vpa-skeleton{background:linear-gradient(90deg,var(--vpa-core-bg-lighter) 25%,var(--vpa-core-border) 50%,var(--vpa-core-bg-lighter) 75%);background-size:200% 100%;animation:vpa-skeleton var(--vpa-anim-slow) ease-in-out infinite;border-radius:4px}@keyframes vpa-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}.vpa-pulse{animation:vpa-pulse 2s ease-in-out infinite}@keyframes vpa-pulse{0%,100%{opacity:1}50%{opacity:.5}}.vpa-hover-lift{transition:transform var(--vpa-anim-normal) var(--vpa-ease-out)}.vpa-hover-lift:hover{transform:translateY(-4px)}.vpa-hover-scale{transition:transform var(--vpa-anim-fast) var(--vpa-ease-out)}.vpa-hover-scale:hover{transform:scale(1.05)}.vpa-hover-glow{transition:all var(--vpa-anim-normal) var(--vpa-ease-out)}.vpa-hover-glow:hover{box-shadow:0 0 20px rgb(58 163 255 / .4)}.vpa-stagger-children>*{opacity:0;transform:translateY(20px);animation:vpa-stagger-in var(--vpa-anim-slow) var(--vpa-ease-out) forwards}.vpa-stagger-children>*:nth-child(1){animation-delay:0ms}.vpa-stagger-children>*:nth-child(2){animation-delay:100ms}.vpa-stagger-children>*:nth-child(3){animation-delay:200ms}.vpa-stagger-children>*:nth-child(4){animation-delay:300ms}.vpa-stagger-children>*:nth-child(5){animation-delay:400ms}.vpa-stagger-children>*:nth-child(6){animation-delay:500ms}@keyframes vpa-stagger-in{to{opacity:1;transform:translateY(0)}}.vpa-achievement-unlock{animation:vpa-achievement-celebration 2s var(--vpa-ease-out)}@keyframes vpa-achievement-celebration{0%{transform:scale(0) rotate(-180deg);opacity:0}10%{transform:scale(1.3) rotate(-10deg);opacity:1}20%{transform:scale(1.1) rotate(5deg)}30%{transform:scale(1.2) rotate(-3deg)}40%{transform:scale(1) rotate(0deg)}50%,100%{transform:scale(1) rotate(0deg);opacity:1}}.vpa-progress-fill{position:relative;overflow:hidden;transition:width var(--vpa-anim-slow) var(--vpa-ease-out)}.vpa-progress-fill::after{content:'';position:absolute;top:0;left:0;bottom:0;width:100px;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .3),transparent);animation:vpa-progress-shine 2s ease-in-out infinite;transform:translateX(-100px)}@keyframes vpa-progress-shine{0%{transform:translateX(-100px)}50%{transform:translateX(100%)}100%{transform:translateX(-100px)}}.vpa-modal-enter{animation:vpa-modal-enter var(--vpa-anim-normal) var(--vpa-ease-out)}@keyframes vpa-modal-enter{from{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.vpa-modal-exit{animation:vpa-modal-exit var(--vpa-anim-fast) var(--vpa-ease-in)}@keyframes vpa-modal-exit{to{opacity:0;transform:scale(.9) translateY(20px)}}.vpa-scroll-reveal{opacity:0;transform:translateY(50px);transition:all var(--vpa-anim-slow) var(--vpa-ease-out)}.vpa-scroll-reveal.in-view{opacity:1;transform:translateY(0)}.vpa-button-press{transition:transform var(--vpa-anim-fast) var(--vpa-ease-out)}.vpa-button-press:active{transform:scale(.95)}.vpa-ripple{position:relative;overflow:hidden}.vpa-ripple::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgb(255 255 255 / .3);transform:translate(-50%,-50%);transition:width var(--vpa-anim-normal) var(--vpa-ease-out),height var(--vpa-anim-normal) var(--vpa-ease-out)}.vpa-ripple:active::before{width:200px;height:200px}.vpa-float{animation:vpa-float 3s ease-in-out infinite}@keyframes vpa-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.vpa-bob{animation:vpa-bob 2s ease-in-out infinite}@keyframes vpa-bob{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5px) rotate(1deg)}50%{transform:translateY(-8px) rotate(0deg)}75%{transform:translateY(-5px) rotate(-1deg)}}.vpa-shake{animation:vpa-shake 0.5s ease-in-out}@keyframes vpa-shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-4px)}20%,40%,60%,80%{transform:translateX(4px)}}.vpa-wiggle{animation:vpa-wiggle 0.8s ease-in-out}@keyframes vpa-wiggle{0%,100%{transform:rotate(0deg)}25%{transform:rotate(3deg)}75%{transform:rotate(-3deg)}}.vpa-spinner-dots{display:inline-flex;gap:4px}.vpa-spinner-dots::before,.vpa-spinner-dots::after{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;animation:vpa-dots 1.4s ease-in-out infinite both}.vpa-spinner-dots::before{animation-delay:-0.32s}@keyframes vpa-dots{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}.vpa-spinner-pulse{width:24px;height:24px;background:currentColor;border-radius:50%;animation:vpa-pulse-scale 1s ease-in-out infinite}@keyframes vpa-pulse-scale{0%,100%{transform:scale(0);opacity:1}50%{transform:scale(1);opacity:.3}}.vpa-success-check{animation:vpa-check-draw 0.6s var(--vpa-ease-out)}@keyframes vpa-check-draw{0%{stroke-dasharray:0 100}100%{stroke-dasharray:100 0}}.vpa-error-x{animation:vpa-x-draw 0.4s var(--vpa-ease-out)}@keyframes vpa-x-draw{0%{stroke-dasharray:0 50}100%{stroke-dasharray:50 0}}.vpa-micro-bounce{transition:transform var(--vpa-anim-fast) var(--vpa-ease-bounce)}.vpa-micro-bounce:hover{transform:scale(1.1)}.vpa-micro-rotate{transition:transform var(--vpa-anim-normal) var(--vpa-ease-out)}.vpa-micro-rotate:hover{transform:rotate(5deg)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}.vpa-float,.vpa-bob,.vpa-pulse,.vpa-skeleton{animation:none}}.vpa-will-change{will-change:transform,opacity}.vpa-gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.vpa-loading .vpa-animate-in,.vpa-loading .vpa-stagger-children>*{animation-play-state:paused}.vpa-paused *{animation-play-state:paused!important}@media (prefers-color-scheme:dark){.vpa-skeleton{background:linear-gradient(90deg,#1f2937 25%,#374151 50%,#1f2937 75%);background-size:200% 100%}}.vpa-like-follow-combo.animate{animation:vpa-combo-celebration 1.2s var(--vpa-ease-out)}@keyframes vpa-combo-celebration{0%{transform:scale(1)}20%{transform:scale(1.2);filter:hue-rotate(180deg)}40%{transform:scale(1.1);filter:hue-rotate(0deg)}60%{transform:scale(1.15);filter:brightness(1.2)}100%{transform:scale(1);filter:none}}