/* A compact, borderless world map; only the map region pans on small screens. */
.locations{padding:var(--section-gap) 0;background:radial-gradient(ellipse at 60% 45%,rgba(41,38,111,.22),transparent 70%)}
.locations-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.location-count{color:#BCC4F1;font-size:.875rem}
.world-map-window{width:calc(100% - 40px);max-width:1120px;margin-inline:auto;overflow-x:auto;overflow-y:hidden;position:relative;scrollbar-width:thin;scrollbar-color:#4C568D transparent;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.world-map-window:focus-visible{outline-offset:-4px}
.world-map-stage{position:relative;min-width:48rem;width:100%;aspect-ratio:1.7}
.world-land{display:block;width:100%;height:100%;max-width:none;pointer-events:none;user-select:none}
.map-point{position:absolute;display:grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);cursor:pointer;touch-action:pan-x pan-y pinch-zoom}
.map-point::before{content:'';width:8px;height:8px;border:1px solid #C4FFE3;border-radius:50%;background:#5CE8A4;box-shadow:0 0 0 3px rgba(92,232,164,.1),0 0 12px rgba(92,232,164,.32);transition:background .15s,box-shadow .15s}
.map-point.is-active::before{background:#fff;border-color:#C8B7FF;box-shadow:0 0 0 4px rgba(166,135,255,.2),0 0 15px rgba(166,135,255,.5)}
.map-point:focus-visible{outline:2px solid #C8B7FF;outline-offset:1px}
.map-tooltip{position:absolute;z-index:5;max-width:calc(100% - 16px);padding:7px 11px;transform:translate(-50%,-100%);border:1px solid #5C59A0;border-radius:7px;background:#171747;color:#fff;font:500 .875rem/1.4 var(--body);white-space:nowrap;box-shadow:0 4px 16px #05082B80}
.map-tooltip::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px}
@media(max-width:600px){.locations-heading{align-items:start;gap:10px}.world-map-window{width:100%}}
@media(prefers-reduced-motion:reduce){.map-point::before{transition:none}}
@media(forced-colors:active){.world-land{forced-color-adjust:none}.map-point::before{background:Highlight;border-color:CanvasText}.map-tooltip{color:CanvasText;background:Canvas;border-color:CanvasText}}
