/* Weather reading first: aligned hourly chart and values, real source times. */
body{background:#f3f6fa;color:#163653;font-family:Arial,"Segoe UI",sans-serif}
.panel{border:1px solid #e4ecf3;border-radius:14px;padding:18px;box-shadow:0 2px 8px #173d6005}
.panel-title h2{font-size:18px;letter-spacing:-.3px}.hour-controls button,.hour-window-controls button{min-height:34px;border-radius:8px}
#today-hours{display:block;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#97b8d5 #eef4f9;touch-action:pan-x pan-y}
.forecast-strip{width:max-content;min-width:100%}.forecast-strip svg{display:block;background:#fff}.forecast-tiles{display:flex;width:max-content}
.forecast-tiles .hour-tile{flex:0 0 70px;width:70px;box-sizing:border-box;min-height:118px;border-right:1px solid #edf2f7;padding:8px 3px;text-align:center}
.forecast-tiles .hour-tile small{display:block}.forecast-tiles .hour-tile .raininfo{font-size:10px;line-height:1.5;color:#527ba2}.forecast-tiles .hour-tile b{font-size:17px}
.hour-navigation{margin-top:14px;gap:8px}.hour-navigation button{width:38px;height:36px}.day-temperature-range{position:relative;height:5px;margin:10px 3px;background:#edf1f5;border-radius:5px;overflow:hidden}.day-temperature-range span{position:absolute;left:var(--range-start);width:var(--range-width);height:100%;background:linear-gradient(90deg,#6eb9ee,#ffc070);border-radius:5px}
.day-tile{min-height:155px}.day-tile .low{color:#6a87a1}.day-tile[aria-pressed=true]{background:#edf6ff}.station-line{line-height:1.6}.observation-card{border-radius:12px}.hero .hero-metrics{border-radius:12px}.gallery{display:none}
@media(max-width:750px){main{padding:8px 9px 24px}.hero{background:#fff!important;color:#163653!important;border:1px solid #e4ecf3;border-radius:14px!important;padding:20px 18px 16px!important}.hero-shade{display:none}.hero h1{font-size:27px;color:#173d60}.hero .hero-number>span:first-child{font-size:64px;color:#125d9b;letter-spacing:-2px}.hero-symbol{font-size:38px}.hero .hero-summary,.hero .hero-desc,.hero .hero-time,.station-line{color:#54738d!important}.hero .hero-summary{font-weight:600}.hero .hero-metrics{background:#f3f8fc;border:0;color:#173d60;padding:12px 0}.hero-metrics small,.hero-metrics b{color:#173d60!important}.hero-reason{background:#eaf7f0!important;border:0;border-radius:10px!important}.hero-reason p,.hero-reason .reason-head{color:#226445}.panel{padding:16px 12px}.today .panel-title{align-items:flex-start;flex-wrap:wrap;gap:10px}.hour-controls{flex-wrap:wrap}.hour-window-controls{margin:8px 0 4px}.dashboard{gap:9px}.ten-day .day-tile{flex-basis:82px}.hero-photo-credit{display:none}.site-header{background:white}.header-inside{height:56px}.weather-indicators .indicator-list>div{min-height:33px}}
@media(max-width:750px){.site-header .brand{color:#173d60!important}.hero .hero-metrics span{color:#54738d!important;font-size:10px!important}.hero .hero-number>span:first-child{text-shadow:none}.hero .hero-metrics>div{padding:0 5px}.hero .hero-metrics b{font-size:12px!important}}

/* R12: explicit encodings, station identities and readable map scales. */
.day-temperature-range{height:9px;background:#e4ecf4;margin:12px 4px}.day-temperature-range span{background:linear-gradient(90deg,#37b9e8,#ffc44d,#f18b49)}.day-tile[data-rain-level=wet]{background:linear-gradient(0deg,#e3f3ff,white 75%)}.day-tile[data-rain-level=mixed]{background:linear-gradient(0deg,#edf8fc,white 75%)}.day-tile[data-rain-level=dry]{background:linear-gradient(0deg,#fff7df,white 75%)}.day-tile[aria-pressed=true]{outline:2px solid #45a0da;outline-offset:-2px}.day-tile .symbol{font-size:30px!important}.map-color-scale{display:flex;flex-wrap:wrap;gap:7px 12px;margin:9px 0 5px;font-size:10px;color:#eef8ff}.map-color-scale span{display:flex;align-items:center;gap:4px}.map-color-scale i{display:inline-block;width:17px;height:7px;border-radius:4px}.station-current-label{background:#fff!important;color:#075f72!important;border:1px solid #21b9bb!important;font-weight:700;box-shadow:0 2px 8px #0003!important}.station-stale-label{background:#f1f5f9!important;color:#53677b!important;font-size:10px!important}.map-observation-key{max-width:330px!important}.radar-map-tools{max-width:245px!important}.radar-map-tools button{font-size:11px!important;padding:7px!important}.map-observation-key strong{font-size:11px!important}.map-observation-key details{font-size:10px!important}
@media(max-width:750px){.map-observation-key{max-width:260px!important}.radar-map-tools{max-width:220px!important}.map-color-scale{gap:7px;font-size:9px}.day-tile{min-height:175px}.radar-map{height:440px!important}}

[data-map-layer=observations] .weather-location-marker{display:none!important}.station-current-label{font-size:10px!important;white-space:normal!important;max-width:120px;line-height:1.4}.station-stale-label{font-size:9px!important}
.station-current-label{width:135px!important;min-width:135px!important;max-width:135px!important;box-sizing:border-box!important}
.thermal-description{display:inline-block;margin:10px 0 4px;padding:9px 13px;border-radius:12px;background:#e7f4fb;color:#196e98;font-weight:700;font-size:15px}.thermal-description small{display:block;font-weight:400;font-size:10px;margin-top:4px;max-width:285px}.thermal-description[data-level=warm]{background:#fff2ce;color:#8b5e12}.thermal-description[data-level=hot]{background:#ffe5c7;color:#a74b12}.thermal-description[data-level=very-hot]{background:#ffdfda;color:#ad3223}.convection-panel{grid-column:1/-1;border-left:4px solid #49a8c3}.convection-panel h2{font-size:18px;margin:0 0 12px}.convection-panel[data-level=high]{border-left-color:#eb9143;background:#fff8ed}.convection-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #e5edf3;font-size:12px}.convection-row span{color:#28748d}.convection-row[data-level=high] span{color:#a15a13;font-weight:700}.convection-notice{color:#985915;font-size:13px;line-height:1.5}.windy-companion{margin-bottom:12px}.windy-companion>button{background:#e8f3fc;color:#16689d;border:1px solid #bed9ed;border-radius:10px;padding:11px 14px;font-weight:700;min-height:42px}.windy-companion label{display:block;margin:12px 0;font-size:13px}.windy-companion select{padding:8px;border:1px solid #bed9ed;border-radius:8px}.windy-companion iframe{display:block;width:100%;height:520px;border:0;border-radius:12px}.windy-companion a{font-size:12px;color:#1974a6}@media(max-width:750px){.convection-panel{order:1}.today{order:2}.ten-day{order:3}.radar{order:4}.windy-companion iframe{height:460px}.convection-row{font-size:11px}.thermal-description{font-size:14px}}

.convection-panel{margin:10px 0}.windy-companion [hidden]{display:none!important}

/* R14: one map at every viewport, expressive temperature with reduced motion. */
.hero-radar-map,.hero-radar-ui{display:none!important}.hero-shade{display:none!important}.hero{background:linear-gradient(125deg,#eaf7ff,#f7fcff)!important;color:#163653!important;min-height:0!important;isolation:isolate}.hero-main{max-width:100%!important;width:100%;min-height:0!important}.hero h1,.hero .hero-summary,.hero .hero-desc,.hero .hero-time,.hero .hero-number>span:first-child,.station-line{color:#234a67!important;text-shadow:none!important}.hero .hero-metrics{background:#ffffffb8;border:1px solid #ffffff;color:#234a67;max-width:560px}.hero .hero-metrics span,.hero .hero-metrics b{color:#234a67!important}.hero-reason{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;max-width:560px!important}.hero[data-thermal=hot]{background:radial-gradient(circle at 90% 10%,#ffd782 0,transparent 48%),linear-gradient(125deg,#fff2d9,#fffaf1)!important}.hero[data-thermal=very-hot]{background:radial-gradient(circle at 90% 10%,#ffbba0 0,transparent 48%),linear-gradient(125deg,#ffe6dc,#fff7ed)!important}.hero[data-thermal=warm]{background:radial-gradient(circle at 90% 10%,#fff0ab 0,transparent 48%),#fffcf0!important}.hero[data-thermal=hot] .hero-number,.hero[data-thermal=very-hot] .hero-number{animation:thermal-breathe 5s ease-in-out infinite}.hero[data-thermal=hot] .hero-number>span:first-child{color:#ad551c!important}.hero[data-thermal=very-hot] .hero-number>span:first-child{color:#b13e2b!important}@keyframes thermal-breathe{50%{filter:drop-shadow(0 0 12px #eba74640)}}@media(prefers-reduced-motion:reduce){.hero .hero-number{animation:none!important}}
.radar .radar-map{display:block!important;height:440px!important;background:#e4edf3!important}.radar-layout{display:block!important}.radar-tabs{display:flex!important;justify-content:flex-start!important;gap:6px}.radar-side{margin-top:12px!important;padding:0!important;background:transparent!important}.radar-side>p{display:none}.radar-overlay{display:none}.windy-companion{margin-top:18px;padding-top:15px;border-top:1px solid #e4ecf3}.windy-companion>button{width:100%;text-align:left}.radar-map-tools{background:#ffffffef!important;color:#173d60!important;border-color:#d4e4ed!important;box-shadow:0 2px 8px #173d6020}.map-observation-key{background:#ffffffef!important;color:#234a67!important;border-color:#d4e4ed!important;max-width:300px!important}.map-color-scale{color:#234a67!important}.leaflet-bottom.leaflet-left{left:0!important;bottom:0!important}.convection-row{border-radius:8px;padding:10px;margin-top:5px;background:#eaf5fb}.convection-row[data-level=high]{background:#ffebd1}.convection-panel .small-note{font-size:11px;line-height:1.6}
@media(min-width:751px){.hero-main{display:block}.hero .hero-number>span:first-child{font-size:82px}.hero h1{font-size:34px}.hero{padding:28px!important}.radar{grid-column:1/-1}.radar .radar-map{height:500px!important}}

.map-observation-key summary{color:#315c79!important}.map-observation-key details p{color:#436780!important}.radar-map-tools .map-layer-select{color:#234a67}
