/* MAD Atlas map: MAD Core colours, square edges, big touch targets. */
.mad-atlas-map{--ink:#151a23;--mut:#5b6474;--line:#e2e5ea;--card:#ffffff;--soft:#f4f5f7;--blue:#2563eb;--good:#1f8a4c;--grey:#4b5563;position:relative;height:var(--mam-h,480px);max-width:100%;border:1px solid var(--line);background:#dfe6ec;overflow:hidden;color:var(--ink);font:14px/1.35 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
@media (prefers-color-scheme:dark){.mad-atlas-map{--ink:#eef1f6;--mut:#a6aebb;--line:#2c3340;--card:#161b24;--soft:#202733;background:#1b1f27}}
.mad-atlas-map *{box-sizing:border-box}
.mad-atlas-map [hidden]{display:none!important}
.mad-atlas-map .mam-map{position:absolute;inset:0}
.mad-atlas-map.is-full{position:fixed;inset:0;height:auto;z-index:99990;border:0}
html.mam-lock,html.mam-lock body{overflow:hidden}
.mam-ui{position:absolute;inset:0;pointer-events:none}
.mam-ui>*{pointer-events:auto}

.mam-search{position:absolute;top:10px;left:10px;right:64px;max-width:420px;margin:0}
.mam-search input{width:100%;height:44px;padding:0 12px 0 40px;border:1px solid var(--line);border-radius:0;background:var(--card);color:var(--ink);font-size:16px;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.mam-search input::placeholder{color:var(--mut)}
.mam-sicon{position:absolute;left:12px;top:12px;width:20px;height:20px;color:var(--mut)}
.mam-sicon svg,.mam-btn svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mam-results{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid var(--line);border-top:0;max-height:min(60vh,320px);overflow:auto;box-shadow:0 6px 14px rgba(0,0,0,.14)}
.mam-results li{margin:0;border-bottom:1px solid var(--line)}
.mam-results button{display:grid;gap:2px;width:100%;text-align:left;padding:10px 12px;background:none;border:0;color:var(--ink);cursor:pointer;font:inherit}
.mam-results button:hover,.mam-results button:focus{background:var(--soft);outline:none}
.mam-results span{font-size:12px;color:var(--mut)}
.mam-none{padding:10px 12px;color:var(--mut)}

.mam-right{position:absolute;top:10px;right:10px;display:grid;gap:6px}
.mam-btn{width:44px;height:44px;display:grid;place-items:center;padding:11px;border:1px solid var(--line);border-radius:0;background:var(--card);color:var(--ink);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.12)}
.mam-btn:active{transform:scale(.94)}
.mam-btn:focus-visible{outline:2px solid var(--blue);outline-offset:1px}
.mam-north svg{transition:transform .2s}
.mam-close{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));left:0;right:0;margin:0 auto;width:max-content;padding:0 16px;gap:8px;grid-auto-flow:column;background:var(--ink);color:var(--card);font-weight:800}
.mam-close svg{width:18px;height:18px}
.mam-close::after{content:"Close"}
.is-full .mam-search{top:calc(62px + env(safe-area-inset-top,0px))}
.is-full .mam-right{top:calc(62px + env(safe-area-inset-top,0px))}

.mam-panel{position:absolute;top:10px;right:62px;width:min(290px,calc(100% - 74px));max-height:calc(100% - 20px);overflow:auto;background:var(--card);border:1px solid var(--line);padding:12px;display:grid;gap:8px;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:3}
.is-full .mam-panel{top:calc(62px + env(safe-area-inset-top,0px))}
.mam-panel-h{display:flex;justify-content:space-between;align-items:center}
.mam-x{width:32px;height:32px;padding:6px;border:0;background:none;color:var(--ink);cursor:pointer}
.mam-x svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2}
.mam-looks{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.mam-looks button{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:0;background:var(--card);color:var(--ink);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.mam-looks button.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:700}
.mam-looks i{width:20px;height:20px;flex:none;border:3px solid}
.mam-row{display:flex;gap:8px;align-items:center;min-height:32px}
.mam-row input{width:18px;height:18px}
.mam-panel select{width:100%;height:40px;border:1px solid var(--line);border-radius:0;background:var(--card);color:var(--ink);font:inherit;padding:0 8px}
.mam-small{font-size:12px;color:var(--mut);margin:0}

.mam-credit{position:absolute;right:6px;bottom:6px;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.85);color:#151a23;font-size:11px;padding:2px 4px 2px 2px}
.mam-i{width:22px;height:22px;border:1px solid #c9ced6;border-radius:0;background:#fff;color:#151a23;font:700 12px/1 Georgia,serif;cursor:pointer;padding:0}
.mam-creditbox{position:absolute;right:6px;bottom:36px;width:min(320px,calc(100% - 12px));background:var(--card);border:1px solid var(--line);padding:10px 12px;font-size:12px;color:var(--mut);box-shadow:0 6px 18px rgba(0,0,0,.18)}
.mam-creditbox p{margin:0 0 4px}

.mam-note{position:absolute;left:10px;bottom:34px;right:10px;max-width:420px;margin:0;padding:9px 12px;background:var(--ink);color:var(--card);font-weight:600;font-size:13px}
.mam-modal{position:absolute;inset:0;background:rgba(10,14,20,.55);display:grid;place-items:center;padding:20px;z-index:10}
.mam-box{background:var(--card);color:var(--ink);padding:20px;width:min(360px,100%);display:grid;gap:12px;animation:mam-pop .18s ease}
@keyframes mam-pop{from{transform:scale(.92);opacity:0}}
.mam-box h2{margin:0;font-size:18px;line-height:1.25}
.mam-box p{margin:0;color:var(--mut)}
.mam-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mam-btns button{padding:12px;border:0;border-radius:0;font-weight:800;font-size:15px;cursor:pointer}
.mam-yes{background:var(--blue);color:#fff}
.mam-no{background:var(--grey);color:#fff}

.mam-pop .maplibregl-popup-content{border-radius:0;padding:10px 30px 10px 12px;display:grid;gap:2px;color:#151a23;font:13px/1.3 system-ui,sans-serif}
.mam-pop .maplibregl-popup-content b{font-size:18px}
.mam-pop .maplibregl-popup-content small{color:#5b6474}
.mam-pop .maplibregl-popup-close-button{width:28px;height:28px;font-size:20px}
.mad-atlas-map .maplibregl-cooperative-gesture-screen{font-size:16px}
@media (prefers-reduced-motion:reduce){.mam-box,.mam-north svg{animation:none;transition:none}}
.mam-pop .mam-vote{padding:8px 10px;border:1px solid #e2e5ea;border-radius:0;background:#fff;color:#151a23;font:700 13px system-ui,sans-serif;cursor:pointer}
