/* Outdoor Time: scoped styles keep the existing navigation and themes intact. */
#today .dashboard-grid{align-items:start}
.dashboard-stack{display:grid;gap:22px;min-width:0;align-content:start}
#weather-card{position:relative;min-width:0;align-self:start;padding:20px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.weather-heading{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}
.weather-heading h2{font-size:23px;margin:0;color:var(--forest)}
.weather-tree{font-size:26px;line-height:1.3}
.weather-location-line{display:flex;flex-wrap:wrap;align-items:center;gap:5px;font-size:13px;color:var(--muted);margin-top:4px}
#weather-card button{min-height:44px}
#weather-change,#weather-remove,#weather-cancel,#weather-refresh{background:none;border:0;color:var(--forest);text-decoration:underline;text-underline-offset:3px;padding:5px 8px;font-size:13px}
#weather-location-form{padding:14px;border-radius:12px;background:var(--cream);margin:12px 0}
#weather-location-form label{font-size:14px;color:var(--ink)}
.weather-zip-controls{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.weather-zip-controls input{min-width:100px;flex:1;width:130px}
.weather-zip-controls button{border-radius:10px;padding:9px 14px}
.weather-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.weather-badge{display:table;margin:4px 0 0 auto;font-size:12px;font-weight:600;border-radius:30px;padding:7px 12px;background:#e9edf0;color:#344b57}
.weather-badge.positive{background:#e1eed9;color:#294f26}
.weather-badge.caution{background:#fff0ce;color:#724e10}
.weather-current{display:flex;align-items:center;justify-content:center;gap:12px;margin:6px 0 12px;min-height:112px}
.weather-current .weather-hero-icon{width:100px;height:auto;flex-shrink:0;filter:drop-shadow(0 5px 5px #365b7314)}
.weather-hour-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.weather-temperature{display:block;font:600 50px/1.1 Georgia,serif;color:var(--forest);letter-spacing:-2px}
.weather-temperature>span{font-size:27px;vertical-align:top;line-height:1.4;letter-spacing:0}
#weather-card .weather-current h3{font-size:18px;margin:3px 0;font-weight:500;line-height:1.3}
.weather-current p{font-size:13px;color:var(--muted);margin:0}
.weather-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:5px}
.weather-metrics>div{display:flex;align-items:center;gap:7px;padding:0 5px;border-left:1px solid var(--line);min-width:0;font-size:12px;color:var(--muted)}
.weather-metrics>div:first-child{border:0;padding-left:0}
.weather-metrics strong{display:block;color:var(--forest);font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.weather-metric-symbol{font-size:27px;color:#3b99c7;line-height:1}.weather-metrics>div:last-child .weather-metric-symbol{color:#c49526}
.weather-guidance{font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 2px}
.weather-footer{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}
.weather-disclaimer{font-size:11px;line-height:1.5;margin:0 0 10px;color:var(--muted)}
#weather-outlook>summary{list-style:none;border:1px solid var(--forest);border-radius:24px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:14px;color:var(--forest);cursor:pointer;font-size:14px;font-weight:600;padding:10px}
#weather-outlook>summary::-webkit-details-marker{display:none}
#weather-outlook[open]>summary>span{transform:rotate(180deg)}
.weather-tabs{display:flex;gap:5px;padding:4px;background:var(--cream);border-radius:12px;margin:16px 0}
.weather-tabs button{flex:1;border:0;background:transparent;color:var(--muted);border-radius:9px;padding:8px}
.weather-tabs button.selected{background:var(--paper);color:var(--forest);box-shadow:0 2px 5px #0001}
.weather-view-note{font-size:11px;color:var(--muted);line-height:1.6}
.weather-hours{display:flex;overflow-x:auto;gap:8px;padding-bottom:12px;scroll-snap-type:x proximity}
.weather-hour{flex:0 0 100px;min-width:0;text-align:center;border:1px solid var(--line);border-radius:12px;padding:12px 6px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.weather-hour time{font-size:12px;color:var(--forest)}
.weather-hour img{width:55px;height:55px}.weather-hour strong{font-size:24px;color:var(--forest)}
.weather-rain{color:var(--forest)}
.weather-day{border-bottom:1px solid var(--line)}
.weather-day>summary{display:grid;grid-template-columns:minmax(80px,1.3fr) 36px 1fr 1fr 10px;align-items:center;gap:5px;min-height:64px;cursor:pointer;list-style:none;font-size:12px;color:var(--ink)}
.weather-day>summary::-webkit-details-marker{display:none}.weather-day img{width:36px;height:36px}
.weather-day-temps{white-space:nowrap;color:var(--muted)}.weather-day-temps strong{color:var(--forest)}
.weather-day-detail{font-size:13px;padding:0 5px 12px}.weather-day-detail p{line-height:1.6}
.weather-warning,#weather-status{background:#fff2d8;color:#694908;padding:12px;border-radius:10px;font-size:13px;line-height:1.6}
.weather-alerts{border:1px solid #b97337;border-radius:12px;padding:12px;margin:12px 0}
.weather-alerts summary{cursor:pointer;min-height:44px;color:var(--forest);font-weight:600}
.weather-alerts p{white-space:pre-line;font-size:12px;line-height:1.6}
.weather-credit{font-size:10px;margin:16px 0 0;color:var(--muted)}.weather-credit a{color:inherit;text-underline-offset:2px}
#weather-card :focus-visible{outline:3px solid #559ac2;outline-offset:3px}
#weather-card [hidden]{display:none!important}
@media(min-width:1100px){#today .dashboard-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
@media(min-width:761px) and (max-width:1099px){#today .dashboard-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){#weather-card{padding:18px}#weather-card .weather-current .weather-hero-icon{width:95px}.weather-temperature{font-size:48px}.weather-heading h2{font-size:23px}}
@media(max-width:380px){#weather-card{padding:16px}.weather-current{gap:10px}#weather-card .weather-current .weather-hero-icon{width:85px}.weather-temperature{font-size:46px}.weather-metric-symbol{font-size:21px}.weather-metrics>div{gap:3px}.weather-metrics strong{font-size:12px}.weather-day>summary{grid-template-columns:70px 30px 1fr 1fr 10px;font-size:11px}}
@media print{#weather-card{display:none!important}}
