/* Compact vector markers: 30px artwork within the original 42px geographic hit area. */
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon{border-radius:0;background:transparent;box-shadow:none;color:#3974b9}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon>.beacon-core{inset:6px;width:30px;height:30px;display:grid;place-items:center;border:1.5px solid #8fb4df;border-radius:9px;background:#f1f7ff;color:#3974b9;box-shadow:0 1px 4px #17375120}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.estimated>.beacon-core{border-radius:50%;border:1.5px solid #8fb4df;background:#f5f9ff;color:#3974b9}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.measured>.beacon-core{background:#397bd0;color:#fff;border-color:#fff}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon>.beacon-core svg{width:20px;height:20px;transform:none;filter:none;animation:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected>.beacon-core{box-shadow:0 0 0 2px #fff,0 0 0 3.5px #568ee0,0 2px 5px #17375120}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected>.beacon-core svg{filter:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.signal-offline>.beacon-core{background:#f1f4f7;border-color:#9eafbf;color:#798b9d}

/* Muted amber notes: restrained surfaces, clear ink, no yellow glow. */
:root{--attention-surface:#f8f3e9;--attention-border:#e5d7bd;--attention-ink:#73572b;--attention-accent:#b58b4b}
:root body.observatory-interface .badge.level-1,
:root body.observatory-interface .ob-flow-upgrade.ob-reading-upgrade.ob-design-system.ob-gis-upgrade .sa-station[data-station-alert="1"] .sa-state .badge,
:root body:is(.observatory-interface,.community-view) .map-status-badge[data-alert-level="1"],
:root body .citizen-dashboard .citizen-point-status[data-alert-level="1"],
:root body .citizen-dashboard .citizen-point[data-alert-level="1"]>b{background:var(--attention-surface)!important;color:var(--attention-ink)!important;border:1px solid var(--attention-border)!important;border-radius:6px;box-shadow:none!important;font-weight:600}
:root body.observatory-interface .hydro-hero.level-1{background:linear-gradient(110deg,#faf7f0,#fff)!important;border:1px solid var(--attention-border)!important;border-radius:9px;box-shadow:none!important}
:root body.observatory-interface .hydro-hero.level-1:before{background:var(--attention-accent)!important;width:3px}
:root body.observatory-interface .hydro-hero.level-1>.badge.level-1{border:0!important;padding-left:0;background:transparent!important}
:root body .citizen-attention-note{background:#faf7f0;border:1px solid var(--attention-border);border-left:3px solid var(--attention-accent);color:var(--attention-ink)!important}
:root body .citizen-dashboard .citizen-lamp[data-alert-level="1"] i{background:var(--attention-surface);color:var(--attention-ink)}
:root body.observatory-interface .sa-station[data-station-alert="1"] .sa-lamp{box-shadow:none}

/* GIS workspace: generous canvas, quiet chrome, consistent controls. */
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-header{display:flex!important;flex-direction:row!important;justify-content:space-between;text-align:left!important}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-header>div:first-child{flex:1 1 220px;width:auto!important;text-align:left!important}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-header .map-actions{flex:0 1 auto;width:auto!important;justify-content:flex-end}
:root body.observatory-interface .ob-flow-upgrade.ob-reading-upgrade.ob-design-system.ob-gis-upgrade .river-observatory.ob-live-grid{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:20px;align-items:start}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map{padding:18px;background:#fff;border:1px solid #dce6f1;border-radius:16px;box-shadow:0 4px 18px #24476b08}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-header{align-items:center;gap:12px;margin-bottom:14px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-instruction{color:#7290af;font-size:9px;letter-spacing:1.3px;font-weight:650}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-header h3{font-size:21px;color:#193a5c;letter-spacing:-.4px;margin:4px 0}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-header p{color:#7990a8;font-size:11px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-actions{margin-left:auto;gap:6px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-segment{background:#f3f6fa;border:1px solid #e4ebf3;border-radius:8px;padding:3px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-segment button{border-radius:5px;box-shadow:none;font-size:10px;min-height:28px;padding:5px 7px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-segment button.active{background:white;color:#3269a9;box-shadow:0 1px 3px #17375114}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-situation{border:1px solid #e3eaf3!important;border-left:0!important;background:#f7f9fc!important;padding:9px 12px!important;margin-bottom:10px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .gis-control-row{padding:8px;background:#f6f8fb;border:1px solid #e5ebf3;border-radius:10px;margin:0 0 12px;gap:8px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .gis-basemap-switch{background:transparent;border:0;padding:0;gap:2px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .gis-control-row button{min-height:30px;font-size:10px;border-radius:6px;box-shadow:none;padding:5px 8px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .gis-control-row button[aria-pressed="true"]{background:white;color:#3269a9;border:1px solid #dce6f1}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .river-canvas{border:1px solid #dce6ef;border-radius:12px;overflow:hidden}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map #geographic-map{height:480px!important;background:#e8f2f7}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-floating-tools{right:12px;bottom:34px;gap:4px;background:#fffffff5;border:1px solid #dce6f1;border-radius:8px;padding:3px;box-shadow:0 2px 8px #17375110}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-floating-tools button{background:transparent;border:0;border-radius:5px;box-shadow:none;padding:6px 8px;font-size:11px}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .gis-point-detail{border:1px solid #dce6f1;border-radius:12px;box-shadow:0 8px 24px #17375120}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .gis-detail-header{background:#f5f8fc;border-bottom:1px solid #e3ebf4}
:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-pin-label>strong em{color:var(--point-ink);background:color-mix(in srgb,var(--point-color) 12%,white)}
@media(max-width:1200px){:root body.observatory-interface .ob-flow-upgrade.ob-reading-upgrade.ob-design-system.ob-gis-upgrade .river-observatory.ob-live-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map{padding:12px;border-radius:12px}:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map #geographic-map{height:420px!important}:root body:is(.observatory-interface,.community-view) .gis-map.water-alert-map .map-actions{margin-left:0;width:100%}}

/* Consistent circular symbols; selection and alert state use separate visual channels. */
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon:is(.measured,.estimated)>.beacon-core{inset:5px;width:32px;height:32px;border-radius:50%;border-width:2px;background:color-mix(in srgb,var(--point-color) 24%,white);color:var(--point-ink);box-shadow:0 2px 5px #17375124;transition:background .18s ease,box-shadow .18s ease,border-color .18s ease}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon>.beacon-core svg{width:20px;height:20px;stroke-width:2}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon[data-alert-level="1"]>.beacon-core{background:#fff0c2;border-color:#d99a23;color:#8b5b12}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon[data-alert-level="2"]>.beacon-core{background:#ffe1cd;border-color:#ea7a35;color:#a34317}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon:is([data-alert-level="3"],[data-alert-level="4"])>.beacon-core{background:var(--point-color);color:var(--point-on-color);border-color:#fff}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected>.beacon-core{box-shadow:0 0 0 2px #fff,0 0 0 4px #347dde,0 3px 9px #225ca438}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon:hover>.beacon-core{box-shadow:0 0 0 3px #d5e7fc,0 3px 9px #225ca430}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected:hover>.beacon-core{box-shadow:0 0 0 2px #fff,0 0 0 4px #347dde,0 4px 12px #225ca440}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected .map-pin-label{background:#eaf3ff!important;border-color:#75a7e8!important;box-shadow:0 2px 6px #225ca420!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected .map-pin-label>strong{color:#1e579c;font-weight:750}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.signal-offline>.beacon-core{background:#edf1f5;border-color:#98a9ba;color:#697d92}
@media(prefers-reduced-motion:reduce){:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon>.beacon-core{transition:none}}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon>.beacon-status{top:1px;right:0;width:16px;height:16px;border:1.5px solid #fff;color:var(--point-on-color,#fff);background:var(--point-color);border-radius:50%;box-shadow:0 1px 3px #17375125;animation:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .beacon-status svg{width:10px;height:10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .beacon-wave{inset:5px;left:5px;right:5px;top:5px;bottom:5px;border:1px solid var(--point-color);border-radius:50%;box-shadow:none;animation:map-soft-pulse 3.6s ease-out infinite}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .wave-second,
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon:not([data-alert-level="3"]):not([data-alert-level="4"]) .beacon-wave{display:none}
@keyframes map-soft-pulse{0%{transform:scale(1);opacity:.3}85%,100%{transform:scale(1.5);opacity:0}}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label{width:94px;min-width:0;padding:6px 7px;border:1px solid #ccdaec!important;border-left:2px solid #8ab1e1!important;border-radius:7px;background:#fffffffa!important;box-shadow:0 2px 6px #17375114!important;line-height:1.4}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected .map-pin-label{border-color:#8bb4ea!important;border-left-color:#397bd0!important;background:#f5f9ff!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>strong{font-size:12px;font-weight:650;line-height:1.4;color:#294f7b}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>strong em{font-size:9px;background:#edf3fb;color:#4c6d95;border-radius:3px;padding:1px 3px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>small{display:block;width:fit-content;font-size:10px!important;font-weight:550;line-height:1.4;color:var(--point-ink);padding:0;margin:2px 0;background:transparent;border-radius:0}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>span{font-size:9px!important;line-height:1.4;color:#6d8097}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label:after{background:#9fb8d6!important;opacity:.7!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map.gis-style-night .gis-beacon .map-pin-label{background:#21354df5!important;border-color:#496381!important;border-left-color:#79a6dd!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map.gis-style-night .gis-beacon .map-pin-label>strong{color:#e0ecfa}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map.gis-style-night .gis-beacon .map-pin-label>small{color:color-mix(in srgb,var(--point-color) 55%,white);background:transparent}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map.gis-style-night .gis-beacon .map-pin-label>span{color:#a8bbd1}
@media(max-width:600px){:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label{width:78px;padding:5px 6px}:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>strong{font-size:11px}:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>small{font-size:10px!important}}
@media(prefers-reduced-motion:reduce){:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .beacon-wave{animation:none;opacity:.2}}

/* One-line station tags; readings and source details live in the selected-point panel. */
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-control-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin:8px 0 10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-control-row .gis-basemap-toolbar,
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-control-row .gis-layer-toolbar{margin:0;padding:0}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label{width:max-content;max-width:100px;padding:4px 7px;border-left-width:1px!important;border-radius:6px;line-height:1.2;box-shadow:0 1px 3px #17375112!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>strong{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:11px;line-height:16px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>small,
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label>span{display:none!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon .map-pin-label:after{display:none!important}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-situation{padding:10px 12px;border-left:0;border:1px solid #dbe5f0;background:#f6f9fd;box-shadow:none;border-radius:8px;gap:10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-situation-symbol{width:28px;height:28px;background:transparent}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-situation>div>p{display:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-situation strong{font-size:12px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-basemap-toolbar{padding:8px 0;border:0;background:transparent;flex-wrap:wrap;gap:6px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map #map-basemap-description{display:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-layer-toolbar{margin:0 0 10px;padding:0;background:transparent;border:0;gap:6px;justify-content:flex-end}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-layer-toolbar>span{display:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-layer-toolbar button{padding:5px 8px;font-size:10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-compass{width:30px;height:38px;top:12px;right:12px;background:#ffffffed;border:1px solid #dce6f2;border-radius:6px;box-shadow:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-compass b{font-size:8px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-view-coordinate{display:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-location-bar{padding:9px 12px;background:#f8fafd;border:1px solid #e1e9f2;border-radius:8px;margin-top:10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-location-bar strong{font-size:11px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-location-bar small{display:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-level-legend{display:flex;flex-wrap:wrap;gap:7px 12px;padding:10px 0;border:0}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-level-legend>span{font-size:10px;padding:0;border:0;background:transparent;box-shadow:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .map-level-legend svg{width:12px;height:12px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .river-footer{border-top:1px solid #e5edf5;padding-top:10px;gap:10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .geographic-legend{gap:8px 12px;font-size:10px}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .geographic-legend .atlas-water-legend,
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .geographic-legend>span:last-child{display:none}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-map-notes{font-size:11px;margin-top:10px;border-top:1px solid #e5edf5;padding-top:10px}

/* A single source icon carries its alert state through the surface and outline. */
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon:is(.measured,.estimated)>.beacon-core{background:color-mix(in srgb,var(--point-color) 17%,white);border:1.5px solid var(--point-color);color:var(--point-ink);box-shadow:0 1px 3px #17375118}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon:is([data-alert-level="3"],[data-alert-level="4"])>.beacon-core{background:var(--point-color);color:var(--point-on-color);border-color:#fff}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected>.beacon-core{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--point-color),0 2px 5px #17375120}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.signal-offline>.beacon-core{background:#f1f4f7;border-color:#9eafbf;color:#798b9d}
:root body:is(.observatory-interface,.community-view) .gis-beacon-map .gis-beacon.selected>.beacon-core{box-shadow:0 0 0 2px #fff,0 0 0 4px #347dde,0 3px 9px #225ca438!important}
.river-quality-control{position:absolute;top:10px;left:52px;z-index:450;background:#ffffffed;border:1px solid #d5e2ef;border-radius:9px;padding:7px 9px;color:#274563;font-size:11px;box-shadow:0 2px 8px #18365a10;backdrop-filter:blur(8px);max-width:calc(100% - 110px)}
.river-quality-control button{border:1px solid #cddaea;border-radius:6px;background:#f3f7fc;color:#274563;padding:5px 8px;font:inherit;font-weight:600;cursor:pointer;margin:0}
.river-quality-control button[aria-pressed=true]{background:#e7f0ff;border-color:#397bd5;color:#18549e}
.river-quality-control button:disabled{opacity:.6;cursor:default}
.river-quality-control small{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;font-size:11px}
.river-quality-control small i{display:inline-block;width:14px;height:5px;border-radius:3px;margin-left:6px}
.river-quality-popup{max-width:280px;line-height:1.5}
.river-quality-popup small{color:#526479}

.river-quality-switches{display:flex;gap:5px}
.river-natural-flow{position:absolute;z-index:3;pointer-events:none;opacity:.95}
.gis-flow-active .river-centerline{opacity:.2}
.river-quality-scale{display:flex;gap:5px;align-items:center;margin-top:6px;font-size:10px;white-space:nowrap}
.river-quality-scale>i{width:74px;height:5px;border-radius:5px;background:linear-gradient(90deg,#245bff,#e8b847,#ed842f,#e34b63,#ae285c)}
.river-quality-scale>b{width:7px;height:7px;border-radius:50%;background:#71817f;margin-left:2px}
.citizen-map .citizen-map-legend{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px 12px!important;padding:10px 14px!important;font-size:11px!important;line-height:1.5}
.citizen-map .citizen-map-legend>span{white-space:nowrap;display:inline-flex;align-items:center;gap:5px}
.citizen-map .citizen-map-caption{font-size:11px!important;line-height:1.6!important;margin-top:0!important}
@media(max-width:600px){.river-quality-control{top:10px;left:50px;padding:6px 8px;max-width:calc(100% - 105px)}}
