.explorer-map-card{margin:30px 0;padding:clamp(18px,3vw,30px)}
.explorer-map-card h2{font:clamp(24px,3vw,32px) Georgia,serif;margin:8px 0}
.explorer-map-card>p{max-width:800px}
.explorer-map-search{display:flex;align-items:end;gap:12px;max-width:760px;margin:20px 0 8px}
.explorer-map-search label{flex:1;font-size:13px;color:#596851}
.explorer-map-search .button{white-space:nowrap}
.explorer-map-results{display:flex;flex-wrap:wrap;gap:8px}
.map-place-option{border:1px solid #dce3d2;background:#f8f9f2;color:#38533e;border-radius:8px;padding:10px 13px;min-height:44px;text-align:left}
.map-status{min-height:24px;margin:10px 0;color:#64745e}
.map-toolbar{display:flex;align-items:center;gap:10px;margin:12px 0}
.map-toolbar label{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:12px;color:#58654f}
.map-toolbar input{width:min(260px,32vw);accent-color:#355d42}
.map-toolbar output{min-width:44px;font-size:12px;text-align:right}
.ign-map{height:430px;position:relative;overflow:hidden;border-radius:12px;background:#e8ece4;touch-action:none;cursor:grab;isolation:isolate}
.ign-map.is-dragging{cursor:grabbing}
.map-layer{position:absolute;inset:0;overflow:hidden}
.map-layer-current{z-index:1}
.map-layer-historic{z-index:2}
.map-layer img{position:absolute;width:256px;height:256px;max-width:none;object-fit:cover;user-select:none;-webkit-user-drag:none;pointer-events:none}
.map-label{position:absolute;z-index:4;top:10px;padding:7px 10px;border-radius:6px;background:#fffef0eF;color:#263c2e;font-size:11px;box-shadow:0 1px 5px #0002;pointer-events:none}
.map-label-current{right:10px}
.map-label-historic{left:10px}
.map-divider{position:absolute;z-index:5;top:0;bottom:0;width:3px;background:#fff;box-shadow:0 0 4px #0008;transform:translateX(-50%);pointer-events:none}
.map-divider:after{content:'↔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:36px;height:36px;border:2px solid white;border-radius:50%;background:#294d3d;color:white;font-size:18px}
.map-location-mark{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);font-size:18px;color:#b34f36;text-shadow:0 1px 2px white,1px 0 2px white,-1px 0 2px white;pointer-events:none}
.map-attribution{display:block;margin-top:10px;color:#66715e}
.map-attribution a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:600px){.explorer-map-search{align-items:stretch;flex-direction:column}.explorer-map-search .button{width:100%}.map-toolbar{flex-wrap:wrap}.map-toolbar label{width:100%;margin:5px 0 0}.map-toolbar label input{flex:1;width:auto}.ign-map{height:330px}}
