/* Local weather presentation; scoped so article and navigation styles stay intact. */
.weather-dashboard{margin-top:24px}.weather-dashboard .weather-controls{padding:0;background:none;align-items:flex-end;gap:24px}.weather-location-control{display:grid;gap:8px;min-width:280px}.weather-location-control label{font-size:11px;letter-spacing:1.2px;color:var(--muted)}.weather-location-control select{width:100%;font-size:18px;font-weight:700;border:1px solid #b3beca;border-bottom:3px solid var(--navy);padding:12px 38px 12px 14px}.weather-dashboard .nws-source-link{font-size:13px;margin:0 0 13px auto}.weather-location-links{display:flex;flex-wrap:wrap;gap:10px 22px;border:0;background:none;padding:15px 0 5px}.weather-location-links a{font-size:12px;color:#435873;border-bottom:1px solid #c3ccd6;padding:2px 0}.weather-location-links a[aria-current=page]{color:var(--red);border-color:var(--red);font-weight:700}.weather-dashboard .observation{padding:28px 34px 23px;margin-top:22px;background:var(--navy);border-top:4px solid var(--red);color:#fff}.observation-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.weather-dashboard .observation .eyebrow{font-size:16px;letter-spacing:1.5px;color:#fff}.observation-badge{font-size:10px;letter-spacing:1.2px;color:#b5c6db}.observation-main{display:flex;align-items:center;gap:42px;padding:20px 0}.observation-reading{min-width:180px}.weather-dashboard .current-temp{font-size:96px;letter-spacing:-5px;line-height:1;margin:0;font-weight:700}.weather-dashboard .current-temp.missing{font-size:32px;letter-spacing:-.6px;max-width:340px;line-height:1.2}.temperature-unit{font-size:10px;display:block;letter-spacing:1.3px;margin-top:12px;color:#b5c6db}.observation-description{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:20px;row-gap:0}.current-weather-icon{grid-row:span 2;display:block;font-size:65px;font-family:Arial,sans-serif;line-height:1}.observation-description p{font-size:22px;margin:0!important;line-height:1.35}.observation-description .observation-facts{font-size:13px;color:#c3d1df;margin-top:8px!important}.observation-source{border-top:1px solid #34415a;padding-top:16px;display:flex;gap:8px 22px;align-items:baseline;flex-wrap:wrap;font-size:12px;color:#c5d1df}.observation-source strong{font-size:13px;color:#fff}.observation-source .data-note{font-size:11px;width:100%;margin:0!important;color:#acbfd2}.forecast-section-heading{margin:36px 0 0;display:flex;align-items:flex-end;gap:20px;justify-content:space-between}.forecast-section-heading h2{font-size:34px;letter-spacing:-1px;margin:4px 0 0}.forecast-section-heading .eyebrow{font-size:10px;letter-spacing:1.3px}.forecast-section-heading .update-note{font-size:12px;margin:0 0 4px;max-width:340px;text-align:right}.forecast-status{font-size:12px;color:#627184;margin:13px 0 19px}.forecast-warning{padding:12px 15px;border-left:3px solid var(--red);background:#fff3ed;color:#70452a}.weather-dashboard .forecast-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;border:0;align-items:start}.day-forecast{min-width:0;position:relative;background:#f3f6f9;border:1px solid #dce3eb;border-top:4px solid var(--navy);padding:16px 14px 14px;min-height:365px}.day-forecast.today{border-top-color:var(--red);background:#fff;border-color:#c8d1dc;border-top-color:var(--red);box-shadow:0 3px 12px #0613290b}.weather-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.weather-day-head h3{font-size:18px;margin:0;letter-spacing:-.3px}.weather-day-head>span{font-size:11px;color:#627184;white-space:nowrap}.forecast-day-label{display:block;position:absolute;top:47px;font-size:8px;font-weight:700;letter-spacing:1px;color:var(--red)}.daily-weather-icon{display:block;font-size:43px;height:65px;line-height:1;padding-top:17px;margin:4px 0 10px;color:#435773;font-family:Arial,sans-serif}.weather-icon-sun,.weather-icon-partly{color:#dc9b15}.weather-icon-rain{color:#1778ac}.weather-icon-storm{color:#997116}.weather-icon-snow{color:#1786a9}.weather-icon-fog{color:#6e8191}.observation .weather-icon-night{color:#d5deee}.daily-temperatures{display:flex;align-items:center;gap:15px}.daily-temperatures span{display:block;font-size:9px;letter-spacing:.8px;font-weight:700;color:#64758b}.daily-temperatures strong{display:block;font-size:31px;line-height:1.3;letter-spacing:-1px}.daily-low strong{color:#637186;font-weight:400}.daily-summary{font-size:13px;line-height:1.4;font-weight:700;min-height:37px;margin:12px 0 10px}.daily-partial{font-size:10px;color:#7b5a40;line-height:1.4;margin:-4px 0 10px}.daily-precip,.daily-wind{font-size:10px;line-height:1.6;color:#5e6f83;margin:6px 0}.daily-precip{border-top:1px solid #dce3eb;padding-top:10px}.day-forecast .daily-details{font-size:11px;margin-top:12px;line-height:1.6}.daily-details summary{font-weight:700;color:#203b58;text-underline-offset:3px}.daily-details[open] summary{margin-bottom:14px}.daily-details>strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-top:10px}.daily-details>p{font-size:12px;line-height:1.65;margin:5px 0;overflow-wrap:anywhere}.forecast-empty{grid-column:1/-1;padding:25px;background:var(--pale)}.weather-dashboard .weather-alerts{margin-top:30px;font-size:14px;padding:25px 28px;border-left-color:var(--navy)}.weather-alerts h2{margin:5px 0 15px;font-size:24px}.weather-alerts .eyebrow{font-size:10px}.weather-alerts small{font-size:11px}.weather-alerts p{line-height:1.7}.tide-dashboard{margin-top:42px}.tide-dashboard .tide-next{background:#edf3f6;border-top-color:#305e75}.tide-dashboard .tide-next strong{font-size:34px}.tide-dashboard .tide-table th{font-size:12px;letter-spacing:.3px}.tide-dashboard .tide-table td{font-size:14px}
@media(max-width:1150px){.weather-dashboard .forecast-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.day-forecast{min-height:340px}.daily-summary{min-height:32px}.weather-day-head h3{font-size:20px}.daily-temperatures strong{font-size:35px}}
@media(max-width:700px){.weather-dashboard .weather-controls{display:block}.weather-location-control{min-width:0}.weather-dashboard .nws-source-link{display:inline-block;margin:13px 0 0;font-size:12px}.weather-location-links{gap:10px 18px;padding-top:12px}.weather-dashboard .observation{padding:23px 21px 19px}.observation-heading{align-items:flex-start;flex-direction:column;gap:6px}.weather-dashboard .observation .eyebrow{font-size:15px}.observation-badge{font-size:8px}.observation-main{gap:15px;padding:23px 0}.observation-reading{min-width:105px}.weather-dashboard .current-temp{font-size:74px;letter-spacing:-4px}.weather-dashboard .current-temp.missing{font-size:25px;letter-spacing:-.5px}.observation-description{grid-template-columns:1fr;gap:7px}.current-weather-icon{font-size:35px;grid-row:auto}.observation-description p{font-size:17px}.observation-description .observation-facts{font-size:11px;line-height:1.6}.observation-source{font-size:11px;display:block}.observation-source strong,.observation-source>span{display:block;margin-bottom:7px}.forecast-section-heading{display:block;margin-top:30px}.forecast-section-heading h2{font-size:29px}.forecast-section-heading .update-note{text-align:left;margin-top:11px}.forecast-status{font-size:11px;line-height:1.7}.weather-dashboard .forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.day-forecast{padding:15px 14px;min-height:340px}.weather-day-head h3{font-size:20px}.weather-day-head>span{font-size:11px}.daily-weather-icon{font-size:42px}.daily-temperatures{gap:20px}.daily-temperatures strong{font-size:34px}.daily-precip,.daily-wind{font-size:11px}.weather-dashboard .weather-alerts{padding:22px 20px;font-size:13px}.tide-dashboard .tide-next strong{font-size:25px}.tide-dashboard .tide-table td{font-size:12px}}
