.nw-forecast{overflow:hidden}.nw-weather-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:11px}.nw-weather-head h2{margin:0;font-size:18px}.nw-weather-head p{margin:2px 0 0;font-size:11px;color:var(--nwa-muted)}.nw-town-trigger{font-size:11px;min-height:36px;padding:5px 10px;background:transparent;color:var(--nwa-text);border:1px solid var(--nwa-border);border-radius:9px}.nw-three-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.nw-day{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 5px 10px;border-radius:11px;background:linear-gradient(155deg,#1b4e63,#173a4c);color:#fff;gap:4px;min-width:0;text-decoration:none}.nw-day>strong{font-size:14px}.nw-weather-icon{width:54px;height:55px;flex:none}.nw-day-temps{font-size:26px;font-weight:800;letter-spacing:-.04em}.nw-day-temps small{font-size:14px;font-weight:600;opacity:.7;margin-left:5px}.nw-day-desc{font-size:10px;line-height:1.25;min-height:26px;max-width:100%;font-weight:600}.nw-day-rain{font-size:10px;color:#acd9ec}.nw-forecast .nw-narrative{font-size:12px;line-height:1.45;margin:10px 0 5px}.nw-source-line{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:10px;color:var(--nwa-muted);margin-top:8px}.nw-weather-head .np-corner-help{margin-left:auto}.nw-current{display:flex;align-items:center;gap:12px;border-top:1px solid var(--nwa-border);padding-top:10px;margin-top:10px}.nw-current>strong{font-size:29px;letter-spacing:-.04em}.nw-current p{margin:0;font-size:12px}.nw-current small{font-size:10px;color:var(--nwa-muted)}.nw-town-dialog{width:min(470px,calc(100vw - 28px));max-height:80dvh;border:1px solid var(--nwa-border);border-radius:18px;background:var(--nwa-surface);color:var(--nwa-text);padding:18px}.nw-town-dialog::backdrop{background:#081820aa}.nw-town-dialog header{display:flex;align-items:center;justify-content:space-between;gap:10px}.nw-town-dialog h2{font-size:21px;margin:0}.nw-town-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;max-height:45dvh;overflow:auto}.nw-town-options a{display:flex;align-items:center;min-height:40px;border:1px solid var(--nwa-border);border-radius:10px;padding:6px 10px;font-size:12px;text-decoration:none;color:var(--nwa-text)}.nw-town-options a[aria-current=page]{background:#d9ece6;color:#174e49}.nw-weather-alert{border-left:4px solid #d58c37}.nw-weather-alert h3{font-size:16px;margin:4px 0}.nw-weather-alert p{font-size:12px}.nw-no-alert{font-size:11px;padding:8px 0 0;margin:0}.nw-delay{color:#a26822;font-size:11px}.nw-town-dialog [hidden]{display:none!important}@media(max-width:350px){.nw-day-temps{font-size:23px}.nw-day-desc{font-size:9px}.nw-weather-icon{width:44px;height:48px}}
.nw-weather-head{gap:6px}.nw-weather-head h2{font-size:16px}.nw-town-trigger{white-space:nowrap;font-size:10px;padding:4px 7px}.nw-weather-head p{font-size:10px}.nw-three-days .nw-day{padding:9px 4px 8px;gap:3px}.nw-day>small{font-size:10px;opacity:.75}.nw-weather-icon{width:46px;height:48px}.nw-day-desc{min-height:25px}.nw-forecast .nw-narrative{font-size:11px}.nw-source-line{font-size:9px}.nw-weather-head .np-corner-help>summary{width:32px;height:32px;min-height:32px}
.nw-town-trigger{font-size:11px;min-height:38px}
.nw-day-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;min-height:39px;font-size:10px}.nw-town-dialog>form{margin:12px 0 0}.nw-town-dialog>form button{font-size:12px}

/* Dates and overnight lows stay legible on the blue forecast tiles. */
.nw-forecast .nw-day>small,.nw-forecast .nw-day-temps small{color:#d0e7ee!important;opacity:1}
