/* Default dark palette. Data colors retain the same meaning throughout the page. */
:root {
  color-scheme: dark;
  --background: #0c141d;
  --surface: #131f2b;
  --raised: #1a2a38;
  --ink: #edf4fa;
  --muted: #acbdcc;
  --green: #78dbbf;
  --line: #304252;
  --amber: #f5c781;
  --coral: #ffafa0;
  --forecast: #c0afff;
  --chart-grid: #304252;
  --chart-label: #acbdcc;
  --chart-forecast-area: #1d2539;
}
body {
  background: var(--background);
  color: var(--ink);
}
header {
  background: #101b26;
  border-bottom-color: var(--line);
}
nav a {color: var(--muted); transition: color .15s ease;}
nav a:hover, nav a:focus-visible {color: var(--ink);}
.brand, .eyebrow, .icon {color: var(--green);}
.live {color: var(--muted);}
.panel, .station-card {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 10px 30px #00000018;
}
button, select, input {
  background: var(--raised);
  color: var(--ink);
  border-color: #425969;
  min-height: 38px;
}
input::placeholder {color: var(--muted); opacity: 1;}
button:hover {background: #243a4a; border-color: #608879;}
button:disabled, button:disabled:hover {background: var(--raised); color: var(--muted); border-color: var(--line);}
button:focus-visible, a:focus-visible, select:focus-visible, input:focus-visible {
  outline-color: var(--green);
}
.clock strong {color: var(--ink);}
.clock button {border-color: #4a746b; color: var(--green);}
.notice {
  background: #142a2c;
  border-color: #345f59;
  color: #c1e6dc;
  line-height: 1.7;
}
.chart-reading {
  background: #162e30;
  border-left-color: var(--green);
}
.chart-reading p, .station-card .station-reading {color: var(--ink);}
.measurement-help, .section-explanation, .alert-explanation p,
.card-numbers .threshold-origin, .chart-threshold-origin,
.station-card p, .projection-box p {color: var(--muted);}
.chart-meta strong, #amba-level,
.card-numbers>div:first-child strong {color: var(--green); font-variant-numeric: tabular-nums;}
.card-numbers>div:nth-child(2) strong {color: var(--amber);}
.chart-meta button:not(:disabled) {color: var(--forecast); border-color: #665982;}
.legend i {border-color: var(--green);}
.legend .dash {border-color: var(--forecast);}
.legend .alert {border-color: var(--amber);}
.projection-box {
  background: #22283c;
  border: 1px solid #4a435f;
}
.projection-box>span, .projection-box h3 {color: var(--forecast);}
.projection-box .forecast-reading {color: var(--ink);}
.projection-box a, .threshold-origin a, .amba-grid a {text-decoration: underline; text-underline-offset: 3px;}
.alert-explanation {border-left-color: var(--amber);}
.alert-explanation strong {color: var(--amber);}
.pill {
  background: #203b37;
  color: #a7ecd5;
  border: 1px solid #42685d;
}
.pill.attention {background: #3b3021; color: var(--amber); border-color: #7e633d;}
.pill.exceeded {background: #402a2b; color: var(--coral); border-color: #8a5350;}
.station-card.attention {border-top-color: var(--amber);}
.station-card.exceeded {border-top-color: var(--coral);}
.station-card:hover {border-color: #5d8379;}
.dot {border-color: var(--surface); background: #8cbaae;}
#river:before {background: #3d615a;}
.river-item {border-radius: 8px;}
.river-item:hover {background: #1a3035; border-color: transparent;}
.river-item.selected {background: #1b3438; color: var(--green);}
.river-item.selected .dot {background: var(--green); box-shadow: 0 0 0 1px #6b9b8e;}
.river-item .dot.attention {background: var(--amber);}
.river-item .dot.exceeded {background: var(--coral);}
.filters button {color: var(--muted); border: 1px solid var(--line);}
.filters button:hover {background: var(--raised); color: var(--ink);}
.filters .active, .filters .active:hover {
  background: #25463f;
  border-color: #558f7f;
  color: #beefdf;
}
.see-chart {background: transparent; color: var(--green); border: 0;}
.see-chart:hover {background: transparent; color: #adf0db;}
.sources a {background: #162432; border-color: var(--line); transition: border-color .15s ease;}
.sources a:hover {border-color: #648c83;}
.sources strong {color: var(--green);}
.source-reading .source-state {color: var(--amber);}
.source-reading .source-date {color: var(--muted);}
.amba-grid .amba-reading {color: var(--ink);}
.amba-grid article>strong {color: var(--green);}
.summary, .amber, .blue {background: var(--raised); border-color: var(--line);}
.summary>p, .summary>p:first-child {color: var(--muted);}
.mini {border-color: var(--line);}
.bar {background: var(--raised);}
.bar>div {background: var(--green);}
::selection {background: #365e55; color: #ffffff;}
@media (prefers-reduced-motion: reduce) {
  html {scroll-behavior: auto;}
  nav a, .sources a {transition: none;}
}

.station-current {font:600 30px Manrope; color:var(--green); font-variant-numeric:tabular-nums;}
.station-current small {font-size:15px;}
.station-card .station-change {font-size:13px;margin:8px 0 20px;}
.station-thresholds {display:grid;gap:8px;margin-bottom:20px;font-size:13px;}
.station-thresholds span:first-child {color:var(--amber);}
.evacuation-value {color:var(--coral);}
.station-card footer {margin-top:auto;}
.pill.evacuated {background:#502e36;color:#ffd5d4;border-color:#c78188;}
.station-card.evacuated {border-top:4px solid var(--coral);}
.river-item .dot.evacuated {background:var(--coral);}
.legend .evacuation {border-color:var(--coral);}
.view-switch,.history-controls {display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0;}
.view-switch .active {border-color:var(--green);background:#25463f;color:#beefdf;}
.history-controls {font-size:12px;color:var(--muted);}
.history-controls select {font-size:12px;padding:8px;}
.status-help {font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px;}
.status-help summary {cursor:pointer;}
#yacyreta-context {margin:32px 0;}
.eby-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.eby-grid h3 {font-size:21px;line-height:1.6;}
.eby-grid p {font-size:13px;color:var(--muted);line-height:1.8;}
.page-footer a {font-size:11px;color:var(--muted);max-width:480px;line-height:1.8;}
@media(max-width:760px){.eby-grid{grid-template-columns:1fr;gap:10px}.page-footer{gap:18px;flex-wrap:wrap}.station-current{font-size:28px}}
/* Independent project signature, kept secondary to the official sources. */
.page-footer {flex-wrap:wrap;gap:18px;}
.footer-credits {max-width:480px;min-width:0;text-align:right;}
.project-signature {display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:4px 7px;margin:10px 0 0;font-size:11px;line-height:1.8;color:var(--muted);}
.project-signature>span {white-space:nowrap;}
.page-footer .creator-link {display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:inherit;color:inherit;border-radius:2px;}
.creator-link svg {display:block;flex-shrink:0;}
.page-footer .creator-link:hover {color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
.page-footer .creator-link:focus-visible {color:var(--ink);outline:2px solid var(--green);outline-offset:4px;}
@media(max-width:760px){.footer-credits{width:100%;text-align:left}.project-signature{justify-content:flex-start;}}

/* Historical chart text stays readable at the actual available width. */
#chart {overflow-x:hidden;}
#chart svg.history-svg {min-width:0;width:100%;height:auto;display:block;}
.history-svg text {font-family:inherit;font-size:11px;}
.history-svg .chart-axis-title {fill:var(--chart-label);font-size:12px;}
.chart-axis-label,.time-tick,.history-svg .chart-source {fill:var(--muted);}
.history-svg .observed-value {fill:var(--green);font-size:12px;}
.history-svg .forecast-value {fill:var(--forecast);font-size:12px;}
.history-svg .forecast-caption {fill:var(--forecast);font-size:11px;}
.history-svg .threshold-label {paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;}
.history-svg a:hover .chart-source,.history-svg a:focus-visible .chart-source {fill:var(--ink);text-decoration:underline;}
.history-svg a:focus-visible {outline:2px solid var(--green);outline-offset:3px;}
.history-hit-area {cursor:crosshair;}
.history-hit-area:focus-visible {outline:1px solid var(--muted);outline-offset:-1px;}
.history-tooltip text {fill:var(--ink);font-size:11px;}
.chart-meta #chart-age {font-size:12px;color:var(--muted);line-height:1.6;}

/* Immediate readings stay prominent; explanations are available on demand. */
.station-summary {margin:8px 0 18px;}
.station-summary .chart-meta {gap:10px;align-items:baseline;}
.station-summary .chart-meta strong {font-size:42px;line-height:1.25;}
.station-summary .chart-meta #chart-trend {width:auto;font-size:28px;color:var(--green);}
.chart-change {font-size:16px;color:var(--ink);margin:4px 0 14px;font-variant-numeric:tabular-nums;}
#chart-status {margin-bottom:12px;}
.chart-references {display:flex;flex-wrap:wrap;gap:6px 24px;color:var(--muted);font-size:12px;line-height:1.7;}
.chart-references b {color:var(--ink);font-weight:500;}
.measurement-footer {color:var(--muted);font-size:11px;line-height:1.6;margin:12px 0;}
.measurement-footer p {margin:4px 0;}
.measurement-footer .value-label {font-size:11px;margin:4px 0;}
.measurement-footer #chart-age {font-size:11px;}
.context-details {margin:12px 0;color:var(--muted);font-size:12px;line-height:1.7;}
.context-details summary {cursor:pointer;display:list-item;color:var(--muted);font-size:12px;}
.context-details summary:hover {color:var(--ink);}
.context-details summary:focus-visible {outline:2px solid var(--green);outline-offset:4px;border-radius:2px;}
.context-details[open] {padding-bottom:8px;}
.context-details p {font-size:12px;line-height:1.7;}
.context-details .chart-reading {padding:0;margin:12px 0;background:transparent;border:0;}
.context-details .chart-reading .pill {display:none;}
.context-details .chart-reading h3 {font-size:16px;margin:8px 0;}
.context-details .chart-reading p {font-size:12px;line-height:1.7;}
.context-details .measurement-help {font-size:12px;}
.context-details .alert-explanation {margin:12px 0;font-size:12px;}
.station-card footer {font-size:11px;}
.station-card .station-current {font-size:34px;}
.station-card .station-change {font-size:13px;}
.amba .section-head {margin-bottom:12px;}
.amba-grid .context-details p {font-size:12px;}
.amba-grid .context-details {margin:9px 0;}
main {padding-top:32px;}
.notice {margin:18px 0;}
.projection-box .forecast-range {font-size:13px;color:var(--ink);}
@media(max-width:760px){.station-summary .chart-meta strong{font-size:38px}.chart-references{gap:4px 18px}.context-details{margin:10px 0}.history-controls{margin-top:14px}.measurement-footer{overflow-wrap:anywhere;}}
.tooltip-source{font-size:11px;fill:var(--muted)}
.weather-points p{margin:10px 0;line-height:1.6}.weather-points b{color:var(--ink);font-weight:600}.weather-source{font-size:10px!important;color:var(--muted)}.weather-alert-link{font-size:11px}#amba-weather-wind strong,#amba-weather-rain strong{font-size:15px}.amba-indicators .caption{font-size:10px}
.station-forecast{border-left:2px solid var(--forecast);padding-left:9px;margin:12px 0;font-size:11px!important;line-height:1.7}.source-policy-table{border-collapse:collapse;width:100%;font-size:11px;text-align:left}.source-policy-table th,.source-policy-table td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top}.clock #next{max-width:300px;line-height:1.5}.clock #client-query{font-size:10px;color:var(--muted)}
.situation{margin:24px 0}.situation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.situation-card{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:0}.situation-card h3,.amba-indicators h3{font-size:12px;color:var(--muted);margin:0 0 12px}.situation-card strong{display:block;font-size:17px;line-height:1.5}.situation-card p{font-size:11px;line-height:1.7}.situation-card a,.amba-indicators a{text-decoration:underline;text-underline-offset:3px}.evidence-station{border:0;padding:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer}.evidence-station:hover{text-decoration:underline}.evidence-station:focus-visible{outline:2px solid var(--green);outline-offset:3px}.changes-panel{padding:16px 0;border-bottom:1px solid var(--line)}.changes-panel h2{font-size:13px;text-transform:uppercase;letter-spacing:1px}.changes-panel ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.changes-panel p{font-size:12px;color:var(--muted);line-height:1.7}.changes-panel .caption{font-size:10px}.amba-indicators{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}.amba-indicators article{padding:16px;border:1px solid var(--line);border-radius:8px;min-width:0}.amba-indicators strong{display:block;font-size:16px;line-height:1.5}.amba-indicators p{font-size:11px;color:var(--muted);line-height:1.7}.amba-indicators a{font-size:11px}.combined-risk{border-left:2px solid var(--muted);padding:6px 16px}.combined-risk strong{font-size:17px}.local-impacts{border-top:1px solid var(--line);padding:12px 0}.local-impacts h3{font-size:13px}.river-metaphor{font-size:10px;line-height:1.7;color:var(--muted)}
@media(max-width:1000px){.situation-grid,.amba-indicators{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.situation-grid{grid-template-columns:1fr}.situation-card{padding:14px}.situation-card strong{font-size:16px}.changes-panel ul{grid-template-columns:1fr}.amba-indicators{gap:8px}.amba-indicators article{padding:12px}.amba-indicators strong{font-size:14px}.amba-indicators p{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){#river:after{animation:none;display:none}html{scroll-behavior:auto}}

.brand.descriptive-identity{display:flex;flex-direction:column;align-items:flex-start;gap:3px;color:var(--ink);font-size:20px;line-height:1.25;letter-spacing:0;font-weight:600}.descriptive-identity small{font:400 11px 'DM Sans',sans-serif;color:var(--muted)}header{gap:20px}main{padding-top:24px}.intro h1{font-size:32px;line-height:1.25;margin:0 0 12px}.intro .sub{margin:0}.workspace{margin-top:18px}.changes-panel{margin:22px 0 32px;padding:16px 0}.changes-panel h2{margin-top:0}.notice{margin:14px 0}.intro .clock{flex-shrink:0}
@media(max-width:1000px){header nav{gap:20px}.brand.descriptive-identity{font-size:18px}}@media(max-width:760px){header{padding:16px 18px;gap:14px}header nav{gap:22px}header .live{max-width:125px;text-align:right;line-height:1.5}.brand.descriptive-identity{font-size:18px}.descriptive-identity small{font-size:10px}main{padding-top:22px}.intro h1{font-size:26px;margin-bottom:10px}.intro .sub{font-size:13px;line-height:1.6}.intro .clock{margin-top:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center}.intro .clock span,.intro .clock strong{grid-column:1;font-size:10px}.intro .clock button{grid-column:2;grid-row:1 / 4;align-self:center;font-size:10px;padding:9px}.workspace{margin-top:14px}.changes-panel{margin:20px 0 28px}}

/* Static schematic watercourse and restrained hydrographic identity. */
.intro{position:relative;isolation:isolate}.intro::before{content:'';position:absolute;inset:-25px -16px;z-index:-1;background:url('hydro-texture.svg') center/cover no-repeat;opacity:.035;pointer-events:none}
.route-end{display:block;margin:14px 0 2px 40px;color:#8faebb;font-size:9px;letter-spacing:2px}
#river::before{display:block!important;left:5px;width:20px;background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 600' preserveAspectRatio='none'%3E%3Cpath d='M10 0 C2 80 18 140 10 200 S2 320 10 400 S18 520 10 600' fill='none' stroke='%238bbdcc' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.65;pointer-events:none}
#river::after{content:none}.river-item{gap:12px}.river-item>span{min-width:0}.river-item.selected{box-shadow:inset -2px 0 #8bbdcc}.river-item .river-distance{font-size:10px;line-height:1.5}.threshold-distance{font-size:12px;line-height:1.6;color:var(--muted);margin:9px 0 0}.historical-context{margin:0 0 18px;color:var(--muted);font-size:11px}.historical-context p{font-size:11px;line-height:1.7}.historical-context .maximum-badge{color:var(--green);margin:0 0 7px}.historical-context summary{overflow-wrap:anywhere}.local-impacts p,.local-impacts a{font-size:12px;line-height:1.7}.local-impacts a{text-decoration:underline}
@media(max-width:760px){.river-panel #river{display:flex;flex-direction:column;gap:2px}.river-panel #river::before{display:block}.river-item{padding:10px 0}.historical-context{margin-bottom:14px}}

/* Climate context stays secondary to the operational river readings. */
.climate-panel{margin:24px 0}.climate-panel>.eyebrow{color:var(--amber)}.enso-current{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;padding:22px 0 16px;border-bottom:1px solid var(--line)}.enso-current h3{font-size:30px;color:var(--amber);margin:9px 0}.enso-current p{font-size:12px;line-height:1.7;margin:7px 0}.enso-probability{border-left:1px solid var(--line);padding-left:24px}.enso-probability>strong{display:block;font:600 32px Manrope;margin:8px 0;color:var(--ink)}.enso-meaning,.climate-message{font-size:13px;line-height:1.75;max-width:950px}.enso-meaning{margin-top:18px}.climate-message{color:var(--muted)}.climate-panel .context-details p{font-size:12px;line-height:1.7}.climate-sources{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:11px;color:var(--muted);margin-top:22px}.climate-panel a{text-decoration:underline;text-underline-offset:3px}.enso-chain{display:flex;align-items:center;gap:16px;margin:20px 0;color:var(--muted);font-size:12px}.enso-chain b{display:block;font-size:9px;letter-spacing:1px;color:var(--amber);margin-bottom:7px}.enso-event-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.enso-event-cards article{padding:15px;border:1px solid var(--line);border-radius:8px;min-width:0}.enso-event-cards h4{margin:0 0 10px;font-size:15px}.enso-series-controls{display:flex;align-items:center;gap:12px;margin:24px 0 18px;font-size:12px}.enso-index-chart{width:100%;max-width:850px;min-width:0}.enso-index-chart svg{display:block;width:100%;height:auto}.enso-index-values{padding-left:20px;font-size:11px;line-height:1.8}.enso-hydrology-pending{border-left:2px solid var(--line);padding:2px 0 2px 15px;margin:22px 0}.enso-hydrology-pending h4{margin:8px 0;font-size:13px}.enso-hydrology-pending a{font-size:12px}
@media(max-width:1100px){header{height:auto;flex-wrap:wrap;gap:16px;padding-top:20px;padding-bottom:20px}header nav{order:3;width:100%;flex-wrap:wrap;column-gap:22px;row-gap:12px}.enso-event-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.enso-current{grid-template-columns:1fr;gap:12px;padding-top:12px}.enso-probability{border-left:0;border-top:1px solid var(--line);padding:15px 0 0}.enso-current h3{font-size:27px}.enso-event-cards{grid-template-columns:1fr}.enso-chain{flex-direction:column;align-items:flex-start;gap:10px}.enso-chain>span[aria-hidden]{transform:rotate(90deg);margin-left:8px}.enso-series-controls{flex-wrap:wrap}.climate-sources{line-height:1.7}}
/* Regional context stays secondary to the station measurement. */
.upstream-context {margin:18px 0;padding:14px 0;border-top:1px solid var(--line);}
.upstream-context label {display:block;font-size:12px;margin:15px 0 6px;color:var(--muted);}
.upstream-context select {max-width:100%;min-width:0;}
.upstream-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.upstream-grid article {border:1px solid var(--line);border-radius:8px;padding:16px;min-width:0;}
.upstream-grid h4 {font-size:12px;color:var(--muted);margin:0 0 10px;}
.upstream-grid strong {display:block;font-size:22px;color:var(--green);line-height:1.3;}
.upstream-grid p,.upstream-context details {font-size:12px;line-height:1.65;}
.upstream-interpretation {font-size:13px;line-height:1.65;border-left:2px solid var(--green);padding-left:12px;}
.river-name {display:block;font-weight:600;}
.river-item small.river-measurement {display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;}
.river-measurement b {color:var(--ink);font-weight:600;}
.river-item .river-age {font-size:10px;color:var(--muted);line-height:1.5;margin-top:5px;}
.basin-change {border-top:1px solid var(--line);padding-top:18px;margin-top:18px;font-size:13px;}
.basin-change .eyebrow {font-size:10px;}
.methodology-page {max-width:950px;margin:40px auto;padding:0 22px;}
.methodology-page .panel {margin-bottom:22px;}
.methodology-page p,.methodology-page li {line-height:1.8;}
.methodology-page table {width:100%;border-collapse:collapse;font-size:13px;}
.methodology-page th,.methodology-page td {padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;}
.changelog-item {border-top:1px solid var(--line);padding:18px 0;}
@media(max-width:600px){.upstream-grid{grid-template-columns:1fr}.methodology-page{padding:0 12px}.methodology-page table{font-size:11px}.methodology-page th,.methodology-page td{padding:9px 4px}}

@media(max-width:900px){.upstream-grid{grid-template-columns:1fr}}
.footer-credits > a {display:block;line-height:1.7;}
/* Editorial image: restrained framing, no text competing with measurements. */
.basin-banner{position:relative;isolation:isolate;height:220px;margin:22px 0 26px;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:var(--surface);}
.basin-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 80%;filter:saturate(.86) contrast(.98);}
.basin-banner::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(12,20,29,.12),rgba(12,20,29,.28)),rgba(9,38,51,.06);}
@media(max-width:1000px){.basin-banner{height:176px;margin:20px 0 22px;}}
@media(max-width:600px){.basin-banner{height:124px;margin:18px 0 20px;border-radius:8px;}}
