/* Shared readability layer. Keep this after page styles; sizes respect browser defaults. */
body { line-height:1.6; }
button,input,select,textarea { font-size:1rem; }
.nav,.nav-links,.site-footer,.footer,.legend,.chart-head,.chart-controls,.micro-head,.radar-head { flex-wrap:wrap; }
.nav>* { min-width:0; }
.brand { flex-shrink:1; }
.brand-mark { flex-shrink:0; }
.section-intro,.reading-note,.weather-note,.ice-note,.explore-note p,
.explore-doorway-copy>p:last-of-type,.maine-signature-copy p,
.story-card p,.story-intro>p,.name-card p:last-child,.then-now p,.source-note p,
.place-card p,.field-note,.closing-note p,.water-feature p,
.subpage .device-body p,.subpage .aside p,.subpage .aside li,
.subpage .privacy p,.subpage .privacy li,.privacy-page .section p,.privacy-page .section li,
.contact-page .intro,.history-intro p,.chart-empty p { font-size:1.0625rem; line-height:1.65; }
.site-footer,.footer { font-size:.9375rem; line-height:1.6; }
.lake-poll .lake-poll-copy p:last-child { font-size:1.125rem; color:#342b40; line-height:1.65; font-weight:500; }
.lake-poll-copy p strong { display:block; margin:.5rem 0 .3rem; font-weight:700; }
.lake-poll .lake-poll-buttons button { font-size:1rem; font-weight:700; letter-spacing:.01em; line-height:1.4; min-height:3rem; }
.lake-poll .lake-poll-buttons button:last-child { background:#a33e35; }
.lake-poll .lake-poll-buttons button:disabled { opacity:1; }
.lake-poll .lake-poll-results { gap:.85rem; margin-top:1rem; }
.lake-poll .lake-poll-results>div { grid-template-columns:minmax(0,1fr) auto; gap:.3rem .8rem; }
.lake-poll .lake-poll-results span,.lake-poll .lake-poll-results strong { color:#342b40; font-size:1rem; line-height:1.5; }
.lake-poll .lake-poll-results strong { grid-column:2; grid-row:1; font-size:1.125rem; }
.lake-poll .lake-poll-results i { grid-column:1 / -1; grid-row:2; height:.55rem; }
.lake-poll .lake-poll-status { font-size:.9375rem; line-height:1.6; color:#514957; margin-top:.85rem; }
.hourly-strip { grid-auto-columns:6.5rem; }
.wind-ribbon,.rain-track { grid-template-columns:repeat(4,minmax(0,1fr)); row-gap:.75rem; }
.story-card figcaption { padding:.25rem .45rem; border-radius:.25rem; background:#261b35; color:#fff8ef; line-height:1.4; }
.story-meta { flex-wrap:wrap; }
.chart-controls button,.history-controls button { min-height:2.75rem; }
.axis text { font-size:14px; fill:var(--cream); font-weight:700; }
.axis-title { font-size:14px!important; }
/* Both lake charts use dark panels: opaque cream ticks, mint unit titles.
   Preserve existing SVG font sizes and plotting geometry on the compact chart. */
.surface-chart #surface-chart-y-axis text,
.surface-chart #surface-chart-x-axis text { fill:var(--cream); font-weight:700; }
@media(max-width:60rem) { .lake-poll { grid-template-columns:1fr; } }
@media(max-width:40rem) {
 .nav { align-items:flex-start; gap:.8rem; }
 .nav-links { gap:.7rem; }
 .section-head,.chart-head { flex-direction:column; align-items:flex-start; }
 .lake-poll .lake-poll-buttons { grid-template-columns:1fr; }
 .site-footer,.footer { flex-direction:column; gap:1rem; }
}
