.lk{background:var(--bg);color:var(--ink);padding:clamp(28px,5vh,56px) var(--pad)}
.lk__in{max-width:1180px;margin:0 auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(26px,4vh,44px) 0;display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap}
.lk__q{margin:0;font-family:var(--ff-display);font-weight:800;font-size:clamp(26px,3vw,44px);line-height:1;letter-spacing:-.02em;text-transform:none}
.lk__s{margin:10px 0 0;font-family:var(--ff-sans);font-size:clamp(16px,1.2vw,19px);line-height:1.35;color:var(--ink-soft)}
.lk__demo{margin:10px 0 0;font-family:var(--ff-sans);font-size:13px;color:var(--ink-soft)}
.lk__demo::before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--accent);vertical-align:1px}
.lk__act{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:18px;row-gap:8px}
.lk__btn{position:relative;width:76px;height:76px;padding:6px;border:0;border-radius:50%;background:transparent;color:var(--accent);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.lk__btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.lk__btn svg{display:block;width:100%;height:100%;overflow:visible}
.lk__heart{transform-origin:50% 55%;transform-box:fill-box;animation:lkPulse 2.6s ease-in-out infinite;transition:transform .14s ease}
.lk__heart path{fill:var(--accent);fill-opacity:.14;stroke:var(--accent);stroke-width:2.2;stroke-linejoin:round;transition:fill-opacity .3s ease}
.lk.is-busy .lk__btn{cursor:progress}
.lk.is-press .lk__heart{animation:none;transform:scale(.84)}
.lk.is-done .lk__heart{animation:none}
.lk.is-done .lk__heart path{fill-opacity:1}
.lk.is-done .lk__btn{cursor:default}
.lk.is-pop .lk__heart{animation:lkPop .62s cubic-bezier(.3,1.5,.5,1)}
.lk__fx{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
.lk__p{position:absolute;left:0;top:0;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);color:var(--accent);opacity:0;animation:lkP .85s cubic-bezier(.2,.7,.3,1) forwards}
.lk__p--dot{border-radius:50%;background:currentColor}
.lk__p svg{display:block;width:100%;height:100%}
.lk__plus{position:absolute;left:50%;top:0;font-family:var(--ff-display);font-weight:800;font-size:18px;color:var(--accent);pointer-events:none;opacity:0;animation:lkUp .95s ease-out forwards}
.lk__count{display:flex;flex-direction:column;align-items:flex-start}
.lk__num{position:relative;display:block;height:1.05em;min-width:2.6ch;overflow:hidden;font-family:var(--ff-display);font-weight:800;font-size:clamp(32px,3.2vw,46px);line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.lk__n{display:block}
.lk__n.is-out{position:absolute;left:0;top:0;animation:lkOut .42s ease forwards}
.lk__n.is-in{animation:lkIn .42s cubic-bezier(.22,1,.36,1)}
.lk__lab{margin-top:4px;font-family:var(--ff-sans);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.lk__msg{grid-column:1 / -1;min-height:1.45em;margin:0;font-family:var(--ff-sans);font-size:14px;line-height:1.45;color:var(--ink)}
.lk__msg.is-err{color:#B23A00}
@keyframes lkPulse{0%,58%,100%{transform:scale(1)}10%{transform:scale(1.07)}20%{transform:scale(1)}30%{transform:scale(1.045)}}
@keyframes lkPop{0%{transform:scale(.84)}45%{transform:scale(1.2)}72%{transform:scale(.96)}100%{transform:scale(1)}}
@keyframes lkP{0%{opacity:1;transform:translate(0,0) scale(.3)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1) rotate(var(--r))}}
@keyframes lkUp{0%{opacity:0;transform:translate(-50%,4px)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-34px)}}
@keyframes lkOut{to{opacity:0;transform:translateY(-70%)}}
@keyframes lkIn{from{opacity:0;transform:translateY(70%)}to{opacity:1;transform:none}}
@media (max-width:640px){.lk__in{flex-direction:column;align-items:flex-start;gap:20px}}
@media (prefers-reduced-motion:reduce){.lk__heart,.lk.is-pop .lk__heart{animation:none !important;transition:none}.lk.is-press .lk__heart{transform:none}.lk__p,.lk__plus{display:none}.lk__n.is-in,.lk__n.is-out{animation:none}.lk__n.is-out{display:none}}
