.love-button{border:2px solid var(--foreground);border-radius:var(--radius);min-height:44px;color:var(--background);background:var(--foreground);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;transition:background-color .2s ease-in-out,border-color .2s ease-in-out,transform .2s ease-in-out,opacity .2s ease-in-out,visibility .2s;display:inline-flex;position:relative;overflow:hidden}.love-button:hover:not(:disabled){transform:translateY(-2px)}.love-button:active:not(:disabled){transform:scale(.95)}.love-button:disabled{opacity:.7;cursor:not-allowed}.love-button-floating{z-index:50;background:var(--background);border:2px solid var(--brand-red);width:52px;height:52px;color:var(--brand-red-strong);flex-direction:column;gap:.125rem;padding:0;font-size:.75rem;position:fixed;bottom:1rem;right:1rem}.love-button-floating:hover:not(:disabled){background:var(--muted);border-color:var(--brand-red-strong)}@media (width>=640px){.love-button-floating{width:56px;height:56px;bottom:1.5rem;right:1.5rem}}@media (width<=1023.98px){.love-button-parked .love-button-floating{visibility:hidden;opacity:0}}@media (width>=1024px){.love-button-floating{flex-direction:row;gap:.5rem;width:auto;height:auto;min-height:44px;padding:0 1rem;position:static}}.love-button-inline{display:inline-flex}.love-button-inline:hover:not(:disabled){border-color:var(--brand-red)}.love-icon-wrapper{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.love-icon{width:1.25rem;height:1.25rem;transition:all .2s ease-in-out}.love-button-floating .love-icon{width:1.25rem;height:1.25rem;color:var(--brand-red)}.love-button.animating .love-icon{animation:.6s cubic-bezier(.4,0,.2,1) heart-beat}@keyframes heart-beat{0%,to{transform:scale(1)}25%{transform:scale(1.3)rotate(-10deg)}50%{transform:scale(1.1)rotate(5deg)}75%{transform:scale(1.2)rotate(-5deg)}}.love-count{z-index:1;font-variant-numeric:tabular-nums;transition:transform .2s ease-in-out;position:relative}.love-button-floating .love-count{color:var(--brand-red-strong);font-size:.75rem;font-weight:600}.love-button.animating .love-count{animation:.6s cubic-bezier(.4,0,.2,1) count-pop}@keyframes count-pop{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.love-particle{background:var(--brand-red);pointer-events:none;opacity:0;transform-origin:50%;border-radius:50%;width:6px;height:6px;animation:1s cubic-bezier(.4,0,.2,1) forwards particle-burst;position:absolute;top:50%;left:50%}@keyframes particle-burst{0%{opacity:1;transform:translate(-50%,-50%)translate(0)scale(1)}to{opacity:0;transform:translate(-50%, -50%) translate(calc(cos(var(--particle-angle)) * 50px), calc(sin(var(--particle-angle)) * 50px)) scale(0)}}@media (prefers-reduced-motion:reduce){.love-button,.love-icon,.love-count{transition:none!important;animation:none!important}.love-particle{display:none}.love-button:hover:not(:disabled){transform:none}}.love-button:focus-visible{outline:2px solid var(--brand-red);outline-offset:2px}
