.article-heart-wrap{position:relative;isolation:isolate;display:flex;align-items:center;flex-wrap:wrap;gap:12px 16px;margin:22px 0 18px;padding:18px 20px;overflow:visible;border:1px solid rgba(182,111,105,.22);border-radius:24px;background:radial-gradient(circle at 16% 10%,rgba(255,224,218,.72),transparent 42%),linear-gradient(135deg,rgba(255,253,247,.98),rgba(242,248,242,.96));box-shadow:0 14px 34px rgba(70,91,80,.09),inset 0 1px 0 rgba(255,255,255,.9);color:#66746e;font-size:13px}.article-heart-wrap:before,.article-heart-wrap:after{position:absolute;z-index:-1;color:rgba(93,138,117,.32);font-size:27px;line-height:1;pointer-events:none}.article-heart-wrap:before{content:"❧";top:-8px;right:28px;transform:rotate(14deg)}.article-heart-wrap:after{content:"♡";right:70px;bottom:-12px;color:rgba(182,111,105,.22);font-size:32px;transform:rotate(-12deg)}.article-heart-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.article-heart-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 16px;overflow:hidden;border:1px solid rgba(87,116,104,.22);border-radius:999px;font:inherit;font-weight:760;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,opacity .18s ease}.article-heart-button:before{content:"";position:absolute;inset:1px;border-radius:inherit;border:1px solid rgba(255,255,255,.46);pointer-events:none}.article-heart-button-one{background:rgba(255,255,252,.9);color:#315c4d;box-shadow:0 6px 18px rgba(48,83,70,.08)}.article-heart-button-five{border-color:rgba(190,101,99,.34);background:linear-gradient(135deg,#d98b86,#bd6f70);color:#fff;box-shadow:0 9px 22px rgba(182,111,105,.24)}.article-heart-button:hover:not(:disabled){transform:translateY(-2px) scale(1.015);box-shadow:0 12px 28px rgba(115,87,75,.18);filter:saturate(1.06)}.article-heart-button:active:not(:disabled){transform:translateY(0) scale(.98)}.article-heart-button:focus-visible{outline:3px solid rgba(202,169,104,.38);outline-offset:3px}.article-heart-button:disabled{cursor:default;opacity:.48;filter:grayscale(.22)}.article-heart-icon{display:inline-flex;align-items:center;justify-content:center;width:23px;color:#b66f69;font-family:Georgia,"Times New Roman",serif;font-size:27px;line-height:1;filter:drop-shadow(0 3px 5px rgba(182,111,105,.2));transform-origin:center}.article-heart-button-five .article-heart-mini{letter-spacing:-2px;font-size:15px;color:#fff}.article-heart-meta{display:flex;min-width:180px;flex:1;flex-direction:column;gap:3px}.article-heart-count{font-weight:760;color:#425c52}.article-heart-hint{color:#829089;font-size:12px}.article-heart-wrap.heart-error .article-heart-hint{color:#9a5f59}.article-heart-wrap.heart-full{border-color:rgba(202,169,104,.32);background:linear-gradient(135deg,rgba(255,248,235,.98),rgba(244,249,242,.96))}.article-heart-particles{position:absolute;z-index:5;left:34%;top:42%;width:1px;height:1px;pointer-events:none}.article-heart-particle{--heart-x:0px;--heart-rotate:0deg;--heart-delay:0ms;position:absolute;left:0;top:0;color:#d97579;font-size:18px;line-height:1;opacity:0;filter:drop-shadow(0 5px 7px rgba(182,111,105,.25));animation:article-heart-float .95s cubic-bezier(.2,.74,.35,1) var(--heart-delay) forwards}@keyframes article-heart-pop{0%{transform:scale(1)}35%{transform:scale(1.45) rotate(-8deg)}70%{transform:scale(.9) rotate(5deg)}100%{transform:scale(1) rotate(0)}}@keyframes article-heart-float{0%{opacity:0;transform:translate(0,4px) scale(.55) rotate(0)}18%{opacity:1}100%{opacity:0;transform:translate(var(--heart-x),-82px) scale(1.18) rotate(var(--heart-rotate))}}.article-heart-icon.is-popping{animation:article-heart-pop .48s ease-out}@media(max-width:640px){.article-heart-wrap{margin:18px 0 15px;padding:16px;border-radius:20px;gap:12px}.article-heart-actions{width:100%;display:grid;grid-template-columns:1fr 1.2fr}.article-heart-button{min-height:48px;padding:9px 12px}.article-heart-meta{min-width:0}.article-heart-count{font-size:13px}.article-heart-particles{left:50%}}@media(prefers-reduced-motion:reduce){.article-heart-button{transition:none}.article-heart-icon.is-popping,.article-heart-particle{animation:none}}
