/* Hearts core */
.wp-hearts-container { display:flex; justify-content:flex-end; margin-bottom:15px; }
.wp-hearts { display:inline-flex; align-items:center; font-size:14px; vertical-align:middle; white-space:nowrap; }
.wp-heart-btn { cursor:pointer; width:26px; height:26px; position:relative; display:inline-block; border:none; outline:none; background:transparent; box-shadow:none; vertical-align:middle; }
.wp-heart-btn .heart {
  width:100%; height:100%;
  background: linear-gradient(135deg, #ffe6f0, #ffc8d8);
  border:none; outline:none;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21s-6.716-4.418-9.192-7.364C-0.812 10.008 1.223 5 5.514 5 8.03 5 9.79 6.348 12 9c2.21-2.652 3.97-4 6.486-4 4.291 0 6.326 5.008 2.706 8.636C18.716 16.582 12 21 12 21z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21s-6.716-4.418-9.192-7.364C-0.812 10.008 1.223 5 5.514 5 8.03 5 9.79 6.348 12 9c2.21-2.652 3.97-4 6.486-4 4.291 0 6.326 5.008 2.706 8.636C18.716 16.582 12 21 12 21z"/></svg>');
  transition: transform .22s cubic-bezier(.22,.61,.36,1), filter .22s ease, box-shadow .22s ease;
  display:block;
  filter: drop-shadow(0 6px 16px rgba(255, 180, 195, .38));
}
.wp-heart-btn:active .heart,
.wp-heart-btn.active .heart { transform: scale(1.08); filter: drop-shadow(0 4px 10px rgba(255, 109, 135, .35)); }
.wp-hearts .count {text-align:right; color:#666; line-height:1; margin-left:4px; }
.wp-hearts .msg { color:#999; font-size:12px; }

/* Gradient levels */
.wp-heart-color-0 { background: linear-gradient(135deg, #ffd7e3, #ffb3c7); }
.wp-heart-color-1 { background: linear-gradient(135deg, #ffb3c7, #ff8fb3); }
.wp-heart-color-2 { background: linear-gradient(135deg, #ff8fb3, #ff6fa2); }
.wp-heart-color-3 { background: linear-gradient(135deg, #ff6fa2, #ff2d55); }
.wp-heart-color-4 { background: linear-gradient(135deg, #ff2d55, #b00020); box-shadow:0 0 18px 4px rgba(176,0,32,.35); }

/* Stream minor */
.wp-hearts-stream{list-style:none;padding-left:0;margin:.5rem 0}
.compiled-comment .tag{box-shadow:0 1px 0 rgba(0,0,0,.05)}
.compiled-comment .comment-content p{margin:.4rem 0}
.compiled-comment:hover{box-shadow:0 0 0 1px #ffd6de inset}

/* Ripple effect container */
.wp-hearts-ripple{position:relative;overflow:hidden}
.wp-hearts-ripple:after{content:'';position:absolute;inset:0;background:rgba(255,235,240,.6);opacity:0;pointer-events:none}
.wp-hearts-ripple.show:after{opacity:1;animation:wpHeartsBg 2.7s ease forwards}
.wp-hearts-surge{animation:wpHeartsSurge 1.8s cubic-bezier(.22,.61,.36,1)}
@keyframes wpHeartsBg{0%{opacity:0}20%{opacity:.9}100%{opacity:0}}
@keyframes wpHeartsSurge{0%{transform:scale(1)}40%{transform:scale(1.02)}100%{transform:scale(1)}}

/* Toast */
.wp-hearts-toast{position:fixed;top:80px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.96);color:#cf3a5f;border:1px solid #ffdbe3;padding:9px 14px;border-radius:999px;font-size:13px;box-shadow:0 10px 28px rgba(0,0,0,.08), 0 0 0 4px rgba(255,219,227,.3);z-index:9999;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}
.wp-hearts-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.wp-hearts-toast.hide{opacity:0;transform:translateX(-50%) translateY(-6px)}

/* Confetti */
.wp-hearts-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wp-hearts-confetti i{position:absolute;width:10px;height:10px;background:linear-gradient(135deg,#ffc8d8,#ffe6f0);
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21s-6.716-4.418-9.192-7.364C-0.812 10.008 1.223 5 5.514 5 8.03 5 9.79 6.348 12 9c2.21-2.652 3.97-4 6.486-4 4.291 0 6.326 5.008 2.706 8.636C18.716 16.582 12 21 12 21z"/></svg>') center/contain no-repeat;
          mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21s-6.716-4.418-9.192-7.364C-0.812 10.008 1.223 5 5.514 5 8.03 5 9.79 6.348 12 9c2.21-2.652 3.97-4 6.486-4 4.291 0 6.326 5.008 2.706 8.636C18.716 16.582 12 21 12 21z"/></svg>') center/contain no-repeat;
  opacity:.9;border-radius:2px;box-shadow:0 0 0 2px rgba(255,219,227,.35)}

/* Compilation UI */
.wp-hearts-compile-reason{background:#fff7f9;color:#b00020;border-radius:6px;padding:6px 8px;margin:4px 0 8px;font-weight:600}
.wp-hearts-compile-form{margin:.35rem 0 0;display:flex;gap:.5rem;align-items:flex-start}
.wp-hearts-compile-form textarea{flex:1;min-height:36px;max-height:120px;padding:6px 8px;border:1px solid #eee;border-radius:6px;resize:vertical;font-size:13px}
.wp-hearts-compile-form button{padding:6px 10px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#222;cursor:pointer}
.wp-hearts-compiled-list{list-style:none;margin:.5rem 0;padding-left:0}
.wp-hearts-compiled-item{border:1px solid #f5c2cb;background:#fff;border-radius:8px;padding:10px 12px;margin:10px 0}
.wp-hearts-compiled-item .meta{color:#666;font-size:12px;margin-bottom:6px}