.home-world-map{position:relative;isolation:isolate;background:transparent;min-height:680px;display:flex;align-items:center;padding:100px 0}
#figma-page .home-world-map>.home-wrap{width:round(nearest,min(1600px,calc(100% - 64px)),2px)!important}
.world-map-stage{position:relative;width:round(nearest,100%,2px);aspect-ratio:1200/560}
.world-map-art{display:block;width:round(nearest,100%,2px);height:auto;background:transparent}
.world-map-controls{position:absolute;inset:0}
.world-map-place{position:absolute;left:round(nearest,var(--place-x),2px);top:round(nearest,var(--place-y),2px);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:transparent;color:#D2D5D9;font:inherit;font-size:14px;cursor:pointer;isolation:isolate;line-height:24px}
.world-map-pin{display:block;width:8px;height:8px;border-radius:50%;background:#0080FF;box-shadow:0 0 0 6px rgba(0,128,255,.15);transition:background .18s,box-shadow .18s}
.world-map-label{position:absolute;left:round(nearest,calc(50% + 12px),2px);white-space:nowrap;transition:color .18s}
.world-map-place:hover,.world-map-place[aria-expanded=true]{color:#FFFFFF;z-index:2}
.world-map-place:hover .world-map-pin,.world-map-place[aria-expanded=true] .world-map-pin{background:#2693FF;box-shadow:0 0 0 8px rgba(0,128,255,.15)}
.world-map-place:focus-visible{outline:2px solid #0080FF;outline-offset:2px}
.world-map-popover{--bs-popover-bg:transparent;--bs-popover-border-width:0;--bs-popover-max-width:min(420px,calc(100vw - 32px));--bs-popover-body-padding-x:24px;--bs-popover-body-padding-y:24px;--bs-popover-body-color:#FFFFFF;border:0;border-radius:20px;max-width:round(nearest,min(420px,calc(100vw - 32px)),2px);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:none;font-family:"PingFang SC",sans-serif;font-size:14px;z-index:990;line-height:24px}
.world-map-popover,.world-map-popover.site-dark-surface{background:rgba(255,255,255,.07)!important}
.world-map-popover,.world-map-popover *{letter-spacing:0!important;box-sizing:border-box}
.world-map-popover .popover-arrow{display:none}
.world-map-popover p{margin:0;color:rgba(255,255,255,.90);font-size:14px;line-height:24px}
.world-map-popover p:first-child{color:#FFFFFF;font-size:16px;font-weight:500;margin-bottom:12px}
@media(width<1200px){.home-world-map{min-height:560px;padding:80px 0}}
@media(width<768px){#figma-page .home-world-map>.home-wrap{width:calc(100% - 40px)!important}.home-world-map{min-height:0;padding:64px 0}.world-map-place{font-size:12px}.world-map-popover{--bs-popover-body-padding-x:20px;--bs-popover-body-padding-y:20px}}
@media(prefers-reduced-motion:reduce){.world-map-place,.world-map-pin,.world-map-label,.world-map-popover{transition:none!important}}
/* The source homepage loads only component styles, so keep this overlay self-contained. */
.world-map-popover{width:max-content;min-width:0;opacity:0;transition:opacity .15s ease}
.world-map-popover.show{opacity:1}
.world-map-popover .popover-body{position:relative;z-index:1;padding:24px}
@media(width<768px){.world-map-popover .popover-body{padding:20px}}
.world-map-place{mask-image:none!important;-webkit-mask-image:none!important;overflow:visible}.world-map-place>.smooth-corner-stroke{display:none}.world-map-place.smooth-corners:focus-visible{outline:2px solid #0080FF;outline-offset:2px}
.world-map-popover:not(.show){pointer-events:none}
.world-map-links{position:absolute;left:0;top:0;width:round(nearest,100%,2px);height:auto;aspect-ratio:1200/560;overflow:visible;pointer-events:none}
.world-map-arc{stroke:#0080FF;stroke-width:1;opacity:.45;transition:opacity .2s,stroke .2s}
.world-map-route.is-active .world-map-arc{stroke:#2693FF;opacity:.75}
.world-map-flow{display:none;filter:drop-shadow(0 0 4px rgba(0,128,255,.75))}
.world-map-tail{stroke:#0080FF;stroke-width:2;stroke-linecap:round;opacity:.75}
.world-map-tail-core{stroke:#FFFFFF;stroke-width:1;stroke-linecap:round;opacity:.75}
.world-map-flow-head{fill:#FFFFFF}
.world-map-pulse{stroke:#0080FF;stroke-width:1;display:none}
.is-map-moving .world-map-flow,.is-map-moving .world-map-pulse{display:block}
@media(prefers-reduced-motion:reduce){.world-map-art{animation:none}.world-map-arc{transition:none}}

.world-map-code{position:absolute;inset:0 auto auto 0;width:100%;height:auto;aspect-ratio:1200/560;pointer-events:none;display:none}
.has-map-code.is-map-moving .world-map-code{display:block}
.has-map-code.is-map-moving .world-map-art{opacity:0}
.world-map-art,.world-map-code{mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.60) 32%,rgba(0,0,0,.15) 68%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.60) 32%,rgba(0,0,0,.15) 68%,transparent 100%)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.world-map-popover,.world-map-popover.site-dark-surface{background:rgba(255,255,255,.10)!important}}

/* 地图最大显示宽度 1280，两侧渐变蒙层收口 */
.home-world-map>.home-wrap{width:round(nearest,min(1280px,calc(100% - 2 * var(--page-gutter,80px))),2px)!important}
.home-world-map .world-map-stage{
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
 mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%);
}

.world-map-place[data-location="china"] .world-map-label{left:50%;bottom:calc(100% - 4px);transform:translateX(-50%)}
.world-map-place[data-location="hongkong"] .world-map-label{left:50%;top:calc(100% - 4px);transform:translateX(-50%)}
