/* Projected location labels stay below game panels; only their buttons intercept input. */
#map-markers{position:fixed;inset:0;z-index:2;pointer-events:none;overflow:hidden;contain:layout style}
#map-markers [hidden]{display:none!important}
.map-marker{--marker:#ffce76;position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;gap:6px;width:87px;height:31px;padding:0 5px;border:1px solid color-mix(in srgb,var(--marker) 78%,transparent);border-radius:5px;background:#132537f5;color:var(--marker);font-family:inherit;font-size:12px;font-weight:700;line-height:1;letter-spacing:0;white-space:nowrap;pointer-events:auto;cursor:pointer;box-shadow:0 2px 9px #0009,0 0 0 1px #061222b0;will-change:transform}
.map-marker--shop{--marker:#76f4da;background:#103c38f5}
.map-marker--event{--marker:#d9b4ff;background:#39274ef5}
.map-marker:hover,.map-marker:focus-visible,.map-marker.is-located{outline:2px solid var(--marker);outline-offset:2px;background:#243642;z-index:2;color:#fff0bf}
.map-marker-icon{width:13px;height:15px;display:grid;place-items:center;font-size:15px;line-height:1;position:relative;flex:none}
.map-marker--shop .map-marker-icon:before,.map-marker--shop .map-marker-icon:after{content:"";position:absolute;display:block;width:8px;height:11px;border:1.5px solid currentColor;border-radius:1px}
.map-marker--shop .map-marker-icon:before{left:0;top:0}
.map-marker--shop .map-marker-icon:after{left:4px;top:3px;background:#174a40}
.map-marker-line{position:absolute;left:0;top:0;height:1px;background:#ffce7690;transform-origin:left center;pointer-events:none;box-shadow:0 1px 2px #0009}
.map-marker-line:before{content:"";position:absolute;left:-2px;top:-2px;width:5px;height:5px;background:#ffce76;border-radius:50%;box-shadow:0 0 0 1px #132337}
.map-marker-line--shop{background:#76f4da90}.map-marker-line--shop:before{background:#76f4da}
.map-marker-line--event{background:#d9b4ff90}.map-marker-line--event:before{background:#d9b4ff}
@media(max-width:650px){.map-marker{width:79px;height:29px;font-size:11px;gap:4px}}
/* A small identity cue follows the actual player miniature, independent of place filters. */
.player-locator{position:absolute;left:0;top:0;width:24px;height:21px;display:grid;place-items:center;background:#fff0b7;color:#3b321f;border:1px solid #ffdf79;border-radius:5px;font-size:12px;font-weight:800;line-height:1;box-shadow:0 2px 8px #0009;pointer-events:none;z-index:3}
.player-locator:after{content:"";position:absolute;bottom:-4px;left:9px;width:6px;height:6px;background:#fff0b7;transform:rotate(45deg)}
