/* ==========================================================================
   Niveles de los lagos · Template v2
   Un solo archivo de estilos para todo el sitio.
   Tokens tomados de pancanal.com: Open Sans, azules #0B3C60 / #1F5783 / #276EA6,
   cielo #DEEBF5, papel #F9F8F8, pie #092337, radios 24px con una esquina grande.
   Reglas del diseño:
   - Dos superficies: papel (página) y blanco (paneles). Un solo bloque azul: el hero.
   - La jerarquía sale del tamaño y del espacio, no de cajas dentro de cajas.
   - Texto y ejes de gráficos de al menos 14 px.
   ========================================================================== */

@font-face{font-family:'Open Sans';font-style:normal;font-weight:300 800;font-display:swap;src:url('assets/open-sans-latin.woff2') format('woff2')}

:root{
  color-scheme:light;
  --navy:#0B3C60; --deep:#092337; --blue:#1F5783; --link:#276EA6;
  --sky:#DEEBF5; --mist:#EEF5FA; --paper:#F9F8F8; --white:#fff;
  --ink:#2F2E2D; --ink-2:#5C5B59; --line:#E4E2E0; --line-2:#EFEDEB;
  --copper:#B5651D;
  /* Las series se distinguen también mediante trazos diferentes. */
  --s1:#276EA6; --s2:#B5651D; --s3:#1A9672; --s4:#8A5FBF;
  --r:24px; --r-s:12px;
  --gut:clamp(16px,4vw,40px);
  --max:1120px;
  --head:64px;
  --shadow:0 1px 2px rgba(9,35,55,.04),0 10px 28px rgba(9,35,55,.06);
  --num:clamp(3.25rem,9.5vw,5.75rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head) + 16px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.6 'Open Sans',Arial,sans-serif}
