.widget-weather {
    --widget-green: #245c46;
    --widget-border: #e2e8e2;
    color: #233c34;
    font-family: inherit;
    font-size: var(--text-small);
    line-height: 1.6;
}
.widget-weather { background: linear-gradient(135deg, #f6f8f1 0%, #fbfcf8 50%, #f5f8f0); border: 1px solid #dfe6d9; border-radius: 10px; padding: 24px; min-width: 0; }
.widget-weather .widget-weather-icon { width: 23px; height: 23px; flex-shrink: 0; }
.widget-weather-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.widget-weather .widget-weather-heading h2 { font-size: var(--text-large); font-weight: 600; letter-spacing: -.2px; line-height: 1.25; margin: 0; }
.widget-weather-heading > .widget-weather-icon { width: 21px; height: 21px; color: #819477; }
.widget-weather .widget-weather-subtitle { color: #829078; font-size: var(--text-extra-small); margin: 5px 0 0; }
.widget-weather-now { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 21px; }
.widget-weather-now strong { display: block; font-size: var(--text-weather); font-weight: 400; letter-spacing: -2px; line-height: 1.15; margin: 5px 0; }
.widget-weather-now span { display: block; font-size: var(--text-extra-small); color: #63735b; }
.widget-weather-now .widget-weather-today { color: #51694b; }
.widget-weather-now > .widget-weather-icon { width: 65px; height: 65px; stroke-width: 1; color: #baaa67; margin-right: 7px; }
.widget-weather-range { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; font-size: var(--text-extra-small); gap: 10px; color: #63715a; padding: 15px 0; border-bottom: 1px solid #dfe7d8; }
.widget-weather-range > span:last-child { color: #526d49; font-size: var(--text-extra-small); }
.widget-weather-muted { color: #738078; }
.widget-weather-metrics { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 10px; padding: 19px 0; margin: 0; }
.widget-weather-metrics > div { display: grid; grid-template-rows: 1fr auto; min-width: 0; }
.widget-weather-metrics dt { display: flex; align-items: center; gap: 5px; color: #65735c; font-size: var(--text-extra-small); font-weight: 400; line-height: 1.5; }
.widget-weather-metrics .widget-weather-icon { width: 14px; height: 14px; color: #819477; }
.widget-weather-metrics dd { font-size: var(--text-small); padding-left: 19px; margin: 3px 0 0; }
.widget-weather-hourly { display: grid; grid-auto-flow: column; grid-auto-columns: 25%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #c0ccaf transparent; padding: 15px 0; border-block: 1px solid #dfe7d8; }
.widget-weather-hourly > div { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; scroll-snap-align: start; }
.widget-weather-hourly time { font-size: var(--text-extra-small); color: #64745d; }
.widget-weather-hourly strong { font-size: var(--text-small); font-weight: 500; }
.widget-weather-hourly small { font-size: var(--text-extra-small); color: #617d73; }
.widget-weather-hourly .widget-weather-icon { color: #afa16a; }
.widget-weather-hourly:focus-visible { outline: 2px solid #245c46; outline-offset: 3px; }
.widget-weather-daylight { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 15px; font-size: var(--text-extra-small); color: #68745c; }
.widget-weather-daylight b { color: #5e7555; font-weight: 400; padding-left: 4px; }
.widget-weather-daylight .widget-weather-icon { width: 16px; height: 16px; color: #b3a36e; }
.widget-weather h3 { font-size: var(--text-extra-small); font-weight: 500; line-height: 1.4; margin: 26px 0 9px; }
.widget-weather-day { display: grid; grid-template-columns: minmax(0, 1fr) 22px 82px; align-items: center; gap: 8px; padding: 12px 0; border-bottom: 1px solid #e4eadd; font-size: var(--text-extra-small); }
.widget-weather-day small { display: block; font-size: var(--text-extra-small); color: #64765b; margin-top: 3px; line-height: 1.6; }
.widget-weather-day > span:last-child { text-align: right; }
.widget-weather-day > .widget-weather-icon { color: #acaa7b; width: 22px; height: 22px; }
.widget-weather-day strong { font-weight: 500; }
.widget-weather .widget-weather-note { font-size: var(--text-small); color: #69775e; margin: 18px 0 0; line-height: 1.6; }
.widget-weather-updated, .widget-weather-source {font-size:.75rem;color:#64748b;margin:.5rem 0 1rem}
.widget-weather-stale, .widget-weather [data-weather-connection] {color:#9a5a16}
.widget-weather-source a {color:inherit}
