.weather-shell{padding-bottom:36px}
.weather-desk{padding-top:14px}
.weather-location-bar{display:flex;justify-content:space-between;align-items:end;gap:16px;border-bottom:3px double var(--ink-heavy);padding:8px 0 12px}
.weather-location-bar h2{font-size:32px;line-height:1;margin:3px 0 0}
.weather-location-bar select{min-width:220px;padding:7px 8px;border:1px solid var(--rule);background:var(--paper-light);font:14px var(--font-news)}
.weather-current{display:grid;grid-template-columns:minmax(200px,1fr) repeat(4,minmax(110px,.55fr));gap:0;border-bottom:1px solid var(--rule);min-height:150px}
.weather-current-main{padding:18px 18px 18px 0}
.weather-current-main .temperature{font-size:72px;line-height:.85;font-weight:700;letter-spacing:-.06em}
.weather-current-main h3{font-size:28px;margin:8px 0 2px}
.weather-current-main p{margin:0;color:var(--ink-secondary)}
.weather-stat{border-left:1px solid var(--rule-light);padding:22px 14px}
.weather-stat b{display:block;font-size:24px;line-height:1.05;margin-top:5px}
.weather-block{border-top:3px double var(--ink-heavy);padding-top:10px;margin-top:22px}
.weather-hourly{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--rule);scrollbar-width:thin}
.weather-hour{flex:0 0 100px;padding:12px 8px;border-right:1px solid var(--rule-light);text-align:center}
.weather-hour time,.weather-day time{font:700 10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px}
.weather-hour b{display:block;font-size:24px;margin:5px 0}
.weather-hour small{display:block;color:var(--ink-secondary);line-height:1.3}
.weather-daily{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid var(--rule)}
.weather-day{padding:13px 10px;border-right:1px solid var(--rule-light);min-height:125px}
.weather-day:last-child{border-right:0}
.weather-day h3{font-size:17px;line-height:1.05;margin:6px 0}
.weather-day .highlow{font-size:20px;font-weight:700}
.weather-day small{display:block;color:var(--ink-secondary);margin-top:4px}
.weather-attribution{border-top:1px solid var(--rule);margin-top:18px;padding-top:8px;font-size:11px;color:var(--ink-secondary)}
.weather-error{padding:30px 0;font-style:italic}
@media(max-width:900px){.weather-current{grid-template-columns:1fr 1fr}.weather-current-main{grid-column:1/-1}.weather-stat:nth-child(2){border-left:0}.weather-daily{grid-template-columns:repeat(4,1fr)}}
@media(max-width:650px){.weather-location-bar{display:block}.weather-location-bar select{width:100%;margin-top:10px}.weather-current{grid-template-columns:1fr 1fr}.weather-current-main .temperature{font-size:60px}.weather-daily{grid-template-columns:repeat(2,1fr)}}
