.wm { position: relative; line-height: 0; isolation: isolate; max-width: 1200px; margin: 0 auto; }
.wm > .img img { width: 100%; height: auto; display: block; }
.wm-layer { position: absolute; inset: 0; pointer-events: none; }
.wm-pin {
position: absolute;
transform: translate(-50%, -50%);
width: 20px;
height: 20px;
background: radial-gradient(circle, #0ff, #088);
border: 2px solid #aff;
border-radius: 50%;
box-shadow: 0 0 8px #0ff;
cursor: pointer;
pointer-events: auto;
}
.wm-pin:hover .box,
.wm-pin:focus .box {
opacity: 1;
transform: translate(-50%, -120%) scale(1);
pointer-events: auto;
}
.wm-pin .box {
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%, -120%) scale(0.95);
opacity: 0;
pointer-events: none;
z-index: 10;
background: rgba(20, 22, 25, 0.95);
color: #dff;
border: 1px solid #4a6;
border-radius: 8px;
padding: 10px 12px;
width: 220px;
transition: opacity 0.2s ease, transform 0.2s ease;
font: 13px sans-serif;
}
.wm-pin .box::after {
content: "";
position: absolute;
left: 50%;
bottom: -6px;
transform: translateX(-50%) rotate(45deg);
width: 12px;
height: 12px;
background: rgba(20, 22, 25, 0.95);
border-left: 1px solid #4a6;
border-bottom: 1px solid #4a6;
}