.view-switch{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.view-switch a{display:flex;align-items:center;gap:8px;padding:9px 14px;border-radius:8px;font-size:13px;color:var(--muted)}
.view-switch a[aria-current]{background:#bba7f51c;color:#e6dcff;box-shadow:inset 0 0 0 1px #bba7f533}.view-switch svg{width:17px;height:17px;flex:none}
.map-workspace{display:grid;grid-template-columns:clamp(380px,40%,600px) minmax(0,1fr);height:calc(100dvh - 330px);min-height:520px;max-height:1000px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}
.map-sidebar{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line)}
.map-results-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px;border-bottom:1px solid var(--line)}
.map-results-heading h2{font-size:16px;line-height:1.4;margin:0;font-weight:600;max-height:70px;overflow:auto}
.map-results-heading .eyebrow{display:block;font-size:9px;letter-spacing:.12em}.map-result-count{padding:5px 10px;border-radius:20px;background:#bba7f51c;color:#e6dcff;font-size:13px}
.map-auto-hint{display:block;margin-top:6px;font-size:11px;line-height:1.5;color:var(--muted)}
.map-results-heading{flex:none}.map-result-count{flex:none}
.map-results-feedback{display:flex;align-items:center;gap:10px;flex:none;padding:12px 16px;border-bottom:1px solid var(--line);background:#bba7f510;color:#e6dcff;font-size:12px;line-height:1.5}
.map-results-feedback .load-spinner{display:block;width:18px;height:18px;flex:none;border:2px solid #c3acf840;border-top-color:#d6c4ff;border-radius:50%;animation:load-spin .7s linear infinite}
.map-results-feedback.is-error{color:#ffc4cb}.map-results-feedback.is-error .load-spinner{display:none}
.map-results-feedback button{flex:none;margin-left:auto;min-height:44px;padding:8px 10px;border:1px solid #7b639d;border-radius:8px;background:#30273e;font-size:12px}
.is-map-loading #browse-status{display:none!important}
@media(prefers-reduced-motion:reduce){.map-results-feedback .load-spinner{animation:none;border-style:dotted}}
.map-results{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:12px}
.map-results .profile-grid{display:flex;flex-direction:column;gap:14px}
.map-results .profile-card{display:grid;grid-template-columns:minmax(140px,48%) minmax(0,1fr);border-radius:14px;flex:none}
.map-results .profile-card:hover{transform:none}.map-results .photo-frame{width:100%;height:auto;min-height:100%;aspect-ratio:3/4}
.map-results .profile-card-info{min-width:0;padding:18px;display:flex;flex-direction:column;justify-content:center}
.map-results .profile-card-title{align-items:flex-start}.map-results .profile-card h2{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:16px;overflow-wrap:anywhere}
.map-results .photo-badges{gap:4px;top:42px}.map-results .photo-badge{font-size:10px;padding:4px 6px}.map-results .badge-review-label{display:none}
.map-results .photo-arrow{width:32px;height:44px;font-size:28px}.map-results .photo-arrow.previous{left:6px}.map-results .photo-arrow.next{right:6px}
.map-results .zoom-button{width:32px;height:32px}.map-results .photo-updated{font-size:10px;left:8px;bottom:8px;max-width:calc(100% - 16px)}
.map-results .profile-card-bottom{flex-wrap:wrap;row-gap:8px}
.map-results .infinite-footer{min-height:70px}.map-results .empty{padding:30px 12px}.map-results .empty h2{font-size:18px}
.map-stage{position:relative;min-width:0;min-height:0;isolation:isolate;background:#e4e8e4}
#profile-map{height:100%;width:100%;background:#e4e8e4;color:#25352f;font-family:inherit;z-index:0}
.map-actions{position:absolute;z-index:500;top:16px;left:16px;right:16px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}
.map-actions button,.map-feedback button{pointer-events:auto;border:1px solid #d6d8df;background:#fff;color:#2c2635;padding:10px 13px;border-radius:10px;font-size:12px;font-weight:600;box-shadow:0 3px 12px #0002}
.map-actions button:hover{filter:brightness(.95)}
.map-feedback{position:absolute;top:70px;left:16px;right:16px;z-index:500;font-size:11px;display:flex;align-items:center;gap:8px;pointer-events:none;color:#3d3644}
.map-feedback [data-map-status]{background:#fffffff0;padding:6px 10px;border-radius:8px;max-width:75%;box-shadow:0 1px 5px #0001}
.map-note{position:absolute;bottom:36px;left:16px;right:60px;z-index:500;display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:8px;background:#fffffff2;color:#534c5c;font-size:10px;pointer-events:none;max-width:420px}
.map-note svg{width:16px;height:16px;flex:none}.map-marker{background:none;border:0}
.map-bubble{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#30223e;border:3px solid #bca4dc;box-shadow:0 3px 14px #30223e44;font-size:16px;font-weight:750;font-variant-numeric:tabular-nums;cursor:pointer}
.map-bubble:hover,.map-bubble[aria-pressed=true]{background:#39264c;color:#fff;border-color:#e6d3ff;transform:scale(1.06)}
.map-bubble:focus-visible{outline:3px solid #30223e;outline-offset:3px}
.map-places{position:absolute;z-index:500;right:16px;bottom:120px;max-width:230px;background:#fffffff5;color:#3d3448;border-radius:10px;box-shadow:0 2px 12px #0002;font-size:11px}
.map-places summary{padding:10px 12px;font-size:11px}.map-places[open]>summary{margin:0;border-bottom:1px solid #ddd}
.map-places [data-map-places]{display:flex;flex-direction:column;max-height:220px;overflow:auto;padding:5px}.map-places button{background:transparent;color:inherit;text-align:left;padding:8px;border:0;border-radius:6px;font-size:12px}.map-places button:hover{background:#eee6f7}
#profile-map .leaflet-control-attribution{font-size:10px;background:#fffffff2;color:#555}#profile-map .leaflet-control-attribution a{color:#3e5260}
#profile-map .leaflet-control-zoom{border:1px solid #d2d4da;border-radius:10px;overflow:hidden;box-shadow:0 3px 12px #0002}#profile-map .leaflet-control-zoom a{background:#fff;color:#30223e;width:34px;height:34px;line-height:34px}
#profile-map .leaflet-control-scale-line{border-color:#737e76;background:#ffffffe8;color:#344039}
@media(max-width:850px){.map-workspace{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0}.map-stage{order:-1;height:48dvh;min-height:340px;flex:none}.map-sidebar{border-right:0;border-top:1px solid var(--line);max-height:75dvh}.map-actions{left:10px;right:10px;top:10px;gap:5px}.map-actions button{padding:9px;font-size:11px}.map-feedback{top:100px;left:10px}.map-note{left:10px;font-size:9px}.map-results-heading{padding:14px 16px}}
@media(max-width:650px){.directory-heading{align-items:center;gap:8px}.view-switch a{font-size:11px;padding:8px;gap:5px}.view-switch svg{width:15px}.map-results .profile-card-info{padding:12px 10px}.map-results .profile-card h2{font-size:14px}.map-results .photo-badge{font-size:9px;padding:3px 4px}.map-results .photo-updated{left:6px;bottom:6px;font-size:9px;max-width:calc(100% - 12px)}.map-note{max-width:260px}.map-places{bottom:112px;right:10px}.map-feedback [data-map-status]{max-width:90%}}

.map-bubble.is-highlighted{background:#e5d6fa;border-color:#624780;box-shadow:0 0 0 7px #bba7f533}
