:root{--ink:#173c34;--muted:#6b7c73;--green:#21634d;--line:#dfe7df;--paper:#f6f8f3;--river:#c28a39;--water:#2c8273;--contract:#8463a9}
*{box-sizing:border-box}body{margin:0;font:14px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d2a656;outline-offset:3px}[hidden]{display:none!important}
header{height:84px;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:white}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:var(--ink);color:white;font:38px/1 Georgia,serif}.brand-name{font-size:24px;font-weight:800;letter-spacing:-1px;line-height:1.1}.brand-sub{font-size:10px;color:var(--muted);letter-spacing:1.6px;text-transform:uppercase}.header-right{display:flex;align-items:center;gap:20px}.prototype{padding:5px 11px;border:1px solid var(--line);border-radius:30px;font-size:11px;color:var(--muted)}
main{display:grid;grid-template-columns:365px minmax(0,1fr);height:calc(100dvh - 84px);min-height:600px}aside{display:flex;flex-direction:column;min-height:0;background:white;border-right:1px solid var(--line)}.sidebar-intro{padding:25px 24px 0}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;text-transform:uppercase;color:var(--green)}h1{margin:8px 0 11px;font-size:33px;line-height:1.1;letter-spacing:-1.4px}.intro{font-size:12px;color:var(--muted);margin:0}.stats{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:10px;padding:16px 0;border-bottom:1px solid var(--line)}.stats strong{font-size:23px;line-height:1.2;display:block;letter-spacing:-.6px}.stats span{font-size:9px;line-height:1.5;color:var(--muted);display:block;margin-top:3px}.search-controls{padding:17px 24px 0}.search-wrap{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:0 11px;background:var(--paper)}.search-wrap>span{font-size:25px;line-height:1;color:var(--muted)}input[type=search]{min-width:0;width:100%;border:0;outline-offset:0;background:transparent;padding:10px 0;font-size:12px;color:var(--ink)}.filters{display:flex;gap:5px;margin:11px 0 14px;flex-wrap:wrap}.filters button{font-size:10px;border:1px solid var(--line);border-radius:24px;padding:5px 8px;background:white;color:var(--muted)}.filters button[aria-pressed=true]{color:white;background:var(--ink);border-color:var(--ink)}.list-caption{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);padding-bottom:9px}.water-list{flex:1;min-height:120px;overflow-y:auto;overscroll-behavior:contain;padding:0 12px 9px;scrollbar-width:thin}.water-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;border-radius:10px;padding:10px 11px;background:white;color:var(--ink);margin-bottom:3px}.water-item:hover{background:var(--paper)}.water-item[aria-pressed=true]{background:#edf4ef;border-color:#c6dacc}.water-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;flex-shrink:0;background:#eaf3ef;color:var(--water);font-size:18px}.water-icon.river{background:#faf1e1;color:var(--river)}.water-icon.contract{background:#f1ecf8;color:var(--contract)}.water-item-main{min-width:0;flex:1}.water-name{display:block;font-size:12px;font-weight:650;line-height:1.35}.water-meta{display:block;font-size:10px;color:var(--muted);margin-top:3px}.water-arrow{font-size:14px;color:#8ca294}.empty{padding:20px 12px;color:var(--muted);font-size:12px}.sidebar-footer{padding:11px 24px 15px;border-top:1px solid var(--line);background:#fbfcf9}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;cursor:pointer}.switch input{width:16px;height:16px;accent-color:var(--green)}.provider-row{display:flex;justify-content:space-between;align-items:center;gap:6px;margin-top:9px;font-size:10px;font-weight:650}.text-button{background:none;border:0;padding:0;font-size:10px;text-align:left;color:var(--green);text-decoration:underline;text-underline-offset:3px}.footer-links{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.footer-links a{font-size:9px;color:var(--muted)}.notice{margin:10px 0 0;font-size:9px;line-height:1.5;color:var(--muted)}.status{font-size:11px;color:#9b492c;margin:7px 0 0}.status:empty{display:none}
.map-stage{position:relative;min-width:0;min-height:0;background:#e5eee4}.map{position:absolute;inset:0;z-index:0}.map-caption{position:absolute;top:20px;left:20px;z-index:500;display:flex;align-items:center;gap:10px;padding:11px 15px;background:#fffffff5;border:1px solid var(--line);border-radius:11px;box-shadow:0 4px 24px #173c3410;font-size:12px;pointer-events:none}.map-caption small{font-size:10px;color:var(--muted)}.live-dot{width:7px;height:7px;background:var(--water);border-radius:50%}.button{border:1px solid var(--line);border-radius:9px;padding:9px 12px;color:var(--ink);background:white;font-size:11px;font-weight:650}.button:hover{background:#eef3ed}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:var(--ink)}.wide{width:100%}.overview{position:absolute;top:20px;right:20px;z-index:500;box-shadow:0 4px 24px #173c3410}.map-legend{position:absolute;left:20px;top:80px;z-index:500;display:flex;align-items:center;gap:12px;padding:8px 12px;background:#fffffff5;border:1px solid var(--line);border-radius:9px;font-size:9px;pointer-events:none;flex-wrap:wrap}.map-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%;background:var(--water);display:inline-block}.legend-dot.river{background:var(--river)}.legend-dot.contract{background:var(--contract)}.legend-outline{border-left:1px solid var(--line);padding-left:10px;color:var(--muted)}.data-credit{position:absolute;left:80px;bottom:3px;z-index:500;padding:1px 5px;background:#ffffffe8;border-radius:3px;font-size:8px;color:var(--muted)}.data-credit a{color:var(--green)}.map-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:500;padding:9px 15px;border-radius:24px;background:var(--ink);color:white;box-shadow:0 4px 22px #173c3420;font-size:10px;white-space:nowrap;pointer-events:none}
.selection-card{position:absolute;z-index:600;right:20px;bottom:35px;width:350px;max-height:calc(100% - 170px);overflow-y:auto;padding:22px;border:1px solid var(--line);border-radius:16px;background:#fffffff7;box-shadow:0 8px 40px #173c3420;scrollbar-width:thin;backdrop-filter:blur(8px)}.selection-card h2{font-size:23px;line-height:1.2;letter-spacing:-.7px;margin:8px 14px 10px 0}.close-button{position:absolute;top:10px;right:12px;font-size:23px;background:transparent;border:0;color:var(--muted);padding:1px 6px}.selection-meta{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.quality-note{font-size:11px;line-height:1.5;background:#edf4f0;border-left:3px solid var(--water);padding:9px 11px;margin:15px 0 12px}.quality-note.point-only{background:#fbf3e6;border-color:var(--river)}.description{font-size:11px;line-height:1.6;color:var(--muted);margin:10px 0}.risk-note{background:#fcf1df;border:1px solid #efdcba;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.6;color:#765525}.selection-card details{font-size:11px;margin:12px 0}.selection-card summary{cursor:pointer;color:#84602b;font-weight:650}.selection-card ul{padding-left:17px;color:var(--muted);line-height:1.6}.selection-card li{margin:9px 0}.source-links{display:flex;gap:12px;flex-wrap:wrap;font-size:9px;margin-top:13px}.source-links a{color:var(--green)}.button-row{display:flex;gap:8px;margin-top:16px}.button-row .button{flex:1}.leaflet-container{font:inherit}.leaflet-control-zoom{border:1px solid var(--line)!important;box-shadow:0 4px 24px #173c3410!important}.leaflet-bottom.leaflet-left{bottom:22px;left:10px}.leaflet-control-attribution{font-size:9px!important}.leaflet-tooltip{font:11px/1.5 system-ui;color:var(--ink);border:1px solid var(--line)}
dialog{width:min(650px,calc(100% - 32px));max-height:85dvh;overflow-y:auto;border:1px solid var(--line);border-radius:19px;padding:28px;color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#122c2666;backdrop-filter:blur(3px)}dialog h2{font-size:25px;letter-spacing:-.7px;line-height:1.2;margin:0 0 15px}dialog h3{font-size:15px;margin:20px 0 7px}dialog p,dialog li{font-size:12px;color:var(--muted)}dialog ol,dialog ul{padding-left:20px}dialog li{margin-bottom:10px}dialog a{color:var(--green)}dialog label{display:block;font-size:12px;font-weight:700;margin-top:20px}dialog input{width:100%;padding:12px;border:1px solid #bacbbe;border-radius:8px;margin-top:7px}.source-list li{margin-bottom:16px}.source-list a{font-weight:650}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){main{grid-template-columns:400px minmax(0,1fr)}.sidebar-intro{padding-top:30px}.water-item{padding-top:13px;padding-bottom:13px}}
@media(max-height:800px) and (min-width:761px){main{min-height:540px}.sidebar-intro{padding-top:18px}h1{font-size:27px}.intro{font-size:11px}.stats{padding:11px 0}.search-controls{padding-top:12px}.filters{margin-bottom:10px}.sidebar-footer{padding-top:8px;padding-bottom:10px}}
@media(max-width:760px){header{height:72px;padding:14px 17px}.header-right{gap:0}.prototype{display:none}.header-right .button{font-size:10px;padding:7px 9px}.brand-name{font-size:22px}.brand-sub{font-size:8px}main{display:flex;flex-direction:column;height:auto;min-height:0}.map-stage{order:-1;height:65dvh;min-height:460px}aside{border-right:0}.sidebar-intro{padding:24px 20px 0}h1{font-size:29px}.search-controls{padding:16px 20px 0}.water-list{max-height:390px;min-height:200px;padding-left:10px;padding-right:10px}.sidebar-footer{padding:15px 20px}.stats{grid-template-columns:1fr 1fr 1.2fr}.stats span{font-size:10px}.map-caption{top:12px;left:12px;padding:9px 11px}.map-caption small{display:none}.overview{top:12px;right:12px;padding:8px 10px}.map-legend{left:12px;right:12px;top:64px;gap:10px;font-size:9px;padding:7px 9px}.legend-outline{padding-left:0;border:0}.selection-card{left:12px;right:12px;bottom:28px;width:auto;max-height:47%;padding:17px}.selection-card h2{font-size:20px}.map-hint{font-size:9px;white-space:normal;width:max-content;max-width:80%;text-align:center}.footer-links a{font-size:10px}.notice{font-size:10px}.text-button{font-size:11px}}
