.bath-explorer{color:var(--ink,#243d33);font-family:var(--f-body,inherit);min-width:0;max-width:100%;padding:2px 0 24px}
.bath-explorer *{box-sizing:border-box}
.bath-explorer [hidden]{display:none!important}
.bath-explorer button,.bath-explorer input,.bath-explorer select{font:inherit;font-size:16px}
.bath-explorer button{min-height:44px;border:1px solid var(--line,#d5ddd2);border-radius:6px;background:var(--surface,#fffdf7);color:var(--moss,#255440);padding:9px 12px;line-height:1.5;cursor:pointer;touch-action:manipulation}
.bath-explorer button:hover{border-color:var(--moss,#255440)}
.bath-explorer button:focus-visible,.bath-explorer input:focus-visible,.bath-explorer select:focus-visible,.bath-explorer summary:focus-visible{outline:3px solid var(--lake,#3a7a93);outline-offset:3px}
.bath-explorer button:disabled{opacity:.55;cursor:default}
.bath-explorer input[type=search]{display:block;width:100%;min-width:0;min-height:48px;padding:10px 12px;border:1px solid var(--line,#d5ddd2);border-radius:6px;background:var(--surface,#fffdf7);color:inherit}
.bath-explorer-search{display:flex;gap:8px;align-items:end;margin:0}
.bath-explorer-search label{flex:1;min-width:0;font-size:.9rem;font-weight:600;line-height:1.7}
.bath-explorer-search button{min-height:48px;flex:none;background:var(--moss,#255440);color:var(--surface,#fffdf7);border-color:var(--moss,#255440)}
.bath-explorer-suggestions ul{list-style:none;padding:0;margin:8px 0;border:1px solid var(--line,#d5ddd2);border-radius:6px;background:var(--surface,#fffdf7)}
.bath-explorer-suggestions li+li{border-top:1px solid var(--line,#d5ddd2)}
.bath-explorer-suggestions button{display:flex;flex-direction:column;align-items:start;width:100%;min-height:54px;text-align:left;border:0;border-radius:0}
.bath-explorer-suggestions strong{font-size:.88rem;font-weight:500;overflow-wrap:anywhere}
.bath-explorer-suggestions small{font-size:.74rem;color:var(--ink-3,#52665a)}
.bath-explorer-start{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}
.bath-explorer-start button{font-size:.85rem;flex:none}
.bath-explorer-start>span{min-width:0;font-size:.8rem;line-height:1.6;color:var(--ink-2,#456050);overflow-wrap:anywhere}
.bath-explorer-status{background:var(--moss-l,#edf2e7);padding:10px 12px;border-radius:5px;font-size:.84rem;line-height:1.7;margin:8px 0}
.bath-explorer-conditions{border-top:1px solid var(--line,#d5ddd2);border-bottom:1px solid var(--line,#d5ddd2);margin:10px 0 14px;padding:0}
.bath-explorer-conditions>summary,.bath-explorer-help>summary,.bath-explorer-unmapped>summary{min-height:44px;padding:10px 0;font-size:.85rem;cursor:pointer;line-height:1.6}
.bath-explorer-conditions>summary span{font-size:.78rem;color:var(--ink-3,#52665a);margin-left:8px}
.bath-explorer-conditions fieldset{margin:4px 0 12px;border:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 12px}
.bath-explorer-conditions legend{font-size:.75rem;color:var(--ink-3,#52665a);margin-bottom:5px}
.bath-explorer-conditions fieldset label{display:flex;align-items:center;gap:7px;min-height:44px;font-size:.84rem}
.bath-explorer-conditions input[type=checkbox]{width:20px;height:20px;accent-color:var(--moss,#255440);margin:0}
.bath-explorer-radius{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8rem;margin-bottom:10px}
.bath-explorer-radius select{min-height:44px;padding:8px;color:inherit;background:var(--surface,#fffdf7);border:1px solid var(--line,#d5ddd2);border-radius:5px}
.bath-explorer-conditions>button{margin-bottom:12px;font-size:.8rem}
.bath-explorer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 8px}
.bath-explorer-modes{display:flex;border:1px solid var(--moss,#255440);border-radius:6px;overflow:hidden}
.bath-explorer-modes button{border:0;border-radius:0;min-width:68px;font-size:.88rem;padding-inline:16px}
.bath-explorer-modes button[aria-pressed=true]{background:var(--moss,#255440);color:var(--surface,#fffdf7)}
.bath-explorer-modes button:focus-visible{outline-offset:-3px}
.bath-explorer-modes button[aria-pressed=true]:focus-visible{outline-color:var(--moss-ink,#fffdf8)}
.bath-explorer-toolbar>p{font-size:.8rem;margin:0;color:var(--ink-3,#52665a)}
.bath-explorer-map-panel{position:relative;min-width:0;margin-bottom:14px}
.bath-explorer-map{height:340px;width:100%;max-width:100%;border:1px solid var(--line,#d5ddd2);border-radius:6px;background:var(--moss-l,#edf2e7);touch-action:pan-y;z-index:0;isolation:isolate}
.bath-explorer-map.is-interactive{touch-action:none;outline:2px solid var(--moss,#255440);outline-offset:-2px}
.bath-explorer-map:not(.is-interactive) .leaflet-pane{touch-action:pan-y}
.bath-explorer-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;font-size:24px}
.bath-explorer-map .leaflet-control-attribution{font-size:10px;line-height:1.5;max-width:100%}
.bath-explorer-map-tools{display:flex;gap:8px;margin:8px 0;flex-wrap:wrap}
.bath-explorer-map-tools button{font-size:.82rem;flex:1}
.bath-explorer-map-tools .is-pending{background:var(--moss,#255440);color:var(--surface,#fffdf7);border-color:var(--moss,#255440)}
.bath-explorer-map-hint{font-size:.74rem;color:var(--ink-3,#52665a);margin:5px 0;line-height:1.65}
.bath-explorer-credit{font-size:.67rem;line-height:1.6;color:var(--ink-3,#52665a);margin:7px 0;overflow-wrap:anywhere}
.bath-explorer-credit a{color:inherit;text-underline-offset:2px}
.bath-explorer-pin{display:grid!important;place-items:center;border:0!important;background:none!important}
.bath-explorer-pin>span{display:grid;place-items:center;min-width:32px;height:32px;border-radius:50%;border:2px solid var(--surface,#fffdf7);background:var(--moss,#255440);color:var(--moss-ink,#fffdf7);font:600 14px/1 sans-serif;box-shadow:0 1px 4px #0004}
.bath-explorer-pin--cluster>span{background:var(--surface,#fffdf7);color:var(--moss,#255440);border:2px solid var(--moss,#255440);min-width:36px;height:36px}
.bath-explorer-pin.is-selected>span{outline:3px solid var(--lake,#3a7a93);outline-offset:2px}
.bath-explorer .bath-explorer-tooltip{writing-mode:horizontal-tb;white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.bath-explorer-preview{margin:14px 0;background:var(--moss-l,#edf2e7);border:1px solid var(--moss,#255440);border-radius:6px;padding:0 12px}
.bath-explorer-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--ink-3,#52665a)}
.bath-explorer-preview-head button{border:0;background:none;font-size:.75rem;padding-right:0}
.bath-explorer-card{border-bottom:1px solid var(--line,#d5ddd2);padding:14px 0;position:relative;min-width:0}
.bath-explorer-card--preview{border:0;padding-top:0}
.bath-explorer-name{border:0!important;border-radius:0!important;padding:0!important;min-height:44px!important;background:none!important;color:var(--ink,#243d33)!important;font-weight:600!important;font-size:.97rem!important;text-align:left;max-width:100%;overflow-wrap:anywhere}
.bath-explorer-card small{display:block;font-size:.72rem;line-height:1.6;color:var(--ink-3,#52665a);margin-top:1px;overflow-wrap:anywhere}
.bath-explorer-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:8px 0;font-size:.78rem;line-height:1.6}
.bath-explorer-badge{font-size:.71rem;color:var(--ink-3,#52665a)}
.bath-explorer-features{display:flex;flex-wrap:wrap;gap:5px;margin:7px 0;font-size:.7rem;color:var(--ink-2,#456050)}
.bath-explorer-features span{padding:3px 6px;border:1px solid var(--line,#d5ddd2);border-radius:4px}
.bath-explorer-feature-conditions{margin:.35rem 0 .6rem;font-size:.78rem;line-height:1.65}
.bath-explorer-feature-conditions>summary{min-height:44px;padding:.65rem 0;box-sizing:border-box;cursor:pointer;color:var(--ink-2,#456050)}
.bath-explorer-feature-conditions dl{margin:0 0 .5rem}
.bath-explorer-feature-conditions dt{font-weight:600;margin:.35rem 0 .1rem}
.bath-explorer-feature-conditions dd{margin:0 0 .5rem;overflow-wrap:anywhere}
.bath-explorer-detail{font-size:.8rem!important;min-width:105px;margin-top:4px}
.bath-explorer-empty{padding:18px 8px;line-height:1.8}
.bath-explorer-empty p{font-size:.9rem;margin:0 0 5px}
.bath-explorer-empty small{font-size:.77rem;color:var(--ink-3,#52665a)}
.bath-explorer-more{display:block;width:100%;margin:12px 0;font-size:.83rem!important}
.bath-explorer-unmapped{margin:16px 0;border-top:1px solid var(--line,#d5ddd2)}
.bath-explorer-unmapped>p{font-size:.76rem;line-height:1.7;color:var(--ink-3,#52665a);margin:0 0 4px}
.bath-explorer-bottom{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.bath-explorer-bottom button{font-size:.8rem;flex:1}
.bath-explorer-help{border-top:1px solid var(--line,#d5ddd2);margin-top:18px}
.bath-explorer-help p{font-size:.76rem;line-height:1.8;color:var(--ink-3,#52665a);margin:0 0 12px}
@media(max-width:380px){.bath-explorer-map{height:300px}.bath-explorer-search{gap:6px}.bath-explorer-search button{padding-inline:10px}.bath-explorer-map-tools button{padding-inline:7px}.bath-explorer-modes button{min-width:62px;padding-inline:12px}.bath-explorer-start{gap:6px}}
@media(min-width:920px){.bath-explorer-map{height:390px}.bath-explorer-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.bath-explorer-results>.bath-explorer-more,.bath-explorer-results>.bath-explorer-empty{grid-column:1/-1}}

/* Time evidence stays separate from straight-line distance. */
.bath-explorer-journey{margin:.55rem 0 .65rem;border-left:3px solid var(--line,#d2dbd2);padding-left:.65rem;font-size:.85rem;overflow-wrap:anywhere}
.bath-explorer-journey>p{display:flex;flex-wrap:wrap;gap:.3rem .6rem;margin:0;align-items:baseline}.bath-explorer-journey small{font-size:.75rem;color:var(--ink-2,#526459)}
.bath-explorer-journey details{margin-top:.3rem}.bath-explorer-journey summary{cursor:pointer;font-size:.78rem;min-height:32px;display:flex;align-items:center}.bath-explorer-journey details p{font-size:.8rem;margin:.4rem 0}.bath-explorer-journey[data-explorer-travel-state="blocked"]{border-color:#9b5a30}.bath-explorer-journey-origin{margin:.35rem 0 .7rem}

/* Explicit vicinity estimates keep their target and uncertainty visible on small screens. */
.bath-explorer-journey[data-vicinity-tier="B"]>strong{display:block;line-height:1.45;overflow-wrap:anywhere}
.bath-explorer-journey[data-vicinity-tier="B"]>small{display:block;margin-top:.3rem;line-height:1.6;overflow-wrap:anywhere}

.bath-explorer-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.bath-explorer-card-actions>.bath-explorer-detail{flex:1 1 150px;width:auto;min-width:0}
.bath-explorer-card-actions>.compare-pick{position:static;min-height:44px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
