.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%, -110%) scale(1);
pointer-events: auto;
}
.wm-pin .box {
position: absolute;
left: 50%;
top: 0;
transform: translate(-50%, -110%) scale(0.95);
opacity: 0;
pointer-events: none;
z-index: 10;
background: linear-gradient(to bottom right, rgba(10, 10, 15, 0.96), rgba(24, 28, 32, 0.94));
color: #e0f5ff;
border: 1px solid rgba(120, 180, 255, 0.35);
border-radius: 10px;
padding: 10px 12px;
width: max-content;
max-width: 280px;
transition: opacity 0.2s ease, transform 0.2s ease;
font: 13px/1.45 ui-sans-serif, system-ui, sans-serif;
box-shadow: 0 12px 24px rgba(0, 0, 0, 0.5);
overflow: visible;
white-space: normal;
word-break: break-word;
}
.wm-pin .box::after {
content: "";
position: absolute;
left: 50%;
bottom: -6px;
transform: translateX(-50%) rotate(45deg);
width: 12px;
height: 12px;
background: linear-gradient(to bottom right, rgba(10, 10, 15, 0.96), rgba(24, 28, 32, 0.94));
border-left: 1px solid rgba(120, 180, 255, 0.35);
border-bottom: 1px solid rgba(120, 180, 255, 0.35);
}
.wm-pin .box b {
font-size: 14px;
font-weight: 600;
display: block;
margin-bottom: 2px;
color: #ffffff;
}
.wm-pin .box i {
font-size: 11px;
font-style: italic;
color: #aad0ff;
display: block;
margin-bottom: 6px;
}
.wm-pin .box p {
margin: 0;
font-size: 12px;
line-height: 1.4;
color: #d0eaff;
}