.fav-btn{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--muted-foreground);cursor:pointer;background:#ffffffeb;border-radius:999px;justify-content:center;align-items:center;transition:color .15s,transform .12s,border-color .15s,background .15s;display:inline-flex;position:relative;box-shadow:0 4px 12px #3c5a461f}.fav-btn--md{width:40px;height:40px}.fav-btn--sm{width:32px;height:32px}.fav-btn:hover{color:#e0556b;border-color:#f1b9c3;transform:translateY(-1px)}.fav-btn:active{transform:translateY(0)scale(.94)}.fav-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.fav-btn.is-active{color:#e0556b;background:#fff;border-color:#f1b9c3}@keyframes fav-pop{0%{transform:scale(.8)}55%{transform:scale(1.18)}to{transform:scale(1)}}.fav-btn.is-active[data-hydrated=true] svg{animation:.28s fav-pop}.fav-btn__bubble{z-index:20;background:var(--ink,#124c34);color:#fff;font-family:var(--font-sans);white-space:nowrap;pointer-events:none;opacity:0;border-radius:10px;padding:7px 11px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .18s,transform .18s;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-4px)scale(.96);box-shadow:0 8px 20px #283c2d38}.fav-btn__bubble:before{content:"";border:5px solid #0000;border-bottom-color:var(--ink,#124c34);position:absolute;bottom:100%;right:14px}.fav-btn__bubble.is-shown{opacity:1;transform:translateY(0)scale(1)}@media (prefers-reduced-motion:reduce){.fav-btn,.fav-btn.is-active[data-hydrated=true] svg{transition:none;animation:none}.fav-btn__bubble{transition:none}}
