0)) { swipeY = $event.touches[0].clientY; swipeDy = 0; }"
@touchmove.passive="if (swipeY !== null) { swipeDy = Math.max(0, $event.touches[0].clientY - swipeY); $el.style.transform = swipeDy ? `translateY(${swipeDy}px)` : ''; }"
@touchend="if (swipeY !== null) { const close = swipeDy > 100; swipeY = null; $el.style.transition = 'transform 200ms ease-in'; $el.style.transform = close ? 'translateY(100%)' : ''; if (close) $store.cardTooltip.close(); setTimeout(() => { $el.style.transition = ''; $el.style.transform = ''; }, close ? 320 : 220); }"
role="dialog"
:aria-label="$store.cardTooltip.tooltip?.name"
class="fixed z-[500] flex flex-col overflow-hidden border border-[rgba(237,177,255,0.18)] bg-[#161b26] shadow-[0_20px_60px_rgba(0,0,0,0.85),0_0_0_1px_rgba(237,177,255,0.06),0_0_40px_rgba(237,177,255,0.08)]"
:class="$store.cardTooltip.mobile ? 'inset-x-0 bottom-0 rounded-t-[28px] border-b-0' : 'rounded-[22px]'"
:style="$store.cardTooltip.mobile
? 'max-height: 88vh'
: `left: ${$store.cardTooltip.tx}px; top: ${$store.cardTooltip.ty}px; width: ${$store.cardTooltip.tw}px; max-height: ${$store.cardTooltip.maxH}px`"
@mouseenter="$store.cardTooltip.cancelHide()"
@mouseleave="$store.cardTooltip.scheduleHide()">