.shm{--shm-bg:#f2f5f6;--shm-surface:#ffffff;--shm-surface2:#e9eef0;--shm-ink:#13232c;--shm-ink2:#4b5f69;--shm-ink3:#6f828c;--shm-line:#d3dde1;--shm-accent:#0d6a8c;--shm-accent-bg:#d9edf4;--shm-river:#1f78c1;--shm-ring:#0d6a8c;--shm-f-display:'Bricolage Grotesque','Segoe UI',system-ui,-apple-system,sans-serif;--shm-f-body:'IBM Plex Sans','Segoe UI',system-ui,-apple-system,sans-serif;--shm-f-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;color-scheme:light}
.shm[data-theme="dark"]{--shm-bg:#0e171c;--shm-surface:#16232a;--shm-surface2:#1e2f38;--shm-ink:#e6eef1;--shm-ink2:#a5b8c1;--shm-ink3:#8498a2;--shm-line:#2b3f49;--shm-accent:#6cc3e3;--shm-accent-bg:#173a49;--shm-river:#5aaae8;--shm-ring:#6cc3e3;color-scheme:dark}
@media (prefers-color-scheme:dark){.shm[data-theme="auto"]{--shm-bg:#0e171c;--shm-surface:#16232a;--shm-surface2:#1e2f38;--shm-ink:#e6eef1;--shm-ink2:#a5b8c1;--shm-ink3:#8498a2;--shm-line:#2b3f49;--shm-accent:#6cc3e3;--shm-accent-bg:#173a49;--shm-river:#5aaae8;--shm-ring:#6cc3e3;color-scheme:dark}}
.shm{box-sizing:border-box;container-type:inline-size;max-width:1120px;margin:0 auto;padding:16px;border-radius:12px;background:var(--shm-bg);color:var(--shm-ink);font-family:var(--shm-f-body);font-size:15px;line-height:1.5;text-align:left;display:flex;flex-direction:column;gap:18px}
.shm *,.shm *::before,.shm *::after{box-sizing:border-box}
.shm h2.shm-h{font-family:var(--shm-f-display);font-weight:700;font-size:clamp(1.6rem,6cqi,2.3rem);line-height:1.1;margin:0;padding:0;letter-spacing:-.01em;color:var(--shm-ink);text-transform:none}
.shm .shm-lede{margin:6px 0 0;padding:0;color:var(--shm-ink2);max-width:68ch;font-size:15px;line-height:1.5}
.shm .shm-bar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}
.shm .shm-zs{display:flex;flex-wrap:wrap;gap:6px}
.shm button{font-family:inherit;color:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none;margin:0;min-height:0;min-width:0;width:auto;height:auto;-webkit-appearance:none;appearance:none}
.shm .shm-zb{font-size:13px;line-height:1.3;padding:6px 12px;border:1px solid var(--shm-line);background:var(--shm-surface);color:var(--shm-ink);border-radius:6px;cursor:pointer;font-weight:400}
.shm .shm-zb:hover{border-color:var(--shm-accent);background:var(--shm-surface);color:var(--shm-ink)}
.shm .shm-zb[aria-pressed="true"]{background:var(--shm-accent-bg);border-color:var(--shm-accent);color:var(--shm-accent)}
.shm button:focus-visible,.shm .shm-cn:focus-visible,.shm input:focus-visible,.shm select:focus-visible,.shm a:focus-visible{outline:2px solid var(--shm-accent);outline-offset:2px}
.shm .shm-tg{display:flex;flex-wrap:wrap;align-items:center;gap:4px 16px;font-size:13px;color:var(--shm-ink2)}
.shm .shm-tg label,.shm .shm-md{display:flex;align-items:center;gap:6px;cursor:pointer;margin:0;padding:0;font-size:13px;color:var(--shm-ink2);font-weight:400;line-height:1.4}
.shm input[type="checkbox"]{-webkit-appearance:auto;appearance:auto;width:auto;height:auto;margin:0;padding:0;opacity:1;position:static}
.shm select{font-family:inherit;font-size:13px;line-height:1.3;color:var(--shm-ink);background-color:var(--shm-surface);border:1px solid var(--shm-line);border-radius:6px;padding:5px 8px;width:auto;max-width:100%;height:auto;margin:0}
.shm .shm-main{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
@container (max-width:860px){.shm .shm-main{grid-template-columns:minmax(0,1fr)}}
.shm .shm-card{background:var(--shm-surface);border:1px solid var(--shm-line);border-radius:10px}
.shm .shm-mapc{padding:8px}
.shm .shm-lgd{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:10px 6px 4px;font-size:12px;color:var(--shm-ink2)}
.shm .shm-grad{height:10px;width:200px;max-width:100%;border-radius:3px;border:1px solid var(--shm-line);background:linear-gradient(90deg,rgb(243,236,212) 0%,rgb(199,226,200) 25%,rgb(111,187,170) 50%,rgb(31,134,141) 75%,rgb(8,68,92) 100%)}
.shm .shm-gl{display:flex;justify-content:space-between;width:200px;max-width:100%;font-family:var(--shm-f-mono);font-size:11px;color:var(--shm-ink3);margin-top:2px}
.shm .shm-ringk{display:inline-block;width:11px;height:11px;border:2px solid var(--shm-ring);border-radius:50%;vertical-align:-2px;margin-right:5px}
.shm .shm-panel{padding:16px}
.shm .shm-pt{font-family:var(--shm-f-display);font-weight:700;font-size:1.35rem;line-height:1.15;margin:0;padding:0;color:var(--shm-ink);text-transform:none}
.shm .shm-pr{color:var(--shm-ink3);font-size:13px;margin:2px 0 10px}
.shm .shm-sc{display:flex;align-items:baseline;gap:10px}
.shm .shm-big{font-family:var(--shm-f-mono);font-weight:500;font-size:3rem;line-height:1;font-variant-numeric:tabular-nums}
.shm .shm-cls{font-size:14px;font-weight:500}
.shm .shm-meter{height:8px;border-radius:4px;background:var(--shm-surface2);margin:10px 0 6px;overflow:hidden}
.shm .shm-meter i{display:block;height:100%;border-radius:4px}
.shm .shm-cf{font-size:12px;color:var(--shm-ink3)}
.shm .shm-pips{display:flex;gap:3px}
.shm .shm-pips i{flex:1;height:7px;border-radius:2px;background:var(--shm-surface2)}
.shm ul.shm-ul{margin:12px 0 0;padding:0 0 0 18px;display:flex;flex-direction:column;gap:6px;font-size:14px;list-style:disc}
.shm ul.shm-ul li{margin:0;padding:0;list-style:disc;font-size:14px;line-height:1.5}
.shm .shm-hint{color:var(--shm-ink2);font-size:14px}
.shm .shm-sec{padding:16px}
.shm h3.shm-sh{font-family:var(--shm-f-display);font-weight:500;font-size:1.15rem;line-height:1.25;margin:0 0 8px;padding:0;color:var(--shm-ink);text-transform:none}
.shm .shm-rkg{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px 24px}
.shm .shm-rk{display:grid;grid-template-columns:26px minmax(0,1fr) 34px;gap:8px;align-items:center;padding:5px 6px;border:0;background:none;text-align:left;cursor:pointer;border-radius:6px;font-size:13px;line-height:1.4;width:100%;color:var(--shm-ink);font-weight:400}
.shm .shm-rk:hover,.shm .shm-rk[aria-pressed="true"]{background:var(--shm-accent-bg);color:var(--shm-ink)}
.shm .shm-k{font-family:var(--shm-f-mono);color:var(--shm-ink3);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}
.shm .shm-v{font-family:var(--shm-f-mono);text-align:right;font-variant-numeric:tabular-nums}
.shm .shm-nm{display:flex;flex-direction:column;gap:3px;min-width:0}
.shm .shm-nm>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shm .shm-bb{display:block;height:4px;border-radius:2px;background:var(--shm-surface2);overflow:hidden}
.shm .shm-bb i{display:block;height:100%}
.shm .shm-meth{padding:16px;font-size:14px;color:var(--shm-ink2)}
.shm .shm-meth p{margin:0 0 8px;padding:0;max-width:76ch;font-size:14px;line-height:1.55;color:var(--shm-ink2)}

.shm ul.shm-src{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;margin:6px 0 0;padding:0;list-style:none}
.shm ul.shm-src li{margin:0;padding:0;list-style:none}
.shm ul.shm-src a,.shm .shm-meth a{color:var(--shm-accent);text-decoration:underline;font-size:13px}
.shm .shm-foot{font-size:12px;color:var(--shm-ink3);max-width:76ch;margin:0}

/* ---------- v2: map, controls, accordions ---------- */
.shm [hidden]{display:none!important}
.shm .shm-map{position:relative;z-index:0;isolation:isolate;width:100%;height:clamp(380px,64vh,660px);border-radius:6px;background:var(--shm-surface2);margin:0;padding:0;overflow:hidden;font-family:var(--shm-f-body);font-size:12px;line-height:1.4;outline-offset:2px}
.shm .shm-map.leaflet-container{background:var(--shm-surface2);font-family:var(--shm-f-body)}
.shm .shm-map *{box-sizing:border-box}
.shm .shm-map .leaflet-pane>svg,.shm .shm-map .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important;width:auto;height:auto}
.shm .shm-map img.leaflet-tile{max-width:none!important;max-height:none!important;width:256px;height:256px;border:0;box-shadow:none;border-radius:0;margin:0;padding:0}
.shm .shm-map.shm-b-sat .shm-tiles{filter:none}
.shm path.shm-cn{cursor:pointer;stroke:var(--shm-bg);stroke-width:.8px;stroke-linejoin:round;outline:none}
.shm .shm-b-tile path.shm-cn{stroke:#fff;stroke-opacity:.85}
.shm path.shm-cn:focus-visible{stroke:var(--shm-accent);stroke-width:2.5px}
.shm path.shm-cn.shm-sel,.shm .shm-b-tile path.shm-cn.shm-sel{stroke:var(--shm-ink);stroke-opacity:1;stroke-width:2.6px}
.shm .shm-b-sat path.shm-cn.shm-sel{stroke:#fff}
.shm path.shm-rv{fill:none;stroke:var(--shm-river);stroke-width:1.1px;stroke-opacity:.6;stroke-linecap:round;stroke-linejoin:round}
.shm path.shm-rv-m{stroke-width:1.8px;stroke-opacity:.9}
.shm .shm-b-sat path.shm-rv{stroke:#7cc0ff}
.shm path.shm-ring{fill:none;stroke:var(--shm-ring);stroke-width:2.2px;filter:drop-shadow(0 0 1.5px #fff)}
.shm .shm-b-sat path.shm-ring{stroke:#ffd23f;filter:drop-shadow(0 0 2px #000)}
/* labels */
.shm .shm-b-plain{--shm-lc:var(--shm-ink);--shm-lh:var(--shm-surface2)}
.shm .shm-b-sat{--shm-lc:#ffffff;--shm-lh:rgba(0,0,0,.85)}
.shm .shm-b-topo,.shm .shm-b-osm{--shm-lc:#13232c;--shm-lh:rgba(255,255,255,.95);--shm-ink:#13232c;--shm-ink2:#4b5f69;--shm-ink3:#6f828c;--shm-river:#1f78c1;--shm-ring:#0d6a8c;--shm-surface:#ffffff;--shm-line:#c5d0d5;--shm-accent:#0d6a8c;--shm-accent-bg:#d9edf4}
.shm .shm-ico{background:none;border:0;margin:0;padding:0;width:0;height:0;overflow:visible;pointer-events:none;font-family:var(--shm-f-body);color:var(--shm-lc)}
.shm .shm-ico>span{position:absolute;white-space:nowrap;line-height:1.15;text-shadow:0 0 2px var(--shm-lh),0 0 2px var(--shm-lh),0 0 3px var(--shm-lh),0 0 4px var(--shm-lh)}
.shm .shm-rl{left:0;top:0;transform:translate(-50%,-50%);display:flex!important;flex-direction:column;align-items:center;text-align:center;color:var(--shm-lc)}
.shm .shm-b-plain .shm-rl{text-shadow:none}
.shm .shm-rn{display:none;font-family:var(--shm-f-mono);font-weight:500;font-size:11px;font-style:normal;line-height:1.1}
.shm .shm-rm{display:none;font-style:normal;font-size:10px;line-height:1.1;margin-top:1px}
.shm .shm-on-num .shm-rn{display:block}
.shm .shm-on-name.shm-z1 .shm-rm{display:block}
.shm .shm-b-tile .shm-rn{font-weight:700;font-size:12px}
.shm .shm-ctw{display:none}
.shm .shm-on-city .shm-ctw.shm-p0,.shm .shm-on-city .shm-ctw.shm-p1,.shm .shm-on-city.shm-z1 .shm-ctw{display:block}
.shm .shm-cd{left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:var(--shm-ink);border:1px solid var(--shm-surface)}
.shm .shm-b-sat .shm-cd{background:#fff;border-color:#000}
.shm .shm-cd0{width:5px;height:5px;left:-2.5px;top:-2.5px}
.shm .shm-cl{display:none;left:5px;top:-7px;font-size:11px;font-style:normal}
.shm .shm-on-city.shm-z1 .shm-cl{display:block}
.shm .shm-on-name.shm-z1 .shm-dup .shm-cl{display:none}
.shm .shm-rvl,.shm .shm-pkw,.shm .shm-rgw,.shm .shm-cdw{display:none}
.shm .shm-rvt{left:0;top:0;transform:translate(-50%,-50%);font-style:italic;font-size:11px;color:var(--shm-river)}
.shm .shm-b-sat .shm-rvt{color:#a9d4ff}
.shm .shm-on-riv.shm-z1 .shm-rvl{display:block}
.shm .shm-tri{left:-5px;top:-5px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:9px solid var(--shm-ink2);text-shadow:none}
.shm .shm-b-sat .shm-tri{border-bottom-color:#fff}
.shm .shm-pkt{left:7px;top:-8px;font-size:11px}
.shm .shm-on-mt.shm-z1 .shm-pkw{display:block}
.shm .shm-rgt{left:0;top:0;transform:translate(-50%,-50%);font-style:italic;font-size:11px}
.shm .shm-on-mt.shm-z0 .shm-rgw{display:block}
.shm .shm-cdt{left:7px;top:-14px;font-size:12px;font-weight:600;color:var(--shm-ring)}
.shm .shm-b-sat .shm-cdt{color:#ffd23f}
.shm .shm-cdl .shm-cdt{left:auto;right:7px}
.shm .shm-z2 .shm-cdw{display:block}
.shm .shm-on-name.shm-z1 .shm-cdw.shm-dup .shm-cdt{display:none}
@container (max-width:620px){.shm .shm-map{height:auto;aspect-ratio:1/1;min-height:340px;max-height:560px}}
/* leaflet chrome */
.shm .leaflet-bar{border:1px solid var(--shm-line);box-shadow:0 1px 4px rgba(0,0,0,.25);border-radius:6px;overflow:hidden}
.shm .leaflet-bar a,.shm .leaflet-bar a:hover,.shm .leaflet-bar a:focus{width:30px;height:30px;line-height:30px;margin:0;padding:0;display:block;text-align:center;text-decoration:none;background:var(--shm-surface);color:var(--shm-ink);border:0;border-bottom:1px solid var(--shm-line);box-shadow:none;font-size:18px;font-weight:400;border-radius:0;font-family:var(--shm-f-body)}
.shm .leaflet-bar a:last-child{border-bottom:0}
.shm .leaflet-bar a:hover{background:var(--shm-accent-bg)}
.shm .leaflet-bar a.leaflet-disabled{opacity:.4;cursor:default}
.shm .leaflet-control-attribution{background:rgba(255,255,255,.85);color:#33444c;font-size:10px;line-height:1.4;padding:1px 6px;margin:0;font-family:var(--shm-f-body)}
.shm .leaflet-control-attribution a{color:#0d5a78;text-decoration:underline;border:0;box-shadow:none;background:none;font-size:10px}
.shm .shm-tt.leaflet-tooltip{background:var(--shm-surface);color:var(--shm-ink);border:1px solid var(--shm-line);border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.25);font-size:12px;font-family:var(--shm-f-body);padding:3px 8px;white-space:nowrap}
.shm .shm-tt.leaflet-tooltip:before{display:none}
.shm .shm-wh{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1200;background:rgba(10,20,26,.82);color:#fff;font-size:14px;padding:10px 16px;border-radius:8px;pointer-events:none;opacity:0;transition:opacity .2s;text-align:center;max-width:80%}
.shm .shm-wh.shm-wh-on{opacity:1}
.shm .shm-mapc:fullscreen{display:flex;flex-direction:column;background:var(--shm-surface);padding:8px;height:100%}
.shm .shm-mapc:fullscreen .shm-map{flex:1 1 auto;height:auto;min-height:0}
.shm .shm-mapc:-webkit-full-screen{display:flex;flex-direction:column;background:var(--shm-surface);padding:8px;height:100%}
.shm .shm-mapc:-webkit-full-screen .shm-map{flex:1 1 auto;height:auto;min-height:0}
.shm .shm-tip{margin:6px 6px 2px;padding:0;font-size:12px;color:var(--shm-ink3)}
.shm .shm-tip.shm-warn{color:#b3261e;font-weight:500}
.shm input[type="range"]{-webkit-appearance:auto;appearance:auto;width:110px;height:auto;margin:0;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--shm-accent)}
.shm .shm-md input[type="range"]{vertical-align:middle}
/* criterion accordions */
.shm .shm-ci{margin:0;padding:0}
.shm .shm-cb{display:grid!important;grid-template-columns:minmax(0,1fr) 78px 16px 14px;gap:8px;align-items:center;width:100%;padding:6px 4px;margin:0;border:0;border-radius:6px;background:none;color:var(--shm-ink);font-size:13px;line-height:1.35;text-align:left;cursor:pointer;font-weight:400}
.shm .shm-cb:hover,.shm .shm-mb:hover{background:var(--shm-accent-bg);color:var(--shm-ink)}
.shm .shm-cb b{font-family:var(--shm-f-mono);font-weight:500;text-align:right;font-variant-numeric:tabular-nums}
.shm .shm-mb{display:grid!important;grid-template-columns:150px minmax(0,1fr) 14px;gap:4px 12px;align-items:center;width:100%;padding:8px 6px;margin:0;border:0;border-top:1px solid var(--shm-line);border-radius:0;background:none;color:var(--shm-ink);font-size:13px;line-height:1.4;text-align:left;cursor:pointer;font-weight:400}
.shm .shm-crit{max-width:76ch;margin:8px 0 14px;border-bottom:1px solid var(--shm-line)}
.shm .shm-mb .shm-cnm{font-weight:500}
.shm .shm-mb .shm-mt{color:var(--shm-ink2)}
@container (max-width:560px){.shm .shm-mb{grid-template-columns:minmax(0,1fr) 14px}.shm .shm-mb .shm-mt{grid-column:1;grid-row:2}.shm .shm-mb .shm-chev{grid-column:2;grid-row:1/3}}
.shm .shm-chev{display:block;width:8px;height:8px;border-right:2px solid var(--shm-ink3);border-bottom:2px solid var(--shm-ink3);transform:rotate(45deg) translate(-2px,-2px);transition:transform .15s}
.shm button[aria-expanded="true"] .shm-chev{transform:rotate(-135deg) translate(-2px,-2px)}
.shm .shm-cx{margin:0 0 6px;padding:8px 10px 10px;background:var(--shm-surface2);border-radius:6px;font-size:13px;color:var(--shm-ink2)}
.shm .shm-cx p{margin:0 0 6px;padding:0;font-size:13px;line-height:1.5;color:var(--shm-ink2);max-width:none}
.shm .shm-cx p.shm-cxt{color:var(--shm-ink);font-weight:500}
.shm .shm-cx ul.shm-cxl{margin:0 0 6px;padding:0 0 0 18px;list-style:disc;display:block}
.shm .shm-cx ul.shm-cxl li{margin:0 0 3px;padding:0;list-style:disc;font-size:13px;line-height:1.45;color:var(--shm-ink2)}
.shm .shm-cx p.shm-cxs{font-size:12px;color:var(--shm-ink3);margin-bottom:8px}
.shm button.shm-link{display:inline-block;padding:4px 10px;border:1px solid var(--shm-accent);border-radius:6px;background:var(--shm-surface);color:var(--shm-accent);font-size:12px;line-height:1.3;cursor:pointer;font-weight:500}
.shm button.shm-link:hover{background:var(--shm-accent-bg);color:var(--shm-accent)}
.shm .shm-meth a,.shm ul.shm-src a{border:0;box-shadow:none;background:none}
