/* REONE map engine (assets/js/map-engine.js). Shared by the homepage map
   panel and /map. Colours come from the site tokens so live themes apply. */
.rm-map{position:relative;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;background:var(--surface-inset);isolation:isolate;outline-offset:-3px}
.rm-map.rm-cooperative{touch-action:pan-x pan-y}
.rm-map.rm-dragging{cursor:grabbing}
.rm-map .rm-tiles,.rm-map .rm-markers{position:absolute;inset:0;transform-origin:0 0}
.rm-map .rm-tiles{z-index:0;pointer-events:none;filter:saturate(.72) contrast(1.03) brightness(1.02);transition:filter .3s}
.rm-map .rm-tiles img{position:absolute;left:0;top:0;width:256px;height:256px;max-width:none!important;transform-origin:0 0;opacity:0;transition:opacity .22s ease-out;will-change:transform;pointer-events:none;background:none}
.rm-map .rm-tiles img.rm-loaded{opacity:1}
:root[data-theme="dark"] .rm-map .rm-tiles{filter:invert(1) hue-rotate(180deg) brightness(.92) contrast(.88) saturate(.45)}
.rm-map .rm-markers{z-index:2;will-change:transform}
.rm-hint{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:24px;background:color-mix(in srgb,var(--contrast-2,#0d0d0f) 52%,transparent);color:#fff;font:700 15px/1.4 var(--font-body),system-ui,sans-serif;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
.rm-hint.rm-hint-on{opacity:1}
@media (prefers-reduced-motion:reduce){.rm-map .rm-tiles img{transition:none}}
