.mapapp{--bar-h:52px;--panel-w:340px;height:calc(100dvh - var(--header-h));border-bottom:1px solid var(--line);flex-direction:column;min-height:520px;display:flex}.mapapp .bar{height:var(--bar-h);border-bottom:1px solid var(--line);background:var(--surface);flex:none;align-items:center;gap:16px;min-width:0;padding-inline:16px;display:flex}.mapapp h1{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(1rem,.9rem + .6vw,1.3rem);overflow:hidden}.mapapp .updated{color:var(--muted);white-space:nowrap;font-size:.82rem;display:none}@media (width>=1100px){.mapapp .updated{display:block}}.mapapp .jump{border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface-2);height:34px;color:var(--muted);flex:none;align-items:center;gap:6px;margin-left:auto;padding:0 6px 0 10px;display:flex}.mapapp .jump select{color:var(--text);cursor:pointer;background:0 0;border:0;padding:4px 2px;font-size:.9rem}.mapapp .jump select option{background:var(--surface)}.mapapp .body{flex:1;min-height:0;display:flex;position:relative}.mapapp .stage{flex:1;min-width:0;position:relative}.mapapp .map{z-index:0;isolation:isolate;background:#10181e;position:absolute;inset:0;overflow:hidden}.mapapp .poster{visibility:hidden;z-index:0;pointer-events:none;max-width:none;transition:opacity .4s var(--ease);position:absolute;top:0;left:0}.mapapp .leaflet-container{font-family:var(--font-body);background:#10181e}.mapapp .panel{background:var(--surface);z-index:30;flex-direction:column;display:flex}@media (width>=900px){.mapapp .panel{width:var(--panel-w);border-right:1px solid var(--line);flex:none}.mapapp .panel .sheet-toggle{display:none}}@media (width<=899px){.mapapp .panel{border-top:1px solid var(--line);border-radius:var(--r-surface) var(--r-surface) 0 0;height:64px;box-shadow:var(--shadow);transition:height .35s var(--ease);padding-bottom:env(safe-area-inset-bottom);position:absolute;bottom:0;left:0;right:0;overflow:hidden}.mapapp .panel[data-open]{height:min(72dvh,640px)}.mapapp .stage .status{bottom:76px}.mapapp .stage .ctrl{bottom:80px}}.mapapp .panel-head{flex:none;gap:8px;padding:12px;display:flex}.mapapp .search{border:1px solid var(--line);border-radius:var(--r-control);background:var(--surface-2);height:40px;color:var(--muted);flex:1;align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex}.mapapp .search:focus-within{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.mapapp .search input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.mapapp .search input::placeholder{color:var(--muted)}.mapapp .sheet-toggle{border-radius:var(--r-control);border:1px solid var(--accent);background:var(--accent);height:40px;color:var(--accent-ink);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:.9rem;font-weight:600;display:inline-flex}.mapapp .panel-tools{border-bottom:1px solid var(--line);flex:none;gap:10px;padding:0 12px 12px;font-size:.88rem;display:grid}.mapapp .check{cursor:pointer;align-items:center;gap:8px;display:flex}.mapapp .check input{width:16px;height:16px;accent-color:var(--accent)}.mapapp .progress{color:var(--muted)}.mapapp .progress strong{color:var(--text)}.mapapp .tool-row{flex-wrap:wrap;gap:6px;display:flex}.mapapp .mini{border-radius:var(--r-control);border:1px solid var(--line);background:var(--surface-2);cursor:pointer;align-items:center;gap:5px;height:30px;padding:0 10px;font-size:.82rem;display:inline-flex}.mapapp .mini:hover{border-color:color-mix(in srgb, var(--text) 30%, var(--line))}.mapapp .mini.danger{color:#d9634f}.mapapp .panel-list{overscroll-behavior:contain;flex:1;padding:6px 8px 24px;overflow-y:auto}.mapapp .empty{color:var(--muted);padding:16px;font-size:.9rem}.mapapp .grp{padding:4px 0}.mapapp .grp+.grp{border-top:1px solid color-mix(in srgb, var(--line) 60%, transparent)}.mapapp .grp-head{align-items:center;gap:6px;display:flex}.mapapp .grp-toggle{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:10px 6px;font-size:.93rem;font-weight:600;display:flex}.mapapp .grp-toggle:before{content:"";border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);width:7px;height:7px;transition:transform .2s var(--ease);flex:none;transform:rotate(-45deg)}.mapapp .grp[data-open] .grp-toggle:before,.mapapp .grp[data-searching] .grp-toggle:before{transform:rotate(45deg)}.mapapp .grp-n{color:var(--muted);font-size:.8rem;font-weight:500}.mapapp .grp-all{color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px;font-size:.8rem;font-weight:600}.mapapp .grp-items{grid-template-columns:1fr 1fr;gap:4px;padding:0 0 8px;display:none}.mapapp .grp[data-open] .grp-items,.mapapp .grp[data-searching] .grp-items{display:grid}.mapapp .chip{border-radius:var(--r-control);text-align:left;cursor:pointer;min-height:38px;color:var(--muted);background:0 0;border:1px solid #0000;align-items:center;gap:7px;min-width:0;padding:4px 8px 4px 5px;font-size:.82rem;line-height:1.25;display:flex}.mapapp .chip[hidden]{display:none}.mapapp .chip:hover{background:var(--surface-2)}.mapapp .chip[aria-pressed=true]{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--text)}.mapapp .chip img,.mapapp .chip .noicon{background:#10161a;border-radius:50%;flex:none;width:26px;height:26px;padding:2px}.mapapp .chip .nm{white-space:normal;overflow-wrap:anywhere;hyphens:auto;-webkit-line-clamp:3;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.mapapp .chip .ct{color:var(--muted);font-size:.74rem}.mapapp .skeleton{gap:22px;padding:8px;display:grid}.mapapp .sk-group{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mapapp .sk{border-radius:var(--r-control);background:linear-gradient(90deg, var(--surface-2) 25%, color-mix(in srgb, var(--surface-2) 60%, var(--line)) 50%, var(--surface-2) 75%);background-size:200% 100%;height:34px;animation:1.4s linear infinite sk}.mapapp .sk-title{grid-column:1/-1;width:45%;height:16px}.mapapp .sk.short{width:70%}@keyframes sk{to{background-position:-200% 0}}@media (width<=520px){.mapapp[data-pop] .ctrl{opacity:0;pointer-events:none}}.mapapp .ctrl{transition:opacity .2s var(--ease);z-index:20;border-radius:var(--r-surface);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);display:grid;position:absolute;bottom:18px;right:14px;overflow:hidden}.mapapp .ctrl button{cursor:pointer;background:0 0;border:0;place-items:center;width:40px;height:40px;font-size:18px;display:grid}.mapapp .ctrl button+button{border-top:1px solid var(--line)}.mapapp .ctrl button:hover{background:var(--surface-2)}.mapapp .status{z-index:20;border-radius:var(--r-control);background:color-mix(in srgb, var(--surface) 85%, transparent);color:var(--muted);pointer-events:none;padding:4px 10px;font-size:.78rem;position:absolute;bottom:14px;left:12px}.mapapp .status:empty{display:none}.mapapp .toast,.mapapp .tiles-error{z-index:25;border-radius:var(--r-control);background:var(--text);max-width:calc(100% - 32px);color:var(--bg);box-shadow:var(--shadow);overflow-wrap:anywhere;padding:8px 14px;font-size:.86rem;font-weight:500;position:absolute;top:14px;left:50%;transform:translate(-50%)}.mapapp .toast[hidden],.mapapp .tiles-error[hidden]{display:none}.pin-pop .leaflet-popup-content-wrapper{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--r-surface);box-shadow:var(--shadow)}.pin-pop .leaflet-popup-tip{background:var(--surface)}.pin-pop .leaflet-popup-content{margin:14px;font-size:.9rem;line-height:1.4}.pin-pop a.leaflet-popup-close-button{color:var(--muted);top:4px;right:4px}.pp-head{align-items:center;gap:10px;padding-right:16px;display:flex}.pp-head img{background:#10161a;border-radius:50%;flex:none;padding:3px}.pp-name{font-size:.98rem;font-weight:600}.pp-sub,.pp-note{color:var(--muted);margin-top:2px;font-size:.8rem}.pp-note{margin-top:8px}.pp-text{white-space:pre-line;overflow-wrap:anywhere;max-height:9.5em;margin-top:10px;font-size:.84rem;overflow-y:auto}.pp-shot{border:1px solid var(--line);border-radius:var(--r-control);cursor:zoom-in;background:#10181e;width:100%;margin-top:10px;padding:0;display:block;overflow:hidden}.pp-shot img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.pp-src{color:var(--muted);margin-top:6px;font-size:.72rem}.mapapp .lightbox{z-index:1000;cursor:zoom-out;background:#080c0fe0;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.mapapp .lightbox[hidden]{display:none}.mapapp .lightbox img{border-radius:var(--r-control);background:#10181e;max-width:100%;max-height:100%}.mapapp .lightbox-close{color:#fff;cursor:pointer;background:#ffffff24;border:0;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.3rem;display:grid;position:absolute;top:12px;right:12px}.pp-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pp-actions .btn{height:34px;padding:0 12px;font-size:.84rem}
