#geographic-map{position:absolute;inset:0;background:#dae4dd;font-family:var(--font);z-index:0}
.location-map{isolation:isolate}
#geographic-map[data-basemap="realm"]{background:#697b57}
.realm-terrain{filter:saturate(.82) brightness(.91)}
.realm-place{background:none;border:0;pointer-events:none!important;text-align:center;white-space:nowrap;color:#f9ecd2;font:600 14px/24px var(--title);letter-spacing:.035em;text-shadow:0 1px 3px #193b31,1px 0 2px #193b31,-1px 0 2px #193b31,0 -1px 2px #193b31}
.realm-place span{padding:2px 5px;border-radius:5px;background:#163d345c}
.realm-capital{font-size:16px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.realm-capital span{background:#102e32d9;border:1px solid #d0b46c80;padding:3px 10px}
.realm-landmark{background:none;border:0;pointer-events:none!important}
.realm-landmark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #092d3177)}
.realm-close-up .realm-landmark{opacity:.6}
.realm-overview .realm-landmark img{width:64px;height:64px;margin:29px 0 0 16px}
.realm-overview .realm-capital{font-size:13px;letter-spacing:.07em}
.realm-illustration{background:none;border:0}
.realm-illustration-button{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer;pointer-events:auto;border-radius:16px}
.realm-illustration-button img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 3px #092d3166);pointer-events:none}
.realm-illustration-button::after{content:'';position:absolute;left:50%;top:90%;width:7px;height:7px;border:1px solid #ffdf91;background:#183a3d;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 4px #10252f}
.realm-illustration-button:hover img,.realm-illustration-button:focus-visible img{filter:drop-shadow(0 0 4px #fff0b6)}
.realm-illustration-button:focus-visible{outline:2px solid #fff0b6;outline-offset:2px;background:#09212b25}
.realm-landmark-tooltip{background:#102b32ef;border:1px solid #bba16b;color:#f7e3b5;font:12px/1.4 var(--font);width:max-content;max-width:240px;white-space:normal}
.realm-landmark-popup small{display:block;color:#6a623c;font-size:9px;letter-spacing:.14em;margin:0 0 6px}
.realm-landmark-popup strong{display:block;color:#193f43;font:700 23px/1.1 var(--title)}
.realm-landmark-popup>span{display:block;color:#44666a;font-size:11px;margin-top:6px}
.realm-landmark-popup p{color:#41595a;font-size:12px;line-height:1.6;margin:12px 0!important}
.realm-landmark-popup a{color:#286e74!important;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.realm-discover{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:10px 16px;background:#102a34;border-top:1px solid #29414b}
.realm-discover>span{font-size:.62rem;letter-spacing:.12em;color:#b9cfd4}
.realm-discover>div{display:flex;gap:8px;flex-wrap:wrap}
.realm-discover button{color:#e4c88d;background:transparent;padding:5px 2px;font-size:.74rem;min-height:32px}
.realm-discover button:hover{text-decoration:underline;text-underline-offset:4px}
.map-style-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 15px;background:#102a34;border-top:1px solid #29414b}
.map-style-bar>span{font-size:.73rem;color:#b9cfd4;text-align:right}
.map-style-bar .segmented button{font-size:.75rem;padding:8px 12px;white-space:nowrap}
.location-map .map-caption{z-index:500;pointer-events:none;background:#09212bea;color:#e7cc91}
.location-map .zoom-controls{z-index:500}
.location-map:has(.leaflet-popup) .map-caption,.location-map:has(.leaflet-popup) .zoom-controls{visibility:hidden}
.location-map .map-empty{z-index:501;pointer-events:none}
.location-map .map-empty a{pointer-events:auto}
.location-map .leaflet-control-attribution{font-size:10px;background:#fffef4ed;color:#1c3a40;padding:3px 6px}
.location-map .leaflet-control-attribution a{color:#24595c}
.geo-marker{background:none;border:0}
.geo-marker .pin{position:absolute!important;left:0!important;top:0!important;transform:none!important;width:32px!important;height:40px!important;margin:0;padding:0;transition:none}
.geo-marker .pin svg{width:32px;height:40px;overflow:visible;filter:drop-shadow(0 2px 2px #001e3477)}
.geo-marker .pin.is-selected svg{filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 4px #022f3f)}
.geo-marker .pin span{display:none!important}
.geo-marker .pin:focus-visible{outline:3px solid #092531;outline-offset:3px;border-radius:12px}
.geo-cluster{display:grid;place-items:center;border:2px solid #e9ca89;border-radius:50%;background:#123b45;color:#fff7df;box-shadow:0 2px 6px #001e3477;font-size:14px;font-weight:700}
.geo-cluster:focus-visible{outline:3px solid #092531;outline-offset:3px}
.geo-store-popup strong{font-size:15px;color:#183c40;display:block;line-height:1.35}
.geo-store-popup p{font-size:12px;color:#41595a;margin:8px 0 12px!important}
.geo-store-popup .button{font-size:12px;padding:9px 13px;color:#062532;background:#e9ca89}
.location-map .leaflet-popup-content-wrapper{background:#fffcf2;border:1px solid #ceb681;border-radius:12px}
.location-map .leaflet-popup-tip{background:#fffcf2}
.map-location-note{margin:0;padding:12px 16px;background:#102a34;border-top:1px solid #29414b;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.73rem;color:#b9cfd4;line-height:1.5}
.map-location-note a{color:#e7ca89}
.map-tile-status{margin:0;padding:10px 16px;background:#493c24;color:#ffe2a8;font-size:.8rem}
.map-tile-status:empty{display:none}
.location-review{padding:14px 16px;background:#0c222c;border-top:1px solid #29414b;font-size:.8rem}
.location-review summary{cursor:pointer;color:#e7ca89;line-height:1.5}
.location-review p{color:#b9cfd4;line-height:1.6;margin:12px 0}
.location-review ul{list-style:none;padding:0;margin:8px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.location-review li button{border:0;background:none;color:#e4eded;text-align:left;padding:4px 0;cursor:pointer;line-height:1.5}
.location-review small{display:block;color:#9ab6c1}
.directory-entry .directory-map-button{border:1px solid #365460;color:#e3c788;background:transparent;border-radius:6px;flex:0 0 auto;width:auto;padding:7px;font-size:.72rem;cursor:pointer;align-self:center}
@media(max-width:600px){.location-review ul{grid-template-columns:1fr}.location-map .map-caption{font-size:.67rem;max-width:70%}.location-map .leaflet-control-attribution{font-size:9px}.map-style-bar{align-items:flex-start;flex-direction:column;gap:6px}.map-style-bar>span{text-align:left}}
