.explorer-page{width:min(100% - 48px,1680px);margin:0 auto;padding:26px 0 36px}
.explorer-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 16px}
.explorer-eyebrow{margin:0 0 4px;color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.14em}
.explorer-heading h1{margin:0;color:var(--color-text);font-size:clamp(24px,3vw,34px);line-height:1.15}
.explorer-intro{margin:7px 0 0;color:var(--color-text-muted);font-size:14px}
.explorer-status{flex:none;margin:0 0 2px;color:var(--color-text-muted);font-size:13px}
#explorer-map{height:calc(100vh - 195px);min-height:500px;border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-background-soft);box-shadow:var(--shadow-soft);overflow:hidden}
.explorer-marker-shell{display:grid;place-items:center;background:transparent;border:0}
.explorer-marker{display:grid;place-items:center;min-width:30px;height:30px;padding:0 7px;border:2px solid rgba(255,255,255,.95);border-radius:999px;background:#3c8bd8;color:#fff;box-shadow:0 2px 7px rgba(25,56,91,.42);font-size:12px;font-weight:800;line-height:1;transition:transform .12s ease,background .12s ease}
.explorer-marker.is-cluster{min-width:34px;height:34px;font-size:12px}
.leaflet-marker-icon:hover .explorer-marker{transform:scale(1.14);background:#2678c3}
.explorer-hover-popup .leaflet-popup-content-wrapper{padding:0;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);box-shadow:0 12px 32px rgba(39,36,29,.25);color:var(--color-text)}
.explorer-hover-popup .leaflet-popup-content{width:auto!important;max-width:calc(100vw - 70px);margin:0;padding:12px}
.explorer-hover-popup .leaflet-popup-tip{background:var(--color-surface)}
.explorer-preview-heading{display:block;margin:0 0 9px;color:var(--color-text);font-size:13px}
.explorer-preview{width:max-content;max-width:calc(100vw - 94px)}
.explorer-preview-grid{display:grid;grid-template-columns:repeat(var(--preview-count,3),100px);gap:7px}
.explorer-preview-photo{display:block;width:100px;min-width:0;overflow:hidden;border-radius:6px;background:var(--color-background-soft);color:var(--color-text);text-decoration:none}
.explorer-preview-photo img{display:block;width:100%;height:68px;object-fit:cover;background:var(--color-background-soft)}
.explorer-preview-photo span{display:block;overflow:hidden;padding:4px 5px;text-overflow:ellipsis;white-space:nowrap;font-size:10px}
.explorer-preview-photo:hover{outline:2px solid var(--color-primary)}
.explorer-preview-more{margin:8px 0 0;color:var(--color-text-muted);font-size:11px}
.explorer-preview-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:9px;color:var(--color-text-muted);font-size:11px}
.explorer-preview-controls button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface);color:var(--color-primary);font-size:18px;line-height:1;cursor:pointer}
.explorer-preview-controls button:hover:not(:disabled){background:var(--color-primary);color:#fff}
.explorer-preview-controls button:disabled{opacity:.35;cursor:default}
@media(max-width:700px){.explorer-page{width:calc(100% - 24px);padding:18px 0 26px}.explorer-heading{align-items:flex-start;flex-direction:column;gap:7px;margin-bottom:12px}.explorer-intro{font-size:13px}.explorer-status{font-size:12px}#explorer-map{height:calc(100vh - 230px);min-height:420px;border-radius:12px}}
