.nearby-distance,.circle-help,.phone-gap-note{font-size:.875rem;line-height:1.45;color:var(--muted)}
.current-location-marker{background:none;border:0;pointer-events:none;overflow:visible}
.current-location-direction{position:absolute;inset:0;transform-origin:50% 50%;pointer-events:none}
.current-location-direction svg{position:absolute;left:-46px;top:-46px;width:112px;height:112px;overflow:visible;transform-origin:50% 50%;transition:transform .15s linear}
.current-location-direction stop{stop-color:#1a73e8}
[data-theme=dark] .current-location-direction stop{stop-color:#64a7ff}
.current-location-dot{position:relative;display:block;width:20px;height:20px;box-sizing:border-box;border:3px solid #fff;border-radius:50%;background:#1a73e8;box-shadow:0 0 0 3px #4285f429,0 2px 6px #12386466}
@media(prefers-reduced-motion:reduce){.current-location-direction svg{transition:none}}
.phone-gap-note{margin:8px 0 0}
.nearby-choices{display:grid;gap:8px}
.nearby-choices button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);text-align:left;font-size:.875rem}
.nearby-choices button strong{min-width:0;overflow-wrap:anywhere}.nearby-choices button span{white-space:nowrap}
.nearby-choices button[aria-pressed=true]{border:2px solid var(--green);padding:9px 11px}
.nearby-pick{width:100%;min-height:44px;margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.875rem}
#nearby-confirm{justify-content:center;text-align:center}
/* Shared map/legend palette: a patterned area is not a dashed route line. */
:root{--coverage-mask:#e6e8eb;--coverage-mask-opacity:.86;--coverage-hatch-rgb:99,111,125;--coverage-hatch-opacity:.32;--coverage-boundary:#b46500;--coverage-halo:#fff}
:root[data-theme=dark]{--coverage-mask:#10151c;--coverage-mask-opacity:.9;--coverage-hatch-rgb:130,146,165;--coverage-hatch-opacity:.3;--coverage-boundary:#ffc56c;--coverage-halo:#151c24}
body.picking{--coverage-mask-opacity:.96;--coverage-hatch-opacity:.44}
.coverage-mask-background{fill:var(--coverage-mask);fill-opacity:var(--coverage-mask-opacity)}
.coverage-mask-hatch{fill:none;stroke:rgb(var(--coverage-hatch-rgb));stroke-width:1.5;stroke-opacity:var(--coverage-hatch-opacity)}
.coverage-boundary-halo{stroke:var(--coverage-halo);stroke-opacity:1}
.coverage-boundary{stroke:var(--coverage-boundary);stroke-opacity:1}
.has-selected-walk .coverage-boundary{stroke-opacity:.4}
.has-selected-walk .coverage-boundary-halo{stroke-opacity:.3}
.high-contrast.has-selected-walk .coverage-boundary{stroke-opacity:.7}
.high-contrast.has-selected-walk .coverage-boundary-halo{stroke-opacity:.5}
.coverage-caption{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.875rem;line-height:1.4;color:var(--ink);margin-top:10px}
.coverage-key{display:flex;align-items:center;gap:9px;min-width:0}
.coverage-key>i{display:block;flex:0 0 24px;width:24px;font-style:normal}
.coverage-boundary-key{height:2px;background:var(--coverage-boundary);box-shadow:0 0 0 1.5px var(--coverage-halo);border-radius:2px}
.coverage-outside-key{height:18px;border:1px solid rgba(var(--coverage-hatch-rgb),.65);border-radius:3px;background-color:var(--coverage-mask);background-image:repeating-linear-gradient(135deg,rgba(var(--coverage-hatch-rgb),var(--coverage-hatch-opacity)) 0 1.5px,transparent 1.5px 8.485px)}
#map .ghw-osm-tiles{opacity:1;filter:saturate(.7)}
[data-theme=dark] #map .ghw-osm-tiles{opacity:1;filter:invert(1) hue-rotate(175deg) saturate(.65) brightness(1.05)}
.high-contrast #map .ghw-osm-tiles{filter:saturate(.15) contrast(1.15)}
[data-theme=dark] .high-contrast #map .ghw-osm-tiles{filter:invert(1) hue-rotate(175deg) saturate(.15) contrast(1.15) brightness(1.05)}
.endpoint-gap-note{padding:14px;margin:16px 0;border:1px solid var(--line);border-radius:10px;font-size:.875rem;line-height:1.5}.endpoint-gap-note p{margin:8px 0 0}
.circle-start{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:1rem;overflow-wrap:anywhere}
.circle-start-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.circle-start-actions button{flex:1;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);font-size:.875rem}
#circle-status{font-size:.875rem;line-height:1.5;margin-bottom:10px}
.circle-progress{display:flex;align-items:center;gap:12px;font-size:.875rem;line-height:1.5;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}
.circle-progress .route-spinner{flex:0 0 20px;width:20px;height:20px}
.dialog-open.circle-dialog-open .route-loading{display:none}

/* Start pins and finish flags share endpoint styling on both maps. */
.endpoint-map-marker{background:none;border:0}
.endpoint-map-marker svg{display:block;width:40px;height:40px;overflow:visible;filter:drop-shadow(0 2px 3px #12312755);stroke-linejoin:round}
.endpoint-map-marker.endpoint-map-loop svg{width:64px}
.endpoint-map-start svg{fill:var(--paper);stroke:var(--forest);stroke-width:3.5}
.endpoint-map-end svg{fill:var(--green);stroke:#fff;stroke-width:3}
.endpoint-map-end .endpoint-pin-hole{fill:#fff;stroke:none}
[data-theme=dark] .endpoint-map-start svg{stroke:var(--lime)}
[data-theme=dark] .endpoint-map-end svg{fill:var(--lime);stroke:var(--accent-ink)}
[data-theme=dark] .endpoint-map-end .endpoint-pin-hole{fill:var(--accent-ink)}
.mini-route{display:flex;align-items:center;justify-content:center;gap:12px}
.mini-route svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mini-route i{width:54px;border-top:2px dotted currentColor}
