:root{--hagumi-like:#ff5f9e;--hagumi-like-soft:#ffe3ee}body.hagumi-like-page{touch-action:manipulation}.hagumi-like{margin:40px auto 8px;padding:26px 16px 22px;max-width:560px;border-radius:32px;background:linear-gradient(180deg,#fff 0%,var(--hagumi-like-soft) 100%);border:3px solid #fff;box-shadow:var(--hagumi-shadow);text-align:center}.hagumi-like-btn{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:4px;margin:0;padding:6px 28px 10px;border:0;border-radius:28px;background:transparent;color:var(--hagumi-like);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.hagumi-like-btn:focus-visible{outline:3px solid var(--hagumi-accent);outline-offset:4px}.hagumi-like-heart{display:block;width:110px;height:auto;overflow:visible;filter:drop-shadow(0 8px 12px rgba(255,95,158,0.38));transform-origin:50% 60%;animation:hagumi-lk-beat 2.2s ease-in-out infinite}.hagumi-like-btn:hover .hagumi-like-heart{animation:hagumi-lk-wiggle 0.7s ease-in-out infinite}.hagumi-like-btn::before,.hagumi-like-btn::after{content:'\2728';position:absolute;font-size:1.3rem;animation:hagumi-lk-twinkle 2.6s ease-in-out infinite;pointer-events:none}.hagumi-like-btn::before{left:14px;top:6px}.hagumi-like-btn::after{right:12px;top:28px;animation-delay:1.1s}.hagumi-like-btn-text{display:inline-block;padding:6px 22px;border-radius:999px;background:linear-gradient(180deg,#ff8fbb,var(--hagumi-like));color:#fff;font-size:1.15rem;font-weight:900;letter-spacing:0.08em;box-shadow:0 4px 0 #e0457f,0 8px 14px rgba(255,95,158,0.35)}.hagumi-like-btn:active .hagumi-like-btn-text{transform:translateY(3px);box-shadow:0 1px 0 #e0457f}.hagumi-like-btn.is-pop .hagumi-like-heart{animation:hagumi-lk-pop 0.42s cubic-bezier(0.2,1.6,0.4,1)}.hagumi-like-total{margin:12px 0 0;font-weight:800;color:var(--hagumi-text)}.hagumi-like-num{display:inline-block;font-size:2.2rem;font-weight:900;line-height:1;color:var(--hagumi-like)}.hagumi-like-unit{font-size:0.95rem}.hagumi-like-total.is-bump .hagumi-like-num{animation:hagumi-lk-bump 0.3s ease-out}.hagumi-like-hint{margin:10px 0 0;font-size:0.85rem;font-weight:700;opacity:0.85}.hagumi-like-thanks{margin:8px 0 0;min-height:1.6em;font-size:1rem;font-weight:900;color:var(--hagumi-like)}.hagumi-like-thanks.is-show{animation:hagumi-lk-rise 0.5s ease-out}.hagumi-like-meter{display:flex;flex-direction:column;align-items:center;gap:2px;margin:10px 0 0;font-size:0.85rem;font-weight:800}.hagumi-like-dots{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:2px}.hagumi-like-dot{font-size:1.2rem;line-height:1;color:#f3d3df;transition:color 0.2s ease,transform 0.2s ease}.hagumi-like-dot.is-on{color:var(--hagumi-like);transform:scale(1.15)}.hagumi-like-dots.is-full .hagumi-like-dot{color:#ffb300;text-shadow:0 0 8px rgba(255,213,79,0.9)}.hagumi-like-meter-text{color:var(--hagumi-text)}.hagumi-like-note{margin:6px 0 0;font-size:0.75rem;font-weight:700;opacity:0.75}.hagumi-like-badge{position:fixed;top:14%;left:50%;z-index:100005;display:inline-flex;align-items:center;gap:8px;max-width:92vw;padding:6px 18px 6px 8px;border:3px solid #fff;border-radius:999px;background:linear-gradient(90deg,#ff5f9e,#ffb300);color:#fff;font-weight:900;white-space:nowrap;box-shadow:0 8px 20px rgba(255,95,158,0.45);pointer-events:none;opacity:0;transform:translate(-50%,-14px) scale(0.8);transition:opacity 0.25s ease,transform 0.25s ease}.hagumi-like-badge.is-on{opacity:1;transform:translate(-50%,0) scale(1)}.hagumi-like-badge-tag{padding:2px 10px;border-radius:999px;background:#fff;color:#e0457f;font-size:0.7rem}.hagumi-like-badge-msg{overflow:hidden;text-overflow:ellipsis;font-size:0.95rem}.hagumi-like-flash.is-pink{background:radial-gradient(circle,rgba(255,255,255,0.9) 0%,rgba(255,182,208,0.7) 60%,rgba(255,255,255,0) 100%)}.hagumi-like-bubble{position:fixed;z-index:100003;padding:4px 14px;border:2px solid var(--hagumi-like);border-radius:999px;background:#fff;color:var(--hagumi-like);font-size:0.9rem;font-weight:900;white-space:nowrap;pointer-events:none;transform:translate(-50%,0);animation:hagumi-lk-bubble 1.25s ease-out forwards}.hagumi-like-float{position:fixed;right:14px;bottom:16px;z-index:80;transition:opacity 0.25s ease,transform 0.25s ease}.hagumi-like-float.is-hidden{opacity:0;transform:translateY(16px);pointer-events:none}.hagumi-like-float-btn{display:inline-flex;align-items:center;gap:6px;margin:0;padding:10px 18px;border:3px solid #fff;border-radius:999px;background:linear-gradient(180deg,#ff8fbb,var(--hagumi-like));color:#fff;font:inherit;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(255,95,158,0.45);-webkit-tap-highlight-color:transparent}.hagumi-like-float-btn:focus-visible{outline:3px solid var(--hagumi-accent);outline-offset:3px}.hagumi-like-float-heart{font-size:1.25rem;line-height:1}.hagumi-like-float-num{font-size:1.05rem;line-height:1}.hagumi-like-float-btn.is-pop{animation:hagumi-lk-pop-s 0.35s cubic-bezier(0.2,1.6,0.4,1)}.hagumi-fx{position:fixed;top:0;left:0;z-index:100002;pointer-events:none}.hagumi-like-flash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100003;background:radial-gradient(circle,#fff 0%,#fff7c2 60%,rgba(255,255,255,0) 100%);pointer-events:none;animation:hagumi-lk-flash 0.9s ease-out forwards}.hagumi-like-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100004;display:flex;align-items:center;justify-content:center;padding:16px;pointer-events:none;animation:hagumi-lk-fade-in 0.3s ease-out}.hagumi-like-banner.is-out{opacity:0;transition:opacity 0.4s ease}.hagumi-like-banner.is-tier3{background:radial-gradient(circle,rgba(60,20,90,0.35) 0%,rgba(20,0,40,0.6) 100%)}.hagumi-like-banner-rays{position:absolute;top:50%;left:50%;width:160vmax;height:160vmax;margin:-80vmax 0 0 -80vmax;background:repeating-conic-gradient(from 0deg,rgba(255,224,130,0.35) 0deg 8deg,rgba(255,255,255,0) 8deg 20deg);opacity:0;animation:hagumi-lk-spin 14s linear infinite}.is-tier2 .hagumi-like-banner-rays{opacity:0.7}.is-tier3 .hagumi-like-banner-rays{opacity:1;animation-duration:9s}.hagumi-like-banner-card{position:relative;max-width:min(92vw,460px);padding:22px 26px 20px;border:5px solid var(--hagumi-like);border-radius:32px;background:#fff;color:var(--hagumi-text);text-align:center;box-shadow:0 16px 48px rgba(0,0,0,0.3);pointer-events:auto;animation:hagumi-lk-card-in 0.6s cubic-bezier(0.2,1.5,0.4,1)}.is-tier2 .hagumi-like-banner-card{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(120deg,#ff5f9e,#ffd54f,#4fc3f7,#81c784,#ba68c8,#ff5f9e) border-box}.is-tier3 .hagumi-like-banner-card{border-color:transparent;background:linear-gradient(180deg,#fffdf0,#fff1b8) padding-box,linear-gradient(120deg,#ffd54f,#ff5f9e,#4fc3f7,#69f0ae,#e040fb,#ffd54f) border-box;box-shadow:0 0 0 6px rgba(255,213,79,0.45),0 0 60px rgba(255,213,79,0.8),0 20px 60px rgba(0,0,0,0.45)}.hagumi-like-banner-card::before,.hagumi-like-banner-card::after{content:'\2728';position:absolute;font-size:1.8rem;animation:hagumi-lk-twinkle 1.6s ease-in-out infinite}.hagumi-like-banner-card::before{left:-10px;top:-14px}.hagumi-like-banner-card::after{right:-8px;bottom:-14px;animation-delay:0.8s}.hagumi-like-banner-icon{font-size:2.6rem;line-height:1.1;animation:hagumi-lk-wiggle 0.9s ease-in-out infinite}.is-tier3 .hagumi-like-banner-icon{font-size:3.6rem}.hagumi-like-banner-sub{margin:4px 0 0;font-size:1rem;font-weight:900;letter-spacing:0.1em;color:#e0457f}.hagumi-like-banner-num{margin:2px 0 0;font-size:3.2rem;font-weight:900;line-height:1.1;color:var(--hagumi-like)}.is-tier2 .hagumi-like-banner-num{font-size:3.8rem}.is-tier3 .hagumi-like-banner-num{font-size:clamp(3.4rem,17vw,5.4rem);background:linear-gradient(100deg,#ff8f00 0%,#ffd54f 30%,#fff8e1 50%,#ffd54f 70%,#ff8f00 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#ffb300;filter:drop-shadow(0 3px 0 rgba(160,90,0,0.35));animation:hagumi-lk-shine 2.4s linear infinite}.hagumi-like-banner-label{margin:2px 0 0;font-size:1.2rem;font-weight:900}.hagumi-like-banner-you{margin:8px 0 0;font-size:0.95rem;font-weight:800;color:var(--hagumi-like)}.hagumi-like-banner-thanks{margin:10px 0 0;font-size:0.95rem;font-weight:700;line-height:1.7}.hagumi-like-banner-close{margin:14px 0 0;padding:6px 22px;border:2px solid var(--hagumi-sky);border-radius:999px;background:#fff;color:var(--hagumi-text);font:inherit;font-size:0.85rem;font-weight:800;cursor:pointer}@media (max-width:720px){body.hagumi-has-cta .hagumi-like-float{bottom:calc(80px + env(safe-area-inset-bottom,0px))}.hagumi-like{margin-top:28px;padding:20px 12px 18px;border-radius:26px}.hagumi-like-heart{width:96px}.hagumi-like-banner-card{padding:18px 16px 16px}}@keyframes hagumi-lk-beat{0%,100%{transform:scale(1)}12%{transform:scale(1.07)}24%{transform:scale(1)}36%{transform:scale(1.05)}48%{transform:scale(1)}}@keyframes hagumi-lk-wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-7deg) scale(1.04)}75%{transform:rotate(7deg) scale(1.04)}}@keyframes hagumi-lk-pop{0%{transform:scale(1)}40%{transform:scale(1.28) rotate(-4deg)}100%{transform:scale(1)}}@keyframes hagumi-lk-pop-s{0%{transform:scale(1)}40%{transform:scale(1.22)}100%{transform:scale(1)}}@keyframes hagumi-lk-twinkle{0%,100%{opacity:0.2;transform:scale(0.6) rotate(0)}50%{opacity:1;transform:scale(1.1) rotate(20deg)}}@keyframes hagumi-lk-bump{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}@keyframes hagumi-lk-rise{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}@keyframes hagumi-lk-bubble{0%{opacity:0;transform:translate(-50%,8px) scale(0.7)}18%{opacity:1;transform:translate(-50%,-6px) scale(1.05)}100%{opacity:0;transform:translate(-50%,-64px) scale(1)}}@keyframes hagumi-lk-fade-in{from{opacity:0}to{opacity:1}}@keyframes hagumi-lk-card-in{0%{opacity:0;transform:scale(0.4) rotate(-6deg)}100%{opacity:1;transform:scale(1) rotate(0)}}@keyframes hagumi-lk-spin{to{transform:rotate(360deg)}}@keyframes hagumi-lk-shine{to{background-position:-220% 0}}@keyframes hagumi-lk-flash{0%{opacity:0}15%{opacity:1}100%{opacity:0}}@media (prefers-reduced-motion:reduce){.hagumi-like-heart,.hagumi-like-btn::before,.hagumi-like-btn::after,.hagumi-like-banner-rays,.hagumi-like-banner-icon,.hagumi-like-banner-card::before,.hagumi-like-banner-card::after,.is-tier3 .hagumi-like-banner-num{animation:none}.hagumi-like-banner-card,.hagumi-like-banner{animation:none}.hagumi-like-float,.hagumi-like-badge,.hagumi-like-dot{transition:none}}@media print{.hagumi-like,.hagumi-like-float,.hagumi-like-banner,.hagumi-fx{display:none!important}}
