.weather-header{display:inline-flex;align-items:center;gap:7px;padding:3px 0;border:0;background:transparent;color:inherit;font:inherit;font-size:11px;cursor:pointer;min-height:30px}.weather-header strong{font-size:12px}.weather-icon{width:21px;height:21px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.weather-header:focus-visible{outline:2px solid currentColor;outline-offset:3px}.weather-dialog{width:min(640px,calc(100% - 24px));max-height:85vh;max-height:85dvh;padding:0;border:0;border-radius:22px;color:#12334b;background:#f5f7f8;overflow:auto}.weather-dialog::backdrop{background:rgba(5,24,39,.65)}.weather-head{display:flex;justify-content:space-between;align-items:center;background:#082e4b;color:white;padding:22px}.weather-head h2{font-size:23px;margin:0}.weather-head small{opacity:.8}.weather-close{width:40px;height:40px;border:1px solid #ffffff50;border-radius:50%;color:white;background:transparent;font-size:26px;cursor:pointer}.weather-body{padding:20px}.weather-now{display:flex;align-items:center;gap:15px;margin:0 0 16px}.weather-now .weather-icon{width:50px;height:50px;color:#bb8d36}.weather-temp{font-size:42px;font-weight:750;line-height:1.1}.weather-muted{font-size:12px;color:#536979}.weather-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.weather-stat,.weather-day{padding:12px;background:white;border-radius:12px;font-size:12px}.weather-stat strong{display:block;font-size:17px}.weather-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.weather-day{text-align:center;padding:10px 4px}.weather-day strong,.weather-day small{display:block;margin:5px 0}.weather-scroll{overflow:auto}.weather-table{width:100%;font-size:12px;border-collapse:collapse}.weather-table th,.weather-table td{padding:10px 6px;text-align:left;border-bottom:1px solid #dbe2e6;white-space:nowrap}.weather-synthesis{padding:14px;background:#e4edf2;border-radius:12px;font-size:14px;line-height:1.5}.weather-sources{display:grid;grid-template-columns:1fr 1fr;gap:8px}.weather-sources a{display:block;background:white;padding:12px;border:1px solid #dbe2e6;border-radius:12px;text-decoration:none;color:inherit;font-weight:650;font-size:13px}.weather-sources small{display:block;font-weight:400;margin-top:4px;color:#536979}.weather-body h3{font-size:16px;margin:22px 0 10px}.weather-hours{display:flex;gap:8px;overflow:auto;padding-bottom:5px}.weather-hour{flex:0 0 65px;text-align:center;padding:10px;background:white;border-radius:10px;font-size:12px}.weather-hour strong{display:block;margin:6px 0}.weather-retry{border:0;background:#082e4b;color:white;border-radius:10px;padding:10px 16px;cursor:pointer}@media(max-width:380px){.weather-header{gap:4px;font-size:10px}.weather-body{padding:14px}.weather-sources{grid-template-columns:1fr}.weather-stat{padding:9px}.weather-stat strong{font-size:15px}}@supports not (height:1dvh){.weather-dialog{max-height:80vh}}

/* A little breathing room for weather and date, including compact home. */
header .location-strip .topline,body.home-overview header .location-strip .topline{min-height:40px;padding-top:4px;padding-bottom:4px;gap:8px;letter-spacing:0}
.weather-header{min-height:32px;flex-shrink:0;white-space:nowrap;line-height:1.2}
.location-strip .topline #today{min-width:0;font-size:10px;line-height:1.25}
@media(max-width:380px){.location-strip .topline #today{font-size:9px}.weather-header{gap:4px}.weather-header .weather-icon{width:19px;height:19px}}

/* Keep the date readable on the warm header background. */
header .location-strip .topline #today{display:block;color:#12364b;font-size:12px;font-weight:600;line-height:1.3;opacity:1;white-space:nowrap;flex-shrink:0;letter-spacing:0}
@media(max-width:360px){header .location-strip .topline #today{font-size:11px}}
