.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.river-toolbar{display:flex;align-items:end;gap:12px;margin:18px 0}.river-toolbar label{flex:1;min-width:0;font-size:14px;font-weight:750}.river-toolbar select{display:block;width:100%;padding:12px;margin-top:6px;font:inherit;color:var(--ink);background:#fff;border:1px solid #afc6d7;border-radius:6px;min-height:48px}.river-toolbar button,.station-top button{background:#fff;border:1px solid #afc6d7;border-radius:6px;padding:10px 16px;min-height:44px;color:var(--blue);font-size:14px}.river-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:24px 0 10px}.river-heading h3{font-size:28px;margin:8px 0}.river-heading p{font-size:14px;white-space:nowrap;color:var(--muted)}.river-badge{display:inline-block;font-size:14px;font-weight:750;line-height:1.6;padding:4px 10px;border-radius:4px}.rv-0,.rv-1{background:#e6ecf1;color:#415669}.rv-2{background:#f2dc28;color:#342d04}.rv-3{background:#f04423;color:white}.rv-4{background:#aa00aa;color:#fff}.rv-5{background:#140b19;color:#fff}#river-headline{font-size:16px;line-height:1.85}.river-map-wrap{border:1px solid var(--line);border-radius:8px;overflow:hidden;margin:22px 0}.river-map{height:460px;background:#edf3f5;z-index:0}.river-map-note{font-size:14px;padding:12px;margin:0;background:#f3f7fa}.river-map-label{font:750 14px/1.4 sans-serif;color:#15334c;border:none;box-shadow:0 1px 6px #18334830}.river-map .leaflet-popup-content{font-size:14px;line-height:1.8}.river-map .leaflet-control-attribution{font-size:12px}.river-legend{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:14px;margin:12px 0}.river-legend i{display:inline-block;width:20px;height:5px;vertical-align:middle;margin-right:6px}.river-station{border:1px solid var(--line);border-radius:8px;padding:22px;margin:22px 0;scroll-margin-top:20px}.station-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.station-top p{margin:0;font-size:14px;color:var(--muted)}.station-top h4{font-size:25px;margin:2px 0}.position-note{font-size:14px;color:var(--muted)}.river-observation{display:grid;grid-template-columns:minmax(120px,1fr) 1.5fr;gap:20px;align-items:center;padding:18px 0;margin:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.river-observation p{font-size:14px;margin:3px 0;color:var(--muted)}.river-observation strong{font-size:38px;font-variant-numeric:tabular-nums;line-height:1.5}.river-observation strong small{font-size:18px}.river-station h5{font-size:16px;margin:18px 0 10px}.river-predictions{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:8px}.river-forecast{background:#f0f5f8;border-radius:5px;padding:12px;text-align:center;min-width:0}.river-forecast time,.river-forecast>span{display:block;font-size:14px}.river-forecast strong{display:block;font-size:25px;white-space:nowrap;font-variant-numeric:tabular-nums}.river-forecast strong small{font-size:14px}.river-forecast .river-badge{font-size:12px;padding:3px;margin-top:6px}.river-forecast.elapsed{color:#657783;background:#f0f1f3}.river-more{margin:20px 0;font-size:14px}.river-more summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:700}.river-more p{white-space:pre-line;line-height:1.9}.river-thresholds>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.river-thresholds strong{white-space:nowrap}.river-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.river-links a{display:inline-block;padding:12px 15px;background:#e8f3fa;border:1px solid #d2e5f1;border-radius:5px;color:#086398;font-size:14px;font-weight:750;text-decoration:none}.river-links a:hover{background:#d7eaf6}.river-note{font-size:14px;line-height:1.8;color:var(--muted)}.river-source{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}
@media(max-width:600px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.river-toolbar{gap:8px}.river-toolbar select{font-size:14px;padding:10px 6px}.river-toolbar button{padding:10px;flex-shrink:0}.river-heading{display:block}.river-heading h3{font-size:24px}.river-heading p{margin:4px 0}.river-map{height:350px}.river-map-note{font-size:12px}.river-legend{font-size:12px;gap:6px 10px}.river-station{padding:15px}.station-top h4{font-size:23px}.station-top button{padding:8px;white-space:nowrap}.river-observation{gap:10px;grid-template-columns:1fr}.river-observation strong{font-size:36px}.river-predictions{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.river-forecast{padding:8px 2px}.river-forecast strong{font-size:22px}.river-forecast time{font-size:12px}.river-forecast>span{font-size:12px}.river-links{display:grid;grid-template-columns:1fr}.river-links a{text-align:center}.river-thresholds{font-size:12px}.position-note{font-size:12px}.river-legend .river-badge{font-size:12px}}

.river-inundation-controls{border:1px solid #cbdce7;background:#f4f8fb;border-radius:8px;margin:18px 0 0;padding:12px 16px}.river-inundation-switch{display:flex;align-items:center;gap:12px;cursor:pointer;min-height:44px;font-size:16px;font-weight:750}.river-inundation-switch input{width:22px;height:22px;accent-color:#086fa7;flex-shrink:0}.river-inundation-switch small{display:inline-block;margin-left:12px;color:var(--muted);font-size:14px;font-weight:500}#river-inundation-info p{font-size:14px;line-height:1.8;margin:10px 0}#river-inundation-info summary{cursor:pointer;padding:10px 0;font-size:14px;font-weight:700}#river-inundation-info img{display:block;width:auto;max-width:100%;max-height:360px;margin:10px 0}#river-inundation-info a{font-size:14px}#river-inundation-status:empty{display:none}#river-inundation-status{color:#8a491c}@media(max-width:600px){.river-inundation-controls{padding:10px 12px}.river-inundation-switch small{display:block;margin:0}}

#river-national-map{display:block;width:100%;max-height:540px}#river-national-caption{padding:8px 14px;font-size:14px;min-height:44px;margin:0}#river-national-list{display:flex;flex-wrap:wrap;gap:10px}#river-national-list button,#river-national-back{border:1px solid #afc6d7;background:#fff;border-radius:6px;padding:12px 16px;font:inherit;color:var(--ink);cursor:pointer;min-height:44px}#river-national-list small{margin-left:10px}#river-national-back{color:var(--blue);margin-bottom:8px}@media(max-width:600px){#river-national-list{display:grid;grid-template-columns:1fr}#river-national-caption{font-size:12px}#river-national-list button{font-size:14px}}

.river-name-label{border:1px solid #aac4d5;border-radius:4px;background:rgba(255,255,255,.94);color:#124c70;font-size:14px;font-weight:750;padding:3px 7px;box-shadow:0 1px 5px #15334c25;white-space:normal;max-width:180px;text-align:center}.river-name-label.selected{border-color:#2479a5;color:#073853}.river-location-tools{display:flex;align-items:center;gap:12px;margin-top:16px}.river-location-tools button{padding:10px 15px;min-height:44px;border:1px solid #9fbacf;border-radius:6px;background:white;color:#086fa7;font:inherit;font-weight:700;white-space:nowrap}.river-location-tools p{font-size:14px;color:var(--muted);margin:0}.river-location-label{color:#086cce;font-size:14px;font-weight:750;border:1px solid #8ebdeb}.river-location-tools button:disabled{opacity:.6;cursor:wait}@media(max-width:600px){.river-location-tools{align-items:start;flex-direction:column;gap:7px}.river-location-tools p{font-size:12px}.river-name-label{font-size:12px;max-width:140px}}

.current-location-bar{display:flex;align-items:center;gap:16px;margin:0 0 20px;padding:14px 16px;border:1px solid #bbd6e7;background:#edf7fd;border-radius:8px}.current-location-bar button{flex-shrink:0;min-height:46px;padding:10px 18px;color:#fff;background:#086fa7;border:0;border-radius:6px;font:inherit;font-weight:750}.current-location-bar button:disabled{opacity:.6}.current-location-bar p{font-size:14px;color:var(--muted);margin:0}.timeline-subtitle{display:block;font-size:16px;margin-top:4px;font-weight:500}@media(max-width:600px){.current-location-bar{align-items:stretch;flex-direction:column;gap:8px}.current-location-bar p{font-size:12px}}
