/* Shared responsive layout and motion. No content is hidden to fit the viewport. */
:root{--surface:#ffffffd9;--radius:16px;--ease:cubic-bezier(.22,1,.36,1)}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:radial-gradient(ellipse at 95% 0,#d100080c,transparent 45%),#f6f3ef}
main,.workspace,.snapshot,.snapshot>*,.control-panel>*,.header-tools,.title-row>*{min-width:0}
.bar{height:auto;min-height:60px;gap:12px;flex-wrap:wrap;padding-block:10px;background:#8e111ceF;backdrop-filter:blur(18px);box-shadow:0 6px 28px #46101812}
.brand{flex-shrink:0}.header-tools{flex-wrap:wrap;justify-content:flex-end}.languages button{min-height:32px}
.station{display:flex!important;flex-wrap:wrap;gap:6px}.station time{display:block!important;max-width:200px}
.snapshot{grid-template-columns:minmax(155px,1fr) minmax(155px,1fr) minmax(0,3fr);gap:12px;padding-block:18px;overflow:visible}
.snapshot:before{pointer-events:none}.snapshot-head{gap:12px;flex-wrap:wrap}.gauge-picker{min-width:0;max-width:100%;flex-wrap:wrap}.mini-tabs{min-width:0;flex-wrap:wrap}
.lead,.metric{border-radius:12px;box-shadow:none;transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease);padding:14px 58px 12px 14px;min-width:0}
.lead{display:grid;grid-template-columns:minmax(0,1fr);align-content:space-between;gap:12px;min-height:170px}
.lead strong{font-size:clamp(28px,3.1vw,44px);letter-spacing:-.045em}.lead p{line-height:1.6;margin:0;font-size:10px}
.lead p>span[data-i18n]{display:block}.age,.metric .age{display:inline!important;white-space:normal;overflow-wrap:anywhere;line-height:1.6;text-overflow:clip}
.metric em{min-height:30px}.metric>span{font-size:11px}.metric b{font-size:21px}
.range-slot,.lead>.range-slot{right:8px;width:40px;top:16px;bottom:16px;pointer-events:none}.range-line{left:32px}.range-label{right:15px;font-size:8px}
.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric{min-height:108px}
.lead.chosen,.metric.chosen{border-color:#fff;box-shadow:inset 0 0 0 1px #ffffff60,0 5px 16px #33080d20}
.workspace{padding-top:28px}.title-row{gap:12px}.title-row h1{font-size:clamp(27px,3vw,40px)}
.analysis-layout{display:grid;grid-template-columns:minmax(228px,248px) minmax(0,1fr);gap:16px;align-items:start}
.analysis-main{min-width:0}
.analysis-layout>.control-panel{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 92px);overflow-y:auto;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid #fff;box-shadow:0 8px 32px #36111107}
.control-group{min-width:0;gap:7px}.control-group>b{font-size:9px}.choice-row{min-width:0;display:flex;flex-wrap:wrap;gap:3px;padding:4px;border:0;border-radius:10px;background:#eee9e4;overflow:visible}
.choice-row button{flex:1 1 auto;min-width:0;min-height:36px;padding:5px 7px;border-radius:7px;white-space:nowrap;transition:background .22s,color .22s,box-shadow .22s,transform .22s}
.actions,.control-panel .actions{margin:0;gap:6px;align-self:end;display:flex;flex-wrap:wrap}.actions button,.date-range button{margin:0!important;border-radius:9px;min-height:40px;flex:1}
.date-range{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;gap:8px}.date-range>span{display:none}.date-range button{grid-column:1/-1}
.date-range input{width:100%;min-width:0;max-width:100%;border-radius:9px;font-size:12px}.date-range button{min-width:44px}
.selection{flex-wrap:wrap;overflow:visible;gap:7px;padding-block:12px}.tag{max-width:100%;font-size:12px;font-weight:750;color:#241d1c;overflow-wrap:anywhere;background:#fff;border:1px solid #d5cbc3;box-shadow:0 2px 8px #3210100b}.tag i{width:17px;height:5px;border-radius:4px}.tag button{min-width:24px;min-height:24px}
.chart-card{border-radius:var(--radius);border:1px solid #ddd4cb;box-shadow:0 16px 48px #33111108}.stats{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:1px;background:#e4ddd5;border:0}.metric-stat{background:#fffdfa;border:0;padding:14px}.metric-stat dl{gap:6px}
.chart-wrap{height:clamp(440px,64vh,660px);min-height:0;margin-bottom:30px}.zoom-help{bottom:-26px;left:12px;right:12px;max-width:none;display:block;font-size:9px;text-align:center;background:none;line-height:1.4}
.chart-nav{top:8px;right:10px;border-radius:9px}.chart-nav button{min-height:34px}.tooltip{min-width:0;width:max-content;max-width:calc(100% - 16px);white-space:normal;border-radius:12px;box-shadow:0 15px 40px #30101630;animation:none!important}.tooltip>div{grid-template-columns:18px minmax(0,1fr) auto;gap:7px}.tooltip span small{line-height:1.5}.tooltip b{white-space:nowrap}
.lake-map{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);border-radius:var(--radius)}.place-card{padding:28px}.place-card h3{font-size:clamp(23px,2.5vw,34px);overflow-wrap:anywhere}.did-you-know{border-radius:var(--radius)}
button:active{transform:scale(.97)}button:focus-visible,[role=button]:focus-visible{outline:2px solid #ec8c92;outline-offset:3px}
@media(hover:hover){.lead:hover,.metric:hover{background:#ffffff17;box-shadow:0 8px 24px #26090d24}}
@keyframes surface-in{from{opacity:.5;transform:translateY(7px)}to{opacity:1;transform:none}}
.chart-card,.control-panel,.lake-map{animation:surface-in .45s var(--ease)}
@media(max-width:1000px){.snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-column:1/-1;grid-template-columns:repeat(5,minmax(0,1fr))}.lead{min-height:128px}}
@media(max-width:820px){.analysis-layout{grid-template-columns:minmax(0,1fr)}.analysis-layout>.control-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.analysis-layout>.control-panel .date-range,.analysis-layout>.control-panel .actions{grid-column:1/-1}}
@media(max-width:720px){.bar{padding-inline:12px}.brand span{display:none}.header-tools{flex:1;gap:6px}.station{width:100%;justify-content:flex-end;font-size:9px}.station span{display:inline}.station time{max-width:none}.languages button{font-size:9px;padding-inline:8px}.snapshot{padding:12px;gap:9px}.snapshot-head{min-height:0}.gauge-picker{width:100%;gap:6px;flex-wrap:nowrap}.mini-tabs{flex:1}.mini-tabs button{min-width:0;padding:4px;min-height:30px;font-size:9px}.lead{padding:12px 50px 12px 12px;min-height:156px}.lead strong{font-size:30px}.lead strong small{font-size:9px;margin-left:2px}.lead p{font-size:10px}.metrics{display:flex;max-width:100%;width:100%;min-width:0;padding:3px 28px 10px 0}.metric{flex:0 0 156px!important;height:auto!important;min-height:122px;padding:12px 52px 12px 12px}.mobile-scroll-hint{font-size:8px;letter-spacing:.02em;gap:6px}.mobile-scroll-hint i{flex:0 0 60px}.mobile-scroll-hint i b{width:12px}.workspace{padding:22px 12px}.selection-help{display:block;font-size:11px;max-width:100%}.control-panel{gap:12px;padding:12px}.control-group:first-child,.control-group:nth-child(2){grid-column:1/-1}.choice-row button{font-size:9px;min-width:0;min-height:36px;padding:4px 5px}.control-panel .actions{grid-column:1/-1}.date-range{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.date-range>span{display:none}.date-range button{grid-column:1/-1}.stats{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.chart-wrap{height:410px}.lake-map{grid-template-columns:minmax(0,1fr)}#lake-map-canvas{min-height:360px}.place-card{padding:24px;min-height:0}.did-you-know{grid-template-columns:40px minmax(0,1fr);padding:18px;gap:12px}.did-you-know img{width:40px}.did-you-know h2{font-size:21px}.source{line-height:1.8}}
@media(min-width:1200px){.snapshot{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) minmax(0,4fr)}.metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.metric{padding-left:10px;padding-right:48px}.lead{min-height:220px}}
.stats{display:flex;flex-wrap:wrap;gap:0;background:#fffdfa;padding:5px 10px;border-bottom:1px solid var(--line);min-height:34px}.axis-scroll-note{font-size:10px;color:var(--muted);padding:8px 12px;margin:0;background:#f8f3ef}
.compact-stat{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:7px 10px;min-width:0;font-size:11px;background:transparent}
.compact-stat header{margin:0}.compact-stat header b{font-size:10px;font-weight:600}.stat-last{font-weight:650;font-variant-numeric:tabular-nums}.stat-extrema{font-size:9px;color:var(--muted);font-variant-numeric:tabular-nums}.compact-stat:focus-visible{outline:1px solid var(--lake);border-radius:5px}
.chart-wrap{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#b25359 #f1e9e4}.zoom-help{display:none}.unit-title{font:700 10px var(--sans)}.solar-band{pointer-events:none}.x-axis-baseline{stroke:#8d817b;stroke-width:1;opacity:.55;pointer-events:none}.day-separator{stroke:#554b47;stroke-width:1.35;stroke-dasharray:4 5;opacity:.68;pointer-events:none}.day-label{fill:#4e4541;font:800 11px var(--sans);letter-spacing:.025em;text-transform:uppercase;pointer-events:none}.hour-tick{stroke:#958984;stroke-width:1;opacity:.7;pointer-events:none}.hour-label{fill:#887c76;font:650 8px var(--sans);pointer-events:none}.solar-legend{pointer-events:none}.solar-legend-bg{fill:#fffdfa;stroke:#d8cec6;stroke-width:1}.solar-legend text{fill:#625754;font:800 8px var(--sans);letter-spacing:.08em}
.metrics>.metric.wind-card{min-height:108px!important;height:auto!important;padding:12px!important}.metrics>.wind-card .wind-display{gap:8px;margin-top:7px}.metrics>.wind-card .wind-compass{flex-basis:44px;width:44px;height:44px}.metrics>.wind-card .wind-copy strong{max-width:86px}.metrics>.wind-card>em{right:9px;bottom:7px}
.chart-selection{position:absolute;z-index:2;border:1px solid #a90e17;background:#d1000824;box-shadow:inset 0 0 0 1px #ffffff80;pointer-events:none}.chart-selection[hidden]{display:none}.chart-wrap svg.selecting{cursor:col-resize}
.series-label{font:800 11px var(--sans);letter-spacing:.01em;paint-order:stroke fill;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}.series-line{filter:drop-shadow(0 1px 0 #ffffffb8)}
@media(max-width:720px){.compact-stat{gap:5px 8px;padding:6px}.compact-stat header b{font-size:10px}.stats{padding:5px}.stat-extrema{font-size:9px}}
@media(max-width:720px){.analysis-layout>.control-panel{grid-template-columns:minmax(0,1fr)}.analysis-layout>.control-panel .control-group,.analysis-layout>.control-panel .date-range,.analysis-layout>.control-panel .actions{grid-column:1}.metrics>.metric.wind-card{height:82px!important;min-height:82px!important;padding:9px!important}.metrics>.wind-card .wind-display{margin-top:4px}.metrics>.wind-card .wind-compass{flex-basis:38px;width:38px;height:38px}.metrics>.wind-card>em{font-size:7px}}

/* Compact, editorial dashboard treatment. */
.snapshot{gap:8px;padding-block:12px}.lead{min-height:150px;padding:11px 46px 10px 11px;gap:6px}.lead strong{font-size:34px}.lead p{font-size:9px;line-height:1.35}.metrics{gap:6px}.metrics>.metric{min-height:72px;padding:8px 39px 7px 9px}.metric>span{font-size:9px}.metric b{font-size:18px;margin-top:3px}.metric em{min-height:0;margin-top:2px;font-size:8px;line-height:1.25}.range-slot,.lead>.range-slot{top:10px;bottom:10px;width:32px}.range-line{left:25px}.range-label{right:11px;font-size:7px}.metrics>.metric.wind-card{min-height:72px!important;padding:7px 8px!important}.metrics>.wind-card .wind-display{gap:6px;margin-top:3px}.metrics>.wind-card .wind-compass{flex-basis:34px;width:34px;height:34px}.metrics>.wind-card .wind-copy b{font-size:16px}.metrics>.wind-card .wind-copy strong{max-width:72px;font-size:7px}.metrics>.wind-card>em{right:7px;bottom:5px;font-size:7px}
.analysis-layout>.control-panel{gap:0;padding:5px 14px 12px;border-radius:8px;border:1px solid #d8cec6;background:#fffdfa;box-shadow:0 6px 18px #3611110a;scrollbar-width:thin}.analysis-layout>.control-panel:before{content:"";display:block;flex:0 0 auto;width:36px;height:3px;margin:5px 0 9px;border-radius:2px;background:#a90e17}.analysis-layout>.control-panel .control-group{display:grid;flex:0 0 auto;align-content:start;gap:7px;padding:9px 0 11px;border-bottom:1px solid #e7dfd8}.analysis-layout>.control-panel .control-group>b{display:flex;align-items:center;gap:7px;font-size:11px;line-height:1.2;letter-spacing:.1em;color:#625754;text-align:left}.analysis-layout>.control-panel .control-group>b:before{content:"";width:5px;height:5px;border-radius:50%;background:#b7aaa2}.analysis-layout>.control-panel .choice-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:0;background:transparent}.analysis-layout>.control-panel [data-control="compare"]{grid-template-columns:1.4fr repeat(4,1fr)}.analysis-layout>.control-panel [data-control="scale"]{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-layout>.control-panel [data-control="style"]{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-layout>.control-panel .choice-row button{min-height:31px;padding:4px 5px;border:1px solid #dcd2ca;border-radius:4px;background:#f8f5f1;color:#403936;font-size:10px;font-weight:700}.analysis-layout>.control-panel .choice-row button:hover{border-color:#bbaaa1;background:#fff}.analysis-layout>.control-panel .choice-row button.active{border-color:#a90e17;background:#a90e17;color:#fff;box-shadow:inset 0 0 0 1px #ffffff1f}.analysis-layout>.control-panel .choice-row button.active:hover{background:#940d15}.analysis-layout>.control-panel .actions{display:grid;grid-template-columns:1.25fr 1fr .72fr;width:100%;gap:5px;padding-top:11px;align-self:auto}.analysis-layout>.control-panel .actions button{min-height:35px;padding:5px 6px;border-radius:4px;border-color:#cfc5bd;background:#fff;font-size:10px;letter-spacing:.02em}.analysis-layout>.control-panel .actions button:hover{border-color:#9e8d84;background:#f8f5f1}.analysis-layout>.control-panel .date-range{padding-top:10px}.analysis-layout>.control-panel .date-range input{height:35px;font-size:11px}
.analysis-layout>.control-panel{align-items:stretch}
.mobile-controls-toggle{display:none}
.solar-link{color:#f2d9da;text-decoration:none;font-size:9px;font-weight:850;letter-spacing:.09em;padding:7px 9px;border:1px solid #ffffff38;border-radius:4px}.solar-link:hover{color:#fff;border-color:#ffffff80;background:#ffffff0c}
.place-card{padding:0}.place-details{display:flex;flex:1;min-height:100%;flex-direction:column;justify-content:center;padding:28px}.place-details>span{color:#fff;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.place-details h3{margin:10px 0 16px}.place-details p{margin:0}.place-details a{align-self:flex-start;margin-top:15px;border-bottom:1px solid #fff;color:#fff;text-decoration:none;padding-bottom:3px;font-size:10px;font-weight:800;letter-spacing:.07em}.place-card.has-webcam{display:block;max-height:520px;overflow-y:auto;scrollbar-width:thin;background:#3d0e12}.place-card.has-webcam .place-details{min-height:auto;padding:20px 24px 25px}.place-card.has-webcam .place-details h3{font-size:clamp(22px,2vw,29px);margin-bottom:10px}.webcam-preview{position:relative;width:100%;aspect-ratio:16/9;min-height:210px;overflow:hidden;background:#1d1213;border-bottom:1px solid #ffffff24}.webcam-preview>span{position:absolute;z-index:2;left:10px;top:10px;padding:5px 7px;border-radius:3px;background:#a90e17e8;color:#fff;font-size:8px;font-weight:900;letter-spacing:.1em;pointer-events:none}.webcam-preview iframe{display:block;width:100%;height:100%;border:0;background:#1d1213}
@media(min-width:721px){.lake-map{grid-template-columns:minmax(0,1.15fr) minmax(360px,1fr)}}
.webcam-preview{aspect-ratio:16/10;min-height:270px}.place-card.has-webcam .place-details{padding:12px 18px 16px}.place-card.has-webcam .place-details>span{font-size:8px}.place-card.has-webcam .place-details h3{font-size:clamp(18px,1.7vw,23px);margin:6px 0}.place-card.has-webcam .place-details p{font-size:10px;line-height:1.45}.place-card.has-webcam .place-details small{margin-top:4px}.place-card.has-webcam .place-details a{margin-top:8px;font-size:9px}
.metrics>.wind-card .wind-compass{flex-basis:30px;width:30px;height:30px;background:transparent;border:1px solid #ffffff70;box-shadow:none}.metrics>.wind-card .cardinal.north{top:3px;color:#fff;font-size:6px}.metrics>.wind-card .compass-needle{width:1px;height:9px;background:#fff;box-shadow:none}.metrics>.wind-card .compass-needle:before{top:-3px;left:-2px;border-left-width:2.5px;border-right-width:2.5px;border-bottom:5px solid #f0e442}.metrics>.wind-card .compass-needle:after{display:none}.metrics>.wind-card .compass-center{width:4px;height:4px;border:0;background:#fff}.metrics>.wind-card .wind-display{gap:7px}.metrics>.wind-card .wind-copy strong{color:#f0d5d6;font-size:8px}
@media(max-width:1000px) and (min-width:721px){.lead{min-height:126px}.metrics>.metric{min-height:68px}.metrics>.metric.wind-card{min-height:68px!important}}
@media(max-width:820px){.analysis-layout>.control-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding-top:10px}.analysis-layout>.control-panel:before{display:none}.analysis-layout>.control-panel .control-group{padding-block:9px}.analysis-layout>.control-panel .control-group:first-child,.analysis-layout>.control-panel .control-group:nth-child(2){grid-column:auto}}
@media(max-width:720px){.snapshot{padding-block:9px}.lead{min-height:116px;padding:10px 42px 9px 10px}.lead strong{font-size:28px}.metrics>.metric,.metrics>.metric.wind-card{height:76px!important;min-height:76px!important}.analysis-layout>.control-panel{grid-template-columns:minmax(0,1fr)}.analysis-layout>.control-panel .control-group{grid-column:1!important}.analysis-layout>.control-panel .choice-row{grid-template-columns:repeat(3,minmax(0,1fr))}.analysis-layout>.control-panel [data-control="compare"]{grid-template-columns:repeat(5,minmax(0,1fr))}.place-card.has-webcam{max-height:none}.webcam-preview{min-height:240px}.place-card.has-webcam .place-details{padding:22px 24px 28px}}
@media(max-width:720px){.analysis-layout>.control-panel{gap:0;padding:7px 12px 9px}.analysis-layout>.control-panel>.control-group:first-child{padding:6px 0 8px;border-bottom:0}.mobile-controls-toggle{display:flex;grid-column:1;align-items:center;justify-content:space-between;width:100%;min-height:34px;margin-top:2px;padding:5px 8px;border:0;border-top:1px solid #e7dfd8;border-radius:0;background:transparent;color:#625754;font-size:10px;font-weight:800;letter-spacing:.08em}.mobile-controls-toggle i{font-style:normal;font-size:17px;line-height:1;transition:transform .2s ease}.analysis-layout>.control-panel.mobile-expanded .mobile-controls-toggle i{transform:rotate(180deg)}.analysis-layout>.control-panel:not(.mobile-expanded)>.control-group:not(:first-child),.analysis-layout>.control-panel:not(.mobile-expanded)>.actions{display:none}.analysis-layout>.control-panel.mobile-expanded>.control-group:nth-of-type(2){border-top:1px solid #e7dfd8}.analysis-layout>.control-panel>.date-range:not([hidden]){display:grid;margin-top:7px}.analysis-layout>.control-panel:not(.mobile-expanded)>.date-range:not([hidden]){padding-top:7px;border-top:1px solid #e7dfd8}}
@media(max-width:720px){.webcam-preview{aspect-ratio:16/10;min-height:280px}.place-card.has-webcam .place-details{padding:14px 16px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
