.map-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}

.map-container {
    position: relative;
    width: fit-content;
    height: fit-content;
}

.map-bg {
    display: block;
    max-width: 100%;
    height: auto;
    pointer-events: none;
}

/* 初始隐藏状态 */
.map-point {
    position: absolute;
    z-index: 10;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -100%);
    transition: none;
}

/* 播放动画 */
.map-point.animate {
    opacity: 0;
    visibility: visible;
    animation: pointDrop 1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

/* 依次延迟 */
.animate.point-zhuhai {
    animation-delay: 0.1s;
}

.animate.point-hk {
    animation-delay: 0.6s;
}

.animate.point-azerbaijan {
    animation-delay: 0.9s;
}

.animate.point-egypt {
    animation-delay: 1.2s;
}

.animate.point-nigeria {
    animation-delay: 1.5s;
}

@keyframes pointDrop {
    0% {
        opacity: 0;
        transform: translate(-50%, -500%);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -100%);
    }
}

/* 文字样式 */
.map-point .label {
    position: absolute;
    top: 60%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    font-size: 13px;
    font-weight: bold;
    color: #000;
}

.map-point.point-zhuhai .label {
    left: 271%;
    top: 33%;
    font-size: 20px;
}

.map-point.point-hk .label {
    left: 215%;
}

.map-point.point-azerbaijan .label {
    left: 310%;
}

.map-point.point-egypt .label {
    left: 240%;
}

.map-point.point-nigeria .label {
    left: 250%;
}

/* 点位位置 */
.point-zhuhai {
    top: 52.8%;
    left: 65.85%;
}

.point-hk {
    top: 53%;
    left: 66.3%;
}

.point-azerbaijan {
    top: 41.7%;
    left: 55.7%;
}

.point-egypt {
    top: 50.2%;
    left: 52.8%;
}

.point-nigeria {
    top: 61.7%;
    left: 49.4%;
}

.map-point:hover .marker {
    transform: scale(1.15);
    transition: transform .2s ease;
}