:root{--vpa-core-primary:#3AA3FF;--vpa-core-primary-dark:#2563EB;--vpa-core-success:#10B981;--vpa-core-warning:#F59E0B;--vpa-core-error:#EF4444;--vpa-core-bg-dark:#0B0F14;--vpa-core-bg-lighter:#1A1F24;--vpa-core-text-main:#E5E7EB;--vpa-core-text-muted:#9CA3AF;--vpa-core-border:#374151;--vpa-core-shadow:0 4px 12px rgba(0, 0, 0, 0.3);--vpa-core-radius:8px;--vpa-core-transition:all 0.2s cubic-bezier(0.4, 0, 0.2, 1)}.vpa-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:1px solid var(--vpa-core-border);border-radius:var(--vpa-core-radius);background:var(--vpa-core-bg-lighter);color:var(--vpa-core-text-main);font-size:.875rem;font-weight:500;cursor:pointer;transition:var(--vpa-core-transition);text-decoration:none;position:relative;overflow:hidden}.vpa-btn:hover{transform:translateY(-1px);box-shadow:var(--vpa-core-shadow)}.vpa-btn:active{transform:translateY(0)}.vpa-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.vpa-btn-like{border-color:#EC4899;color:#EC4899}.vpa-btn-like:hover{background:#EC4899;color:#fff}.vpa-btn-like.active{background:#EC4899;color:#fff;animation:vpa-like-pulse 0.3s ease}.vpa-btn-follow{border-color:var(--vpa-core-primary);color:var(--vpa-core-primary)}.vpa-btn-follow:hover{background:var(--vpa-core-primary);color:#fff}.vpa-btn-follow.active{background:var(--vpa-core-primary);color:#fff}.vpa-btn-copy{border-color:var(--vpa-core-success);color:var(--vpa-core-success)}.vpa-btn-copy:hover{background:var(--vpa-core-success);color:#fff}.vpa-btn-copy.copied{background:var(--vpa-core-success);color:#fff;animation:vpa-copy-success 0.6s ease}.vpa-btn-sm{padding:.375rem .75rem;font-size:.75rem}.vpa-btn-lg{padding:.75rem 1.5rem;font-size:1rem}.vpa-btn-icon{padding:.5rem;min-width:40px;justify-content:center}.vpa-btn-icon .vpa-icon{width:18px;height:18px}.vpa-btn.loading{pointer-events:none;opacity:.7}.vpa-btn.loading::before{content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid currentColor;border-top-color:#fff0;border-radius:50%;animation:vpa-spin 1s linear infinite}.vpa-btn.loading .vpa-btn-text{opacity:0}@keyframes vpa-like-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}100%{transform:scale(1)}}@keyframes vpa-copy-success{0%{transform:scale(1)}50%{transform:scale(1.1);box-shadow:0 0 0 8px rgb(16 185 129 / .3)}100%{transform:scale(1);box-shadow:0 0 0 0 #fff0}}@keyframes vpa-spin{to{transform:rotate(360deg)}}.vpa-btn::after{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 0.3s ease,height 0.3s ease}.vpa-btn:active::after{width:120px;height:120px}.vpa-btn-group{display:flex;align-items:center;gap:.5rem}.vpa-btn-group .vpa-btn{flex:1}.vpa-btn-toolbar{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--vpa-core-bg-dark);border-radius:var(--vpa-core-radius);border:1px solid var(--vpa-core-border)}.vpa-count{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--vpa-core-text-muted);font-weight:600}.vpa-count-number{transition:var(--vpa-core-transition)}.vpa-count-number.updated{animation:vpa-count-update 0.5s ease}@keyframes vpa-count-update{0%{transform:scale(1)}50%{transform:scale(1.3);color:var(--vpa-core-primary)}100%{transform:scale(1)}}.vpa-like-button{position:relative}.vpa-like-button .vpa-heart{transition:var(--vpa-core-transition)}.vpa-like-button.active .vpa-heart{fill:#EC4899;animation:vpa-heart-beat 0.4s ease}@keyframes vpa-heart-beat{0%,100%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.2)}}.vpa-follow-button .vpa-follow-icon{transition:var(--vpa-core-transition)}.vpa-follow-button.active .vpa-follow-icon{transform:scale(1.1)}.vpa-copy-feedback{position:absolute;top:-30px;left:50%;transform:translateX(-50%);padding:.25rem .5rem;background:var(--vpa-core-success);color:#fff;border-radius:4px;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:all 0.3s ease;z-index:1000}.vpa-copy-feedback::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid #fff0;border-top-color:var(--vpa-core-success)}.vpa-copy-feedback.show{opacity:1;transform:translateX(-50%) translateY(-5px)}.vpa-btn-like:hover .vpa-heart{fill:#EC4899;filter:drop-shadow(0 0 8px rgb(236 72 153 / .5))}.vpa-btn-follow:hover .vpa-follow-icon{color:var(--vpa-core-primary);filter:drop-shadow(0 0 8px rgb(58 163 255 / .5))}.vpa-btn-copy:hover .vpa-copy-icon{color:var(--vpa-core-success);filter:drop-shadow(0 0 8px rgb(16 185 129 / .5))}.vpa-compact .vpa-btn{padding:.375rem .75rem;font-size:.75rem}.vpa-compact .vpa-btn-icon{padding:.375rem;min-width:32px}.vpa-compact .vpa-btn-icon .vpa-icon{width:14px;height:14px}.vpa-btn:disabled,.vpa-btn.disabled{background:var(--vpa-core-border);color:var(--vpa-core-text-muted);border-color:var(--vpa-core-border);cursor:not-allowed;opacity:.5}.vpa-btn:disabled:hover,.vpa-btn.disabled:hover{transform:none;box-shadow:none}.vpa-btn:focus{outline:2px solid var(--vpa-core-primary);outline-offset:2px}.vpa-btn:focus:not(:focus-visible){outline:none}@media (max-width:768px){.vpa-btn{min-height:44px}.vpa-btn-group{flex-direction:column;align-items:stretch}.vpa-btn-toolbar{flex-wrap:wrap;gap:.5rem}}@media (prefers-contrast:high){.vpa-btn{border-width:2px}.vpa-btn:focus{outline-width:3px}}@media (prefers-reduced-motion:reduce){.vpa-btn,.vpa-count-number,.vpa-heart,.vpa-follow-icon{transition:none}.vpa-btn:hover{transform:none}.vpa-like-pulse,.vpa-copy-success,.vpa-heart-beat,.vpa-count-update{animation:none}}@media (prefers-color-scheme:dark){.vpa-btn{background:var(--vpa-core-bg-darker,#111827);border-color:var(--vpa-core-border,#374151)}}.vpa-btn-like.rate-limited,.vpa-btn-follow.rate-limited,.vpa-btn-copy.rate-limited{background:var(--vpa-core-warning);color:#fff;cursor:not-allowed;animation:vpa-rate-limit-pulse 2s infinite}@keyframes vpa-rate-limit-pulse{0%,100%{opacity:.7}50%{opacity:1}}.vpa-btn[data-tooltip]{position:relative}.vpa-btn[data-tooltip]:hover::before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:var(--vpa-core-bg-dark);color:var(--vpa-core-text-main);padding:.5rem;border-radius:4px;font-size:.75rem;white-space:nowrap;z-index:1000;margin-bottom:5px;border:1px solid var(--vpa-core-border)}.vpa-btn,.vpa-count-number{will-change:transform}.vpa-btn:not(:hover):not(:active){will-change:auto}