.nearby-overlay{position:absolute;inset:0;z-index:1700;pointer-events:none;overflow:hidden}
.nearby-ground{position:absolute;width:100%;height:100%;inset:0;overflow:visible}.nearby-radius{fill:#29b8bb16;stroke:#22999e;stroke-width:2;stroke-dasharray:7 5}.nearby-inner{fill:none;stroke:#22999e70;stroke-width:1}.nearby-tether{stroke:#1d808d;stroke-width:1.5;stroke-dasharray:3 4}
.nearby-wheel{position:absolute;width:220px;height:220px;transform:translate(-50%,-50%);border:1px solid #ffffffce;border-radius:50%;background:radial-gradient(ellipse,#ffffffec 0 24%,#b7e8e56b 25% 48%,#12394a24 49% 50%,#edf9f577 51% 68%,#5aacb055 69% 70%,transparent 71%);box-shadow:0 28px 30px -15px #163e4766,inset 0 2px 6px #fff;backdrop-filter:blur(3px);animation:radar-rise .35s ease-out;pointer-events:none}
.nearby-wheel:before{content:'';position:absolute;inset:22px;border-radius:50%;background:conic-gradient(from 0deg,transparent 260deg,#27aba469 359deg,transparent);animation:radar-scan 1.1s ease-out forwards;pointer-events:none}
.nearby-wheel button{position:absolute;pointer-events:auto;box-shadow:0 5px 12px #173b4933;white-space:nowrap;font-size:.78rem;border-color:#bedcdd;padding:7px 9px;min-height:38px;border-radius:13px}.nearby-hub{left:50%;top:50%;transform:translate(-50%,-50%);background:#12394a;color:white;border-radius:50%!important;width:60px;height:60px;z-index:1}.nearby-sector{transform:translate(-50%,-50%)}.nearby-sector[aria-pressed=true]{background:#126c73;color:white;border-color:#126c73}.nearby-sector:disabled{opacity:.68;background:#e2e9eb;color:#607780;pointer-events:none}
.nearby-dot{position:absolute;pointer-events:auto;transform:translate(-50%,-100%);border-radius:12px 12px 12px 2px;min-height:34px;min-width:34px;padding:6px;background:#fff;color:#147e92;border:2px solid #168f9c;box-shadow:0 9px 12px #12394a3d}.nearby-dot:after{content:'';position:absolute;left:50%;top:100%;height:16px;border-left:2px solid #168f9c;pointer-events:none}.nearby-dot.selected{background:#147e92;color:#fff;z-index:2}
.nearby-card{position:absolute;pointer-events:auto;right:18px;top:135px;width:350px;max-height:calc(100% - 160px);overflow-y:auto;background:#fffffff7;border:1px solid #cae1e2;border-radius:20px;padding:16px;box-shadow:0 16px 45px #12394a3b;backdrop-filter:blur(12px)}.nearby-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:1.06rem;font-weight:800}.nearby-heading button{font-size:.76rem;min-height:34px;padding:6px 9px}.nearby-note{font-size:.78rem;color:#5c7881;line-height:1.5;margin:9px 0 12px}.nearby-list{display:grid;gap:5px}.nearby-row{display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;min-height:42px;font-size:.84rem;padding:7px 9px}.nearby-row span{font-size:.69rem;color:#54747e;white-space:nowrap}.nearby-row[aria-pressed=true]{border-color:#168a94;background:#e9f6f4}.nearby-more{width:100%;font-size:.78rem;margin:7px 0;min-height:34px}.nearby-detail{border-top:1px solid #d7e6e8;padding-top:13px;margin-top:13px}.nearby-detail h3{font-size:1.06rem}.nearby-tags{color:#24808a;font-size:.8rem;margin:4px 0}.nearby-detail .representative img{width:100%;height:130px;object-fit:cover;display:block}.nearby-detail .representative figcaption a{font-size:.65rem}.nearby-detail .representative{margin:10px 0}.nearby-modes{display:flex;gap:7px;margin:10px 0}.nearby-modes button{flex:1;font-size:.78rem;min-height:36px;padding:7px}.nearby-detail label{font-size:.8rem;display:block}.nearby-detail select{margin:6px 0}.nearby-diff{background:#edf7f7;border-radius:12px;padding:12px;margin:10px 0}.nearby-diff strong{font-size:.95rem}.nearby-diff p{font-size:.8rem;margin:5px 0 0}.nearby-detail>small{display:block;font-size:.74rem;color:#5c7881}.nearby-warning{color:#925119;background:#fff0d3;padding:8px;border-radius:8px;font-size:.82rem}.nearby-apply{width:100%;margin-top:12px}.nearby-undo{position:absolute;z-index:1700;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;background:#12394a;color:white;padding:8px 10px 8px 16px;border-radius:14px;box-shadow:0 7px 22px #12394a44;font-size:.82rem}.nearby-undo button{min-height:34px;font-size:.78rem;padding:6px 10px}.nearby-undo span{white-space:nowrap}
@keyframes radar-rise{from{opacity:0;transform:translate(-50%,-35%) scale(.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes radar-scan{from{transform:rotate(0);opacity:.8}to{transform:rotate(360deg);opacity:0}}
@media(max-width:760px){.nearby-card{top:auto;bottom:10px;left:10px;right:10px;width:auto;max-height:42%;padding:12px;border-radius:16px}.nearby-wheel{scale:.8;transform-origin:0 0}.nearby-undo{left:10px;right:10px;bottom:15px;transform:none;justify-content:space-between}.nearby-undo span{white-space:normal}.nearby-detail .representative img{height:110px}}
@media(prefers-reduced-motion:reduce){.nearby-wheel,.nearby-wheel:before{animation:none}.nearby-wheel:before{display:none}}
.nearby-wheel{z-index:3}.nearby-dot{transform:translate(-50%,calc(-100% - 16px))}.nearby-card{z-index:10}.nearby-card:has(.nearby-detail) .nearby-list{max-height:136px;overflow-y:auto}.nearby-apply{min-height:44px}.nearby-card:has(.nearby-detail) .nearby-list:after{content:"";display:block;height:2px}

.nearby-radius-form{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;padding:12px 0;border-bottom:1px solid #d7e6e8;margin-bottom:10px}.nearby-radius-form label{flex:1;min-width:110px;font-size:.8rem}.nearby-radius-form input{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:9px;border:1px solid #99bdc3;border-radius:9px;font-size:1rem}.nearby-radius-form button{padding:8px 10px;min-height:39px}.nearby-radius-form small{flex-basis:100%;color:#5c7881}.nearby-hub{width:68px;height:68px}

.nearby-dot.category-highlight{background:#126c73;color:#fff;z-index:5;box-shadow:0 0 0 5px #ffffff80,0 9px 18px #12394a50}.nearby-location-name{position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);padding:6px 10px;border-radius:9px;background:#fff;color:#12394a;border:1px solid #168f9c;white-space:nowrap;font-size:12px;font-weight:700;box-shadow:0 3px 12px #12394a30;pointer-events:none}

.nearby-dot{border-radius:50%;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;display:grid;place-items:center;background:#eaf9f6;color:#147e92;font-size:22px;font-weight:700}.nearby-dot .nearby-location-name{font-size:11px;max-width:180px;overflow:hidden;text-overflow:ellipsis}.nearby-dot.selected{background:#147e92;color:white}
.nearby-dot .nearby-location-name{visibility:hidden}.nearby-dot:hover .nearby-location-name,.nearby-dot:focus-visible .nearby-location-name,.nearby-dot.selected .nearby-location-name,.nearby-dot.category-highlight .nearby-location-name{visibility:visible}

/* Familiar location pin; its tip is anchored to the geographic point. */
.nearby-dot,.nearby-dot.selected,.nearby-dot.category-highlight{width:32px;height:42px;min-width:32px;min-height:42px;transform:translate(-50%,-100%);border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;overflow:visible}
.nearby-dot:after{display:none}.nearby-pin-icon{width:32px;height:42px;overflow:visible;filter:drop-shadow(0 3px 3px #12394a55);transition:filter .15s ease}
.nearby-pin-icon path{fill:#168b92;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}.nearby-pin-icon circle{fill:#fff}
.nearby-dot:hover .nearby-pin-icon path,.nearby-dot.selected .nearby-pin-icon path,.nearby-dot.category-highlight .nearby-pin-icon path{fill:#105d68}
.nearby-dot:hover .nearby-pin-icon,.nearby-dot.selected .nearby-pin-icon,.nearby-dot.category-highlight .nearby-pin-icon{filter:drop-shadow(0 0 3px #ffffffcc) drop-shadow(0 4px 4px #12394a66)}
.nearby-dot:focus-visible{outline:2px solid #105d68;outline-offset:4px;border-radius:16px}.nearby-dot .nearby-location-name{bottom:calc(100% + 6px)}

@media(max-width:760px){.nearby-card{max-height:55%;overscroll-behavior:contain}.nearby-heading{position:sticky;top:-12px;background:#fff;z-index:2;padding:6px 0}.nearby-heading button,.nearby-row,.nearby-more{min-height:44px}.map-pane:has(.preview-bar:not([hidden])) .nearby-card{bottom:104px;max-height:calc(100% - 180px)}}
