.maa-geographic-frame{position:relative;margin:12px 0;border:1px solid #d4cebc;border-radius:10px;overflow:hidden} .maa-geographic-map{position:relative;width:100%;height:440px;min-height:300px;background:#eeeade;isolation:isolate}
.maa-geographic-expand{position:absolute;right:12px;top:12px;z-index:5;background:#fff;color:#12372d;border:1px solid #bbc6bf;border-radius:50%;width:42px;height:42px;font-size:24px;cursor:pointer;box-shadow:0 1px 4px #0003} .maa-geo-style-switch{position:absolute;right:12px;top:62px;z-index:5;padding:5px 8px;border:1px solid #bbc6bf;border-radius:6px;background:#fffffff2;font-size:12px;cursor:pointer;box-shadow:0 1px 4px #0003} .maa-geographic-map .mapboxgl-ctrl-group{box-shadow:0 1px 4px #0003}
.maa-geographic-map .mapboxgl-ctrl-group button{width:32px;height:32px}
.maa-geographic-map .mapboxgl-ctrl-attrib{font-size:10px}
.maa-geographic-map .mapboxgl-ctrl-scale{background:#fffffff2;padding:0 4px} .maa-geo-marker{display:flex;flex-direction:column-reverse;align-items:center;cursor:default}
.maa-geo-marker-dot{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.4)}
.maa-geo-marker.is-origin .maa-geo-marker-dot{background:#2459d9}
.maa-geo-marker.is-destination .maa-geo-marker-dot{background:#c72126}
.maa-geo-marker.is-waypoint .maa-geo-marker-dot{width:11px;height:11px;background:#b57913} .maa-geo-marker-label{
margin-bottom:4px;padding:3px 7px;border-radius:5px;
background:rgba(255,255,255,.5);
border:1px solid rgba(175,174,166,.5);
font-size:12px;font-weight:600;line-height:1.25;color:#12342c;
white-space:normal;max-width:170px;text-align:center;
box-shadow:none;backdrop-filter:blur(1px);
}
.maa-geo-marker.is-origin .maa-geo-marker-label,
.maa-geo-marker.is-destination .maa-geo-marker-label{background:rgba(255,255,255,.65);font-size:14.5px;font-weight:700}
.maa-geo-marker.is-waypoint .maa-geo-marker-label{font-size:11.5px;font-weight:600}
.maa-map-status{margin:0;padding:6px 10px;font-size:12px;background:#fff7dc} .maa-geo-legend{position:absolute;left:12px;top:12px;z-index:4;max-width:min(260px,60%);max-height:80px;box-sizing:border-box;margin:0;padding:6px 10px;border-radius:8px;background:rgba(20,40,33,.82);color:#f4f1e8;font-family:Arial,sans-serif;font-size:12.5px;font-weight:700;line-height:1.3;white-space:normal;word-break:break-word;pointer-events:none;overflow:hidden}
.maa-geographic-map .mapboxgl-ctrl-top-left{top:86px} .maa-geo-actions{position:absolute;left:12px;bottom:64px;z-index:4;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 24px)}
.maa-geo-action-btn{appearance:none;border:1px solid #bbc6bf;border-radius:999px;background:#fffffff2;color:#12372d;font:700 11.5px/1 Arial,sans-serif;padding:7px 11px;cursor:pointer;white-space:nowrap;box-shadow:0 1px 4px #0003} .maa-geo-action-btn:hover{background:#fff;color:#12372d}
.maa-geo-action-btn:active{transform:scale(.96)}
.maa-geographic-dialog{width:min(1100px,96vw);max-width:96vw;padding:12px;border:1px solid #bcbba9;border-radius:12px;color:#173b30;background:#fff}
.maa-geographic-dialog::backdrop{background:#12241dcc}
.maa-geographic-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 4px 12px}
.maa-geographic-header button{width:40px;height:40px;flex:0 0 40px;border:1px solid #999;border-radius:50%;font-size:25px;background:#fff;cursor:pointer}
.maa-geographic-viewport .maa-geographic-map{height:min(76vh,760px)}
@media(max-width:600px){
.maa-geographic-map{height:370px}
.maa-geo-marker-label{max-width:130px;font-size:11px}
.maa-geographic-header strong{font-size:14px} .maa-geo-legend{max-width:min(170px,55%);font-size:11.5px;padding:5px 8px}
.maa-geo-action-btn{font-size:11px;padding:6px 9px}
}