h1,h2,h3{margin:0;font-weight:400;line-height:1.2;letter-spacing:-.015em;color:var(--ink)}
p{margin:0 0 1em}
a{color:var(--link);text-underline-offset:3px}
a:hover{color:var(--navy)}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{opacity:.45;cursor:not-allowed}
img{display:block;max-width:100%;height:auto}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.muted{color:var(--ink-2)}
.num,.tabular{font-variant-numeric:tabular-nums}
:is(a,button,input,select,summary,[tabindex]):focus-visible{outline:3px solid var(--deep);outline-offset:3px;box-shadow:0 0 0 3px #fff;border-radius:6px}
.skip{position:fixed;top:-100px;left:16px;z-index:100;background:#fff;color:var(--deep);padding:12px 16px;border:2px solid var(--deep);border-radius:8px}
.skip:focus{top:12px}

main{max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}

/* ---------- Encabezado ---------- */
.topbar{position:sticky;top:0;z-index:40;background:rgba(249,248,248,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:16px;height:var(--head);max-width:calc(var(--max) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.brand{display:block;line-height:0;margin-right:auto;border-radius:6px}
.brand img{width:168px;height:auto}
.site-nav{display:none}
.site-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;color:var(--blue);font-size:.9375rem;font-weight:600;text-decoration:none}
.site-nav a:hover{background:var(--sky);color:var(--navy)}
.site-nav a[aria-current=true]{background:var(--sky);color:var(--navy)}
.menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--blue);box-shadow:0 2px 6px rgba(9,35,55,.12)}
.menu-toggle:hover,.menu-toggle[aria-expanded=true]{background:var(--sky)}
.hamburger{position:relative;display:block;width:18px;height:14px}
.hamburger i{position:absolute;left:0;width:18px;height:2px;border-radius:2px;background:currentColor;transition:transform .15s,opacity .15s}
.hamburger i:nth-child(1){top:0}.hamburger i:nth-child(2){top:6px}.hamburger i:nth-child(3){top:12px}
.menu-toggle[aria-expanded=true] .hamburger i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .hamburger i:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .hamburger i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.topbar.is-open .site-nav{display:flex;flex-direction:column;position:absolute;top:calc(100% + 8px);left:var(--gut);right:var(--gut);padding:8px;background:#fff;border-radius:16px;box-shadow:var(--shadow),0 0 0 1px var(--line)}
.topbar.is-open .site-nav a{min-height:48px;border-radius:10px;font-size:1rem}
.reading-progress{position:absolute;left:0;right:0;bottom:-1px;height:3px;overflow:hidden;pointer-events:none}
.reading-progress-fill{display:block;width:100%;height:100%;background:var(--blue);transform:scaleX(0);transform-origin:left}
@media(min-width:1100px){
  .site-nav{display:flex;gap:2px;margin-left:auto}
  .brand{margin-right:0}
  .menu-toggle{display:none}
}

/* ---------- Controles ---------- */
.seg{display:inline-flex;gap:2px;padding:4px;background:var(--mist);border-radius:999px;max-width:100%}
.seg button{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--blue);font-weight:600;white-space:nowrap;transition:background .15s,color .15s}
.seg button:hover{background:var(--sky)}
.seg button[aria-pressed=true]{background:var(--blue);color:#fff}
.seg.sm button{min-height:34px;padding:0 14px;font-size:.9375rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{white-space:nowrap;min-height:40px;padding:0 16px;border:1.5px solid #CBD8E3;border-radius:999px;background:#fff;color:var(--blue);font-weight:600;transition:background .15s}
.chip:hover{background:var(--mist)}
.chip[aria-pressed=true]{background:var(--sky);border-color:var(--blue);color:var(--navy)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 22px;border:2px solid var(--blue);border-radius:8px;background:transparent;color:var(--blue);font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.btn:hover{background:var(--sky);color:var(--navy)}
.btn.solid{background:var(--blue);color:#fff}
.btn.solid:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.quiet{border-color:transparent}
input,select{min-height:44px;padding:0 12px;border:1.5px solid #B7C8D6;border-radius:8px;background:#fff;color:var(--ink)}
select{padding-right:8px}
label{font-weight:600;font-size:.9375rem}
@media(pointer:coarse){.seg button{min-height:44px}.seg.sm button{min-height:40px}}

/* ---------- Hero ---------- */
.hero{margin-top:16px;padding:clamp(24px,5vw,56px);background:var(--navy);color:#fff;border-radius:24px 24px clamp(40px,7vw,72px) 24px}
.hero :focus-visible{outline-color:#fff;box-shadow:0 0 0 3px var(--navy)}
.hero h1{color:#fff;font-size:clamp(1.5rem,3.4vw,2rem);font-weight:400}
.hero-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 20px}
.stamp{margin:0;color:#CFE1EF;font-size:1rem}
.gauges{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);margin-top:clamp(28px,5vw,48px)}
.gauge-name{display:flex;align-items:center;gap:10px;margin:0 0 8px;font-size:1.125rem;font-weight:600;color:#fff}
.gauge-value{margin:0;font-size:var(--num);font-weight:300;line-height:1;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.gauge-value small{margin-left:.35rem;font-size:1.25rem;font-weight:400;letter-spacing:0;color:#CFE1EF}
.gauge-sub{margin:10px 0 0;color:#CFE1EF;font-size:1rem}
.gauge-sub b{color:#fff;font-weight:600}
.track{position:relative;height:6px;margin:clamp(22px,3vw,30px) 9px 10px;border-radius:6px;background:rgba(255,255,255,.24)}
.pin{position:absolute;left:var(--pos,0%);top:50%;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.2);transform:translate(-50%,-50%);animation:pin-in 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes pin-in{from{left:0}}
.range{display:flex;justify-content:space-between;gap:12px;color:#CFE1EF;font-size:.9375rem;font-variant-numeric:tabular-nums}
.hero-note{max-width:60ch;margin:clamp(28px,4vw,44px) 0 0;color:#CFE1EF;font-size:.9375rem}
#loading{padding:24px 0;color:var(--ink-2)}
@media(max-width:700px){
  .hero{padding:22px 20px 26px}
  .hero-head{flex-direction:column;gap:2px}
  .gauges{gap:18px;margin-top:22px}
  .gauge-name{font-size:1rem;margin-bottom:6px}
  .gauge-value{font-size:clamp(2.25rem,10.4vw,3rem)}
  .gauge-value small{display:block;margin:4px 0 0;font-size:1rem}
  .gauge-sub{display:flex;flex-direction:column;margin-top:8px;font-size:.9375rem}
  .gauge-sub .alt{display:none}
  .track{margin:18px 7px 8px}
  .range .lbl{display:none}
  .hero-note{margin-top:22px}
}

/* ---------- Secciones ---------- */
.section{padding-top:clamp(48px,7vw,96px)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:clamp(16px,2.4vw,28px)}
.sec-head h2{font-size:clamp(1.625rem,2.8vw,2rem)}
.sec-head .sub{max-width:52ch;margin:6px 0 0;color:var(--ink-2)}
.panel{padding:clamp(16px,3vw,32px);background:var(--white);border-radius:var(--r);box-shadow:var(--shadow)}
.panel.flush{padding:0;overflow:hidden}
.error{margin:0 0 16px;padding:12px 16px;border-radius:8px;background:#FDECEA;color:#8A1F11}
.noscript-note{margin:24px 0;padding:16px 20px;border-radius:12px;background:var(--sky)}
@media(max-width:700px){
  .range-bar .chips{display:grid;grid-template-columns:repeat(4,1fr);width:100%}
  .range-bar .chip{padding:0 4px}
  .m-l{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .m-s{display:inline}
  .heat-top{flex-direction:column;align-items:stretch;gap:4px}
  .heat-key i{flex:1 1 80px}
  .heat-key .legend-note{flex-basis:100%;margin-left:0}
  .sources{gap:24px}
  .sources p{margin-bottom:.6em}
  .sec-head .sub{display:none}
  .sec-head{margin-bottom:14px}
  .sec-head .seg{width:100%}
  .sec-head .seg button{flex:1;padding:0 8px}
  .panel{border-radius:20px}
}

/* ---------- Evolución ---------- */
.range-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:20px}
.range-bar .chips{flex-wrap:nowrap}
#period-label{font-size:.9375rem;color:var(--ink-2)}
.chart-block+.chart-block{margin-top:20px;padding-top:20px;border-top:1px solid var(--line-2)}
.chart-title{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:1rem;font-weight:600}
.chart-title .u{margin-left:auto;font-weight:400;font-size:.9375rem;color:var(--ink-2)}
.swatch{display:inline-block;width:12px;height:12px;border-radius:50%;flex:none}
.chart{position:relative;width:100%}
.chart svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.chart svg:focus-visible{outline:2px solid var(--blue);outline-offset:4px;box-shadow:none;border-radius:8px}
.svg-text{font:400 14px 'Open Sans',Arial,sans-serif;fill:var(--ink-2)}
.grid{stroke:var(--line);stroke-width:1}
.series{fill:none;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}
.tip{position:absolute;top:4px;z-index:3;min-width:150px;max-width:240px;padding:10px 12px;border-radius:12px;background:var(--deep);color:#fff;font-size:.875rem;line-height:1.5;box-shadow:0 8px 24px rgba(9,35,55,.25);pointer-events:none}
.tip b{display:block;margin-bottom:2px;font-weight:600}
.tip div{display:flex;align-items:center;gap:8px;font-variant-numeric:tabular-nums}
.tip .swatch{width:10px;height:10px;box-shadow:0 0 0 1.5px #fff}
.tip em{font-style:normal;color:#F3D9A8}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:28px 48px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line-2)}
.stat h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:1rem;font-weight:600}
.stat dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}
.stat dt{font-size:.875rem;color:var(--ink-2)}
.stat dd{margin:2px 0 0;color:var(--navy);font-size:clamp(1.25rem,2.4vw,1.625rem);font-weight:300;line-height:1.2;font-variant-numeric:tabular-nums}
.stat dd small{display:block;margin-top:2px;color:var(--ink-2);font-size:.875rem;font-weight:400}
.more{margin-top:20px;border-top:1px solid var(--line-2)}
.more>summary{display:flex;align-items:center;gap:10px;min-height:52px;color:var(--blue);font-weight:600;cursor:pointer;list-style:none}
.more>summary::-webkit-details-marker{display:none}
.more>summary::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s}
.more[open]>summary::before{transform:rotate(45deg)}
.more>div,.more>p{margin-top:4px}
.custom{display:flex;flex-wrap:wrap;gap:16px;padding-bottom:8px}
.custom .field{display:flex;flex-direction:column;gap:6px;min-width:160px}

/* ---------- Comparar años ---------- */
.legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;margin:0 0 14px;font-size:.9375rem}
.legend span{display:inline-flex;align-items:center;gap:8px}
.legend svg{display:block;width:34px;height:10px}
.legend .u{margin-left:auto;color:var(--ink-2)}
.year-grid{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0 12px}
.year-chip{min-width:64px;min-height:40px;padding:0 12px;border:1.5px solid #CBD8E3;border-radius:999px;background:#fff;color:var(--blue);font-weight:600}
.year-chip:hover{background:var(--mist)}
.year-chip[aria-pressed=true]{background:var(--sky);border-color:var(--blue);color:var(--navy)}
.year-chip[aria-pressed=true]::before{content:'✓ '}
.text-button{border:0;background:none;padding:8px 0;color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px}
#year-status{margin:4px 0 0;font-size:.9375rem;color:var(--ink-2)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
#compare-values{width:100%;min-width:30rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
#compare-values caption{padding:8px 0 12px;text-align:left;color:var(--ink-2);font-size:.9375rem}
#compare-values th,#compare-values td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line-2)}
#compare-values thead th{background:var(--mist);color:var(--navy)}

/* ---------- Mes a mes ---------- */
.heat-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.heat-readout{margin:0;min-height:44px;display:flex;align-items:center;padding:8px 18px;border-radius:22px;background:var(--mist);color:var(--navy);font-size:.9375rem}
.switch{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;cursor:pointer}
.switch input{width:20px;min-height:20px;height:20px;accent-color:var(--blue)}
.heat-scroll{overflow-x:auto;padding:4px;margin:-4px}
.heatmap{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}
.heatmap th{padding:0 0 6px;color:var(--ink-2);font-size:.875rem;font-weight:600;text-align:center}
.heatmap th:first-child{width:clamp(44px,6vw,56px)}
.heatmap tbody th{padding:0 6px 0 0;text-align:left;vertical-align:middle}
.m-s{display:none}
.heatmap td{padding:0}
.cell{display:block;width:100%;height:clamp(16px,2.4vw,26px);padding:0;border:0;border-radius:4px;font-size:0;font-weight:600;line-height:1;transition:transform .1s}
.cell:hover{transform:scale(1.18);position:relative;z-index:1}
.cell.partial{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.6) 0 3px,transparent 3px 6px)}
.cell.is-selected{outline:2.5px solid var(--deep);outline-offset:1px;position:relative;z-index:1}
.heatmap td.missing{border-radius:4px;background:repeating-linear-gradient(135deg,#F2F1F0 0 3px,#E0DEDC 3px 4px);text-align:center;color:var(--ink-2);font-size:.875rem}
.show-values .heatmap{min-width:760px}
.show-values .cell{height:32px;font-size:.875rem}
.heat-key{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:20px;font-size:.9375rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.heat-key i{flex:0 1 200px;height:8px;border-radius:8px;background:linear-gradient(90deg,#EBF3F9,#7FAECF,#1F5783)}
.heat-key span{white-space:nowrap}
.heat-key .legend-note{margin-left:auto}

/* ---------- Datos ---------- */
.table-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px clamp(16px,3vw,28px);border-bottom:1px solid var(--line-2)}
.sort-label{display:inline-flex;align-items:center;gap:10px}
#data-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
#data-table th{padding:12px clamp(16px,3vw,28px);text-align:right;background:var(--mist);color:var(--navy);font-size:.9375rem;font-weight:600}
#data-table td{padding:14px clamp(16px,3vw,28px);border-bottom:1px solid var(--line-2);text-align:right}
#data-table th:first-child,#data-table td:first-child{text-align:left}
#data-table td:first-child{font-weight:600}
#data-table td small{display:block;color:var(--ink-2);font-size:.875rem;font-weight:400}
.partial-tag{display:inline-block;margin-left:8px;padding:1px 10px;border-radius:999px;background:#FAEEDD;color:#7A4A12;font-size:.875rem;font-weight:600;vertical-align:1px}
.pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(16px,3vw,28px);color:var(--ink-2)}
.pager div{display:flex;gap:8px}
#table-scope a{white-space:nowrap}

/* ---------- Fuentes y preguntas ---------- */
.sources{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 40px}
.sources article{padding-top:16px;border-top:2px solid var(--navy)}
.sources h3{margin-bottom:8px;font-size:1.25rem}
.sources p{color:var(--ink-2)}
.sources code{font-size:.875rem;overflow-wrap:anywhere}
.sources .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0}
.sources a{font-weight:600}
.method{margin-top:36px}
.method>div{max-width:72ch;padding-bottom:12px;color:var(--ink-2)}
.faq{max-width:820px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 0;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);transition:transform .15s;margin-right:4px}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details>div{padding:0 0 16px;color:var(--ink-2);max-width:64ch}
.topic-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 0}
.topic-links a{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:24px;border:1px solid #B7C8D6;border-radius:16px;background:#fff;box-shadow:var(--shadow);text-decoration:none;color:var(--ink)}
.topic-links strong{display:block;min-height:2.7em;color:var(--navy);font-size:1.125rem;font-weight:600;line-height:1.35}
.topic-links span{display:block;color:var(--ink-2);font-size:1rem;font-weight:400;line-height:1.6}
.topic-links span[aria-hidden]{display:grid;place-items:center;width:44px;height:44px;margin-top:auto;border-radius:50%;background:var(--mist);color:var(--blue);font-size:1.5rem;line-height:1}
.topic-links a:hover{background:var(--mist);border-color:var(--blue)}
.topic-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.topic-links a:focus-visible{outline:3px solid var(--navy);outline-offset:4px}
@media(max-width:1000px){.topic-links{grid-template-columns:1fr;gap:16px}.topic-links a{padding:22px}.topic-links strong{min-height:0}}
@media(max-width:900px){.sources{grid-template-columns:1fr}}

/* ---------- Pie ---------- */
footer{margin-top:clamp(64px,9vw,120px);padding:clamp(40px,6vw,64px) var(--gut) 96px;background:var(--deep);color:#fff;border-radius:40px 40px 0 0}
.footer-inner{max-width:var(--max);margin-inline:auto}
.footer-brand img{width:200px;height:auto;filter:brightness(0) invert(1)}
.footer-columns{display:grid;grid-template-columns:1.3fr 1fr 1.1fr 1.2fr;gap:32px;margin-top:36px}
.footer-columns address{font-style:normal;line-height:1.7}
.footer-links h2{margin:0 0 8px;color:#fff;font-size:1rem;font-weight:700;letter-spacing:0}
.footer-links ul{margin:0;padding:0;list-style:none}
.footer-links a,footer a{color:#fff}
.footer-links a{display:inline-block;min-height:44px;padding:9px 0;text-decoration:none;overflow-wrap:anywhere}
.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
footer :focus-visible{outline-color:#fff;box-shadow:0 0 0 3px var(--deep)}
.footer-copyright{margin:32px 0 0;color:#CFE1EF;font-size:.9375rem}
@media(max-width:1000px){.footer-columns{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.footer-columns{grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:28px}.footer-columns address{grid-column:1/-1}.footer-links a{min-height:40px;padding:6px 0}footer{border-radius:28px 28px 0 0}}

.scroll-to-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:flex;align-items:center;justify-content:center;gap:8px;min-width:48px;min-height:48px;padding:0 16px;border:2px solid #fff;border-radius:999px;background:var(--blue);color:#fff;font-weight:600;box-shadow:0 6px 20px rgba(9,35,55,.3)}
.scroll-to-top:hover{background:var(--navy)}
.scroll-to-top svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:700px){.scroll-to-top{padding:0}.scroll-to-top span{display:none}}

/* ---------- Páginas de referencia (Gatún, Alhajuela, Histórico) ---------- */
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:20px 0 4px;font-size:.9375rem;color:var(--ink-2)}
.breadcrumbs a{color:var(--blue)}
.intro{margin-top:12px;padding:clamp(24px,5vw,56px);background:var(--navy);color:#fff;border-radius:24px 24px clamp(40px,7vw,72px) 24px}
.intro h1{max-width:24ch;color:#fff;font-size:clamp(1.75rem,4.2vw,2.75rem);font-weight:400;letter-spacing:-.025em}
.intro .eyebrow{margin:0 0 10px;color:#CFE1EF;font-size:.9375rem}
.intro .intro-text{max-width:56ch;margin:16px 0 0;color:#CFE1EF}
.eyebrow{margin:0 0 6px;color:var(--ink-2);font-size:.9375rem}
.reference-overview h2,.search-guide h2{font-size:clamp(1.5rem,2.8vw,2rem);margin-bottom:12px}
.reference-level{margin:12px 0 20px;font-size:1.25rem;color:var(--ink-2)}
.reference-level strong{display:inline-block;margin-right:.3rem;color:var(--navy);font-size:clamp(3rem,9vw,5rem);font-weight:300;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}
.reference-level span{display:inline-block;margin-left:.4rem}
.search-guide{max-width:none}
.search-guide p{max-width:70ch}
.search-guide h3{margin:28px 0 10px;font-size:1.25rem;font-weight:600}
.search-guide code{font-size:.875rem;overflow-wrap:anywhere}
.reference-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px 40px;margin:20px 0}
.reference-facts article{padding-top:14px;border-top:2px solid var(--navy)}
.reference-facts h3{margin:0 0 6px;font-size:1rem}
.reference-facts p{margin:0;color:var(--ink-2)}
.reference-table{width:100%;min-width:44rem;border-collapse:collapse;font-variant-numeric:tabular-nums}
.reference-table caption{padding:0 0 14px;text-align:left;color:var(--ink-2);font-size:.9375rem}
.reference-table th,.reference-table td{padding:12px 16px;text-align:right;border-bottom:1px solid var(--line-2)}
.reference-table th:first-child,.reference-table td:first-child{text-align:left}
.reference-table thead th{background:var(--mist);color:var(--navy);font-weight:600}
.reference-table tbody th{font-weight:600}
.reference-table .partial-tag{display:block;width:max-content;margin:4px 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border:2px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;font-weight:600;text-decoration:none}
.button:hover{background:var(--navy);border-color:var(--navy);color:#fff}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media(forced-colors:active){
  .seg button[aria-pressed=true],.chip[aria-pressed=true],.year-chip[aria-pressed=true]{outline:2px solid Highlight}
  .series{stroke:CanvasText}
  .cell{forced-color-adjust:none}
  .track{background:GrayText}.pin{background:Highlight}
  .reading-progress-fill{background:Highlight}
}

/* Live data and retained analytical controls. */
html{scroll-padding-top:var(--header-clearance,80px)}
:is(section,[tabindex],summary){scroll-margin-top:var(--header-clearance,80px)}
.topbar{padding-top:clamp(8px,1vw,12px);background:var(--paper);backdrop-filter:none;-webkit-backdrop-filter:none}
.reading-progress{height:6px;background:var(--paper)}
.update-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;margin-top:18px;font-size:.9375rem;color:#CFE1EF}
.update-label{color:#fff;font-weight:600}
.update-label.pending{padding:6px 12px;border:1px solid #CFE1EF;border-radius:8px}
.update-state details{max-width:65ch}
.update-state summary{cursor:pointer;min-height:44px;align-content:center;color:#fff}
.update-state p{margin:8px 0 16px}
.hero-note{max-width:72ch}
.hero-note a{color:#fff}
.gauge,.chart-block,.field,.sec-head>div{min-width:0}
.gauge-value{white-space:nowrap}
.seg button,.chip,.year-chip{min-height:44px}
.seg.sm button{min-height:40px}
.site-nav a{min-height:44px}
.topbar.is-open .site-nav{max-height:70vh;overflow-y:auto}
.chart-help p{max-width:65ch;color:var(--ink-2)}
.heat-range{margin:0 0 16px}
.heat-range label{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.heatmap{min-width:560px}
.cell{min-height:28px}
.cell:focus-visible{position:relative;z-index:2;transform:none;outline:3px solid var(--deep);outline-offset:1px}
.show-values .cell{min-height:40px}
.heat-key .legend-note{white-space:normal}
#data-table{min-width:420px}
#data-table .table-extra,#data-table td small{display:none}
#data-table.show-detail{min-width:800px}
#data-table.show-detail .table-extra{display:table-cell}
#data-table.show-detail td small{display:block}
#table-scope{display:block!important}
.stat dl{grid-template-rows:auto auto}
.stat dl>div{display:grid;grid-template-rows:subgrid;grid-row:1/span 2}
.stat dd{margin-top:2px}
.stat dd small{line-height:1.5;margin-top:6px}
.readout{color:var(--ink-2);max-width:70ch}
.heat-readout{min-height:44px}
.table-scroll,.heat-scroll{max-width:100%}
.reference-table{font-size:.9375rem}
@media(max-width:700px){.hero-note{font-size:.875rem}.hero-note,.gauge-sub{overflow-wrap:anywhere}.hero .update-state{gap:0 20px}.hero .update-state details[open]{flex-basis:100%}.table-tools .switch{font-size:.875rem}.custom .field{min-width:0;flex:1 1 150px}.custom input{max-width:100%;min-width:0}.tip{max-width:calc(100% - 4px);min-width:0}.sources .links a{display:inline-flex;align-items:center;min-height:44px}.heat-key{font-size:.875rem}.hero-head .stamp{font-size:.9375rem}}
@media(max-width:360px){.gauge-value{font-size:2.125rem}.gauges{gap:16px}.gauge-sub{font-size:.875rem}.range{font-size:.875rem}.bar{gap:8px}.brand img{width:120px}.seg.sm button{padding:0 11px}.menu-toggle{width:44px;min-width:44px;height:44px}.hero{padding-inline:18px}.stat dl{gap:8px}.stat dt{font-size:.875rem}.stat dd{font-size:1.25rem}.stat dd small{font-size:.875rem}.range-bar .chips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(forced-colors:active){.cell{forced-color-adjust:auto;font-size:.875rem;height:40px}.heatmap{min-width:760px}.cell.is-selected{outline:2px solid Highlight}.track{border:1px solid CanvasText}.hero,.panel{border:1px solid CanvasText}.reading-progress-fill{forced-color-adjust:none}}

/* Estado de los embalses: semáforo del último cierre validado. */
.hero-context{margin:10px 0 0;color:#CFE1EF;font-size:1rem}
.hero .gauges{gap:24px;margin-top:28px}
.hero .gauge{padding:clamp(18px,2.2vw,28px);border:1px solid #66849a;border-radius:18px;background:rgba(255,255,255,.035)}
.hero .gauge-name{font-size:1.375rem;font-weight:600;margin-bottom:16px}
.hero .gauge-value{font-size:clamp(3rem,5.7vw,5rem);white-space:nowrap}
.hero .gauge-value small{display:inline;margin-left:8px;font-size:1.125rem}
.gauge-alt{margin:10px 0 22px;color:#CFE1EF;font-size:1rem;font-variant-numeric:tabular-nums}
.reservoir-state{padding:16px;border-radius:12px;background:#E5ECF1;color:#24465E}
.state-heading{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}
.state-heading strong{display:inline-flex;align-items:center;gap:8px;line-height:1.4;font-size:1.125rem;font-weight:700}
.state-symbol{font-size:1.25rem;line-height:1}
.reservoir-state p{margin:10px 0 0;font-size:.9375rem;line-height:1.6}
.reservoir-state p b{display:block;font-weight:600;white-space:nowrap}
.state-green{background:#DCFCE7;color:#14532D}
.state-amber{background:#FFF1C2;color:#653900}
.state-red{background:#FFE1DF;color:#8A2020}
.traffic-lights{display:inline-flex;flex:none;gap:6px;padding:6px 8px;border:1px solid currentColor;border-radius:999px}
.traffic-lights i{display:block;width:12px;height:12px;border:1px solid currentColor;border-radius:50%;background:transparent;opacity:.35}
.state-green .lamp-green,.state-amber .lamp-amber,.state-red .lamp-red{opacity:1;background:currentColor;outline:2px solid currentColor;outline-offset:1px}
.hero #hero-note{margin-top:22px;font-size:.9375rem}
.status-method{margin-top:12px;color:#CFE1EF}
.status-method summary{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-weight:600;color:#fff;list-style:none}
.status-method summary::before{content:'+';font-size:1.375rem;width:18px;text-align:center}
.status-method[open] summary::before{content:'−'}
.status-method summary::-webkit-details-marker{display:none}
.status-method p{max-width:72ch;margin:12px 0 16px}
.status-ranges{max-width:100%;overflow-x:auto;border-radius:10px;background:#fff;color:var(--ink)}
.status-ranges table{width:100%;min-width:660px;border-collapse:collapse;font-size:.9375rem}
.status-ranges caption{text-align:left;padding:14px 18px;background:var(--mist);color:var(--navy);font-weight:700}
.status-ranges th,.status-ranges td{text-align:left;padding:12px 18px;border-bottom:1px solid var(--line)}
.status-ranges thead th{color:var(--navy)}
.status-ranges tbody th{font-weight:600}
.range-dot{display:inline-block;width:12px;height:12px;margin-right:8px;border-radius:50%;border:1px solid currentColor}
.range-green{background:#15803D}.range-amber{background:#B56000}.range-red{background:#B91C1C}
@media(max-width:700px){
 .hero .gauges{grid-template-columns:1fr;gap:16px;margin-top:22px}
 .hero .gauge{padding:22px 20px}
 .hero .gauge-name{font-size:1.25rem;margin-bottom:12px}
 .hero .gauge-value{font-size:clamp(3rem,12vw,4rem)}
 .hero .gauge-value small{font-size:1rem}
 .gauge-alt{margin:8px 0 18px}
 .state-heading{gap:10px 12px}
 .state-heading strong{font-size:1.0625rem}
 .reservoir-state{padding:14px}
 .status-method p{font-size:.9375rem}
}
@media(max-width:360px){.hero .gauge{padding:20px 16px}.hero .gauge-value{font-size:2.75rem}.state-heading strong{font-size:1rem}.reservoir-state p b{white-space:normal}}
@media(forced-colors:active){.reservoir-state,.traffic-lights{border:1px solid CanvasText}.traffic-lights i{opacity:1}.state-green .lamp-green,.state-amber .lamp-amber,.state-red .lamp-red{outline:3px double Highlight}.hero .gauge{border:1px solid CanvasText}}

/* Propuesta: hero compacto. Dos cifras y dos estados a primera vista. */
.hero{padding:26px 32px 8px;border-radius:24px 24px 48px 24px;background:#092337}
.hero-head{justify-content:space-between;align-items:center;gap:8px 24px}
.hero h1{font-size:1.5rem;font-weight:600;line-height:1.35}
.hero-head .stamp{margin:0;color:#D4E3ED;font-size:.9375rem}
.hero .gauges{gap:0;margin-top:24px;margin-bottom:22px}
.hero .gauge{position:relative;padding:0 32px 0 0;border:0;border-radius:0;background:none;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:20px;row-gap:8px}
.hero .gauge+ .gauge{padding:0 0 0 32px;border-left:1px solid #527082}
.hero .gauge-name{grid-column:1;margin:0;font-size:1.125rem;line-height:1.4;color:#D4E3ED}
.hero .gauge-value{grid-column:1;grid-row:2;font-size:3.25rem;font-weight:400;line-height:1.12;letter-spacing:-.04em}
.hero .gauge-value small{display:inline;margin-left:4px;font-size:1rem;color:#D4E3ED}
.hero .gauge-alt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:0}
.hero [id^="status-"]:not(#status-ranges){grid-column:2;grid-row:1 / 3;max-width:190px}
.hero .reservoir-state{padding:8px 12px;border-radius:8px}
.hero .traffic-lights{display:none}
.hero .state-heading{gap:0}
.hero .state-heading strong{font-size:1rem;line-height:1.35;gap:6px}
.hero .reservoir-state>p{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:0}
.hero .status-method{margin:0;border-top:1px solid #527082}
.hero .status-method>summary{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:8px 0;list-style:none;font-size:.9375rem;font-weight:400;color:#fff}
.hero .status-method>summary::-webkit-details-marker{display:none}
.hero .status-method>summary::before{display:none}
.hero .status-method>summary::after{display:none}
.detail-plus{font-size:1.5rem;line-height:1;font-weight:300;margin-left:12px}
.status-method[open] .detail-plus{transform:rotate(45deg)}
.hero #hero-note{margin-top:12px;font-size:.9375rem}
.hero .update-state{margin:8px 0 16px}
.hero .update-state details{max-width:none}
.hero .update-label:not(.pending){display:none}
.hero .status-ranges{margin-bottom:16px}
.hero .status-method>p{max-width:85ch}
@media(max-width:1000px) and (min-width:701px){.hero .gauge{grid-template-columns:1fr;row-gap:8px}.hero [id^="status-"]:not(#status-ranges){grid-column:1;grid-row:3;justify-self:start}}
@media(max-width:700px){
 .hero{padding:20px 20px 4px;border-radius:20px 20px 36px 20px}
 .hero-head{align-items:flex-start;gap:6px}
 .hero h1{font-size:1.25rem;line-height:1.35}
 .hero-head .stamp{font-size:.875rem}
 .hero .gauges{grid-template-columns:1fr;margin-top:20px;margin-bottom:8px;gap:0}
 .hero .gauge,.hero .gauge+ .gauge{grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px;padding:0 0 16px;border:0}
 .hero .gauge+ .gauge{border-top:1px solid #527082;padding:16px 0}
 .hero .gauge-name{font-size:1rem}
 .hero .gauge-value{font-size:2.5rem;line-height:1.15}
 .hero .gauge-value small{font-size:.9375rem;margin-left:2px}
 .hero [id^="status-"]:not(#status-ranges){max-width:126px}
 .hero .reservoir-state{padding:7px 9px}
 .hero .state-heading strong{font-size:.875rem;gap:5px}
 .hero .status-method>summary{min-height:48px;font-size:.875rem}
}
@media(max-width:360px){.hero{padding-inline:16px}.hero .gauge-value{font-size:2.25rem}.hero [id^="status-"]:not(#status-ranges){max-width:104px}.hero .reservoir-state{padding:7px 8px}}
@media(forced-colors:active){.hero .reservoir-state{border:1px solid CanvasText}.hero .gauge{border:0}}

.hero .hero-pending{margin:0 0 12px;color:#FFE8B0;font-size:.9375rem;line-height:1.5}
@media(max-width:360px){.hero .gauge:has(.state-red,.state-amber,.state-unknown){grid-template-columns:1fr}.hero .gauge:has(.state-red,.state-amber,.state-unknown) [id^="status-"]{grid-column:1;grid-row:3;max-width:100%;justify-self:start}}
