.sm{--sm-green:#2d6a4f;--sm-ink:#1a1a2e;--sm-muted:#526359;--sm-border:#dde5dc;color:var(--sm-ink);overflow:hidden;padding:0}
.sm [hidden]{display:none!important}.sm *{box-sizing:border-box}
.sm-head{padding:1.1rem 1.3rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#fff}
.sm-eyebrow{font:700 .69rem var(--font-body);letter-spacing:.12em;color:var(--sm-green);margin:0 0 .35rem}
.sm-head h2{font-size:1.4rem;margin:0}.sm-head small{display:block;font-size:.81rem;color:var(--sm-muted);margin-top:.35rem}
.sm-head-actions{flex-shrink:0}.sm button,.sm input{font:inherit}
.sm button{cursor:pointer;min-height:44px;border:1px solid var(--sm-border);border-radius:7px;background:#fff;color:var(--sm-green);padding:.5rem .75rem;font-weight:600;font-size:.8rem}
.sm button:hover{background:#edf2e9}.sm button:focus-visible,.sm input:focus-visible,.sm a:focus-visible,.sm summary:focus-visible{outline:3px solid #976724;outline-offset:2px}
.sm button.sm-primary{background:var(--sm-green);border-color:var(--sm-green);color:#fff;box-shadow:0 3px 14px #183a3020}.sm button.sm-primary:hover{background:#1f4d39}.sm button:disabled{cursor:wait;opacity:.8}
.sm-workspace{border-top:1px solid var(--sm-border)}
.sm[data-ready=true] .sm-workspace{display:grid;grid-template-columns:240px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 230px;height:720px;height:clamp(640px,80svh,780px)}
.sm-sidebar{grid-column:1;grid-row:1/3;min-height:0;overflow:auto;overscroll-behavior:contain;border-right:1px solid var(--sm-border);background:#fff;scrollbar-gutter:stable}
.sm-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:.7rem 1rem;border-bottom:1px solid var(--sm-border);position:sticky;top:0;background:#fff;z-index:2}
.sm-sidebar-head h3,.sm-sheet-head h3{font-size:1rem;margin:0}.sm button.sm-reset{padding:.3rem;border:0;font-size:.7rem}
.sm-controls{padding:.9rem 1rem}.sm-point-label{font-size:.78rem;line-height:1.5;color:var(--sm-muted);margin:0 0 .8rem}
.sm-radius label{display:flex;justify-content:space-between;gap:10px;font-size:.84rem;font-weight:700}.sm-radius output{color:var(--sm-green);white-space:nowrap}
.sm-radius input{width:100%;height:36px;margin:2px 0 0;accent-color:var(--sm-green)}.sm-range-labels{display:flex;justify-content:space-between;font-size:.68rem;color:var(--sm-muted);margin-top:-4px}
.sm fieldset{border:0;margin:1rem 0;padding:0;min-width:0}.sm legend{font-weight:700;font-size:.82rem;margin-bottom:.55rem}
.sm-filter-list{display:flex;flex-direction:column;gap:2px}.sm-filter{display:flex;align-items:center;gap:8px;min-height:40px;padding:.35rem .45rem;border:1px solid transparent;border-radius:6px;font-size:.8rem;cursor:pointer}
.sm-filter:has(input:checked){background:#f0f4eb;border-color:#e1e9db}.sm-filter input{accent-color:var(--sm-green);width:16px;height:16px;margin:0;flex-shrink:0}
.sm-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.sm-filter-count{margin-left:auto;color:var(--sm-muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.sm-point-actions{display:flex;flex-direction:column;gap:5px;padding-top:.8rem;border-top:1px solid var(--sm-border)}.sm-point-actions button{font-size:.74rem}
.sm-filter-note{margin-top:.8rem}.sm-filter-note summary{font-size:.72rem;color:var(--sm-muted);cursor:pointer;min-height:32px}
.sm-map-pane{grid-column:2;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:#f3f5ef}
.sm-map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.65rem .8rem;background:#fff;border-bottom:1px solid var(--sm-border)}
.sm-status{font-size:.76rem;line-height:1.4;margin:0;flex:1 1 180px}.sm-view-actions{display:flex;gap:5px;flex-wrap:wrap}.sm-view-actions button{font-size:.7rem;padding:.35rem .5rem;min-height:36px}
.sm button.sm-filter-toggle{display:none}.sm-filter-toggle span{border-radius:20px;background:#e5eee0;padding:2px 6px}
.sm-stage{height:420px;position:relative;min-height:0;background:#f3f5ef}.sm[data-ready=true] .sm-stage{flex:1;height:auto}
.sm-preview,.sm-canvas{height:100%;width:100%;position:absolute;inset:0}.sm-preview img,.sm-preview-image{height:100%;width:100%;object-fit:cover}
.sm-preview-actions{position:absolute;left:20px;bottom:20px;right:20px;display:flex;align-items:center;justify-content:space-between;gap:10px}.sm-preview-note{padding:7px 10px;background:#ffffffed;border:1px solid var(--sm-border);border-radius:6px;font-size:.75rem;max-width:48%}
.sm-canvas.leaflet-container{background:#f3f5ef;font-family:var(--font-body);z-index:1}.sm-canvas.sm-choosing{cursor:crosshair}.sm-canvas .leaflet-bar a{min-width:44px;min-height:44px;line-height:44px}.sm-canvas .leaflet-control-attribution{font-size:10px}
.sm-context{padding:.5rem .8rem;background:#fafbf8;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem;font-size:.67rem;color:var(--sm-muted);border-top:1px solid var(--sm-border)}.sm-context p{margin:0;flex:1 1 200px}.sm-context span{white-space:nowrap}
.sm-note{color:var(--sm-muted);font-size:.73rem;line-height:1.5;margin:.5rem 0}.sm-load-status:empty,.sm-plot-status:empty{display:none}.sm-load-status{padding:0 1.3rem;font-size:.73rem;color:var(--sm-muted);margin:.6rem 0}.sm-plot-status{padding:0 .8rem}
.sm [aria-pressed=true]{background:#e4eedf;border-color:#407253}
.sm-results-wrap{grid-column:2;grid-row:2;display:flex;flex-direction:column;min-width:0;min-height:0;border-top:1px solid var(--sm-border);background:#fff}
.sm-results-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .9rem;border-bottom:1px solid var(--sm-border);flex-shrink:0}.sm-results-head h3{font-size:.9rem;margin:0}.sm-results-head h3 span{font-size:.72rem;color:var(--sm-green);background:#eef3e9;border-radius:16px;padding:2px 6px;margin-left:4px}.sm-results-head>span{font-size:.68rem;color:var(--sm-muted)}
.sm-results{list-style:none;padding:0 .7rem;margin:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0}
.sm-results li{border-bottom:1px solid #eef0ea;margin:0}.sm-results button{display:flex;align-items:center;gap:10px;width:100%;min-height:66px;text-align:left;border:0;border-radius:4px;background:transparent;font-weight:400;padding:.6rem .4rem}.sm-results button:hover,.sm-results button[aria-pressed=true]{background:#edf3e8}.sm-results button>span:nth-child(2){min-width:0}
.sm-results strong{display:block;color:var(--sm-ink);font-size:.82rem;overflow-wrap:anywhere}.sm-results small{display:block;font-size:.72rem;color:var(--sm-muted);font-weight:400}.sm-distance{margin-left:auto;white-space:nowrap;font-size:.73rem}
.sm-results-foot{padding:.4rem .8rem;border-top:1px solid var(--sm-border);flex-shrink:0}.sm-more{width:100%}.sm-results-foot .sm-note{font-size:.65rem;margin:.3rem 0 0}
.sm-selected{background:#edf3e8;border-left:3px solid var(--sm-green);padding:.5rem .8rem;font-size:.73rem;overflow-wrap:anywhere;margin:0}
.sm-place-detail{font:13px/1.5 var(--font-body);min-width:160px;max-width:240px}.sm-place-detail strong{font-size:15px}.sm-place-detail p{margin:.4rem 0}.sm-place-detail small{display:block;margin-bottom:.6rem}
.sm-scope{padding:.65rem 1.3rem;border-top:1px solid var(--sm-border);font-size:.75rem;color:var(--sm-muted)}.sm-scope summary{cursor:pointer;min-height:28px;color:var(--sm-green);font-weight:600}.sm-scope p{margin:.6rem 0}.sm-fallback{padding:1rem 1.3rem;font-size:.83rem}.sm-fallback p{margin:0}
.sm-dialog{padding:0;border:0;inset:12px;margin:auto;width:calc(100% - 24px);height:calc(100% - 24px);max-width:none;max-height:none;border-radius:12px;background:#fff;color:var(--sm-ink)}
.sm-dialog::backdrop,.sm-filter-dialog::backdrop{background:#14231bcc}.sm-dialog .sm{display:flex;flex-direction:column;height:100%;margin:0;border:0;border-radius:0;overflow:auto}
.sm-dialog .sm-head{flex-shrink:0;position:sticky;top:0;z-index:3}.sm-dialog .sm[data-ready=true] .sm-workspace{flex:1;min-height:440px;height:auto;grid-template-columns:230px 280px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.sm-dialog .sm-sidebar{grid-row:1}.sm-dialog .sm-results-wrap{grid-column:2;grid-row:1;border-top:0;border-right:1px solid var(--sm-border)}.sm-dialog .sm-map-pane{grid-column:3;grid-row:1}.sm-dialog .sm-scope{flex-shrink:0}.sm-dialog .sm-results-head{flex-wrap:wrap}
.sm-filter-dialog{inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:calc(100dvh - 12px);border:0;border-radius:16px 16px 0 0;padding:0;color:var(--sm-ink);background:#fff;box-shadow:0 -8px 40px #10291f40}
.sm-filter-dialog[open]{display:flex;flex-direction:column}.sm-sheet-head,.sm-sheet-foot{display:flex;justify-content:space-between;align-items:center;padding:.7rem 1rem;gap:1rem;flex-shrink:0}.sm-sheet-head{border-bottom:1px solid var(--sm-border)}.sm-sheet-head button{font-size:1.3rem;min-width:44px}.sm-sheet-foot{border-top:1px solid var(--sm-border);padding-bottom:max(.7rem,env(safe-area-inset-bottom))}.sm-sheet-foot button{width:100%}.sm-filter-dialog [data-sm-filter-slot]{overflow:auto;overscroll-behavior:contain;min-height:0}.sm-filter-dialog .sm-controls{display:block}
@media(max-width:1100px){.sm-dialog .sm[data-ready=true] .sm-workspace{grid-template-columns:230px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 210px}.sm-dialog .sm-sidebar{grid-row:1/3}.sm-dialog .sm-map-pane{grid-column:2;grid-row:1}.sm-dialog .sm-results-wrap{grid-column:2;grid-row:2;border-right:0;border-top:1px solid var(--sm-border)}}
@media(max-width:740px){.sm-head{padding:.85rem 1rem;gap:.5rem}.sm-head h2{font-size:1.15rem}.sm-head small{font-size:.73rem}.sm-head-actions button{font-size:.69rem;padding:.4rem .5rem;max-width:110px}.sm-eyebrow{font-size:.6rem}.sm[data-ready=true] .sm-workspace,.sm-dialog .sm[data-ready=true] .sm-workspace{display:flex;flex-direction:column;height:auto;min-height:0}.sm-sidebar{display:none}.sm button.sm-filter-toggle{display:inline-flex;align-items:center;gap:8px}.sm-map-toolbar{gap:.4rem;padding:.6rem}.sm-status{font-size:.71rem;flex-basis:150px}.sm-view-actions{width:100%;justify-content:flex-end}.sm .sm-stage,.sm[data-ready=true] .sm-stage{height:390px;height:clamp(330px,52svh,460px);flex:none}.sm-results-wrap,.sm-dialog .sm-results-wrap{height:300px;flex:none}.sm-preview-actions{inset:auto 12px 12px;align-items:flex-start;flex-direction:column}.sm-preview-note{max-width:none}.sm-scope,.sm-load-status{padding-left:1rem;padding-right:1rem}.sm-dialog{inset:0;width:100%;height:100%;border-radius:0}.sm-dialog .sm-map-pane{flex:none}.sm-dialog .sm-head{box-shadow:0 1px 6px #183a3010}.sm-dialog .sm[data-ready=true] .sm-workspace{flex:none}.sm-dialog .sm-scope{margin-top:auto}}
@media(prefers-reduced-motion:reduce){.sm *{scroll-behavior:auto!important}}
.sm{scroll-margin-top:90px}.sm-sidebar-head h3{font-size:.88rem}
.sm-map-pane{scroll-margin-top:100px}
.sm button.sm-point-launch{background:#edf3e8;border-color:#9caf99;font-weight:700}
.sm-point-readout{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#fff8ef;border-top:1px solid #ead8bc;padding:.4rem .8rem;font-size:.72rem;color:#75421e}.sm-point-readout span{overflow-wrap:anywhere}.sm-point-readout button{font-size:.7rem;padding:.3rem .5rem;flex-shrink:0;min-height:36px}
@media(max-width:740px){.sm-point-launch{margin-right:auto}.sm-point-readout{flex-wrap:wrap}}
 .sm-canvas.sm-choosing{outline:3px solid #ad502b;outline-offset:-3px}
