.mapbar{padding-top:14px}.mapbar h1{font-size:clamp(1.4rem,4vw,2rem);margin:.2em 0}
.mapapp{display:flex;flex-direction:column;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.mapwrap{position:relative;height:62vh;min-height:360px;background:#081624}
#map{position:absolute;inset:0;background:#081624;outline-offset:-3px}
#map:focus-visible{outline:3px solid var(--acc2)}
.mpanel{background:var(--bg2);padding:12px 16px 16px}
@media (min-width:900px){
  .mapapp{flex-direction:row;height:calc(100vh - 57px);min-height:560px}
  .mapwrap{flex:1;height:auto}
  .mpanel{width:380px;flex:0 0 380px;overflow:auto;border-left:1px solid var(--line)}
}
.badge{position:absolute;left:58px;top:10px;max-width:calc(100% - 68px);z-index:500;background:rgba(11,13,18,.85);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.78rem;color:#c7ccd8;pointer-events:none}
.mode-hint{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;z-index:600;background:var(--acc);color:#0b0d12;font-weight:700;border-radius:10px;padding:8px 12px;font-size:.9rem}
.picking #map{cursor:crosshair}
.detail{position:absolute;z-index:700;left:10px;right:10px;bottom:10px;max-height:58%;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
@media (min-width:900px){.detail{left:auto;right:14px;top:14px;bottom:auto;width:340px;max-height:calc(100% - 28px)}}
.detail h2{margin:.2em 0 .3em;font-size:1.2rem}.detail .x{position:absolute;right:8px;top:8px;min-height:36px;width:36px;padding:0;justify-content:center;background:transparent;color:var(--mut);border:1px solid var(--line)}
.detail label{display:block;margin:.5em 0;font-size:.95rem}.detail input[name],.detail textarea,.mpanel input[type=text],.mpanel input[type=search],.mpanel input[type=url],.mpanel textarea{width:100%;min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--tx);padding:8px 10px;font:inherit}
.row{display:flex;gap:8px;flex-wrap:wrap}.sm{min-height:38px;padding:0 12px;font-size:.9rem}
.found-toggle{display:flex!important;align-items:center;gap:8px;font-weight:700}.found-toggle input{width:22px;height:22px}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 -4px 10px;padding:0 4px}
.tabs [role=tab]{background:transparent;color:var(--mut);border-radius:8px 8px 0 0;min-height:42px;padding:0 10px;font-weight:600;white-space:nowrap}
.tabs [role=tab][aria-selected=true]{color:#fff;box-shadow:inset 0 -3px 0 var(--acc)}
.mpanel .fcat{display:flex;align-items:center;gap:10px;min-height:44px;border-bottom:1px solid var(--line)}.fcat input{width:20px;height:20px;flex:0 0 20px}.fcat span:nth-of-type(2){flex:1}
.plain{list-style:none;padding:0;margin:0}.plain li,#search-results li,#pin-list li{padding:8px 0;border-bottom:1px solid var(--line)}
#search-results,#pin-list{list-style:none;padding:0;margin:8px 0}
.linkish{background:none;border:0;color:var(--acc2);padding:0;min-height:0;font:inherit;font-weight:600;cursor:pointer;text-align:left}
.linkish:hover,.linkish:focus-visible{text-decoration:underline;color:#fff}
.prog{margin:10px 0}.prog-h{display:flex;justify-content:space-between;font-size:.92rem}.bar{height:10px;background:#2a3040;border-radius:5px;overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;border-radius:5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mpanel label{display:block;margin:.5em 0}.filebtn{display:inline-flex!important;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:700}
.filebtn input{position:absolute;opacity:0;width:1px;height:1px}
.filebtn:focus-within{outline:2px solid var(--acc2)}
/* markers */
.mk-wrap{background:none;border:0}
.mk{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c);border:2px solid #0b0d12;box-shadow:0 0 0 2px rgba(255,255,255,.85);color:#fff;font:800 13px/1 system-ui,sans-serif}
.mk.sm{width:22px;height:22px;font-size:11px;display:inline-grid;vertical-align:middle;box-shadow:0 0 0 1px rgba(255,255,255,.6)}
.mk.found{opacity:.45;filter:grayscale(.6)}.mk.found b::after{content:"✓";margin-left:1px}
.leaflet-marker-icon:focus-visible .mk,.leaflet-marker-icon:focus-visible .pin{outline:3px solid var(--acc2);outline-offset:2px}
.pin{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#fff;color:#0b0d12;font-size:14px}
.mcluster{background:rgba(11,13,18,.85);border:2px solid var(--acc2);border-radius:50%;display:grid!important;place-items:center;color:#fff;font:800 14px/1 system-ui,sans-serif}
.leaflet-container{font:inherit;background:#081624}.leaflet-control-attribution{background:rgba(11,13,18,.7)!important;color:var(--mut)!important}.leaflet-control-attribution a{color:var(--mut)!important}
.leaflet-bar a{background:#171b25!important;color:#e8ebf1!important;border-color:#252b38!important;width:40px!important;height:40px!important;line-height:40px!important}
.places{columns:2 240px;padding-left:18px}
