.weather-lab{--weather-panel:linear-gradient(180deg, #081423f7, #040d19fc);--weather-panel-soft:linear-gradient(180deg, #0a1a2ceb, #071221f5);--weather-border:#6aa1e352;--weather-border-strong:#7dbeff7a;--weather-text:#eef6ff;--weather-muted:#cadcf2c2;--weather-soft-text:#e2ecf9e6;--weather-strong-text:#f7fbff;--weather-value-text:#f2f8ff;--weather-temp-text:#f9fbff;--weather-accent-text:#8fd9ff;--weather-glow:#4189e029;--weather-glow-strong:#4ea5ff42;--weather-accent:#74c7ff;--weather-accent-soft:#74c7ff2e;--weather-icon-base-filter:brightness(0) invert(1);--weather-icon-shadow-a:#75c9ff3d;--weather-icon-shadow-b:#437bcd2e;width:min(1180px,100%);color:var(--weather-text);text-align:left;margin:18px auto 0;padding:18px 0 28px}.weather-dashboard.is-hidden,.weather-empty-state.is-hidden,.weather-loading-state.is-hidden,.weather-error-state.is-hidden{display:none}.weather-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.weather-page-header{margin-bottom:18px}.weather-page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;display:flex}.weather-lab-header h2{letter-spacing:.08em;text-transform:uppercase;color:var(--weather-text);margin:8px 0 6px;font-size:clamp(30px,4vw,42px);line-height:1}.weather-lab-header p,.weather-header-powered,.weather-forecast-subhead,.weather-current-updated,.weather-insight-meta,.weather-current-summary{color:var(--weather-muted)}.weather-lab-header p{letter-spacing:.05em;margin:0;font-size:13px}.kicker,.forecast-header,.weather-popular-label,.weather-empty-label{letter-spacing:.18em;text-transform:uppercase;font-size:11px}.kicker,.weather-popular-label{color:var(--weather-muted)}.forecast-card{border:1px solid var(--weather-border);background:var(--weather-panel);min-width:0;box-shadow:inset 0 1px #ffffff0d,0 24px 50px -34px #000000bd,0 0 0 1px #587fb014,0 0 24px var(--weather-glow);border-radius:26px;padding:24px;position:relative;overflow:hidden}.forecast-card:before{content:"";pointer-events:none;background:radial-gradient(circle at 0 0,#63a2f01f,#0000 26%),linear-gradient(#ffffff06,#0000 35%);position:absolute;inset:0}.forecast-card>*{z-index:1;position:relative}.forecast-header{color:#dbeeff;margin-bottom:8px}.weather-forecast-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.forecast-powered-link{color:var(--weather-accent-text);text-decoration:none}.forecast-powered-group{align-items:center;gap:8px;display:flex}.forecast-powered-label{letter-spacing:.1em;text-transform:uppercase;color:var(--weather-muted);font-size:10px}.forecast-powered-pill{border:1px solid color-mix(in srgb,var(--weather-accent-text) 50%,#3d8ce52e);min-height:30px;color:var(--weather-accent-text);letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(#0b1f35f0,#061221eb);border-radius:999px;justify-content:center;align-self:center;align-items:center;padding:6px 12px;font-size:10px;display:inline-flex;box-shadow:inset 0 1px #ffffff0d,0 0 0 1px #68b3ff14,0 0 18px #4ea5ff2e}.forecast-powered-pill:hover,.forecast-powered-pill:focus-visible{border-color:color-mix(in srgb,var(--weather-accent-text) 70%,#3d8ce52e);outline:none;box-shadow:inset 0 1px #ffffff14,0 0 0 1px #68b3ff24,0 0 24px #4ea5ff3d}.weather-empty-state,.weather-error-state{text-align:center;place-items:center;min-height:420px;display:grid}.weather-empty-inner{gap:18px;width:min(760px,100%);display:grid}.weather-empty-state h3,.weather-error-state h3{letter-spacing:.02em;color:var(--weather-text);margin:0;font-size:clamp(30px,5vw,44px);line-height:1.03}.weather-empty-state p,.weather-error-state p{max-width:620px;color:var(--weather-muted);margin:0 auto;font-size:15px;line-height:1.55}.weather-error-state{border-color:color-mix(in srgb,#ff8f6b 32%,var(--weather-border))}.weather-error-state h3{color:#ffb199}html:not([data-mode=dark]) .weather-error-state h3{color:#a23434}.weather-empty-actions{gap:14px;width:min(600px,100%);margin:0 auto;display:grid}.weather-empty-field{text-align:left;gap:9px;display:grid}.weather-empty-input{width:100%;min-width:0;height:54px;color:var(--weather-text);letter-spacing:.06em;background:#091828d1;border:1px solid #81b6f752;border-radius:16px;padding:0 16px;font-size:16px;box-shadow:inset 0 1px #ffffff08}.weather-empty-input::placeholder{color:#cbdcf375}.weather-empty-input:focus,.weather-empty-submit:focus,.weather-geolocate:focus,.weather-popular-city:focus,.weather-home-link:focus{outline-offset:2px;outline:2px solid #73c6ff7a}.weather-empty-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.weather-empty-submit,.weather-geolocate,.weather-popular-city{appearance:none;color:var(--weather-text);cursor:pointer;background:#091828c2;border:1px solid #84beff52;border-radius:999px;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s}.weather-empty-submit,.weather-geolocate{letter-spacing:.14em;text-transform:uppercase;min-height:46px;padding:0 18px;font-size:12px;box-shadow:0 0 18px #478ce61a}.weather-empty-submit{background:linear-gradient(#1b67b6e6,#0c417deb);border-color:#7dc6ff6b}.weather-empty-submit:hover,.weather-geolocate:hover,.weather-popular-city:hover,.weather-home-link:hover{border-color:#8fceff94;transform:translateY(-1px);box-shadow:0 0 20px #5baaff24}.weather-empty-status{letter-spacing:.08em;min-height:18px;color:var(--weather-muted);font-size:12px}.weather-popular{gap:12px;margin-top:4px;display:grid}.weather-popular-grid{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.weather-popular-city{min-height:40px;color:var(--weather-soft-text);padding:0 15px;font-size:13px}.weather-shell{grid-template-columns:minmax(310px,390px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.weather-dashboard{gap:20px;display:grid}.weather-insight-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.weather-skeleton-card{align-content:start;gap:18px;display:grid}.skeleton-line,.skeleton-block,.skeleton-circle,.skeleton-row{background:linear-gradient(100deg,#ffffff0d 20%,#ffffff21,#ffffff0d 60%) 0 0/200% 100%;border-radius:12px}html:not([data-mode=dark]) .skeleton-line,html:not([data-mode=dark]) .skeleton-block,html:not([data-mode=dark]) .skeleton-circle,html:not([data-mode=dark]) .skeleton-row{background:linear-gradient(100deg,#0f28410d 20%,#0f28411f,#0f28410d 60%) 0 0/200% 100%}@media(prefers-reduced-motion:no-preference){.skeleton-line,.skeleton-block,.skeleton-circle,.skeleton-row{animation:1.6s ease-in-out infinite weather-skeleton-shimmer}}@keyframes weather-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-header{width:130px;height:11px}.skeleton-hero{align-items:center;gap:18px;margin-top:6px;display:flex}.skeleton-circle{border-radius:50%;flex:none;width:76px;height:76px}.skeleton-lines{flex:1;gap:10px;display:grid}.skeleton-lg{width:70%;height:34px}.skeleton-sm{width:40%;height:14px}.skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.skeleton-block{border-radius:16px;height:76px}.skeleton-rows{gap:10px;margin-top:16px;display:grid}.skeleton-row{border-radius:18px;height:86px}.forecast-location{letter-spacing:.04em;color:var(--weather-text);margin:0;font-size:18px;line-height:1.15}.weather-current-meta{gap:5px;min-height:52px;display:grid}.weather-current-updated{letter-spacing:.08em;text-transform:uppercase;font-size:11px}.weather-current-hero{align-items:center;gap:18px;min-height:98px;margin-top:18px;display:flex}.weather-current-icon,.weather-lab .forecast-day-icon{object-fit:contain;opacity:.98;filter:var(--weather-icon-base-filter) drop-shadow(0 0 9px var(--weather-icon-shadow-a)) drop-shadow(0 0 18px var(--weather-icon-shadow-b))}.weather-current-icon{flex:none;width:76px;height:76px}.weather-current-hero-copy{gap:4px;display:grid}.weather-current-temp{letter-spacing:-.045em;color:var(--weather-temp-text);font-size:clamp(48px,6vw,62px);line-height:.95}.weather-current-condition{letter-spacing:.14em;text-transform:uppercase;color:var(--weather-strong-text);font-size:14px}.weather-current-summary{min-height:20px;margin-top:10px;font-size:13px;line-height:1.45}.forecast-divider{background:linear-gradient(90deg,#0000,#95bcf052,#0000);width:100%;height:1px;margin:20px 0}.weather-current-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.weather-detail-card{background:#091828a8;border:1px solid #85b6f033;border-radius:16px;min-height:76px;margin:0;padding:13px 14px}.weather-detail-card dt{letter-spacing:.16em;text-transform:uppercase;color:var(--weather-muted);font-size:10px}.weather-detail-card dd{color:var(--weather-value-text);margin:8px 0 0;font-size:18px;line-height:1.2}.weather-detail-card [data-weather-sun]{white-space:nowrap;letter-spacing:.01em;font-size:15px}.weather-forecast-card{grid-template-rows:auto auto auto;align-content:start;display:grid}.forecast-grid{grid-template-columns:1fr;align-content:start;align-items:stretch;gap:10px;min-height:0;margin-top:16px;display:grid}.weather-lab .forecast-day{background:var(--weather-panel-soft);border:1px solid #82ade52e;border-radius:18px;grid-template-columns:minmax(62px,78px) minmax(0,1fr) minmax(148px,196px);align-self:start;place-items:center start;gap:14px;min-width:0;min-height:0;padding:14px 16px;display:grid;box-shadow:inset 0 1px #ffffff08,0 0 20px #2b5a9814}.weather-lab .forecast-day-heading{align-content:center;gap:2px;display:grid}.weather-lab .forecast-day-body{align-items:center;gap:12px;width:100%;min-height:100%;padding:0;display:flex}.weather-lab .forecast-day-body-copy{align-content:center;gap:4px;min-width:0;display:grid}.weather-lab .forecast-day-name{letter-spacing:.18em;text-transform:uppercase;color:var(--weather-strong-text);font-size:11px}.weather-lab .forecast-day-date{letter-spacing:.08em;color:var(--weather-soft-text);font-size:10px}.weather-lab .forecast-day-icon{width:54px;height:54px}.weather-lab .forecast-day-temps{color:var(--weather-value-text);align-items:baseline;gap:6px;font-size:28px;font-weight:700;line-height:1;display:inline-flex}.weather-lab .forecast-temp-hi{color:var(--weather-strong-text)}.weather-lab .forecast-temp-lo,.weather-lab .forecast-temp-sep{color:var(--weather-muted)}.weather-lab .forecast-day-label{letter-spacing:.14em;text-transform:uppercase;min-height:16px;color:var(--weather-soft-text);white-space:nowrap;font-size:11px}.weather-lab .forecast-day-meta{border-top:0;border-left:1px solid #97bff21f;gap:8px;width:100%;margin-top:0;padding-top:0;padding-left:14px;display:grid}.weather-lab .forecast-day-stat{color:var(--weather-muted);justify-content:space-between;gap:10px;padding-top:0;font-size:10px;line-height:1.35;display:flex}.weather-lab .forecast-day-stat strong{color:var(--weather-value-text);text-align:right;font-weight:600}.weather-lab .forecast-day-precip-bar{background:linear-gradient(90deg,#1e3c5c6b,#09182738);border-radius:999px;width:100%;height:6px;overflow:hidden}.weather-lab .forecast-day-precip-fill{border-radius:inherit;background:linear-gradient(90deg,#7ed9fff0,#3f87e2c2);min-width:0;height:100%;display:block;box-shadow:0 0 14px #60baff2e}.weather-insight-header{justify-content:space-between;align-items:start;gap:14px;display:flex}.weather-insight-meta{letter-spacing:.03em;max-width:290px;font-size:12px;line-height:1.45}.weather-insight-pill{border:1px solid var(--weather-pill-border);background:var(--weather-pill-bg);min-height:32px;color:var(--weather-pill-text);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;box-shadow:0 0 16px var(--weather-pill-glow);border-radius:999px;flex:none;align-self:start;padding:7px 12px;font-size:11px;font-weight:700}.weather-insight-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.weather-insight-stat{background:#09182894;border:1px solid #82b0e829;border-radius:16px;padding:12px 13px}.weather-insight-stat span{letter-spacing:.16em;text-transform:uppercase;color:var(--weather-muted);font-size:10px;display:block}.weather-insight-stat strong{color:var(--weather-value-text);margin-top:8px;font-size:20px;line-height:1.2;display:block}.weather-chart{background:#081524b3;border:1px solid #83b0e82e;border-radius:20px;min-height:182px;margin-top:16px;padding:16px 14px 14px}.weather-chart-bars{grid-template-columns:1fr;align-items:stretch;gap:12px;display:grid}.weather-precip-day{grid-template-columns:52px minmax(0,1fr) 40px;align-items:center;gap:10px;display:grid}.weather-precip-value,.weather-bar-label{letter-spacing:.12em;text-transform:uppercase;font-size:11px}.weather-precip-value{color:var(--weather-value-text)}.weather-bar-label{color:var(--weather-muted);text-align:right}.weather-bar-track{background:linear-gradient(90deg,#1a375673,#09182733);border-radius:999px;width:100%;height:14px;padding:0;display:block;position:relative}.weather-bar-fill{background:linear-gradient(90deg,#78d4fff2,#397edab8);border-radius:999px;height:100%;display:block;box-shadow:0 0 18px #64bbff33}.weather-chart-ranges{gap:12px;display:grid}.weather-range-day{grid-template-columns:58px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.weather-range-values{color:var(--weather-value-text);justify-items:start;gap:2px;font-size:12px;display:grid}.weather-range-track{background:linear-gradient(90deg,#1a375659,#0918273d);border-radius:999px;height:14px;position:relative}.weather-range-fill{background:linear-gradient(90deg,#ffc95cf0,#ff815bd6);border-radius:999px;min-width:12px;height:100%;position:absolute;top:0;box-shadow:0 0 18px #ffbb5c29}.weather-chart-empty,.weather-lab .forecast-empty{letter-spacing:.12em;text-transform:uppercase;min-height:72px;color:var(--weather-muted);text-align:center;place-items:center;padding:8px 0;font-size:11px;display:grid}.weather-home{justify-content:center;margin:22px 0 10px;display:flex}.weather-home-link{letter-spacing:.12em;text-transform:uppercase;color:var(--weather-text);background:#0a1827b8;border:1px solid #84b0e847;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;text-decoration:none;display:inline-flex}.weather-home-link svg{width:18px;height:18px}.weather-current-card.is-empty .forecast-divider{opacity:.5}.weather-current-card.weather-clear-day .weather-current-icon,.weather-lab .forecast-day.weather-clear-day .forecast-day-icon{--weather-icon-shadow-a:#75c9ff3d;--weather-icon-shadow-b:#ffd5532e}.weather-current-card.weather-clear-night .weather-current-icon,.weather-lab .forecast-day.weather-clear-night .forecast-day-icon,.weather-current-card.weather-cloudy-night .weather-current-icon,.weather-lab .forecast-day.weather-cloudy-night .forecast-day-icon{--weather-icon-shadow-a:#7eb7ff42;--weather-icon-shadow-b:#6994dd29}.weather-current-card.weather-cloudy-day .weather-current-icon,.weather-lab .forecast-day.weather-cloudy-day .forecast-day-icon{--weather-icon-shadow-a:#90c8ff38;--weather-icon-shadow-b:#76a2db24}.weather-current-card.weather-rain-day .weather-current-icon,.weather-lab .forecast-day.weather-rain-day .forecast-day-icon,.weather-current-card.weather-rain-night .weather-current-icon,.weather-lab .forecast-day.weather-rain-night .forecast-day-icon{--weather-icon-shadow-a:#5fc3ff4d;--weather-icon-shadow-b:#4884e82e}.weather-current-card.weather-snow-day .weather-current-icon,.weather-lab .forecast-day.weather-snow-day .forecast-day-icon,.weather-current-card.weather-snow-night .weather-current-icon,.weather-lab .forecast-day.weather-snow-night .forecast-day-icon{--weather-icon-shadow-a:#b6e9ff47;--weather-icon-shadow-b:#7bb2ff29}.weather-current-card.weather-storm-day .weather-current-icon,.weather-lab .forecast-day.weather-storm-day .forecast-day-icon,.weather-current-card.weather-storm-night .weather-current-icon,.weather-lab .forecast-day.weather-storm-night .forecast-day-icon{--weather-icon-shadow-a:#78b6ff3d;--weather-icon-shadow-b:#ffd66e2e}@media(prefers-reduced-motion:no-preference){.weather-current-card.weather-clear-day .weather-current-icon,.weather-current-card.weather-clear-night .weather-current-icon{animation:4s ease-in-out infinite weather-anim-glow}.weather-current-card.weather-cloudy-day .weather-current-icon,.weather-current-card.weather-cloudy-night .weather-current-icon{animation:6s ease-in-out infinite weather-anim-drift}.weather-current-card.weather-rain-day .weather-current-icon,.weather-current-card.weather-rain-night .weather-current-icon{animation:2.2s ease-in-out infinite weather-anim-bob}.weather-current-card.weather-snow-day .weather-current-icon,.weather-current-card.weather-snow-night .weather-current-icon{animation:5s ease-in-out infinite weather-anim-sway}.weather-current-card.weather-storm-day .weather-current-icon,.weather-current-card.weather-storm-night .weather-current-icon{animation:3.4s ease-in-out infinite weather-anim-flicker}}@keyframes weather-anim-glow{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes weather-anim-drift{0%,to{transform:translate(0)}50%{transform:translate(3px)}}@keyframes weather-anim-bob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes weather-anim-sway{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-3px)rotate(-2deg)}}@keyframes weather-anim-flicker{0%,92%,to{opacity:1}94%{opacity:.55}96%{opacity:1}}.weather-current-card.weather-clear-day,.weather-current-card.weather-clear-night,.weather-current-card.weather-cloudy-day,.weather-current-card.weather-cloudy-night,.weather-current-card.weather-rain-day,.weather-current-card.weather-rain-night,.weather-current-card.weather-snow-day,.weather-current-card.weather-snow-night,.weather-current-card.weather-storm-day,.weather-current-card.weather-storm-night{box-shadow:inset 0 1px #ffffff0d,0 24px 50px -34px #000000bd,0 0 0 1px #587fb014,0 0 30px var(--weather-glow-strong)}.zip-status.is-error,.weather-empty-status.is-error{color:#ffc7c7}.zip-status.is-saved,.weather-empty-status.is-saved{color:#bfe7ff}html:not([data-mode=dark]) .weather-lab{--weather-panel:linear-gradient(180deg, #fafdfffa, #ecf4fbfa);--weather-panel-soft:linear-gradient(180deg, #f4f9fffa, #e8f1fafa);--weather-border:#7298c147;--weather-border-strong:#5b9cd85c;--weather-text:#0f2438;--weather-muted:#2e4e6ec7;--weather-soft-text:#122a43e6;--weather-strong-text:#0f2438;--weather-value-text:#16324c;--weather-temp-text:#102b45;--weather-accent-text:#1267aa;--weather-glow:#61a0e014;--weather-glow-strong:#5aaaeb1a;--weather-pill-bg:#e8f3fffa;--weather-pill-border:#4689c957;--weather-pill-text:#0f365b;--weather-pill-glow:#4384c614;--weather-icon-base-filter:none;--weather-icon-shadow-a:#4a8dd62e;--weather-icon-shadow-b:#15559a14}html[data-mode=dark] .weather-lab{--weather-pill-bg:#0e263cd1;--weather-pill-border:#7bbfff42;--weather-pill-text:#e3f2ff;--weather-pill-glow:#57a3f51f}html:not([data-mode=dark]) .weather-lab .forecast-card,html:not([data-mode=dark]) .weather-lab .forecast-day,html:not([data-mode=dark]) .weather-lab .weather-home-link{box-shadow:inset 0 1px #ffffffb3,0 18px 34px -28px #1f3e5e38,0 0 0 1px #a7c5e32e}html:not([data-mode=dark]) .weather-lab .forecast-header,html:not([data-mode=dark]) .weather-lab .weather-empty-label,html:not([data-mode=dark]) .weather-lab .weather-popular-label{color:#38587a}html:not([data-mode=dark]) .weather-lab .weather-current-condition,html:not([data-mode=dark]) .weather-lab .weather-current-temp,html:not([data-mode=dark]) .weather-lab .forecast-day-temps,html:not([data-mode=dark]) .weather-lab .forecast-day-name,html:not([data-mode=dark]) .weather-lab .forecast-day-date,html:not([data-mode=dark]) .weather-lab .forecast-day-label,html:not([data-mode=dark]) .weather-lab .forecast-day-stat strong,html:not([data-mode=dark]) .weather-lab .weather-insight-stat strong,html:not([data-mode=dark]) .weather-lab .weather-detail-card dd,html:not([data-mode=dark]) .weather-lab .weather-range-values,html:not([data-mode=dark]) .weather-lab .weather-precip-value{color:var(--weather-value-text)}html:not([data-mode=dark]) .weather-lab .forecast-day-name{color:var(--weather-strong-text)}html:not([data-mode=dark]) .weather-lab .forecast-day-date,html:not([data-mode=dark]) .weather-lab .forecast-day-label{color:#35587d}html:not([data-mode=dark]) .weather-lab .forecast-day-precip-bar{background:linear-gradient(90deg,#bcd4ecdb,#dceaf785)}html:not([data-mode=dark]) .weather-lab .weather-insight-pill{box-shadow:inset 0 1px #ffffff94,0 10px 20px -18px #1d4f803d}html:not([data-mode=dark]) .weather-lab .weather-empty-input,html:not([data-mode=dark]) .weather-lab .weather-detail-card,html:not([data-mode=dark]) .weather-lab .weather-insight-stat,html:not([data-mode=dark]) .weather-lab .weather-chart,html:not([data-mode=dark]) .weather-lab .weather-home-link,html:not([data-mode=dark]) .weather-lab .weather-geolocate,html:not([data-mode=dark]) .weather-lab .weather-popular-city{color:#16324c;background:#ffffffe0}html:not([data-mode=dark]) .weather-lab .weather-empty-input::placeholder{color:#3b5a7973}html:not([data-mode=dark]) .weather-lab .weather-empty-submit{color:#f5fbff}html:not([data-mode=dark]) .weather-lab .weather-empty-status.is-error,html:not([data-mode=dark]) .weather-lab .zip-status.is-error{color:#a23434}html:not([data-mode=dark]) .weather-lab .weather-empty-status.is-saved,html:not([data-mode=dark]) .weather-lab .zip-status.is-saved{color:#185a84}html:not([data-mode=dark]) .weather-lab .forecast-powered-pill{color:#0f365b;background:linear-gradient(#eef6fff5,#e1ecf8f5);border-color:#4f8dce57;box-shadow:inset 0 1px #ffffffb3,0 0 0 1px #5ca0e11a,0 0 14px #4f8dce1f}@media(width<=1080px){.weather-shell{grid-template-columns:1fr;align-items:start}.forecast-grid{grid-template-columns:1fr}}@media(width<=780px){.weather-lab{width:min(700px,100%)}.forecast-card{padding:22px}.weather-insight-row,.weather-current-grid{grid-template-columns:1fr}.weather-lab .forecast-day{grid-template-columns:minmax(72px,88px) minmax(0,1fr);gap:14px 16px}.weather-lab .forecast-day-meta{border-top:1px solid #97bff21f;border-left:0;grid-column:1/-1;padding-top:12px;padding-left:0}.forecast-grid{grid-template-columns:1fr}.weather-empty-state,.weather-error-state{min-height:0}}@media(width<=560px){.forecast-card{border-radius:22px;padding:18px}.weather-empty-state h3,.weather-error-state h3{font-size:32px}.weather-empty-buttons{grid-template-columns:1fr;display:grid}.weather-empty-submit,.weather-geolocate{width:100%}.weather-current-hero{align-items:flex-start}.weather-current-temp{font-size:44px}.weather-lab .forecast-day{grid-template-columns:1fr;align-items:start;gap:12px}.weather-lab .forecast-day-heading{gap:2px}.weather-lab .forecast-day-body{gap:12px}.weather-lab .forecast-day-icon{width:56px;height:56px}.weather-lab .forecast-day-temps{font-size:28px}.weather-lab .forecast-day-label{white-space:normal}.weather-insight-stats{grid-template-columns:1fr}.weather-chart-bars{gap:8px}.weather-range-day{grid-template-columns:50px minmax(0,1fr) 38px}}
