/* Manila58 v3.2.65 — full-screen favorite animations. Visual only; never captures taps. */
/* V3.2.66: both client and server states use the same visual rule.
   Saved: filled rose-red heart. Unsaved: rose-red outline with a CLEAR center.
   Target path explicitly: inherited SVG fills or theme path rules must not leave it solid. */
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite,
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite[aria-pressed="false"],
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite[aria-pressed="true"]{
 color:#eb2d62!important;
}
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite svg{
 fill:none!important;
 stroke:currentColor!important;
}
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite svg path,
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite[aria-pressed="false"] svg path{
 fill:none!important;
 stroke:currentColor!important;
}
#m58-v3251.m58-v3262-reference button.m58-v3262-favorite[aria-pressed="true"] svg path{
 fill:currentColor!important;
 stroke:currentColor!important;
}
#m58-v3251.m58-v3262-reference .m58-v3262-favorite.m58-v3265-pop svg{animation:m58-v3265-button-pulse .58s ease-out both}
@keyframes m58-v3265-button-pulse{0%{transform:scale(1)}33%{transform:scale(1.48)}57%{transform:scale(.91)}100%{transform:scale(1)}}
.m58-v3265-overlay{
 position:fixed!important;inset:0!important;z-index:2147483000!important;
 pointer-events:none!important;touch-action:none!important;overflow:hidden!important;
 width:100vw!important;height:100vh!important;height:100dvh!important;
 contain:layout style paint;isolation:isolate;
}
.m58-v3265-overlay::before{
 content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(circle at 50% 46%,rgba(255,55,105,.14),transparent 63%);
 opacity:0;animation:m58-v3265-glow 1.8s ease-out both;
}
.m58-v3265-overlay.is-unlike::before{background:radial-gradient(circle at 50% 46%,rgba(179,28,63,.16),transparent 65%)}
@keyframes m58-v3265-glow{0%{opacity:0}18%{opacity:1}100%{opacity:0}}
.m58-v3265-core{
 position:absolute;left:50%;top:45%;transform:translate3d(-50%,-50%,0);
 width:120px;height:120px;display:flex;align-items:center;justify-content:center;
 font-size:105px;line-height:1;white-space:nowrap;user-select:none;
 -webkit-user-select:none;will-change:transform,opacity;
 text-shadow:0 12px 32px rgba(224,31,88,.25);
}
.m58-v3265-overlay.is-like .m58-v3265-core{color:#f52f61;animation:m58-v3265-love-core 1.25s cubic-bezier(.2,.85,.32,1) both}
.m58-v3265-overlay.is-unlike .m58-v3265-core{animation:m58-v3265-break-core 1.45s ease-in-out both;font-size:103px}
@keyframes m58-v3265-love-core{
 0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.12) rotate(-20deg)}
 26%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1.28) rotate(7deg)}
 43%{transform:translate3d(-50%,-50%,0) scale(.94) rotate(-3deg)}
 58%{transform:translate3d(-50%,-50%,0) scale(1.13) rotate(1deg)}
 85%{opacity:.95;transform:translate3d(-50%,-50%,0) scale(1.01)}
 100%{opacity:0;transform:translate3d(-50%,-54%,0) scale(1.48)}
}
@keyframes m58-v3265-break-core{
 0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.3)}
 21%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1.3) rotate(-5deg)}
 31%{transform:translate3d(-47%,-50%,0) scale(1.06) rotate(9deg)}
 40%{transform:translate3d(-53%,-50%,0) scale(1.15) rotate(-8deg)}
 52%{opacity:1;transform:translate3d(-50%,-50%,0) scale(1.07)}
 100%{opacity:0;transform:translate3d(-50%,60%,0) scale(.63) rotate(18deg)}
}
.m58-v3265-particle{
 position:absolute;display:block;line-height:1;white-space:nowrap;user-select:none;
 -webkit-user-select:none;opacity:0;will-change:transform,opacity;
 text-shadow:0 2px 9px rgba(244,41,94,.24);filter:drop-shadow(0 1px 1px rgba(160,10,62,.1));
}
.m58-v3265-overlay.is-like .m58-v3265-particle{
 animation:m58-v3265-float var(--duration,1.8s) cubic-bezier(.12,.46,.25,1) var(--delay,0s) both;
}
@keyframes m58-v3265-float{
 0%{opacity:0;transform:translate3d(0,58px,0) scale(.32) rotate(-14deg)}
 17%{opacity:.98}
 68%{opacity:.95}
 100%{opacity:0;transform:translate3d(var(--dx,0px),var(--dy,-400px),0) scale(var(--s,1.22)) rotate(var(--rot,16deg))}
}
.m58-v3265-overlay.is-unlike .m58-v3265-particle{
 animation:m58-v3265-fall var(--duration,1.7s) cubic-bezier(.3,.05,.8,.8) var(--delay,0s) both;
}
@keyframes m58-v3265-fall{
 0%{opacity:0;transform:translate3d(0,-35px,0) rotate(-22deg) scale(.5)}
 15%{opacity:1}
 63%{opacity:.9}
 100%{opacity:0;transform:translate3d(var(--dx,0px),var(--dy,480px),0) rotate(var(--rot,50deg)) scale(.65)}
}
@media(prefers-reduced-motion:reduce){
 #m58-v3251.m58-v3262-reference .m58-v3262-favorite.m58-v3265-pop svg{animation:none!important}
 .m58-v3265-overlay::before{animation:none!important;opacity:0!important}
 .m58-v3265-overlay .m58-v3265-core{animation:m58-v3265-accessible .65s ease-out both!important}
 .m58-v3265-overlay .m58-v3265-particle{display:none!important}
 @keyframes m58-v3265-accessible{0%{opacity:0;transform:translate3d(-50%,-50%,0) scale(.9)}30%{opacity:1}100%{opacity:0;transform:translate3d(-50%,-50%,0) scale(1)}}
}
