.wlc{position:absolute;top:4px;inset-inline-start:4px;min-width:18px;height:18px;padding:0 5px;border-radius:100px;background:var(--olive);color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center}
.wlc[hidden]{display:none}
.ttl{display:flex;align-items:flex-start;gap:12px}
.ttl .ptitle{flex:1;min-width:0}
.pacts{position:relative;display:flex;gap:8px;flex:0 0 auto;margin-top:2px}
.pa{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);display:flex;align-items:center;justify-content:center;padding:0;transition:transform .15s,border-color .2s,background .2s}
.pa:hover{border-color:var(--olive)}
.pa:active{transform:scale(.9)}
.pa svg{width:20px;height:20px;stroke:var(--ink);fill:none;stroke-width:1.7;transition:fill .25s,stroke .25s}
.wlb.on svg{fill:var(--olive);stroke:var(--olive)}
.wlb.pop svg{animation:hpop .5s cubic-bezier(.2,.8,.3,1.4)}
.wlb:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--olive);opacity:0;pointer-events:none}
.wlb.pop:after{animation:hring .6s ease-out}
@keyframes hpop{0%{transform:scale(.55)}55%{transform:scale(1.28)}100%{transform:scale(1)}}
@keyframes hring{0%{opacity:.7;transform:scale(.7)}100%{opacity:0;transform:scale(1.7)}}
.shr{background:var(--soft);border-color:var(--olive)}
.shr svg{stroke:var(--olive-deep)}
.shr:before{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--olive);opacity:0;pointer-events:none}
.shr.hint svg{animation:nudge 1.1s ease-in-out 2}
.shr.hint:before{animation:spulse 1.5s ease-out 3}
@keyframes nudge{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
@keyframes spulse{0%{opacity:.6;transform:scale(.85)}100%{opacity:0;transform:scale(1.4)}}
.shtip{position:absolute;top:calc(100% + 12px);inset-inline-end:-6px;white-space:nowrap;background:var(--dark);color:#F6F1EC;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:12px;box-shadow:var(--lift);opacity:0;visibility:hidden;transform:translateY(-6px) scale(.95);transform-origin:top left;pointer-events:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.3,1.35),visibility 0s linear .3s;z-index:6}
.shtip:before{content:"";position:absolute;top:-5px;inset-inline-end:23px;width:10px;height:10px;background:var(--dark);border-radius:2px;transform:rotate(45deg)}
.shtip.show{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .4s cubic-bezier(.2,.8,.3,1.35),visibility 0s}
.shpop{position:absolute;top:calc(100% + 10px);inset-inline-end:0;min-width:220px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--lift);padding:6px;z-index:7;display:none}
.shpop.open{display:block;animation:rin .2s ease}
.shpop b{display:block;font-size:12.5px;color:var(--muted);font-weight:600;padding:8px 10px 4px}
.shpop a,.shpop button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px;border:none;background:transparent;border-radius:10px;font-size:14px;font-family:inherit;color:var(--ink);text-align:start;cursor:pointer}
.shpop a:hover,.shpop button:hover{background:var(--soft)}
.shpop svg{width:18px;height:18px;flex:0 0 18px;stroke:var(--olive-deep);fill:none;stroke-width:1.7}
.pc .wlb{position:absolute;top:10px;inset-inline-end:10px;z-index:4;width:38px;height:38px;border-radius:50%;border:none;background:rgba(252,250,247,.92);backdrop-filter:blur(6px);box-shadow:0 2px 10px rgba(44,37,40,.12);display:flex;align-items:center;justify-content:center;padding:0;transition:transform .15s}
.pc .wlb:active{transform:scale(.88)}
.pc .wlb svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:1.7;transition:fill .25s,stroke .25s}
.pc .wlb.on svg{fill:var(--olive);stroke:var(--olive)}
.pimg .offb{top:auto;bottom:10px}
.wlpr{display:flex;gap:8px;align-items:baseline}
.wlpr b{color:var(--ink);font-weight:600;font-size:14px}
.wlpr s{font-size:12px;color:var(--dm)}
.wla{display:flex;align-items:center;gap:16px;margin-top:2px}
.wlgo{font-size:13px;font-weight:600;color:var(--olive-deep);text-decoration:underline;text-underline-offset:3px}
.wld .empty{padding:48px 12px}
@media (max-width:420px){.pa{width:40px;height:40px}.pacts{gap:6px}}
