@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Fraunces:opsz,wght@9..144,500;9..144,600&family=Manrope:wght@400;500;600;700&display=swap";:root{--header-horizon-depth:20px;color:#302036;font-synthesis:none;background:#edf9f4;font-family:Manrope,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 84% 8%,#ffdb7e5e,#0000 27%),linear-gradient(128deg,#edf9f4 0%,#f9f8e9 100%);min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}button{cursor:pointer}.page-shell{width:min(100%,1000px);min-height:100vh;padding:calc(80px + env(safe-area-inset-top) + var(--header-horizon-depth)) 22px max(24px, env(safe-area-inset-bottom));background:radial-gradient(at 84% 8%,#ffdb7e5e,#0000 27%),linear-gradient(128deg,#edf9f4 0%,#f9f8e9 100%);margin:auto}.topbar,.card-heading,.temperature-row,footer,.hero{justify-content:space-between;align-items:center;gap:18px;display:flex}.topbar{z-index:30;width:min(100%,1000px);min-height:80px;padding:max(16px, env(safe-area-inset-top)) 22px 14px;isolation:isolate;-webkit-backdrop-filter:blur(14px)saturate(112%);backdrop-filter:blur(14px)saturate(112%);background:#edf9f4e0;position:fixed;top:0;left:50%;translate:-50%}.topbar:after{z-index:-1;right:0;bottom:calc(var(--header-horizon-depth) * -1);height:var(--header-horizon-depth);pointer-events:none;content:"";background:linear-gradient(#edf9f4d6 0%,#edf9f480 48%,#edf9f400 100%);position:absolute;left:0}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-icon{border-radius:14px;width:46px;height:46px;box-shadow:0 5px 14px #30203624}.eyebrow,.station-label{color:#756878;letter-spacing:.14em;text-transform:uppercase;margin:0;font-family:DM Mono,monospace;font-size:10px;font-weight:500;line-height:1.4}h1,h2{letter-spacing:-.045em;margin:0;font-family:Fraunces,Georgia,serif;font-weight:600}h1{font-size:24px;line-height:1}.header-actions{gap:8px;display:flex}.header-icon-button,.drawer-close{color:#4a394f;background:#ffffffb8;border:1px solid #ded8dd;border-radius:50%;place-items:center;width:42px;height:42px;transition:background .16s,border-color .16s,transform .16s;display:grid}.header-icon-button{color:#4e3854;background:#fffdf9;border-radius:14px;width:42px;height:42px;box-shadow:0 2px 5px #30203614}.settings-button{color:#e5fffa;background:#302036;border-color:#302036;box-shadow:0 3px 7px #3020362e}.settings-button:hover{color:#7ee5dc;background:#38253d}.header-icon-button:hover,.drawer-close:hover{background:#fff;border-color:#b9adb9}.header-icon-button:focus-visible,.drawer-close:focus-visible{outline-offset:3px;outline:2px solid #318e7c}.header-icon-button:active,.drawer-close:active{transform:scale(.94)}.header-icon-button:disabled{cursor:wait;opacity:.7}.spin{animation:.8s linear infinite spin}.hero{align-items:end;margin:34px 0 18px}.hero h2{font-size:clamp(42px,8vw,64px);line-height:.95}.hero-copy{color:#665969;margin:13px 0 0;font-size:15px}.update-time{color:#857a86;text-align:right;margin:0 0 4px;font-family:DM Mono,monospace;font-size:10px}.view-mode-row{justify-content:center;margin:0 0 18px;display:flex}.view-mode-control{isolation:isolate;background:#ede9ebdb;border:1px solid #e1dce1;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));width:126px;padding:3px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.view-mode-control:before{z-index:-1;content:"";background:#fffdf9;border-radius:10px;width:calc(50% - 3px);transition:transform .2s;position:absolute;top:3px;bottom:3px;left:3px;box-shadow:0 2px 6px #3020361f}.view-mode-control[data-view=columns]:before{transform:translate(100%)}.view-mode-control button{color:#7c7080;background:0 0;border:0;border-radius:10px;place-items:center;min-height:38px;padding:0;transition:color .18s,transform .18s;display:grid;position:relative}.view-mode-control button.is-selected{color:#3b2941}.view-mode-control button:hover{color:#4d3c52}.view-mode-control button:active{transform:scale(.92)}.view-mode-control button:focus-visible{outline-offset:-2px;outline:2px solid #3ea990}.station-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.station-card{appearance:none;width:100%;min-height:365px;color:inherit;cursor:pointer;font:inherit;text-align:left;background:#ffffffad;border:1px solid #3f2b451a;border-radius:25px;padding:20px;transition:transform .16s,box-shadow .16s;position:relative;overflow:hidden;box-shadow:0 12px 32px #3626390e}.station-card:hover{transform:translateY(-2px);box-shadow:0 17px 36px #36263914}.station-card:focus-visible{outline-offset:3px;outline:3px solid #3ea990}.station-card:after{content:"";border:1px solid #3020360f;border-radius:100%;width:156px;height:156px;position:absolute;bottom:-47px;right:-35px}.station-david{color:#fffdf9;background:#302036;border-color:#302036}.station-david .station-label,.station-david .status,.station-david .feels-like,.station-david .conditions-list .metric-label,.station-david .card-note{color:#fffdf9ad}.station-david .condition-mark{color:#7ee5dc;border-color:#7ee5dc59}.station-david .metric-icon{color:#7ee5dc}.card-heading{align-items:flex-start}.station-label{font-size:11px}.station-city,.detail-city{color:#8a7d8d;letter-spacing:.03em;margin:4px 0 0;font-family:DM Mono,monospace;font-size:10px}.station-david .station-city{color:#fffdf98c}.detail-city{margin-top:5px}.station-glance-name,.station-glance-city{display:none}.status{color:#756878;align-items:center;gap:7px;margin:9px 0 0;font-size:13px;font-weight:500;display:flex}.status i{background:#3fb79d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #3fb79d21}.status-delayed i{background:#e2a542}.status-stale i,.status-offline i,.status-error i{background:#c46a6a}.status-unconfigured i{background:#a9a0a9}.condition-mark{color:#3c8f80;text-align:center;place-items:center;gap:3px;min-width:58px;display:grid}.condition-mark span{letter-spacing:.05em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:9px;font-weight:500}.temperature-row{align-items:end;margin:19px 0 0}.temperature{font-variant-numeric:tabular-nums;letter-spacing:-.08em;font-family:Fraunces,Georgia,serif;font-size:clamp(60px,9vw,82px);line-height:.78}.feels-like{color:#706373;margin:11px 0 12px;font-size:16px;font-weight:500}.daily-range{color:#756878;align-items:baseline;gap:12px;margin:0 0 18px;font-size:13px;display:flex}.daily-range span{letter-spacing:.06em;text-transform:uppercase;margin-right:1px;font-family:DM Mono,monospace;font-size:10px}.daily-range strong{color:inherit;font-size:15px}.station-david .daily-range{color:#fffdf9b8}.station-david .temperature-high{color:#ff9b9e!important}.station-david .temperature-low{color:#8ed4ff!important}.conditions-list{grid-template-columns:1fr 1fr;gap:16px 14px;margin:0;display:grid}.metric{grid-template-columns:21px minmax(0,1fr);align-items:start;gap:9px;display:grid}.metric-icon{color:#318e7c;place-items:center;padding-top:1px;display:grid}.conditions-list .metric-label{color:#675b6d;margin-bottom:4px;font-size:12px;font-weight:500;display:block}.conditions-list .metric-value{letter-spacing:-.04em;margin:0;font-size:19px;font-weight:700;line-height:1;display:block}.conditions-list small{letter-spacing:-.02em;font-size:11px;font-weight:600}.card-note{color:#827584;align-items:center;gap:7px;margin:0;font-size:12px;line-height:1.35;display:flex;position:absolute;bottom:17px;left:20px;right:20px}.card-note svg{color:#b27535;flex:none}.waiting-state{text-align:center;align-content:center;place-items:center;min-height:220px;display:grid}.waiting-state span{color:#b4a9b5;font-size:43px}.waiting-state p{color:#6b5e6e;width:min(205px,100%);margin:11px 0 3px;font-size:13px;line-height:1.5}.waiting-state small{color:#817482;font-size:10px}.skeleton{align-content:space-between;display:grid}.skeleton span{background:linear-gradient(100deg,#e8e5e5 20%,#f4f3f2 40%,#e8e5e5 60%) 0 0/200% 100%;border-radius:8px;animation:1.5s infinite shimmer;display:block}.skeleton span:first-child{width:48%;height:30px}.skeleton span:nth-child(2){width:60%;height:83px}.skeleton span:nth-child(3){width:100%;height:65px}.station-grid[data-view=glance]{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.station-grid[data-view=glance] .station-card{border-radius:18px;min-height:352px;padding:14px 10px}.station-grid[data-view=glance] .station-card:after,.station-grid[data-view=glance] .station-label,.station-grid[data-view=glance] .station-city,.station-grid[data-view=glance] .status,.station-grid[data-view=glance] .condition-mark span,.station-grid[data-view=glance] .metric-gust,.station-grid[data-view=glance] .card-note{display:none}.station-grid[data-view=glance] .card-heading{min-height:76px;display:block;position:relative}.station-grid[data-view=glance] .station-glance-name,.station-grid[data-view=glance] .station-glance-city{color:#756878;letter-spacing:.06em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;max-width:100%;margin:0;font-family:DM Mono,monospace;font-size:9px;font-weight:500;line-height:1.3;display:block;overflow:hidden}.station-grid[data-view=glance] .station-glance-city{color:#988d9a;letter-spacing:.03em;text-transform:none;white-space:normal;max-height:19px;margin-top:3px;font-size:8px;line-height:1.15}.station-grid[data-view=glance] .station-david .station-glance-name{color:#fffdf9bf}.station-grid[data-view=glance] .station-david .station-glance-city{color:#fffdf980}.station-grid[data-view=glance] .condition-mark{min-width:32px;position:absolute;top:37px;right:0}.station-grid[data-view=glance] .condition-mark svg{width:29px;height:29px}.station-grid[data-view=glance] .temperature-row{margin-top:8px}.station-grid[data-view=glance] .temperature{font-size:clamp(32px,4.1vw,48px)}.station-grid[data-view=glance] .feels-like{color:#756878;text-overflow:ellipsis;white-space:nowrap;margin:12px 0 0;font-size:10px;line-height:1.2;display:block;overflow:hidden}.station-grid[data-view=glance] .station-david .feels-like{color:#fffdf9a6}.station-grid[data-view=glance] .daily-range{gap:3px;margin:13px 0 0;font-size:9px;display:grid}.station-grid[data-view=glance] .daily-range span{display:none}.station-grid[data-view=glance] .daily-range strong{font-size:11px;line-height:1.1}.station-grid[data-view=glance] .conditions-list{grid-template-columns:1fr;gap:8px;margin:0;display:grid;position:absolute;bottom:16px;left:10px;right:10px}.station-grid[data-view=glance] .metric{grid-template-columns:16px minmax(0,1fr);gap:4px}.station-grid[data-view=glance] .metric-icon{padding-top:0}.station-grid[data-view=glance] .metric-icon svg{width:15px;height:15px}.station-grid[data-view=glance] .conditions-list dt{display:none}.station-grid[data-view=glance] .conditions-list dd{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:15px;overflow:hidden}.station-grid[data-view=glance] .metric-wind small{display:none}.station-grid[data-view=compact]{gap:12px}.station-grid[data-view=compact] .station-card{border-radius:21px;min-height:246px;padding:16px}.station-grid[data-view=compact] .station-card:after{width:112px;height:112px;bottom:-44px;right:-38px}.station-grid[data-view=compact] .station-city{margin-top:3px;font-size:9px}.station-grid[data-view=compact] .status{margin-top:6px;font-size:11px}.station-grid[data-view=compact] .status i{width:7px;height:7px;box-shadow:0 0 0 3px #3fb79d21}.station-grid[data-view=compact] .condition-mark{min-width:43px}.station-grid[data-view=compact] .condition-mark svg{width:27px;height:27px}.station-grid[data-view=compact] .condition-mark span,.station-grid[data-view=compact] .feels-like,.station-grid[data-view=compact] .metric-gust,.station-grid[data-view=compact] .metric-rain,.station-grid[data-view=compact] .card-note{display:none}.station-grid[data-view=compact] .temperature-row{margin-top:18px}.station-grid[data-view=compact] .temperature{font-size:clamp(50px,11vw,68px)}.station-grid[data-view=compact] .daily-range{gap:5px;margin:8px 0 15px;font-size:11px}.station-grid[data-view=compact] .daily-range span{display:none}.station-grid[data-view=compact] .daily-range strong{font-size:12px}.station-grid[data-view=compact] .conditions-list{gap:10px}.station-grid[data-view=compact] .metric{grid-template-columns:18px minmax(0,1fr);gap:5px}.station-grid[data-view=compact] .metric-icon svg{width:17px;height:17px}.station-grid[data-view=compact] .conditions-list dt{margin-bottom:2px;font-size:10px}.station-grid[data-view=compact] .conditions-list dd{font-size:15px}.station-grid[data-view=compact] .conditions-list small{font-size:9px}.station-grid[data-view=columns]{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;gap:14px;padding:1px 0 10px;display:flex;overflow-x:auto}.station-grid[data-view=columns] .station-card{scroll-snap-align:start;flex:1 1 0;min-width:220px;min-height:408px}.station-grid[data-view=columns] .conditions-list{gap:16px 10px}.station-grid[data-view=columns] .metric-gust,.station-grid[data-view=columns] .card-note{display:none}.insights{gap:10px;margin:14px 0 36px;display:grid}.insight{color:#326b60;background:#edf7f3;border:1px solid #dfe8e3;border-radius:18px;align-items:center;gap:11px;padding:16px 18px;display:flex}.insight span{color:#3ba68f;text-align:center;width:14px;font-size:18px}.insight p{margin:0;font-size:13px;font-weight:600}.error-banner{color:#894a4a;background:#fff3f3;border:1px solid #efcccc;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin:0 0 16px;padding:13px 16px;font-size:12px;display:flex}.error-banner button{color:inherit;background:0 0;border:0;font-weight:700;text-decoration:underline}.settings-scrim{z-index:50;opacity:0;pointer-events:none;background:#20142357;border:0;width:100%;transition:opacity .2s;position:fixed;inset:0}.settings-scrim.is-open{opacity:1;pointer-events:auto}.settings-drawer{z-index:60;width:min(480px,100%);height:100dvh;padding:max(24px, env(safe-area-inset-top)) 24px max(26px, env(safe-area-inset-bottom));visibility:hidden;background:#fffdf9;transition:transform .24s,visibility 0s linear .24s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-22px 0 54px #3020362e}.settings-drawer.is-open{visibility:visible;transition:transform .24s;transform:translate(0)}.settings-drawer-header{justify-content:space-between;align-items:start;gap:20px;display:flex}.settings-drawer h2{margin-top:3px;font-size:28px;line-height:1}.settings-drawer-header p:not(.eyebrow){color:#706373;max-width:300px;margin:9px 0 0;font-size:13px;line-height:1.5}.settings-header-actions{align-items:center;gap:8px;display:flex}.notification-state{color:#756878;text-transform:uppercase;background:#efedef;border-radius:999px;flex:none;padding:6px 9px;font-family:DM Mono,monospace;font-size:10px}.notification-state.enabled{color:#1b7061;background:#ddf4ed}.notification-state.needs-setup{color:#8b5a00;background:#fff1d5}.notification-callout{background:#f1eeef;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin:23px 0 0;padding:15px;display:flex}.notification-test{background:#edf7f3;border:1px solid #d9ebe5}.notification-callout p,.notification-message{color:#655867;margin:0;font-size:12px;line-height:1.5}.notification-callout button{color:#fffdf9;background:#302036;border:0;border-radius:10px;flex:none;min-height:38px;padding:0 13px;font-size:11px;font-weight:700}.notification-test button{background:#267c6c}.notification-callout button:disabled{opacity:.6}.notification-message{margin-top:15px}.preference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:21px;display:grid}.preference-grid fieldset{border:1px solid #e4dfe4;border-radius:16px;min-width:0;margin:0;padding:15px}.preference-grid legend{color:#4f3c52;padding:0 3px;font-family:Fraunces,Georgia,serif;font-size:15px}.alert-toggle{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;display:grid;position:relative}.alert-toggle+.alert-toggle{border-top:1px solid #eee9ec}.alert-toggle strong,.alert-toggle small{display:block}.alert-toggle strong{font-size:11px}.alert-toggle small{color:#897e8a;margin-top:2px;font-size:9px}.alert-toggle input{opacity:0;width:1px;height:1px;position:absolute}.alert-toggle i{background:#d8d2d9;border-radius:999px;width:33px;height:19px;transition:background .2s}.alert-toggle i:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;margin:3px;transition:transform .2s;display:block;box-shadow:0 1px 2px #00000021}.alert-toggle input:checked+i{background:#3ea990}.alert-toggle input:checked+i:after{transform:translate(14px)}.alert-toggle input:focus-visible+i{outline-offset:2px;outline:2px solid #302036}.preference-grid.is-disabled{opacity:.55}.notification-footnote{color:#8b7f8c;margin:18px 0 0;font-size:10px;line-height:1.5}.sky-alert-group{border-top:1px solid #eee9ec;margin-top:9px;padding-top:8px}.sky-alert-group summary{color:#4f3c52;cursor:pointer;justify-content:space-between;align-items:center;min-height:32px;font-size:11px;font-weight:700;list-style:none;display:flex}.sky-alert-group summary::-webkit-details-marker{display:none}.sky-alert-group summary:after{color:#897e8a;content:"⌄";order:-1;width:12px;margin-right:6px;font-size:14px;line-height:1;transition:transform .16s}.sky-alert-group[open] summary:after{transform:rotate(180deg)}.sky-alert-group summary small{color:#897e8a;margin-left:auto;font-size:9px;font-weight:500}.sky-alert-list{margin-top:4px}.sky-alert-list .alert-toggle+.alert-toggle{border-top:1px solid #eee9ec}.alert-toggle.is-unavailable{cursor:not-allowed}.alert-toggle.is-unavailable strong,.alert-toggle.is-unavailable small{color:#9a9099}.alert-toggle input:disabled+i{opacity:.55}.notification-footnote p{margin:0}.notification-footnote p+p{margin-top:8px}.details-scrim{z-index:70;background:#20142366;border:0;width:100%;position:fixed;inset:0}.station-details{z-index:80;width:min(780px,100%);padding:max(24px, env(safe-area-inset-top)) clamp(20px, 4vw, 38px) max(28px, env(safe-area-inset-bottom));color:#302036;background:#fffdf9;margin:auto;position:fixed;inset:0;overflow-y:auto}.details-header{justify-content:space-between;align-items:start;gap:18px;display:flex}.details-header h2{margin-top:4px;font-size:34px;line-height:1}.details-now{justify-content:space-between;align-items:end;margin:38px 0 28px;display:flex}.details-temperature{letter-spacing:-.09em;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(76px,16vw,120px);line-height:.72}.details-now p:not(.details-temperature){color:#706373;margin:14px 0 0;font-size:17px}.details-condition{color:#318e7c;place-items:center;gap:6px;display:grid}.details-condition span{letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:10px}.today-forecast,.hourly-forecast,.daily-forecast{margin-top:30px}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.section-heading>span{color:#817482;font-size:12px}.today-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:13px;display:grid}.today-metrics>div{border:1px solid #e8e2e6;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;column-gap:6px;min-height:67px;padding:11px;display:grid}.today-metrics>div:nth-child(-n+2){flex-direction:column;justify-content:center;align-items:start;display:flex}.today-metrics span{color:#756878;font-size:11px}.today-metrics svg{color:#318e7c}.today-metrics strong{letter-spacing:-.04em;grid-column:1/-1;margin-top:4px;font-size:17px;display:block}.today-metrics>div:nth-child(n+3) strong{grid-column:2;margin-top:0}.hourly-rail{scroll-snap-type:x mandatory;gap:10px;margin-top:13px;padding-bottom:6px;display:flex;overflow-x:auto}.hourly-card{scroll-snap-align:start;border:1px solid #e8e2e6;border-radius:14px;flex:0 0 82px;place-items:center;gap:9px;min-height:148px;padding:12px 7px;display:grid}.hourly-card p,.hourly-card small{text-align:center;margin:0}.hourly-card p{color:#756878;font-family:DM Mono,monospace;font-size:10px}.hourly-card svg{color:#318e7c}.hourly-card strong{letter-spacing:-.05em;font-size:21px}.hourly-card small{color:#817482;font-size:10px;line-height:1.25}.daily-list{margin-top:12px}.daily-row{border-bottom:1px solid #eee9ec;grid-template-columns:44px 28px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:52px;display:grid}.daily-row>span{font-size:13px;font-weight:700}.daily-row svg{color:#318e7c}.daily-row em{color:#756878;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-style:normal;overflow:hidden}.daily-row strong{font-size:15px}.daily-row strong small{color:#817482;font-size:14px;font-weight:600}.forecast-empty{color:#756878;background:#f4f0f2;border-radius:14px;margin:13px 0 0;padding:19px;font-size:13px}.tempest-link{color:#625164;margin:30px 0 0;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.tempest-link:hover{text-decoration:underline}.station-readings{margin-top:25px}.readings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.reading{background:#ffffff8c;border:1px solid #301e371a;border-radius:15px;gap:5px;min-height:74px;padding:12px 13px;display:grid}.reading span{color:#756878;align-items:center;gap:6px;font-size:.79rem;font-weight:700;display:flex}.reading span svg{color:#318e7c;flex:none}.reading strong{color:#302036;font-size:1rem}.alexa-preview-page{background:#e9f5ef;place-items:center;min-height:100vh;padding:32px;display:grid}.alexa-show-frame{color:#fffdf9;background:#302036;border-radius:34px;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(18px,2vh,28px);width:min(100%,1640px);min-height:min(1040px,100vh - 64px);padding:clamp(30px,3.5vw,56px) clamp(34px,4vw,64px) clamp(24px,2.7vw,44px);display:grid;overflow:hidden;box-shadow:0 28px 65px #3020363d}.alexa-show-header,.alexa-show-frame footer{justify-content:space-between;align-items:end;gap:24px;display:flex}.alexa-show-header p{color:#7ee5dc;letter-spacing:.12em;margin:0;font-family:DM Mono,monospace;font-size:clamp(14px,1.1vw,19px);font-weight:700}.alexa-show-header h1{color:#fffdf9;margin:7px 0 0;font-size:clamp(31px,4vw,58px);line-height:.95}.alexa-show-header>span,.alexa-show-frame footer{color:#cbbfce;font-size:clamp(14px,1.15vw,18px)}.alexa-station-card{background:#493650;border:1px solid #fffdf924;border-radius:clamp(22px,1.8vw,30px);min-height:0;padding:clamp(22px,2.2vw,38px);display:grid}.alexa-card-heading span{color:#7ee5dc;margin-top:8px;font-size:clamp(13px,1.05vw,18px);font-weight:700;display:inline-block}.alexa-card-heading span.delayed,.alexa-card-heading span.stale,.alexa-card-heading span.offline,.alexa-card-heading span.error{color:#f6bf76}.alexa-card-heading svg{color:#7ee5dc}.alexa-temperature{align-items:baseline;gap:14px;margin-top:8px;display:flex}.alexa-temperature strong{color:#fffdf9;letter-spacing:-.075em;font-family:Fraunces,Georgia,serif;font-size:clamp(52px,6vw,108px);line-height:.7}.alexa-temperature span{color:#d7cbd9;font-size:clamp(16px,1.35vw,24px);font-weight:600}.alexa-range{color:#d8cfd9;margin:14px 0 0;font-size:clamp(14px,1.15vw,20px)}.alexa-range b{color:#fffdf9;margin-left:8px}.alexa-metrics{color:#d8cfd9;flex-wrap:wrap;align-self:end;align-items:center;gap:11px 18px;font-size:clamp(13px,1.05vw,18px);font-weight:700;display:flex}.alexa-metrics span{align-items:center;gap:5px;display:inline-flex}.alexa-metrics svg{color:#7ee5dc}.alexa-show-frame footer{align-items:center;padding-top:1px;font-family:DM Mono,monospace;font-size:clamp(11px,.9vw,15px)}.alexa-show-frame footer span:last-child{color:#7ee5dc}footer{color:#817482;padding:6px 1px;font-family:DM Mono,monospace;font-size:10px}footer p{margin:0}footer a{color:#625164;text-decoration:none}footer a:hover{text-decoration:underline}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (width<=560px){.page-shell{padding-top:calc(76px + env(safe-area-inset-top) + var(--header-horizon-depth));padding-left:16px;padding-right:16px}.topbar{min-height:76px;padding-left:16px;padding-right:16px}.hero{margin-top:34px;display:block}.update-time{text-align:left;margin:18px 0 0}.station-grid,.preference-grid{grid-template-columns:1fr}.station-card{min-height:390px}.temperature{font-size:76px}.notification-callout{flex-direction:column;align-items:flex-start}.notification-callout button{width:100%}.today-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.station-details{width:100%}.daily-range{gap:9px}footer{flex-direction:column;align-items:flex-start;gap:9px}.alexa-preview-page{padding:0;display:block}.alexa-show-frame{border-radius:0;min-height:100vh;padding:25px 21px}.alexa-station-grid{grid-template-columns:1fr}.alexa-show-frame footer{flex-direction:column;align-items:flex-start}.station-grid[data-view=glance]{gap:4px}.station-grid[data-view=glance] .station-card{border-radius:15px;min-height:352px;padding:12px 8px}.station-grid[data-view=glance] .station-glance-name{font-size:8px}.station-grid[data-view=glance] .station-glance-city{font-size:7px}.station-grid[data-view=glance] .card-heading{min-height:75px}.station-grid[data-view=glance] .condition-mark{top:36px}.station-grid[data-view=glance] .condition-mark svg{width:27px;height:27px}.station-grid[data-view=glance] .temperature-row{margin-top:8px}.station-grid[data-view=glance] .temperature{font-size:clamp(28px,9.4vw,41px)}.station-grid[data-view=glance] .daily-range{margin-top:13px}.station-grid[data-view=glance] .daily-range strong{font-size:10px}.station-grid[data-view=glance] .feels-like{font-size:9px}.station-grid[data-view=glance] .conditions-list{gap:7px;bottom:15px;left:8px;right:8px}.station-grid[data-view=glance] .conditions-list dd{font-size:12px}.station-grid[data-view=compact]{grid-template-columns:repeat(2,minmax(0,1fr))}.station-grid[data-view=compact] .station-card{min-height:246px}.station-grid[data-view=columns]{margin-right:-16px;padding-right:16px;display:flex}.station-grid[data-view=columns] .station-card{flex-basis:min(79vw,300px);min-width:min(79vw,300px);min-height:398px}.view-mode-row{margin-bottom:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.alexa-preview-page{background:radial-gradient(circle at 16% 8%,#7ee5dc3d,#0000 30rem),#e5f1ec;min-height:100vh;padding:clamp(22px,3vw,52px)}.alexa-show-frame{color:#fffdf9;background:#302036;border:1px solid #fff3;border-radius:34px;grid-template-rows:auto auto minmax(0,1fr) auto;gap:clamp(11px,1.5vh,22px);width:min(100%,1640px);min-height:min(1040px,100vh - 44px);padding:clamp(26px,3.4vw,58px);display:grid;overflow:hidden;box-shadow:0 30px 72px #3020363b}.alexa-show-header{justify-content:space-between;align-items:center;gap:24px;display:flex}.alexa-show-header p,.alexa-detail-header>div>p{color:#7ee5dc;letter-spacing:.13em;margin:0;font-family:DM Mono,monospace;font-size:clamp(13px,1.05vw,19px);font-weight:700}.alexa-show-header>span{color:#cbbfce;letter-spacing:.06em;font-family:DM Mono,monospace;font-size:clamp(10px,.8vw,15px);font-weight:700}.alexa-show-title{color:#fffdf9;letter-spacing:-.045em;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(31px,4vw,58px);font-weight:600;line-height:.98}.alexa-station-grid{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(13px,1.35vw,24px);min-height:0;display:grid}.alexa-station-card{cursor:pointer;background:#493650;border:1px solid #806786;border-radius:clamp(17px,1.7vw,30px);grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:clamp(5px,.7vw,11px);min-height:0;padding:clamp(16px,2vw,36px);transition:border-color .18s,background .18s,transform .18s;display:grid;overflow:hidden}.alexa-station-card:hover,.alexa-station-card:focus-visible{background:#513c58;border-color:#7ee5dc;outline:0;transform:translateY(-2px)}.alexa-card-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.alexa-card-heading p{color:#fffdf9;letter-spacing:.06em;text-transform:uppercase;margin:0;font-family:DM Mono,monospace;font-size:clamp(12px,1.04vw,19px);font-weight:700}.alexa-card-heading small{color:#cbbfce;margin-top:4px;font-family:DM Mono,monospace;font-size:clamp(10px,.78vw,14px);display:block}.alexa-condition-icon{color:#7ee5dc;background:#39283f;border-radius:50%;flex:none;place-items:center;width:clamp(34px,3.7vw,64px);height:clamp(34px,3.7vw,64px);display:grid}.alexa-condition-icon svg{color:#7ee5dc;width:67%;height:67%}.alexa-temperature{justify-content:space-between;align-items:end;gap:12px;min-height:0;display:flex}.alexa-temperature>strong{color:#fffdf9;letter-spacing:-.11em;margin:0;font-family:DM Mono,monospace;font-size:clamp(48px,6.1vw,108px);font-weight:500;line-height:.88}.alexa-temperature>div{text-align:right;gap:5px;padding-bottom:clamp(3px,.7vw,13px);display:grid}.alexa-temperature em{color:#7ee5dc;letter-spacing:.07em;font-family:DM Mono,monospace;font-size:clamp(8px,.78vw,14px);font-style:normal;font-weight:700}.alexa-temperature span{color:#e6dce7;white-space:nowrap;font-size:clamp(11px,1.15vw,21px);font-weight:700}.alexa-range,.alexa-detail-range{flex-wrap:wrap;align-items:baseline;gap:clamp(5px,.65vw,12px);margin:0;font-family:DM Mono,monospace;display:flex}.alexa-range>span,.alexa-detail-range>span{color:#cbbfce;letter-spacing:.06em;font-size:clamp(8px,.72vw,14px);font-weight:700}.alexa-range b,.alexa-detail-range b{margin:0;font-size:clamp(12px,1.26vw,24px)}.alexa-metrics{color:#fffdf9;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:clamp(6px,.85vw,15px);display:grid}.alexa-metric{align-items:center;gap:clamp(4px,.55vw,10px);min-width:0;display:flex}.alexa-metric>span{color:#7ee5dc;flex:none;place-items:center;display:grid}.alexa-metric>span svg{width:clamp(16px,1.5vw,28px);height:clamp(16px,1.5vw,28px)}.alexa-metric>div{min-width:0}.alexa-metric small,.alexa-metric strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.alexa-metric small{color:#cbbfce;letter-spacing:.045em;font-family:DM Mono,monospace;font-size:clamp(7px,.58vw,11px);font-weight:700}.alexa-metric strong{color:#fffdf9;margin-top:2px;font-size:clamp(11px,1.04vw,20px);line-height:1.1}.alexa-lightning{color:#cbbfce;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;margin:0;font-size:clamp(9px,.82vw,16px);display:flex;overflow:hidden}.alexa-lightning svg{color:#f8bd70;flex:none}.alexa-show-footer{color:#cbbfce;margin:0;font-family:Bookerly,Georgia,serif;font-size:clamp(11px,.9vw,17px);font-style:italic}.alexa-detail-header{justify-content:space-between;align-items:center;gap:22px;display:flex}.alexa-detail-header h1{color:#fffdf9;margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(29px,3.7vw,54px);font-weight:600;line-height:.98}.alexa-detail-header button{color:#302036;letter-spacing:.06em;text-transform:uppercase;background:#7ee5dc;border:0;border-radius:999px;min-width:102px;min-height:48px;padding:0 17px;font-family:DM Mono,monospace;font-size:clamp(10px,.8vw,15px);font-weight:700}.alexa-detail-header button:hover,.alexa-detail-header button:focus-visible{background:#b1f5ed;outline:0}.alexa-detail-hero{background:#493650;border:1px solid #806786;border-radius:clamp(17px,1.8vw,32px);justify-content:space-between;align-items:center;min-height:0;padding:clamp(16px,2.2vw,38px);display:flex}.alexa-detail-hero small,.alexa-detail-hero strong,.alexa-detail-hero span{display:block}.alexa-detail-hero small{color:#cbbfce;font-family:DM Mono,monospace;font-size:clamp(11px,.9vw,17px)}.alexa-detail-hero strong{color:#fffdf9;letter-spacing:-.12em;margin-top:2px;font-family:DM Mono,monospace;font-size:clamp(73px,10.4vw,148px);font-weight:500;line-height:.86}.alexa-detail-hero span{color:#7ee5dc;margin-top:8px;font-size:clamp(14px,1.45vw,27px);font-weight:700}.alexa-detail-condition{color:#7ee5dc;text-align:center;justify-items:center;gap:8px;display:grid}.alexa-detail-condition em{letter-spacing:.07em;font-family:DM Mono,monospace;font-size:clamp(9px,.8vw,16px);font-style:normal;font-weight:700}.alexa-detail-range{margin:0}.alexa-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(9px,1vw,18px);display:grid}.alexa-detail-metrics .alexa-metric{background:#493650;border:1px solid #725b77;border-radius:clamp(11px,1.1vw,20px);min-height:clamp(59px,6vw,101px);padding:clamp(9px,1vw,17px)}.alexa-detail-metrics .alexa-metric>span svg{width:clamp(21px,2.2vw,40px);height:clamp(21px,2.2vw,40px)}.alexa-detail-footer{color:#cbbfce;justify-content:space-between;align-items:center;gap:18px;margin:0;font-size:clamp(10px,.95vw,18px);display:flex}.alexa-detail-footer span{align-items:center;gap:7px;display:inline-flex}.alexa-detail-footer svg{color:#f8bd70}.alexa-show-frame.is-detail{grid-template-rows:auto clamp(178px,28vh,292px) auto auto auto}@media (width<=760px){.alexa-preview-page{padding:0}.alexa-show-frame{border:0;border-radius:0;min-height:100vh;padding:24px 20px}.alexa-station-grid{grid-template-rows:none;grid-template-columns:1fr}.alexa-station-card{min-height:220px}.alexa-detail-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.alexa-detail-footer{flex-direction:column;align-items:flex-start;gap:8px}}.home-signals{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:15px;display:flex}.home-signal{color:#59455e;letter-spacing:.01em;white-space:nowrap;background:#fffdf9b8;border:1px solid #3d30431f;border-radius:999px;justify-content:center;align-items:center;gap:5px;max-width:100%;min-height:27px;padding:0 8px;font-family:DM Mono,monospace;font-size:9px;font-weight:500;line-height:1.2;display:inline-flex}.home-signal-icon{color:#397e72;flex:none;place-items:center;width:15px;display:inline-grid}.home-signal-icon svg{max-width:35px;display:block}.signal-alert{color:#91451f;background:#fff3e9;border-color:#b04f293d}.signal-alert .home-signal-icon{color:#b25325}.signal-wildfire{color:#933d30;background:#fff0eb;border-color:#b1483238}.signal-wildfire .home-signal-icon{color:#b54b38}.signal-aurora{color:#216e60;background:#edf8f4;border-color:#2d806e33}.signal-aurora .home-signal-icon{color:#2b8d78}.signal-iss{color:#48586e;background:#f0f3f7;border-color:#4858712e}.signal-iss .home-signal-icon{color:#586a85}.signal-moon{color:#625274;background:#f4f1fb;border-color:#60528133}.signal-moon .home-signal-icon{color:#6d5c9b}.signal-eclipse{color:#8b5730;background:#fff4e8;border-color:#885b3036}.signal-eclipse .home-signal-icon{color:#a66a37}.station-david .home-signal{color:#fff5ed;background:#fffdf91a;border-color:#fffdf938}.station-david .signal-alert{color:#ffd0b4}.station-david .signal-wildfire{color:#ffc0b7}.station-david .signal-aurora{color:#9de9db}.station-david .signal-iss{color:#d7e2ff}.station-david .signal-moon{color:#ddd0ff}.station-david .signal-eclipse{color:#ffcf9f}.station-grid[data-view=glance] .home-signals{display:none}.station-grid[data-view=compact] .home-signals{gap:4px;margin-top:11px}.station-grid[data-view=compact] .home-signal{min-height:23px;padding:0 6px;font-size:7.5px}.station-grid[data-view=compact] .home-signal-icon{width:12px}.station-grid[data-view=columns] .home-signals{margin-top:18px}.hero{align-items:initial;grid-template-rows:minmax(0,0fr);margin:0;transition:grid-template-rows .42s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden}.hero.is-visible{grid-template-rows:minmax(0,1fr)}.hero-content{opacity:0;min-height:0;padding:30px 0 18px;transition:opacity .24s,transform .42s cubic-bezier(.16,1,.3,1);transform:translateY(-8px)}.hero.is-visible .hero-content{opacity:1;transform:translateY(0)}.station-card{min-height:390px}.conditions-list{row-gap:15px}.metric-lightning{grid-column:1/-1}.station-grid[data-view=glance] .metric-lightning{grid-column:auto}.station-grid[data-view=glance] .conditions-list{gap:7px}.station-grid[data-view=glance] .station-glance-name{text-overflow:clip;white-space:normal;word-break:normal;min-height:21px;line-height:1.15;overflow:visible}.station-grid[data-view=compact] .conditions-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 6px}.station-grid[data-view=compact] .metric-rain,.station-grid[data-view=compact] .metric-lightning,.station-grid[data-view=compact] .metric-uv{display:grid}.station-grid[data-view=compact] .metric-lightning{grid-column:auto}.station-grid[data-view=compact] .conditions-list dt{display:none}.station-grid[data-view=compact] .conditions-list dd{font-size:14px;line-height:1.1}.station-grid[data-view=compact] .conditions-list small{display:none}.today-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-story-grid>div{min-height:71px}.today-story-grid>div:nth-child(-n+2){display:flex}.today-story-grid>div:nth-child(n+3) strong{grid-column:2}.station-history{margin-top:31px}.history-controls,.history-metric-control{scrollbar-width:none;gap:7px;margin-top:13px;display:flex;overflow-x:auto}.history-controls::-webkit-scrollbar{display:none}.history-metric-control::-webkit-scrollbar{display:none}.history-controls button,.history-metric-control button{color:#756878;background:#f7f3f5;border:1px solid #e2dce2;border-radius:999px;flex:none;min-height:35px;padding:0 12px;font-size:11px;font-weight:700;transition:color .16s,border-color .16s,background .16s}.history-metric-control{margin-top:9px}.history-metric-control button{color:#817482;background:0 0;min-height:32px;padding:0 10px;font-size:10px}.history-controls button.is-selected,.history-metric-control button.is-selected{color:#fffdf9;background:#302036;border-color:#302036}.history-description{color:#756878;margin:15px 0 0;font-size:12px}.history-chart{background:#fbf8f8;border:1px solid #e8e2e6;border-radius:17px;margin-top:12px;padding:10px 11px 0;position:relative}.history-chart svg{width:100%;height:148px;display:block;overflow:visible}.history-chart line{stroke:#e9e1e7;stroke-width:1px}.history-chart-fill{fill:#3ea99021;stroke:none}.history-chart-line{fill:none;stroke:#318e7c;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.history-chart-scale{color:#817482;justify-content:space-between;gap:10px;font-family:DM Mono,monospace;font-size:9px;display:flex}.history-chart-empty{color:#756878;background:#f4f0f2;border-radius:14px;margin:13px 0 0;padding:17px;font-size:12px}.history-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.history-summary>div{background:#f4f0f2;border-radius:13px;min-width:0;padding:10px}.history-summary span,.history-summary strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.history-summary span{color:#817482;font-size:10px}.history-summary strong{color:#302036;letter-spacing:-.035em;margin-top:4px;font-size:14px}.history-error{color:#894a4a;background:#fff3f3}.tempest-link{color:#fffdf9;background:#302036;border:1px solid #38253d;border-radius:16px;justify-content:space-between;align-items:center;width:100%;min-height:54px;margin:34px 0 2px;padding:0 17px;font-size:13px;font-weight:700;text-decoration:none;transition:background .16s,transform .16s;display:flex;box-shadow:0 8px 18px #30203621}.tempest-link:hover{background:#45304a;text-decoration:none;transform:translateY(-1px)}.tempest-link:focus-visible{outline-offset:3px;outline:3px solid #3ea990}.app-footer{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:3px;margin:30px 0 0;padding:8px 0 2px;display:flex}.app-footer p{max-width:100%;margin:0;line-height:1.5}.app-freshness,.app-sources{color:#817482;font-family:DM Mono,monospace;font-size:9px}.app-sources summary{cursor:pointer;align-items:center;gap:4px;list-style:none;display:inline-flex}.app-sources summary::-webkit-details-marker{display:none}.app-sources summary:after{content:"+";color:#2e8576;font-size:12px;line-height:1}.app-sources[open] summary:after{content:"−"}.app-sources>p{margin-top:3px}.station-grid[data-view=glance] .station-glance-name{letter-spacing:.025em}.station-grid[data-view=glance] .station-glance-city{margin-top:4px}.station-grid[data-view=glance] .conditions-list dd{text-overflow:clip}.station-grid[data-view=glance] .metric-gust{display:grid}.station-grid[data-view=glance] .metric-wind small,.station-grid[data-view=glance] .metric-rain small{display:none}.station-grid[data-view=glance] .metric-gust small{display:inline}.station-grid[data-view=compact] .metric-gust,.station-grid[data-view=columns] .metric-gust{display:grid}.insights{gap:8px;margin:12px 0 24px}.insight{border-radius:16px;min-height:52px;padding:11px 15px}.insight p{font-size:12px;line-height:1.35}.insight span{font-size:17px}.station-grid[data-view=glance] .conditions-list .metric-label{display:none}.station-grid[data-view=glance] .conditions-list .metric-value{text-overflow:clip;white-space:nowrap;font-size:13px;line-height:15px;overflow:hidden}.station-grid[data-view=glance] .station-card{flex-direction:column;justify-content:flex-start;min-height:405px;display:flex}.station-grid[data-view=glance] .station-glance-name,.station-grid[data-view=glance] .station-glance-city,.station-grid[data-view=glance] .feels-like{color:#66586b}.station-grid[data-view=compact] .conditions-list .metric-label{display:none}.station-grid[data-view=compact] .conditions-list .metric-value{font-size:14px;line-height:1.1}.station-city,.detail-city{color:#6e6172}.condition-mark span{color:#247766}.temperature-high{color:#a44048!important}.temperature-low{color:#286f9e!important}.card-note{color:#675b6d}.station-mom .station-label,.station-mom .status,.station-zach .station-label,.station-zach .status{color:#625567}@media (width<=560px){.hero{display:grid}.hero-content{padding-top:27px;padding-bottom:17px}.station-card,.station-grid[data-view=glance] .station-card{min-height:405px}.station-grid[data-view=glance] .station-glance-name{letter-spacing:0;min-height:22px;font-size:8px}.station-grid[data-view=compact] .station-card{min-height:278px}.station-grid[data-view=columns] .station-card{min-height:454px}.today-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.today-story-grid>div{min-height:68px}.history-summary>div{padding:9px 8px}.app-footer{align-items:center;gap:5px;margin-top:23px;padding-top:5px}}.station-grid[data-view=columns] .card-note{display:none}.station-grid[data-view=columns] .station-card{flex-direction:column;justify-content:flex-start;display:flex}.station-grid[data-view=columns] .conditions-list{row-gap:14px}.station-grid[data-view=columns] .metric-wind small{display:inline}.station-grid[data-view=compact] .station-label{max-width:calc(100% - 48px);line-height:1.25}.metric-aqi .metric-icon{color:currentColor}.metric-aqi.aqi-good{color:#26763e}.metric-aqi.aqi-moderate{color:#9b6500}.metric-aqi.aqi-sensitive{color:#b95111}.metric-aqi.aqi-unhealthy{color:#b43b43}.metric-aqi.aqi-very-unhealthy{color:#75307c}.metric-aqi.aqi-hazardous{color:#741a38}.metric-aqi.aqi-unavailable{color:#786d7c}.metric-aqi .metric-value{color:currentColor}.metric-aqi .metric-value small{color:currentColor;opacity:.86}.metric-aqi .metric-value:before{content:"AQI ";letter-spacing:.015em;font-family:DM Mono,monospace;font-size:10px;font-weight:700}.station-david .metric-aqi.aqi-good{color:#8cddb1}.station-david .metric-aqi.aqi-moderate{color:#ffd36b}.station-david .metric-aqi.aqi-sensitive{color:#ffb46e}.station-david .metric-aqi.aqi-unhealthy{color:#ff9b9e}.station-david .metric-aqi.aqi-very-unhealthy{color:#dba8e2}.station-david .metric-aqi.aqi-hazardous{color:#ef9aaf}.station-david .metric-aqi.aqi-unavailable{color:#d8cfd9}.station-grid[data-view=glance] .station-card{min-height:432px}.station-grid[data-view=glance] .metric-gust,.station-grid[data-view=glance] .metric-uv{display:none}.station-grid[data-view=glance] .metric-aqi{display:grid}.station-grid[data-view=glance] .metric-aqi .metric-value:before{content:""}.station-grid[data-view=glance] .metric-aqi .metric-value small{display:none}.station-grid[data-view=compact] .station-card{min-height:304px}.station-grid[data-view=compact] .metric-gust{display:none}.station-grid[data-view=compact] .metric-aqi{display:grid}.station-grid[data-view=columns] .metric-aqi{display:grid}.station-grid[data-view=columns] .metric-aqi .metric-value small{white-space:nowrap;font-size:10px}.air-quality-panel{background:#eff8f3;border:1px solid #dbe7e0;border-radius:18px;margin:0 0 29px;padding:16px 17px}.air-quality-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.air-quality-icon{color:#26763e;background:#26763e1f;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.air-quality-heading .eyebrow{margin:0}.air-quality-heading p:not(.eyebrow){color:#625969;margin:3px 0 0;font-size:12px;line-height:1.25}.air-quality-heading strong{color:#26763e;letter-spacing:-.06em;font-family:Fraunces,Georgia,serif;font-size:35px;line-height:.85}.air-quality-category{color:#26763e;letter-spacing:-.03em;margin:13px 0 0;font-size:17px;font-weight:800}.air-quality-detail,.air-quality-note{color:#625969;margin:6px 0 0;font-size:12px;line-height:1.48}.air-quality-note{color:#7c7180;font-size:10px}.air-quality-panel.aqi-moderate{background:#fff9e7;border-color:#f0dc99}.air-quality-panel.aqi-moderate .air-quality-icon{color:#9b6500;background:#9b65001f}.air-quality-panel.aqi-moderate .air-quality-heading strong,.air-quality-panel.aqi-moderate .air-quality-category{color:#8b5a00}.air-quality-panel.aqi-sensitive{background:#fff2e8;border-color:#f4c9a7}.air-quality-panel.aqi-sensitive .air-quality-icon{color:#b95111;background:#b951111f}.air-quality-panel.aqi-sensitive .air-quality-heading strong,.air-quality-panel.aqi-sensitive .air-quality-category{color:#ad4708}.air-quality-panel.aqi-unhealthy{background:#fff0f0;border-color:#efc4c4}.air-quality-panel.aqi-unhealthy .air-quality-icon{color:#b43b43;background:#b43b431c}.air-quality-panel.aqi-unhealthy .air-quality-heading strong,.air-quality-panel.aqi-unhealthy .air-quality-category{color:#ab3038}.air-quality-panel.aqi-very-unhealthy{background:#faf0fb;border-color:#dfc5e1}.air-quality-panel.aqi-very-unhealthy .air-quality-icon{color:#75307c;background:#75307c1c}.air-quality-panel.aqi-very-unhealthy .air-quality-heading strong,.air-quality-panel.aqi-very-unhealthy .air-quality-category{color:#6c2073}.air-quality-panel.aqi-hazardous{background:#fff0f4;border-color:#e7c4cf}.air-quality-panel.aqi-hazardous .air-quality-icon{color:#741a38;background:#741a381c}.air-quality-panel.aqi-hazardous .air-quality-heading strong,.air-quality-panel.aqi-hazardous .air-quality-category{color:#68122e}.air-quality-panel.aqi-unavailable{background:#f7f3f5;border-color:#e5dfe5}.air-quality-panel.aqi-unavailable .air-quality-icon{color:#756878;background:#ece5ea}@media (width<=560px){.station-grid[data-view=glance] .station-card{min-height:432px}.station-grid[data-view=compact] .station-card{min-height:304px}.station-grid[data-view=columns] .station-card{min-height:492px}.air-quality-panel{padding:15px}.air-quality-detail{font-size:11px}}.family-context{background:#fffdf9c7;border:1px solid #e0dce3;border-radius:24px;margin:0 0 29px;padding:clamp(17px,3vw,26px);box-shadow:0 14px 34px #3626390b}.family-context-heading,.tonight-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.family-context-heading h2{max-width:630px;margin-top:4px;font-size:clamp(24px,3vw,32px);line-height:1.02}.family-context-heading>span,.tonight-heading>span{color:#817482;text-align:right;flex:none;padding-bottom:3px;font-family:DM Mono,monospace;font-size:9px;line-height:1.45}.family-watch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.family-watch-card{background:#f8f5f6;border:1px solid #e5e0e5;border-radius:17px;grid-template-columns:auto minmax(0,1fr);gap:11px;min-height:127px;padding:15px;display:grid}.family-watch-card.has-warning{background:#fff4e9;border-color:#efc9ae}.family-watch-card.has-wildfire{background:#fff1eb;border-color:#efc8b5}.watch-icon,.tonight-icon{color:#5d5262;background:#ebe6eb;border-radius:13px;flex:none;place-items:center;width:39px;height:39px;display:grid}.warning-watch.has-warning .watch-icon{color:#a64a1c;background:#d0692721}.wildfire-watch.has-wildfire .watch-icon{color:#ad4731;background:#c1492d1f}.family-watch-card .eyebrow{margin:1px 0 0}.family-watch-card h3{color:#382d3e;letter-spacing:-.035em;margin:5px 0 0;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:600;line-height:1.1}.family-watch-card p:not(.eyebrow){color:#675b6c;margin:7px 0 0;font-size:11px;line-height:1.45}.family-watch-card small{color:#8b634e;margin-top:6px;font-family:DM Mono,monospace;font-size:9px;line-height:1.35;display:block}.radar-row{background:#f1f7f7;border:1px solid #dfe5e6;border-radius:17px;justify-content:space-between;align-items:center;gap:16px;margin-top:10px;padding:12px 13px 12px 15px;display:flex}.radar-row>div:first-child{color:#247766;align-items:center;gap:10px;display:flex}.radar-row .eyebrow{color:#3e7772}.radar-row p:not(.eyebrow){color:#54706f;margin:3px 0 0;font-size:11px;line-height:1.35}.radar-home-buttons{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:5px;display:flex}.radar-home-buttons button{color:#28766a;background:#fffdf9;border:1px solid #b9d6d0;border-radius:999px;min-height:31px;padding:0 10px;font-size:10px;font-weight:800;transition:border-color .16s,background .16s,transform .16s}.radar-home-buttons button:hover{background:#e0f3ed;border-color:#318e7c}.radar-home-buttons button:active{transform:scale(.96)}.tonight-heading h3{color:#382d3e;letter-spacing:-.04em;margin:4px 0 0;font-family:Fraunces,Georgia,serif;font-size:22px;line-height:1.05}.tonight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:15px;display:grid}.tonight-grid article{background:#fbf9f8;border:1px solid #e8e2e7;border-radius:16px;min-width:0;padding:13px}.tonight-icon{color:#45566b;background:#eaf0f3;width:35px;height:35px;margin-bottom:12px}.tonight-icon.aurora-mark{color:#277e6d;background:#e7f5f0;font-family:Georgia,serif;font-size:23px}.tonight-grid h4{color:#3d3043;letter-spacing:-.03em;min-height:35px;margin:5px 0 0;font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:600;line-height:1.08}.tonight-grid p:not(.eyebrow){color:#716675;margin:7px 0 0;font-size:10px;line-height:1.48}.context-disclaimer{color:#8a7e8b;margin:13px 0 0;font-size:9px;line-height:1.4}.context-skeleton{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:156px;display:grid}.context-skeleton span{background:linear-gradient(100deg,#eee9eb 20%,#f8f5f6 38%,#eee9eb 56%) 0 0/220% 100%;border-radius:17px;min-height:102px;animation:1.25s linear infinite loading}.context-unavailable{color:#675b6c;font-size:12px;line-height:1.45}.context-unavailable p:last-child{margin:7px 0 0}.radar-panel{z-index:80;width:min(860px,100%);padding:max(24px, env(safe-area-inset-top)) clamp(20px, 4vw, 38px) max(28px, env(safe-area-inset-bottom));color:#302036;background:#fffdf9;margin:auto;position:fixed;inset:0;overflow-y:auto}.radar-panel h2{margin-top:5px;font-size:34px;line-height:1}.radar-panel .detail-city{margin:7px 0 0}.radar-map-wrap{isolation:isolate;background:#e9f0ec;border:1px solid #bfd3d3;border-radius:20px;place-items:center;min-height:min(58vw,510px);margin-top:28px;display:grid;position:relative;overflow:hidden}.radar-base-map,.radar-satellite,.radar-echoes{width:100%;height:auto;display:block}.radar-base-map{z-index:1;position:relative}.radar-satellite{z-index:2;object-fit:cover;opacity:.42;filter:grayscale()contrast(1.08);pointer-events:none;height:100%;transition:opacity .22s;position:absolute;inset:0}.radar-satellite.is-hidden{opacity:0}.radar-satellite.is-visible{opacity:.42}.radar-echoes{z-index:3;object-fit:cover;height:100%;position:absolute;inset:0}.radar-map-status{z-index:4;color:#5c6665;text-align:center;background:#fffdf9eb;border-radius:12px;width:min(280px,100% - 32px);margin:0;padding:11px 13px;font-size:12px;line-height:1.4;position:relative}.radar-location-marker{z-index:4;color:#fffdf9;letter-spacing:.025em;pointer-events:none;background:#264946e0;border:1px solid #fffdf9e0;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;font-family:DM Mono,monospace;font-size:8px;font-weight:700;line-height:1.2;display:inline-flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #162d2b42}.radar-location-marker i{background:#38ba9f;border:2px solid #e9fbf4;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 0 3px #38ba9f3d}.radar-layer-control{z-index:5;background:#262e32c2;border:1px solid #fffdf980;border-radius:999px;padding:3px;display:inline-flex;position:absolute;top:10px;left:10px;box-shadow:0 2px 10px #20272b2e}.radar-layer-control button{color:#ffffffeb;letter-spacing:.025em;background:0 0;border:0;border-radius:999px;min-height:25px;padding:0 9px;font-family:DM Mono,monospace;font-size:8px;font-weight:700}.radar-layer-control button.is-active{color:#315e59;background:#fffdf9}.radar-layer-control button:disabled{opacity:.48}.radar-layer-control button:focus-visible{outline-offset:2px;outline:2px solid #fffdf9}.radar-satellite-status{z-index:6;position:absolute;top:48px}.radar-echoes-status{z-index:6;position:absolute;top:90px}.radar-map-label{z-index:7;flex-wrap:wrap;justify-content:flex-end;gap:5px 9px;max-width:calc(100% - 22px);display:flex;position:absolute;bottom:11px;right:11px}.radar-map-label span{color:#416e6b;background:#fffdf9eb;border:1px solid #45676f29;border-radius:999px;padding:5px 7px;font-family:DM Mono,monospace;font-size:8px;font-weight:700;line-height:1.2}.radar-map-label span:first-child{color:#277c72}.radar-panel-note{color:#386f6b;background:#f0f6f6;border-radius:15px;gap:10px;margin-top:14px;padding:13px 14px;display:flex}.radar-panel-note svg{flex:none;margin-top:1px}.radar-panel-note p{margin:0;font-size:12px;line-height:1.5}@media (width<=720px){.tonight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tonight-grid h4{min-height:0}.family-context-heading{flex-direction:column;align-items:start;gap:8px}.family-context-heading>span{text-align:left;padding:0}}@media (width<=560px){.family-context{border-radius:20px;margin-bottom:23px;padding:17px 14px}.family-context-heading h2{font-size:25px}.family-watch-grid{grid-template-columns:1fr;gap:8px;margin-top:15px}.family-watch-card{min-height:0;padding:13px}.radar-row{flex-direction:column;align-items:start;gap:10px}.radar-home-buttons{justify-content:flex-start}.tonight-context{margin-top:16px;padding-top:17px}.tonight-heading{flex-direction:column;align-items:start;gap:6px}.tonight-heading>span{text-align:left;padding:0}.tonight-grid{gap:7px;margin-top:12px}.tonight-grid article{padding:11px}.tonight-grid h4{font-size:15px}.tonight-grid p:not(.eyebrow){font-size:9.5px}.radar-panel{width:100%}.radar-map-wrap{min-height:52vw;margin-top:24px}.radar-panel-note p{font-size:11px}}.station-grid[data-view=compact] .station-card.has-home-signals{min-height:323px}.family-context{box-shadow:none;background:0 0;border:0;border-radius:0;margin:0 0 34px;padding:0}.family-context-heading{border-top:1px solid #ddd6dd;align-items:end;gap:24px;padding:2px 0 17px}.family-context-heading>div{padding-top:19px}.family-context-heading h2{color:#382d3e;max-width:none;margin-top:4px;font-size:clamp(22px,2.7vw,29px);line-height:1.02}.family-context-heading>span{color:#817482;text-align:right;padding-bottom:3px;font-size:9px}.family-context-intro{color:#716675;max-width:48ch;margin:8px 0 0;font-size:12px;line-height:1.42}.family-watch-grid{gap:10px;margin-top:0}.family-watch-grid[data-watch-count="1"]{grid-template-columns:minmax(0,1fr)}.family-watch-card{border-radius:18px;grid-template-columns:43px minmax(0,1fr);gap:13px;min-height:0;padding:15px 16px}.watch-icon{border-radius:14px;width:43px;height:43px}.family-watch-card h3{margin-top:4px;font-size:18px;line-height:1.12}.family-watch-card p:not(.eyebrow){max-width:72ch;margin-top:6px;font-size:11px;line-height:1.45}.radar-row{background:0 0;border:1px solid #dce4e3;border-width:1px 0;border-radius:0;align-items:center;margin-top:20px;padding:14px 0}.radar-row>div:first-child{gap:11px}.radar-row>div:first-child>svg{width:24px;height:24px}.radar-row p:not(.eyebrow){max-width:54ch;font-size:11px}.radar-home-buttons{gap:6px}.radar-home-buttons button{min-height:32px;padding:0 11px}.tonight-context{border-top:0;margin-top:28px;padding-top:0}.tonight-heading{align-items:end;gap:22px}.tonight-heading h3{margin-top:4px;font-size:23px;line-height:1.04}.tonight-heading>span{padding-bottom:3px;font-size:9px}.tonight-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:16px}.tonight-grid article{background:#fbf9f9;border-color:#e6dfe5;border-radius:18px;min-height:184px;padding:14px 15px 15px}.tonight-grid article.sky-card{display:block}.sky-art{color:#52677d;align-items:center;width:100%;height:47px;margin:-1px 0 8px;display:flex;overflow:hidden}.sky-art svg{max-width:100%;height:auto;display:block}.sky-card-aurora .sky-art{color:#2e8b77}.moon-art{color:#65778c}.sky-card-iss .sky-art{color:#596a85}.sky-card-meteor .sky-art{color:#a45c39}.tonight-grid .eyebrow{letter-spacing:.11em;font-size:9px}.tonight-grid h4{color:#3b3041;min-height:0;margin-top:5px;font-size:17px;line-height:1.1}.tonight-grid p:not(.eyebrow){color:#6e6373;margin-top:8px;font-size:10.5px;line-height:1.48}.context-disclaimer{color:#8a7e8b;max-width:70ch;margin-top:13px;font-size:9px}@media (width<=720px){.family-context-heading,.tonight-heading{flex-direction:column;align-items:start;gap:7px}.family-context-heading>span,.tonight-heading>span{text-align:left;padding:0}.family-context-heading>div{padding-top:17px}.radar-row{flex-direction:column;align-items:start;gap:11px}.radar-home-buttons{justify-content:flex-start}.tonight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.station-grid[data-view=compact] .station-card.has-home-signals{min-height:319px}.family-context{margin-bottom:27px}.family-context-heading{padding-bottom:14px}.family-context-heading h2{font-size:24px}.family-context-intro{margin-top:7px;font-size:11px}.family-watch-grid{gap:8px}.family-watch-card{grid-template-columns:39px minmax(0,1fr);gap:11px;padding:13px}.watch-icon{border-radius:13px;width:39px;height:39px}.family-watch-card h3{font-size:17px}.radar-row{margin-top:17px;padding:13px 0}.tonight-context{margin-top:23px}.tonight-heading h3{font-size:22px}.tonight-grid{grid-template-columns:1fr;gap:8px;margin-top:13px}.tonight-grid article{min-height:0;padding:13px}.sky-art{height:43px;margin-bottom:6px}.tonight-grid h4{font-size:16px}.tonight-grid p:not(.eyebrow){font-size:10px}}.station-card{cursor:default}.station-card-open{z-index:1;appearance:none;width:100%;min-height:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;flex-direction:column;flex:auto;justify-content:flex-start;align-items:stretch;padding:0 0 34px;display:flex;position:relative}.station-card-open:focus-visible{outline-offset:4px;border-radius:16px;outline:3px solid #3ea990}.station-radar-button{z-index:2;color:#28766a;letter-spacing:.04em;text-transform:uppercase;background:#fffdf9d1;border:1px solid #2f796b47;border-radius:999px;align-items:center;gap:4px;min-height:27px;padding:0 8px;font-family:DM Mono,monospace;font-size:8px;font-weight:700;transition:background .16s,border-color .16s,transform .16s;display:inline-flex;position:absolute;bottom:11px;right:12px}.station-radar-button:hover{background:#e3f4ef;border-color:#28766a}.station-radar-button:active{transform:scale(.95)}.station-radar-button:focus-visible{outline-offset:2px;outline:2px solid #3ea990}.station-david .station-radar-button{color:#a8eee5;background:#fffdf91c;border-color:#7ee5dc5c}.station-david .station-radar-button:hover{background:#7ee5dc2e}.station-grid[data-view=glance] .station-card-open{padding-bottom:33px}.station-grid[data-view=glance] .conditions-list{bottom:43px}.station-grid[data-view=glance] .station-radar-button{justify-content:center;width:25px;min-height:25px;padding:0;bottom:7px;right:7px}.station-grid[data-view=glance] .station-radar-button span{display:none}.station-grid[data-view=glance] .station-radar-button svg{width:13px;height:13px}.station-grid[data-view=compact] .station-card-open{padding-bottom:33px}.station-grid[data-view=compact] .station-radar-button{min-height:27px;padding:0 7px;font-size:8px;bottom:10px;right:10px}.station-grid[data-view=columns] .station-card-open{padding-bottom:37px}.tonight-context{margin-top:0}.tonight-grid article{min-height:153px}.sky-card-heading{align-items:center;gap:8px;margin-bottom:10px;display:flex}.sky-card-heading .eyebrow{margin:0}.sky-card-icon{color:#596a80;background:#edf1f3;border-radius:10px;flex:none;place-items:center;width:31px;height:31px;display:grid}.sky-card-aurora .sky-card-icon{color:#257969;background:#e8f5f0}.sky-card-iss .sky-card-icon{color:#55667d;background:#eef1f6}.sky-card-meteor .sky-card-icon{color:#a45b39;background:#fff0e8}.sky-card-event .sky-card-icon{color:#705a93;background:#f2edf9}.sky-card-event-eclipse .sky-card-icon{color:#a65d35;background:#fff1e8}.tonight-grid h4,.sky-card-heading+h4{margin-top:0}@media (width<=560px){.station-grid[data-view=compact] .station-card-open{padding-bottom:31px}.tonight-context.has-family-watch{margin-top:23px}.tonight-grid article{min-height:0}.sky-card-heading{margin-bottom:8px}.sky-card-icon{width:29px;height:29px}.station-grid[data-view=glance]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.station-grid[data-view=glance] .station-card{border-radius:21px;min-height:304px;padding:16px}.station-grid[data-view=glance] .station-card-open{padding-bottom:31px}.station-grid[data-view=glance] .station-card{min-height:326px}.station-grid[data-view=glance] .conditions-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 6px;margin-top:14px;position:static}.station-grid[data-view=glance] .metric{grid-template-columns:16px minmax(0,1fr);gap:4px}}.pollen-today{border-top:1px solid #ddd6dd;border-bottom:1px solid #e3dde2;margin:0 0 35px;padding:21px 0 19px}.pollen-today-heading{justify-content:space-between;align-items:end;gap:18px;display:flex}.pollen-today-heading h2{color:#382d3e;margin:4px 0 0;font-size:clamp(22px,2.7vw,29px);line-height:1.04}.pollen-today-heading p:not(.eyebrow){color:#716675;margin:7px 0 0;font-size:12px;line-height:1.42}.pollen-today-flower{color:#3b9986;flex:none;margin:0 3px 3px 0}.pollen-location-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:19px;display:grid}.pollen-location{border-left:1px solid #e4dde2;min-width:0;padding:2px 18px 4px}.pollen-location:first-child{border-left:0;padding-left:0}.pollen-location:last-child{padding-right:0}.pollen-location-high{justify-content:space-between;align-items:baseline;gap:8px;margin:7px 0 0;display:flex}.pollen-location-high strong{color:#426e62;letter-spacing:-.03em;font-family:Fraunces,Georgia,serif;font-size:18px;font-weight:600;line-height:1.1}.pollen-location-high span{color:#66776f;letter-spacing:.03em;flex:none;font-family:DM Mono,monospace;font-size:9px}.pollen-location-types{color:#756978;margin:8px 0 0;font-size:10px;line-height:1.45}.pollen-tone-4 .pollen-location-high strong{color:#a24a18}.pollen-tone-5 .pollen-location-high strong{color:#a13b50}.pollen-today-attribution{color:#5e5e5e;margin:17px 0 0;font-family:Roboto,sans-serif;font-size:11px;line-height:1.35}.pollen-forecast{border-top:1px solid #e4dde4;border-bottom:1px solid #e4dde4;margin:31px 0 0;padding:24px 0}.pollen-heading{align-items:end}.pollen-heading>div{min-width:0}.pollen-intro{color:#716675;margin:4px 0 0;font-size:12px;line-height:1.4}.pollen-heading>span{color:#61766e;letter-spacing:.04em;flex:none;font-family:DM Mono,monospace;font-size:10px;font-weight:700}.pollen-action-row{flex-wrap:wrap;align-items:center;gap:10px 13px;margin-top:15px;display:flex}.pollen-load-button{color:#1f675d;background:#e8f4ef;border:1px solid #2e786c;border-radius:999px;min-height:38px;padding:0 14px;font-size:12px;font-weight:800;transition:background .16s,border-color .16s,transform .16s}.pollen-load-button:hover:not(:disabled){background:#d8eee6;border-color:#195d54}.pollen-load-button:active:not(:disabled){transform:scale(.97)}.pollen-load-button:disabled{cursor:wait;opacity:.72}.pollen-load-button:focus-visible{outline-offset:3px;outline:3px solid #3ea990}.pollen-status{color:#716675;margin:0;font-size:11px;line-height:1.45}.pollen-unavailable{color:#745d67;margin-top:14px}.pollen-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.pollen-level{background:#f4f1ef;border-radius:14px;min-width:0;padding:11px 10px}.pollen-level>span,.pollen-level>strong,.pollen-level>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.pollen-level>span{color:#736774;letter-spacing:.06em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:9px;font-weight:700}.pollen-level>strong{color:#3f3046;letter-spacing:-.02em;margin-top:5px;font-size:14px}.pollen-level>small{color:#817582;margin-top:4px;font-family:DM Mono,monospace;font-size:9px}.pollen-level-4{background:#fff1e7}.pollen-level-4>strong{color:#a24a18}.pollen-level-5{background:#fff0f2}.pollen-level-5>strong{color:#a13b50}.pollen-guidance{color:#675b6b;margin:12px 0 0;font-size:11px;line-height:1.48}.pollen-next-days{border-top:1px solid #e9e3e8;margin-top:15px}.pollen-next-days summary{color:#2d756a;cursor:pointer;padding:12px 0 0;font-size:11px;font-weight:800}.pollen-next-days>div{gap:7px;padding-top:10px;display:grid}.pollen-next-days p{color:#6d6270;grid-template-columns:76px minmax(0,1fr);gap:10px;margin:0;font-size:10px;line-height:1.4;display:grid}.pollen-next-days time{color:#4e6f68;font-family:DM Mono,monospace;font-size:9px;font-weight:700}.pollen-attribution{color:#5e5e5e;letter-spacing:normal;white-space:nowrap;margin:15px 0 0;font-family:Roboto,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.35}@media (width<=560px){.pollen-today{margin-bottom:28px;padding:18px 0 17px}.pollen-today-heading{align-items:start}.pollen-today-heading h2{max-width:280px;font-size:23px}.pollen-today-flower{margin-top:5px}.pollen-location-list{grid-template-columns:1fr;margin-top:14px}.pollen-location,.pollen-location:first-child,.pollen-location:last-child{border-top:1px solid #e8e2e6;border-left:0;padding:13px 0}.pollen-location-high strong{font-size:17px}.pollen-location-types{margin-top:6px}.pollen-today-attribution{margin-top:13px}.pollen-forecast{margin-top:27px;padding:21px 0}.pollen-levels{gap:6px}.pollen-level{padding:10px 8px}.pollen-level>strong{font-size:13px}.pollen-next-days p{grid-template-columns:70px minmax(0,1fr);gap:8px}}.pull-refresh{top:calc(80px + env(safe-area-inset-top));z-index:40;color:#27776a;letter-spacing:.04em;pointer-events:none;min-height:30px;transform:translate3d(-50%, calc(-150% + var(--pull-distance)), 0);opacity:0;background:#fffdf9f5;border:1px solid #c6ded7;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-family:DM Mono,monospace;font-size:9px;font-weight:700;transition:transform .2s cubic-bezier(.25,1,.5,1),opacity .16s;display:inline-flex;position:fixed;left:50%;box-shadow:0 6px 18px #3020361a}.pull-refresh-pulling,.pull-refresh-armed,.pull-refresh-refreshing{opacity:1}.pull-refresh-pulling,.pull-refresh-armed{transition:opacity .16s}.pull-refresh-armed{color:#20685c;background:#e8f5f0;border-color:#2b8877}.pull-refresh-refreshing{transform:translate(-50%)}.header-icon-button,.drawer-close{width:44px;height:44px}.view-mode-control{width:134px}.view-mode-control button{min-height:42px}.station-card-open{transition:transform .14s cubic-bezier(.25,1,.5,1),opacity .14s}.station-card-open:active{opacity:.88;transform:scale(.985)}.station-radar-button{min-height:32px}.station-grid.is-ready .station-card{animation:.44s cubic-bezier(.22,1,.36,1) both station-arrive}.station-grid.is-ready .station-card:nth-child(2){animation-delay:45ms}.station-grid.is-ready .station-card:nth-child(3){animation-delay:90ms}.station-grid.is-ready .station-card:nth-child(4){animation-delay:.135s}.home-signal{animation:.32s cubic-bezier(.22,1,.36,1) both signal-arrive}.home-signal:nth-child(2){animation-delay:45ms}.sky-card-aurora .sky-card-icon svg{transform-origin:50%;animation:5s ease-in-out infinite aurora-drift}@keyframes station-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes signal-arrive{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translate(0,0)}}@keyframes aurora-drift{0%,to{transform:translate(-1px)}50%{transform:translate(1px,-1px)}}@media (width<=560px){.pull-refresh{top:calc(76px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}.family-watch-context,.tonight-context{isolation:isolate;box-shadow:none;background:0 0;border:0;border-radius:0;position:relative;overflow:visible}.family-watch-context>:not(.context-atmosphere),.tonight-context>:not(.context-atmosphere){z-index:1;position:relative}.context-atmosphere{z-index:0;pointer-events:none;--atmosphere-far-x:0px;--atmosphere-far-y:0px;--atmosphere-mid-x:0px;--atmosphere-mid-y:0px;--atmosphere-near-x:0px;--atmosphere-near-y:0px;position:absolute;inset:0 calc(-50vw + 50%);overflow:hidden}.atmosphere-layer{will-change:transform, opacity;background-repeat:repeat;display:block;position:absolute;inset:-20%}.atmosphere-far{transform:translate3d(var(--atmosphere-far-x), var(--atmosphere-far-y), 0)}.atmosphere-mid{transform:translate3d(var(--atmosphere-mid-x), var(--atmosphere-mid-y), 0)}.atmosphere-near{transform:translate3d(var(--atmosphere-near-x), var(--atmosphere-near-y), 0)}.family-watch-context{margin-top:20px;padding:clamp(27px,4vw,38px) 0 clamp(28px,4vw,36px)}.family-watch-context .family-context-heading{border-top:0;padding:0 0 17px}.family-watch-context .family-context-heading>div{padding-top:0}.context-atmosphere-day .atmosphere-far{opacity:.5;background-image:radial-gradient(circle,#409e892e 0 1px,#0000 1.7px);background-size:78px 75px}.context-atmosphere-day .atmosphere-mid{opacity:.46;background-image:radial-gradient(circle,#e8b0542e 0 1px,#0000 1.7px),radial-gradient(circle,#4aa38e1f 0 1.5px,#0000 2px);background-position:24px 18px,63px 46px;background-size:129px 111px,107px 147px}.context-atmosphere-day .atmosphere-near{opacity:.72;background:radial-gradient(at 84% 18%,#ffe7a557,#0000 45%)}.tonight-context,.tonight-context.has-family-watch{color:#eef3ff;margin-top:24px;padding:clamp(30px,4vw,40px) 0 clamp(32px,4vw,42px)}.tonight-context .tonight-heading{align-items:end}.tonight-context .tonight-heading h3{color:#fff9fd}.tonight-context .tonight-heading>span{color:#b8c8df}.tonight-context .tonight-heading .eyebrow{color:#bfcae0}.context-atmosphere-night .atmosphere-far{opacity:.44;background-image:radial-gradient(circle,#e4eaf6d1 0 .34px,#0000 .78px),radial-gradient(circle,#b5cdee9e 0 .42px,#0000 .88px),radial-gradient(circle,#ffeec97a 0 .36px,#0000 .82px);background-position:7px 16px,41px 29px,68px 53px;background-size:39px 47px,67px 79px,109px 103px;animation:8.8s ease-in-out infinite alternate night-stars-far}.context-atmosphere-night .atmosphere-mid{opacity:.38;background-image:radial-gradient(circle,#f9f8f2c7 0 .46px,#0000 .92px),radial-gradient(circle,#bfd5f6a6 0 .56px,#0000 1px),radial-gradient(circle,#ffe4b680 0 .43px,#0000 .9px);background-position:25px 12px,61px 47px,112px 33px;background-size:59px 67px,97px 89px,137px 123px;animation:6.9s ease-in-out infinite alternate-reverse night-stars-mid}.context-atmosphere-night .atmosphere-near{opacity:.28;background-image:radial-gradient(circle,#fffdf1d6 0 .68px,#0000 1.15px),radial-gradient(circle,#cedefaa3 0 .56px,#0000 1px),radial-gradient(circle,#ffebc28a 0 .48px,#0000 .94px);background-position:16px 46px,93px 22px,146px 77px;background-size:89px 109px,151px 143px,197px 181px;animation:10.7s ease-in-out infinite alternate night-stars-near}.tonight-context .tonight-grid article{background:linear-gradient(145deg,#283452e6,#1b233bdb);border-color:#bbcded36;min-height:151px;box-shadow:inset 0 1px #ffffff09}.tonight-context .tonight-grid h4{color:#fff9fd}.tonight-context .sky-card-icon{color:#c1d4e6;background:#cfe1f31a;border:1px solid #c2d3ed1f}@media (width<=560px){.family-watch-context{margin-top:18px;padding:26px 0 28px}.family-watch-context .family-context-heading{padding-bottom:14px}.tonight-context,.tonight-context.has-family-watch{margin-top:20px;padding:30px 0 32px}.tonight-context .tonight-heading{align-items:start}.tonight-context .tonight-grid{margin-top:13px}.tonight-context .tonight-grid article{background:linear-gradient(145deg,#2b3757eb,#1c233ce6);min-height:0}.tonight-context .context-disclaimer{margin-bottom:1px}}@media (prefers-reduced-motion:reduce){.context-atmosphere .atmosphere-layer{animation:none!important;transform:none!important}}.context-atmosphere-night .atmosphere-layer:after{content:"";pointer-events:none;transform-origin:50%;background-repeat:no-repeat;display:block;position:absolute;inset:0}.context-atmosphere-night .atmosphere-far:after{background-image:radial-gradient(circle at 13% 24%,#fffcf3fa 0 .55px,#0000 1px),radial-gradient(circle at 72% 36%,#cae0ffe6 0 .44px,#0000 .9px),radial-gradient(circle at 42% 74%,#ffedcae0 0 .6px,#0000 1.05px),radial-gradient(circle at 89% 62%,#e1ecffd6 0 .45px,#0000 .9px);animation:5.8s ease-in-out -1.4s infinite night-pinpoint-far}.context-atmosphere-night .atmosphere-mid:after{background-image:radial-gradient(circle at 24% 57%,#fffef8 0 .66px,#0000 1.1px),radial-gradient(circle at 84% 14%,#cde8ffed 0 .54px,#0000 .98px),radial-gradient(circle at 58% 86%,#ffe8bee6 0 .64px,#0000 1.08px);animation:7.6s ease-in-out -3.1s infinite night-pinpoint-mid}.context-atmosphere-night .atmosphere-near:after{background-image:radial-gradient(circle at 8% 84%,#fffffafa 0 .76px,#0000 1.2px),radial-gradient(circle at 66% 19%,#d3e6ffeb 0 .61px,#0000 1.05px),radial-gradient(circle at 92% 66%,#ffeecde6 0 .7px,#0000 1.12px);animation:9.4s ease-in-out -5.2s infinite night-pinpoint-near}.tonight-context .tonight-grid article{isolation:isolate;-webkit-backdrop-filter:blur(6px)saturate(118%);backdrop-filter:blur(6px)saturate(118%);background:radial-gradient(130% 95% at 94% -10%,#7faef136,#0000 51%),linear-gradient(145deg,#2f4067fa,#19223ff7);border-color:#c6daf55c;position:relative;box-shadow:0 12px 26px #050a1a4d,0 0 0 1px #a6ccfc0f,inset 0 1px #ffffff24,inset 0 -1px #070f2357}.tonight-context .tonight-grid p:not(.eyebrow){color:#cbd4e5}.tonight-context .sky-card-heading .eyebrow{color:#c8d2e5}.tonight-context .sky-card-icon{color:#c9deef;background:#cfe1f321;border-color:#c2d3ed2e}.tonight-context .sky-card-aurora .sky-card-icon{color:#9cebd5;background:#6ad4ba29}.tonight-context .sky-card-iss .sky-card-icon{color:#cbdff9;background:#adc7f129}.tonight-context .sky-card-meteor .sky-card-icon{color:#ffc6a5;background:#ffa87c2b}.tonight-context .sky-card-event .sky-card-icon{color:#decaff;background:#c0a9ef2e}.tonight-context .sky-card-event-eclipse .sky-card-icon{color:#ffd0b4;background:#ffb1802e}.tonight-context .context-disclaimer{color:#b3c0d4}@keyframes night-stars-far{0%,to{opacity:.22}44%{opacity:.64}68%{opacity:.31}}@keyframes night-stars-mid{0%,to{opacity:.16}38%{opacity:.58}76%{opacity:.24}}@keyframes night-stars-near{0%,to{opacity:.1}55%{opacity:.44}79%{opacity:.18}}@keyframes night-pinpoint-far{0%,to{opacity:.08}19%{opacity:.86}31%{opacity:.14}57%{opacity:1}69%{opacity:.2}}@keyframes night-pinpoint-mid{0%,to{opacity:.06}26%{opacity:.2}45%{opacity:1}57%{opacity:.12}81%{opacity:.82}}@keyframes night-pinpoint-near{0%,to{opacity:.05}18%{opacity:.84}33%{opacity:.1}63%{opacity:1}73%{opacity:.14}}@media (width<=560px){.tonight-context .tonight-grid article{background:radial-gradient(130% 95% at 94% -10%,#7faef136,#0000 51%),linear-gradient(145deg,#2f4067fa,#19223ff7)}}.context-atmosphere-day .atmosphere-far:after{content:"";pointer-events:none;filter:drop-shadow(0 0 2px #ffe0895c);background:radial-gradient(circle at 18% 32%,#479f8b4f 0 .8px,#0000 1.5px),radial-gradient(circle at 69% 70%,#e6ae5357 0 1px,#0000 1.7px),radial-gradient(circle at 88% 18%,#fff1bab8 0 1.2px,#0000 2.2px);animation:12.4s ease-in-out infinite day-motes-far;position:absolute;inset:0}.context-atmosphere-day .atmosphere-mid:after{content:"";pointer-events:none;background:radial-gradient(circle at 36% 75%,#52a99247 0 1px,#0000 1.8px),radial-gradient(circle at 78% 42%,#ffd87b75 0 .9px,#0000 1.6px),radial-gradient(at 87% 12%,#ffefac33,#0000 17%);animation:15.7s ease-in-out -4.6s infinite day-motes-mid;position:absolute;inset:0}.context-atmosphere-day .atmosphere-near:after{content:"";pointer-events:none;background:radial-gradient(at 88% 13%,#fff0b457,#0000 20%),radial-gradient(circle at 11% 79%,#63b89d2b 0 1.3px,#0000 2.1px);animation:18s ease-in-out -7.2s infinite day-sun-wash;position:absolute;inset:0}.family-watch-context .family-watch-card{-webkit-backdrop-filter:saturate(112%);backdrop-filter:saturate(112%);box-shadow:0 8px 18px #4676650f,inset 0 1px #ffffff94}@keyframes day-motes-far{0%,to{opacity:.28;transform:scale(.88)}48%{opacity:.66;transform:scale(1)}}@keyframes day-motes-mid{0%,to{opacity:.2;transform:scale(.9)}42%{opacity:.6;transform:scale(1)}68%{opacity:.32;transform:scale(.94)}}@keyframes day-sun-wash{0%,to{opacity:.44;transform:scale(.96)}51%{opacity:.78;transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.context-atmosphere .atmosphere-layer:after{animation:none!important;transform:none!important}}.context-transition{z-index:0;pointer-events:none;height:clamp(20px,3vw,30px);margin:0 calc(-50vw + 50%);position:relative;overflow:hidden}.context-transition-day{background:linear-gradient(#fffdf900 0%,#f5faef8f 56%,#edf9f4 100%)}.context-transition-day:after{content:"";background:linear-gradient(90deg,#0000,#6fb29d30 24%,#eec66b47 72%,#0000);height:1px;position:absolute;inset:auto 0 0}.family-watch-context{margin-top:0}.context-transition-dusk{background:radial-gradient(at 14% 116%,#598d9247,#0000 45%),linear-gradient(#f9f8e9 0%,#e4ecd9 20%,#b8cec5 44%,#718b9a 73%,#263651 100%);height:clamp(38px,5vw,54px)}.context-transition-dusk:before{content:"";opacity:.8;background:radial-gradient(circle at 18% 76%,#ffefaf9e 0 1px,#0000 1.8px),radial-gradient(circle at 67% 86%,#c2e1df94 0 .8px,#0000 1.5px),radial-gradient(circle at 88% 60%,#fff5cf61 0 .8px,#0000 1.5px);position:absolute;inset:0}.context-transition-dusk:after{content:"";background:#bad6eb5c;height:1px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 14px #7bacdd54}.tonight-context.has-family-watch{margin-top:0}@media (width<=560px){.context-transition{height:20px}.context-transition-dusk{height:42px}.tonight-context.has-family-watch{margin-top:0}}.family-insights{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px;display:grid}.family-insight{color:#326b60;background:#f7fcf8a3;border:1px solid #71a99933;border-radius:16px;align-items:center;gap:11px;min-height:52px;padding:11px 14px;display:flex;box-shadow:0 7px 17px #3e72600b,inset 0 1px #ffffffad}.family-insight>span{color:#3a9e8a;text-align:center;flex:0 0 16px;width:16px;font-size:18px;line-height:1}.family-insight p{color:#326b60;margin:0;font-size:12px;font-weight:650;line-height:1.35}.tonight-context .tonight-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:stretch}.tonight-context .sky-card-default{min-height:142px}.tonight-context .sky-card-sunset .sky-card-icon{color:#ffd0a0;background:#ffc57829}.tonight-context .sky-card-opportunity{grid-column:span 2;grid-template-columns:minmax(104px,.58fr) minmax(0,1.42fr);align-items:center;gap:0 12px;min-height:126px;display:grid}.tonight-context .sky-card-opportunity .sky-card-heading{flex-direction:column;align-items:flex-start;gap:6px;margin:0}.tonight-context .sky-card-opportunity .sky-card-copy{min-width:0}.tonight-context .sky-card-opportunity .sky-card-copy p{margin-top:6px}@media (width<=560px){.family-insights{grid-template-columns:1fr;gap:7px;margin-bottom:8px}.family-insight{border-radius:15px;min-height:50px;padding:10px 12px}.family-insight p{font-size:11.5px}.tonight-context .tonight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tonight-context .sky-card-default{min-height:138px}.tonight-context .sky-card-opportunity{grid-column:span 2;grid-template-columns:minmax(76px,.48fr) minmax(0,1.42fr);gap:0 9px;min-height:118px}.tonight-context .sky-card-opportunity .sky-card-heading{gap:5px}.tonight-context .sky-card-opportunity .sky-card-copy p{margin-top:5px}}.page-shell{--family-card-gap:20px;--family-section-space:clamp(28px, 3vw, 36px)}.station-grid[data-view=compact],.station-grid[data-view=columns]{gap:var(--family-card-gap)}.family-insights,.family-watch-grid,.tonight-context .tonight-grid{gap:var(--family-card-gap)}.tonight-context,.tonight-context.has-family-watch{padding:var(--family-section-space) 0 calc(var(--family-section-space) + 4px);margin-top:0}.tonight-context .tonight-grid{margin-top:var(--family-card-gap)}.context-atmosphere-day{background:radial-gradient(at 84% 8%,#ffdb7e5e,#0000 27%),linear-gradient(128deg,#edf9f4 0%,#f9f8e9 100%)}.context-atmosphere-night{background:#202a46}.context-transition-dusk{display:none}@media (width<=560px){.page-shell{--family-card-gap:20px;--family-section-space:28px}.context-transition-day{height:16px}.family-insights,.family-watch-grid,.tonight-context .tonight-grid{gap:var(--family-card-gap)}.family-insights+.family-watch-grid{margin-top:var(--family-card-gap)}.tonight-context,.tonight-context.has-family-watch{padding-top:var(--family-section-space);padding-bottom:32px}.tonight-context .tonight-grid{gap:10px}.tonight-context .sky-card-opportunity{grid-template-columns:46px minmax(0,1fr);gap:8px;min-height:0;padding:10px 12px}.tonight-context .sky-card-opportunity .sky-card-heading{align-items:center;gap:4px}.tonight-context .sky-card-opportunity .sky-card-copy p{margin-top:3px;line-height:1.35}}.station-grid[data-view=columns] .conditions-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.station-grid[data-view=columns] .metric{background:#fffdf9b3;border:1px solid #49394f26;border-radius:15px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-height:72px;padding:10px;box-shadow:inset 0 1px #ffffff94}.station-grid[data-view=columns] .metric-icon{color:#277f70;background:#e8f4ef;border-radius:10px;width:34px;height:34px;padding:0}.station-grid[data-view=columns] .metric-icon svg{width:22px;height:22px}.station-grid[data-view=columns] .conditions-list .metric-label{color:#6f6372;margin-bottom:3px;font-size:10px;font-weight:700;line-height:1.15}.station-grid[data-view=columns] .conditions-list .metric-value{font-size:17px;line-height:1.05}.station-grid[data-view=columns] .conditions-list .metric-value small{font-size:9px;display:inline}.station-grid[data-view=columns] .metric-lightning{grid-column:auto}.station-grid[data-view=columns] .metric-aqi,.station-grid[data-view=columns] .metric-wildfire,.station-grid[data-view=columns] .metric-warning{grid-column:1/-1}.station-grid[data-view=columns] .metric-aqi{background:#fff3f1;border-color:#b8494a3d}.station-grid[data-view=columns] .metric-aqi .metric-icon{color:#b43b43;background:#b43b431f}.station-grid[data-view=columns] .metric-aqi .metric-label,.station-grid[data-view=columns] .metric-aqi .metric-value{color:#a3323a}.station-grid[data-view=columns] .metric-aqi .metric-value small{margin-left:3px}.station-grid[data-view=columns] .metric-planning .metric-icon{color:#287e70;background:#edf5f2}.station-grid[data-view=columns] .metric-planning-sky .metric-icon{color:#397d88;background:#e8f2f6}.station-grid[data-view=columns] .metric-planning-watch{background:#fff5ef;border-color:#efc8b5}.station-grid[data-view=columns] .metric-planning-watch .metric-icon{color:#ae4a2c;background:#ffe7d7}.station-grid[data-view=columns] .metric-planning-watch .metric-label,.station-grid[data-view=columns] .metric-planning-watch .metric-value{color:#91451f}.station-grid[data-view=columns] .metric-pollen>div{min-width:0}.station-grid[data-view=columns] .metric-pollen .metric-value{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.station-grid[data-view=columns] .metric-warning{background:#fff5ef;border-color:#efc8b5}.station-grid[data-view=columns] .metric-warning .metric-icon{color:#ae4a2c;background:#ffe7d7}.station-grid[data-view=columns] .metric-warning .metric-label,.station-grid[data-view=columns] .metric-warning .metric-value{color:#91451f}.station-grid[data-view=columns] .station-david .metric{background:#fffdf914;border-color:#fffdf92e;box-shadow:inset 0 1px #ffffff0f}.station-grid[data-view=columns] .station-david .metric-icon{color:#9aeade;background:#7ee5dc24}.station-grid[data-view=columns] .station-david .metric-label{color:#fffdf9a3}.station-grid[data-view=columns] .station-david .metric-value{color:#fffaf4}.station-grid[data-view=columns] .station-david .metric-aqi{background:#b33e4536;border-color:#ffb79f59}.station-grid[data-view=columns] .station-david .metric-aqi .metric-icon{color:#ffafa5;background:#ffaba229}.station-grid[data-view=columns] .station-david .metric-aqi .metric-label,.station-grid[data-view=columns] .station-david .metric-aqi .metric-value{color:#ffd6cf}.station-grid[data-view=columns] .station-david .metric-warning{background:#ae4a2c3d;border-color:#ffc0b757}.station-grid[data-view=columns] .station-david .metric-warning .metric-icon{color:#ffc5a7;background:#ffcdaf29}.station-grid[data-view=columns] .station-david .metric-warning .metric-label,.station-grid[data-view=columns] .station-david .metric-warning .metric-value{color:#ffd8c3}.tonight-context .sky-card-icon{border-radius:12px;width:40px;height:40px}.tonight-context .sky-card-icon svg{width:23px;height:23px}.tonight-context .tonight-grid article.sky-card-opportunity{grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:0 12px;min-height:82px;padding:13px 14px}.tonight-context .sky-card-opportunity .sky-card-copy{grid-area:2/2}.atmosphere-twinkle{top:var(--star-y);left:var(--star-x);width:var(--star-size);height:var(--star-size);opacity:.48;animation:night-star-twinkle var(--star-duration) ease-in-out var(--star-delay) infinite;will-change:transform, opacity;background:#fffdf4;border-radius:50%;position:absolute;box-shadow:0 0 5px #e1ecffc7}.atmosphere-shooting-star{--shoot-angle:24deg;--shoot-y-start:-9vw;--shoot-y-end:52vw;z-index:2;opacity:0;width:104px;height:2px;transform:rotate(var(--shoot-angle)) translate3d(-32vw, var(--shoot-y-start), 0);will-change:transform, opacity;background:linear-gradient(90deg,#0000 0%,#c2deff33 18%,#e7f3ffe0 72%,#fffdf4 100%);border-radius:999px;animation:9s cubic-bezier(.22,1,.36,1) infinite shooting-star;position:absolute;box-shadow:0 0 7px #cbe1ffb8}.atmosphere-shooting-star-one{--shoot-angle:10deg;--shoot-y-start:-3vw;--shoot-y-end:4vw;animation-delay:-1.4s;top:8%;left:-8%}.atmosphere-shooting-star-two{width:74px;animation-duration:14s;animation-delay:-6.1s;top:48%;left:-14%}@keyframes night-star-twinkle{0%,to{opacity:.2;transform:scale(.68)}44%{opacity:.98;transform:scale(1.55)}62%{opacity:.45;transform:scale(.92)}}@keyframes shooting-star{0%,13%,to{opacity:0;transform:rotate(var(--shoot-angle)) translate3d(-32vw, var(--shoot-y-start), 0)}17%{opacity:.18}21%{opacity:.98}39%{opacity:0;transform:rotate(var(--shoot-angle)) translate3d(128vw, var(--shoot-y-end), 0)}}@media (width<=560px){.station-grid[data-view=columns] .station-card{min-height:0}.station-grid[data-view=columns] .metric{min-height:68px;padding:9px}.station-grid[data-view=columns] .metric-icon{width:32px;height:32px}.station-grid[data-view=columns] .metric-icon svg{width:21px;height:21px}.station-grid[data-view=columns] .conditions-list .metric-value{font-size:16px}.tonight-context .sky-card-default{min-height:118px}.tonight-context .sky-card-opportunity{min-height:78px;padding:12px}.tonight-context .sky-card-icon{width:38px;height:38px}.tonight-context .sky-card-icon svg{width:22px;height:22px}.atmosphere-shooting-star{width:88px}}@media (prefers-reduced-motion:reduce){.atmosphere-twinkle{opacity:.8;transform:none;animation:none!important}.atmosphere-shooting-star{display:none}}.family-watch-context{--family-notification-gap:10px}.family-watch-context .family-insights,.family-watch-context .family-watch-grid,.family-watch-context .family-alert-list{gap:var(--family-notification-gap)}.family-watch-context .family-insights+.family-watch-grid{margin-top:var(--family-notification-gap)}.app-update-overlay{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 50% 16%,#6fc6b433,#0000 34%),#fffdf9f0;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.app-update-card{background:#fffdf9fa;border:1px solid #ddd5df;border-radius:22px;grid-template-columns:auto minmax(0,1fr);gap:14px;width:min(390px,100%);padding:20px;display:grid;box-shadow:0 20px 48px #30203629}.app-update-card h2,.app-update-card p{margin:0}.app-update-card h2{color:#39263f;margin-top:4px;font-size:21px;line-height:1.04}.app-update-card p:not(.eyebrow){color:#716675;margin-top:6px;font-size:13px;line-height:1.42}.app-update-icon{color:#26776a;background:#e6f4ef;border-radius:15px;place-items:center;width:48px;height:48px;display:grid;position:relative}.app-update-icon>span{color:#fffdf9;background:#2e8b77;border-radius:50%;place-items:center;width:21px;height:21px;display:grid;position:absolute;top:-5px;right:-5px}.app-update-progress{background:#e1f0ea;border-radius:999px;grid-column:1/-1;height:7px;overflow:hidden}.app-update-progress:before{border-radius:inherit;content:"";background:#2e8b77;width:65%;height:100%;animation:1.1s ease-in-out infinite app-update-progress;display:block}.app-update-progress.is-complete:before{width:100%;animation:none}@keyframes app-update-progress{50%{transform:translate(45%)}}@media (width<=560px){.app-update-overlay{align-items:center;padding:16px}.app-update-card{gap:12px;padding:18px}.app-update-card h2{font-size:20px}}@media (prefers-reduced-motion:reduce){.app-update-progress:before{width:100%;animation:none}}.station-grid[data-view=columns] .station-card{min-height:526px}.home-planning-strip{border-top:1px solid #3f2b451a;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:17px;padding-top:13px;display:grid}.planning-snippet{color:#625767;grid-template-columns:23px minmax(0,1fr);align-items:start;gap:5px;min-width:0;display:grid}.planning-icon{color:#2c8273;background:#edf4f1;border-radius:8px;place-items:center;width:23px;height:23px;display:grid}.planning-snippet>span:last-child{min-width:0}.planning-snippet small,.planning-snippet strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.planning-snippet small{color:#817482;letter-spacing:.06em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:7.5px;font-weight:700}.planning-snippet strong{color:#4a394f;margin-top:3px;font-size:10px;font-weight:800;line-height:1.1}.planning-sky .planning-icon{color:#397d88;background:#eaf3f5}.planning-watch .planning-icon,.planning-pollen .planning-icon{color:#aa5428;background:#fff0e7}.planning-watch strong,.planning-pollen strong{color:#91451f}.station-david .home-planning-strip{border-color:#fffdf929}.station-david .planning-snippet small{color:#fffdf985}.station-david .planning-snippet strong{color:#fffaf4}.station-david .planning-icon{color:#9aeade;background:#7ee5dc21}.station-david .planning-watch .planning-icon,.station-david .planning-pollen .planning-icon{color:#ffc596;background:#ffb28426}.station-david .planning-watch strong,.station-david .planning-pollen strong{color:#ffcfb3}.home-planning-strip .planning-snippet{animation:.36s cubic-bezier(.22,1,.36,1) both planning-enter}.home-planning-strip .planning-snippet:nth-child(2){animation-delay:40ms}.home-planning-strip .planning-snippet:nth-child(3){animation-delay:80ms}.station-details{width:min(760px,100%);padding-top:max(28px, env(safe-area-inset-top));scrollbar-color:#c9c0ca transparent;background:linear-gradient(#fffdf9 0 520px,#faf8f5 100%)}.details-header{border-bottom:1px solid #e9e2e7;padding-bottom:17px}.details-header h2{margin-top:8px;font-size:clamp(31px,5vw,42px)}.details-now{background:radial-gradient(circle at 88% 14%,#7ee5dc38,#0000 37%),#f8f5f6;border:1px solid #ddd4de;border-radius:26px;min-height:174px;margin:20px 0 0;padding:24px 24px 23px;position:relative;overflow:hidden}.details-now:after{content:"";border:1px solid #30203612;border-radius:50%;width:145px;height:145px;position:absolute;bottom:-38px;right:-27px}.details-now>*{z-index:1;position:relative}.details-temperature{font-size:clamp(78px,15vw,116px)}.details-now p:not(.details-temperature){margin-top:13px;font-size:15px}.details-condition{background:#fffdf9ab;border:1px solid #2f796b24;border-radius:22px;width:104px;min-height:104px;padding:12px}.details-condition span{font-size:9px}.detail-today,.detail-planning,.hourly-forecast,.daily-forecast,.station-history,.station-readings{margin-top:31px}.detail-today-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.detail-fact{background:#fffdfb;border:1px solid #e7e0e6;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:12px 10px;display:grid}.detail-fact-icon{color:#2d8173;background:#e8f4ef;border-radius:10px;place-items:center;width:30px;height:30px;display:grid}.detail-fact span:last-child{min-width:0}.detail-fact small,.detail-fact strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.detail-fact small{color:#817482;letter-spacing:.05em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:8px;font-weight:700}.detail-fact strong{color:#453547;letter-spacing:-.03em;margin-top:4px;font-size:14px}.detail-fact-warm .detail-fact-icon{color:#b54f55;background:#fff0ed}.detail-fact-warm strong{color:#b54f55}.detail-fact-cool .detail-fact-icon{color:#3d7da8;background:#edf5fa}.detail-fact-cool strong{color:#3d7da8}.planning-dashboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px;display:grid}.context-panel{background:#fffdfb;border:1px solid #e6e0e6;border-radius:18px;grid-template-columns:39px minmax(0,1fr);gap:11px;min-width:0;padding:15px;display:grid}.context-icon{color:#677286;background:#f0f1f3;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.context-panel p,.context-panel strong,.context-panel small{margin:0;display:block}.context-panel p{color:#817482;letter-spacing:.065em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:8px;font-weight:700}.context-panel strong{color:#483b4c;letter-spacing:-.03em;margin-top:4px;font-size:14px;line-height:1.15}.context-panel small{color:#756878;margin-top:5px;font-size:10px;line-height:1.32}.context-sky{background:#f4fbf9;border-color:#d9e6e5}.context-sky .context-icon{color:#287d6d;background:#e2f3ee}.context-watch{background:#fff7f1;border-color:#f1d4c3}.context-watch .context-icon{color:#ae542a;background:#ffe8d8}.context-watch strong{color:#934521}.context-air{background:#eff8f3;border-color:#dbe7e0}.context-air .context-icon{color:#26763e;background:#26763e1f}.context-air strong{color:#26763e}.context-air.aqi-moderate{background:#fff9e7;border-color:#f0dc99}.context-air.aqi-moderate .context-icon{color:#9b6500;background:#9b65001f}.context-air.aqi-moderate strong{color:#8b5a00}.context-air.aqi-sensitive{background:#fff2e8;border-color:#f4c9a7}.context-air.aqi-sensitive .context-icon{color:#b95111;background:#b951111f}.context-air.aqi-sensitive strong{color:#ad4708}.context-air.aqi-unhealthy{background:#fff0f0;border-color:#efc4c4}.context-air.aqi-unhealthy .context-icon{color:#b43b43;background:#b43b431c}.context-air.aqi-unhealthy strong{color:#ab3038}.context-air.aqi-very-unhealthy{background:#faf0fb;border-color:#dfc5e1}.context-air.aqi-very-unhealthy .context-icon{color:#75307c;background:#75307c1c}.context-air.aqi-very-unhealthy strong{color:#6c2073}.context-air.aqi-hazardous{background:#fff0f4;border-color:#e7c4cf}.context-air.aqi-hazardous .context-icon{color:#741a38;background:#741a381c}.context-air.aqi-hazardous strong{color:#68122e}.context-air.aqi-unavailable{background:#f7f3f5;border-color:#e5dfe5}.context-air.aqi-unavailable .context-icon{color:#756878;background:#ece5ea}.context-pollen{background:#f5faf7;border-color:#dbe6df}.context-pollen .context-icon{color:#287d6d;background:#e2f3ee}.hourly-card,.daily-row,.reading,.detail-fact,.context-panel{transition:transform .16s,border-color .16s,box-shadow .16s}.hourly-card:hover,.reading:hover,.detail-fact:hover,.context-panel:hover{border-color:#c9ddd6;transform:translateY(-1px);box-shadow:0 7px 16px #3020360d}.readings-grid{gap:9px;margin-top:13px}.reading{background:#fffdfb;border-radius:16px;grid-template-columns:1fr;min-height:78px;padding:12px}.reading span{letter-spacing:.035em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:9px}.reading strong{letter-spacing:-.03em;font-size:15px}.station-details>.details-now,.station-details>section{animation:.38s cubic-bezier(.22,1,.36,1) both drawer-section-enter}.station-details>.detail-today{animation-delay:35ms}.station-details>.detail-planning{animation-delay:70ms}.station-details>.hourly-forecast{animation-delay:.105s}.station-details>.daily-forecast{animation-delay:.14s}.station-details>.station-history{animation-delay:.175s}.station-details>.station-readings{animation-delay:.21s}@keyframes planning-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes drawer-section-enter{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=560px){.home-planning-strip{margin-top:15px;padding-top:12px}.planning-snippet{grid-template-columns:22px minmax(0,1fr);gap:5px}.planning-icon{width:22px;height:22px}.planning-snippet small{font-size:7px}.planning-snippet strong{font-size:9px}.station-details{padding:max(20px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom))}.details-header{padding-bottom:14px}.details-header h2{font-size:32px}.details-now{border-radius:23px;min-height:154px;margin-top:16px;padding:20px}.details-now p:not(.details-temperature){font-size:13px}.details-condition{border-radius:18px;width:82px;min-height:82px;padding:9px}.details-condition svg{width:38px;height:38px}.detail-today,.detail-planning,.hourly-forecast,.daily-forecast,.station-history,.station-readings{margin-top:27px}.detail-today-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.detail-fact{padding:11px}.planning-dashboard{grid-template-columns:1fr;gap:8px}.context-panel{padding:14px}.context-panel strong{font-size:15px}.readings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.reading{min-height:76px;padding:11px}.reading strong{font-size:14px}}@media (prefers-reduced-motion:reduce){.home-planning-strip .planning-snippet,.station-details>.details-now,.station-details>section{animation:none}.hourly-card:hover,.reading:hover,.detail-fact:hover,.context-panel:hover{transform:none}}.page-shell{--home-card-gap:20px;--home-card-padding:12px 14px;background:radial-gradient(at 86% 7%,#ffdb7e4d,#0000 31%),linear-gradient(128deg,#edf9f4 0%,#f9f8e9 100%)}.station-grid[data-view=compact],.station-grid[data-view=columns],.family-insights,.family-watch-grid,.tonight-context .tonight-grid{gap:var(--home-card-gap)}.family-watch-context{padding:var(--family-section-space) 0}.family-watch-context .family-context-heading{padding-bottom:var(--home-card-gap)}.family-insights{margin-bottom:0}.family-insights+.family-watch-grid,.tonight-context .tonight-grid{margin-top:var(--home-card-gap)}.family-insight,.family-context-card{min-height:52px;padding:var(--home-card-padding);background:#f7fcf8b8;border:1px solid #71a99933;border-radius:16px;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:12px;display:grid;box-shadow:0 7px 17px #3e72600b,inset 0 1px #ffffffad}.family-insight>span,.family-context-card-icon{color:#3a9e8a;text-align:center;border-radius:8px;place-items:center;width:24px;height:24px;font-size:18px;line-height:1;display:grid}.family-insight p,.family-context-card-primary,.family-context-card-secondary{margin:0}.family-insight p,.family-context-card-primary{color:#326b60;font-size:12px;font-weight:650;line-height:1.35}.family-context-card-secondary{color:#756878;margin-top:3px;font-size:10px;line-height:1.35}.family-context-card-warning{background:#fff4e9d1;border-color:#efc9ae}.family-context-card-warning .family-context-card-icon{color:#a64a1c;background:#d0692721}.family-context-card-warning .family-context-card-primary{color:#873c1b}.family-alert-list{grid-column:1/-1;gap:10px;display:grid}.family-context-card-warning-severe{background:#fff0f1db;border-color:#efbfc3}.family-context-card-warning-severe .family-context-card-icon{color:#a43242;background:#b430401f}.family-context-card-warning-severe .family-context-card-primary{color:#8f2635}.family-context-card-warning-moderate{background:#fff4e9d6;border-color:#efc9ae}.family-context-card-warning-moderate .family-context-card-icon{color:#a64a1c;background:#d0692721}.family-context-card-warning-moderate .family-context-card-primary{color:#873c1b}.family-context-card-warning-minor{background:#fffae8d6;border-color:#e7d8aa}.family-context-card-warning-minor .family-context-card-icon{color:#846916;background:#a7841c1f}.family-context-card-warning-minor .family-context-card-primary{color:#6d570d}.family-context-card-wildfire{background:#fff1ebd1;border-color:#efc8b5}.family-context-card-wildfire .family-context-card-icon{color:#ad4731;background:#c1492d1f}.family-context-card-wildfire .family-context-card-primary{color:#8f3827}@media (width<=560px){.page-shell{--home-card-gap:20px;--home-card-padding:12px}.family-insights,.family-watch-grid,.tonight-context .tonight-grid{gap:var(--home-card-gap)}.family-insights+.family-watch-grid{margin-top:var(--home-card-gap)}.family-alert-list{gap:10px}.family-insight,.family-context-card{min-height:52px;padding:var(--home-card-padding);border-radius:16px}}.tonight-context .tonight-grid article.sky-card-opportunity{grid-template-rows:auto auto;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:0 12px;min-height:82px;padding:13px 14px;display:grid}.tonight-context .sky-card-opportunity .sky-card-heading{display:contents}.tonight-context .sky-card-opportunity .sky-card-icon{grid-area:1/1/span 2;align-self:center}.tonight-context .sky-card-opportunity .sky-card-heading .eyebrow{grid-area:1/2;align-self:end;margin:0 0 2px}.tonight-context .sky-card-opportunity .sky-card-copy{grid-area:2/2;min-width:0}.tonight-context .sky-card-opportunity .sky-card-copy p{margin-top:3px;line-height:1.35}@media (width<=560px){.station-grid[data-view=columns] .station-card{min-height:0}.tonight-context .sky-card-opportunity{min-height:78px;padding:12px}}.family-context.has-tonight-sky{margin-bottom:0}.page-shell:has(.night-sky-footer){padding-bottom:0}.night-sky-footer{z-index:1;padding-top:24px;position:relative}.night-sky-footer .app-footer{margin:0;padding:0}.night-sky-footer .app-freshness,.night-sky-footer .app-sources{color:#c7d3e5}.night-sky-footer .app-sources summary:after{color:#91e2cc}.night-sky-footer .app-sources a{color:#e0eafa}.night-sky-footer .app-sources a:hover{color:#a7edda}.page-shell{background:linear-gradient(145deg,#e6f4f2 0%,#eff7ef 48%,#fbf6e5 100%);position:relative;overflow-x:clip}.hero,.view-mode-row,.error-banner,.station-grid,.family-context{z-index:1;position:relative}.day-atmosphere{z-index:0;pointer-events:none;--day-atmosphere-far-x:0px;--day-atmosphere-far-y:0px;--day-atmosphere-mid-x:0px;--day-atmosphere-mid-y:0px;--day-atmosphere-near-x:0px;--day-atmosphere-near-y:0px;background:radial-gradient(at 88% 3%,#ffde8957,#0000 29%),radial-gradient(at 6% 32%,#9bdad12e,#0000 42%);position:absolute;inset:0;overflow:hidden}.day-atmosphere-layer{opacity:.4;will-change:transform, opacity;transition:transform .22s cubic-bezier(.22,1,.36,1);display:block;position:absolute;inset:-9%;overflow:hidden}.day-atmosphere-far{opacity:.56;transform:translate3d(var(--day-atmosphere-far-x), var(--day-atmosphere-far-y), 0)}.day-atmosphere-mid{opacity:.66;transform:translate3d(var(--day-atmosphere-mid-x), var(--day-atmosphere-mid-y), 0)}.day-atmosphere-near{opacity:.42;transform:translate3d(var(--day-atmosphere-near-x), var(--day-atmosphere-near-y), 0)}.station-card:not(.station-david){-webkit-backdrop-filter:blur(12px)saturate(112%);backdrop-filter:blur(12px)saturate(112%);background:#fff9}.station-mom{background:#e0f3edb8}.station-zach{background:#f9e9ddbd}.day-cloud{filter:blur(10px);opacity:.78;will-change:transform;background:#5091a699;border-radius:999px;width:max(460px,122vw);height:72px;display:block;position:absolute}.day-cloud:before,.day-cloud:after{background:inherit;content:"";border-radius:50%;display:block;position:absolute}.day-cloud:before{width:35%;height:145%;top:-61%;left:15%}.day-cloud:after{width:31%;height:125%;top:-47%;left:53%}.day-atmosphere-far .day-cloud{opacity:.62;filter:blur(11px);animation:58s ease-in-out infinite alternate day-cloud-bank-far}.day-atmosphere-mid .day-cloud{opacity:.84;animation:43s ease-in-out infinite alternate day-cloud-bank-mid}.day-atmosphere-near .day-cloud{opacity:.72;filter:blur(9px);animation:34s ease-in-out infinite alternate day-cloud-bank-near}.day-atmosphere-far .day-cloud-one{top:14%;left:-36%}.day-atmosphere-far .day-cloud-two{animation-delay:-21s;top:57%;right:-43%}.day-atmosphere-mid .day-cloud-one{top:21%;left:-29%}.day-atmosphere-mid .day-cloud-two{animation-delay:-16s;top:63%;right:-38%}.day-atmosphere-near .day-cloud-one{top:32%;left:-41%}.day-atmosphere-near .day-cloud-two{animation-delay:-12s;top:76%;right:-30%}@keyframes day-cloud-bank-far{to{transform:translate(34px,12px)scale(1.025)}}@keyframes day-cloud-bank-mid{to{transform:translate(-46px,18px)scale(1.035)}}@keyframes day-cloud-bank-near{to{transform:translate(52px,-15px)scale(1.045)}}@media (prefers-reduced-motion:reduce){.day-cloud{animation:none!important;transform:none!important}}@media (width<=560px){.station-grid[data-view=columns] .station-card{min-height:0;padding:14px}.station-grid[data-view=columns] .station-card-open{padding-bottom:30px}.station-grid[data-view=columns] .station-city{margin-top:2px;font-size:9px}.station-grid[data-view=columns] .status{margin-top:5px;font-size:12px}.station-grid[data-view=columns] .status i{width:7px;height:7px;box-shadow:0 0 0 3px #3fb79d21}.station-grid[data-view=columns] .condition-mark{gap:2px;min-width:48px}.station-grid[data-view=columns] .condition-mark svg{width:31px;height:31px}.station-grid[data-view=columns] .condition-mark span{font-size:8px}.station-grid[data-view=columns] .temperature-row{margin-top:12px}.station-grid[data-view=columns] .temperature{font-size:68px}.station-grid[data-view=columns] .feels-like{margin:7px 0 8px;font-size:15px}.station-grid[data-view=columns] .daily-range{gap:8px;margin-bottom:12px;font-size:12px}.station-grid[data-view=columns] .daily-range strong{font-size:14px}.station-grid[data-view=columns] .conditions-list{gap:6px}.station-grid[data-view=columns] .metric{border-radius:13px;grid-template-columns:29px minmax(0,1fr);gap:7px;min-height:56px;padding:7px}.station-grid[data-view=columns] .metric-icon{border-radius:9px;width:29px;height:29px}.station-grid[data-view=columns] .metric-icon svg{width:19px;height:19px}.station-grid[data-view=columns] .conditions-list .metric-label{margin-bottom:2px;font-size:9px}.station-grid[data-view=columns] .conditions-list .metric-value{font-size:15px}.station-grid[data-view=columns] .conditions-list .metric-value small{font-size:8px}.station-grid[data-view=columns] .metric-pollen .metric-value{font-size:14px}.station-grid[data-view=columns] .station-radar-button{min-height:28px;bottom:8px;right:9px}}.morning-brief,.family-surface-heading{z-index:1;max-width:760px;margin-left:auto;margin-right:auto;position:relative}.morning-brief{padding:18px 0 3px}.morning-brief-header,.morning-now,.morning-section-heading,.morning-card-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.morning-home{color:#756878;letter-spacing:.035em;margin:5px 0 0;font-family:DM Mono,monospace;font-size:11px}.morning-home span{color:#3a9e8a}.morning-change-person,.family-surface-heading button{color:#276f62;min-height:34px;font:inherit;background:#ffffffa3;border:1px solid #c6ded7;border-radius:999px;padding:0 11px;font-size:11px;font-weight:750}.morning-change-person{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.morning-change-person:hover,.family-surface-heading button:hover{background:#fffdf9}.weather-view-switch{background:#eef9f5c7;border:1px solid #bad8cf;border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-height:52px;margin-top:13px;padding:4px;display:grid;box-shadow:0 6px 16px #3020360b}.weather-view-switch>*{color:#2a7566;min-width:0;min-height:44px;font:inherit;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.weather-view-switch .is-selected{color:#fffdf9;background:#382640;box-shadow:0 3px 8px #30203629}.weather-view-switch button{cursor:pointer}.weather-view-switch button:hover{color:#205f52;background:#fffdf9e0}.weather-view-switch button:active{transform:scale(.98)}.weather-view-switch button:focus-visible{outline-offset:2px;outline:3px solid #267e6c}.family-view-switch{z-index:1;max-width:760px;margin:-4px auto 18px;position:relative}.morning-now{color:#fffdf9;background:radial-gradient(circle at 82% 12%,#5fe0c52b,#0000 28%),linear-gradient(135deg,#34233d,#412d4c);border:1px solid #37273e29;border-radius:28px;min-height:188px;margin-top:14px;padding:25px 26px;overflow:hidden;box-shadow:0 17px 33px #35243b29}.morning-now h2{letter-spacing:-.1em;margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(80px,18vw,116px);font-weight:520;line-height:.72}.morning-now>div>p{color:#ffffffad;margin:15px 0 0;font-size:15px}.morning-condition{text-align:center;flex:0 0 106px;place-items:center;gap:9px;display:grid}.morning-condition svg{color:#8ce6d2;filter:drop-shadow(0 6px 12px #00000029)}.morning-condition strong{color:#9be4d6;letter-spacing:.07em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:10px;line-height:1.3}.morning-story-grid{grid-template-columns:1.12fr .88fr;gap:10px;margin-top:11px;display:grid}.morning-story-grid article{background:#fffdf9b8;border:1px solid #e1d9e1;border-radius:20px;min-height:160px;padding:15px;box-shadow:0 8px 20px #3020360b}.morning-story-grid .morning-observed,.observed-overnight-card{color:#fffdf9;background:radial-gradient(circle at 78% 12%,#b1cbff38,#0000 30%),radial-gradient(circle at 15% 100%,#5bcabc21,#0000 42%),linear-gradient(145deg,#201a38,#342953 65%,#272043);border-color:#58527e;position:relative;overflow:hidden;box-shadow:0 12px 25px #23193d2e}.morning-story-grid .morning-observed:before,.observed-overnight-card:before{content:"";opacity:.72;pointer-events:none;background:radial-gradient(circle at 18% 23%,#ffffffd6 0 1px,#0000 1.7px),radial-gradient(circle at 72% 34%,#d6e1ffb8 0 1px,#0000 1.7px),radial-gradient(circle at 88% 76%,#ffffff80 0 .8px,#0000 1.5px),radial-gradient(circle at 46% 83%,#b8eee294 0 .8px,#0000 1.5px);position:absolute;inset:0}.morning-story-grid .morning-observed>*,.observed-overnight-card>*{z-index:1;position:relative}.morning-today-stack{grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;min-height:160px;display:grid}.morning-story-grid .morning-today-stack .morning-temperature-card{border-radius:17px;flex-direction:column;justify-content:space-between;min-height:0;padding:11px 13px;display:flex}.morning-temperature-card .morning-card-heading{gap:7px}.morning-temperature-card .morning-card-icon{border-radius:8px;width:24px;height:24px}.morning-temperature-card>strong{letter-spacing:-.065em;margin-top:0;font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:550}.morning-temperature-card.is-high{background:linear-gradient(145deg,#fff3f3f5,#fffdf9db);border-color:#f0cbce}.morning-temperature-card.is-high .morning-card-icon{color:#b64f57;background:#c847501a}.morning-temperature-card.is-high>strong{color:#b04b53}.morning-temperature-card.is-low{background:linear-gradient(145deg,#f2f9fff5,#fffdf9db);border-color:#c8ddeb}.morning-temperature-card.is-low .morning-card-icon{color:#397daa;background:#397daa1a}.morning-temperature-card.is-low>strong{color:#397daa}.morning-card-heading{justify-content:flex-start;gap:8px}.morning-card-heading p{color:#756878;letter-spacing:.08em;margin:0;font-family:DM Mono,monospace;font-size:9px;font-weight:650}.morning-card-icon{color:#298b78;background:#3a9e8a1c;border-radius:9px;place-items:center;width:28px;height:28px;display:grid}.morning-story-grid article>strong{color:#31213a;letter-spacing:-.065em;margin-top:15px;font-family:Fraunces,Georgia,serif;font-size:37px;font-weight:520;line-height:.92;display:block}.morning-story-grid article>p{color:#746978;margin:8px 0 0;font-size:11px;line-height:1.4}.morning-story-grid .morning-observed .morning-card-icon{color:#b5ece1;background:#8fe6d524}.morning-story-grid .morning-observed .morning-card-heading p{color:#d7d3e8}.morning-story-grid .morning-observed>strong{color:#fffdf9}.morning-story-grid .morning-observed-time{color:#e2deee;margin-bottom:0}.morning-story-grid .morning-observed-window{color:#9de3d7;letter-spacing:.01em;margin-top:3px;font-family:DM Mono,monospace;font-size:8.5px;font-weight:600;line-height:1.35}.morning-story-grid .morning-pending{color:#817482}.overnight-sparkline{width:100%;height:34px;margin-top:10px;display:block;overflow:visible}.overnight-sparkline polyline{fill:none;stroke:#96e4d8;stroke-width:2.8px;stroke-linecap:round;stroke-linejoin:round}.morning-hours{margin-top:25px}.morning-section-heading .eyebrow{margin:0}.morning-section-heading button{color:#337e70;font:inherit;background:0 0;border:0;align-items:center;gap:1px;padding:0;font-size:11px;font-weight:750;display:inline-flex}.morning-hourly-rail{scroll-snap-type:x mandatory;gap:8px;margin-top:11px;padding-bottom:4px;display:flex;overflow-x:auto}.morning-hourly-rail article{scroll-snap-align:start;background:#fffdf9b8;border:1px solid #e4dde4;border-radius:16px;flex:0 0 76px;place-items:center;gap:7px;min-height:132px;padding:11px 7px;display:grid}.morning-hourly-rail p,.morning-hourly-rail small{color:#756878;text-align:center;margin:0;font-family:DM Mono,monospace;font-size:9px}.morning-hourly-rail svg{color:#309782}.morning-hourly-rail strong{color:#34233d;letter-spacing:-.05em;font-size:18px}.morning-hours-empty{color:#756878;background:#fffdf999;border-radius:14px;margin:11px 0 0;padding:16px;font-size:12px}.morning-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:23px;display:grid}.morning-actions button{color:#4b3651;min-height:76px;font:inherit;text-align:center;background:#fffdf9bd;border:1px solid #ddd4df;border-radius:16px;place-items:center;gap:7px;padding:8px;font-size:10px;font-weight:750;line-height:1.2;display:grid}.morning-actions button svg{color:#348f7d}.morning-actions button:hover{background:#fffdf9;border-color:#a7d1c7;transform:translateY(-1px)}.morning-brief-loading{color:#4b3651;background:#fffdf99e;border-radius:28px;min-height:300px;padding:48px 20px}.morning-brief-loading h2{font-family:Fraunces,Georgia,serif;font-size:34px}.family-surface-heading{justify-content:space-between;align-items:end;gap:16px;margin-top:18px;margin-bottom:14px;display:flex}.family-surface-heading .eyebrow{margin:0}.family-surface-heading h2{color:#35243c;margin:5px 0 0;font-family:Fraunces,Georgia,serif;font-size:31px;line-height:1}.personal-home-scrim{z-index:90;background:#1f14256b;border:0;width:100%;position:fixed;inset:0}.personal-home-picker{z-index:100;color:#34233d;background:#fffdf9;border:1px solid #fffc;border-radius:26px;width:min(540px,100% - 32px);max-height:min(760px,100dvh - 32px);padding:23px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 70px #1f142547}.personal-home-picker>header{grid-template-columns:44px minmax(0,1fr);align-items:start;gap:13px;display:grid}.personal-home-picker h2{margin:5px 0 0;font-family:Fraunces,Georgia,serif;font-size:28px;line-height:1.02}.personal-home-picker>header p:not(.eyebrow){color:#756878;margin:8px 0 0;font-size:12px;line-height:1.45}.personal-home-picker-icon{color:#338e7b;background:#e5f4ef;border-radius:15px;place-items:center;width:44px;height:44px;display:grid}.household-picker-list{gap:10px;margin-top:22px;display:grid}.household-picker-group{background:#fffefd;border:1px solid #e7e0e6;border-radius:17px;padding:13px}.household-picker-group>div:first-child{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.household-picker-group>div:first-child span{color:#49374e;font-size:13px;font-weight:800}.household-picker-group>div:first-child small{color:#817482;font-family:DM Mono,monospace;font-size:9px}.household-member-buttons{flex-wrap:wrap;gap:7px;display:flex}.household-member-buttons button{color:#57445a;min-height:36px;font:inherit;background:#fffdf9;border:1px solid #dfd7e1;border-radius:999px;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:720;display:inline-flex}.household-member-buttons button.is-selected{color:#236e60;background:#e5f5f0;border-color:#4aa08e}.add-person-button{color:#277362;min-height:44px;font:inherit;background:#e8f8f28c;border:1px dashed #92bdaf;border-radius:14px;justify-content:center;align-items:center;gap:7px;margin-top:4px;font-size:12px;font-weight:780;display:inline-flex}.add-person-form{margin-top:23px}.add-person-form>label{color:#5d4d61;gap:7px;font-size:12px;font-weight:780;display:grid}.add-person-form input{color:#34233d;min-height:48px;font:inherit;background:#fff;border:1px solid #d9d0da;border-radius:13px;padding:0 13px;font-size:16px}.add-person-form fieldset{border:0;margin:18px 0 0;padding:0}.add-person-form legend{color:#5d4d61;margin-bottom:8px;font-size:12px;font-weight:780}.home-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.home-choice-grid label{cursor:pointer;background:#fffdf9;border:1px solid #dfd7e1;border-radius:14px;grid-template-columns:18px minmax(0,1fr);align-items:center;column-gap:7px;min-height:67px;padding:10px;display:grid;position:relative}.home-choice-grid label.is-selected{background:#eaf7f3;border-color:#4aa08e;box-shadow:inset 0 0 0 1px #4aa08e}.home-choice-grid input{opacity:0;pointer-events:none;position:absolute}.home-choice-grid svg{color:#2d8a77;grid-row:1/span 2}.home-choice-grid span{color:#49374e;font-size:11px;font-weight:800;line-height:1.15}.home-choice-grid small{color:#817482;margin-top:2px;font-size:9px}.personal-home-note{color:#817482;margin:14px 0 0;font-size:10px;line-height:1.4}.add-person-actions{justify-content:end;gap:8px;margin-top:17px;display:flex}.add-person-actions button{color:#5b495e;min-height:41px;font:inherit;background:#fffdf9;border:1px solid #d9d0da;border-radius:12px;padding:0 14px;font-size:12px;font-weight:760}.add-person-actions button.primary{color:#fff;background:#348e7b;border-color:#348e7b}.add-person-actions button:disabled{cursor:not-allowed;opacity:.45}.observed-overnight-card{border-style:solid;border-width:1px;border-radius:17px;justify-content:space-between;align-items:end;gap:16px;margin-top:14px;padding:15px;display:flex}.observed-overnight-card .eyebrow{color:#d7d3e8;margin:0}.observed-overnight-card strong{color:#fffdf9;letter-spacing:-.055em;margin-top:7px;font-family:Fraunces,Georgia,serif;font-size:32px;font-weight:520;display:block}.observed-overnight-card>p{color:#e2deee;text-align:right;max-width:160px;margin:0;font-size:11px;line-height:1.4}.observed-overnight-card>p span{color:#9de3d7;margin-top:4px;font-family:DM Mono,monospace;font-size:9px;line-height:1.4;display:block}@media (width<=560px){.morning-brief{padding-top:8px}.morning-now{border-radius:24px;min-height:172px;padding:23px 19px}.morning-now h2{font-size:clamp(75px,23vw,98px)}.morning-condition{flex-basis:82px}.morning-condition svg{width:42px;height:42px}.morning-condition strong{font-size:8px}.morning-story-grid{grid-template-columns:1.14fr .86fr;gap:8px}.morning-story-grid article{border-radius:17px;min-height:151px;padding:12px}.morning-today-stack{gap:7px;min-height:151px}.morning-story-grid .morning-today-stack .morning-temperature-card{min-height:0;padding:10px 11px}.morning-temperature-card>strong{font-size:27px}.morning-story-grid article>strong{font-size:31px}.morning-story-grid article>p{font-size:10px}.personal-home-picker{border-radius:23px;width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:20px 17px}.personal-home-picker h2{font-size:26px}.home-choice-grid{grid-template-columns:1fr}.observed-overnight-card{flex-direction:column;align-items:start;gap:8px}.observed-overnight-card>p{text-align:left;max-width:none}}.install-scrim{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e132261;border:0;width:100%;position:fixed;inset:0}.install-sheet{z-index:120;color:#35243c;background:radial-gradient(circle at 87% 6%,#ffda815c,#0000 30%),#fffdf9;border:1px solid #ffffffd6;border-radius:26px;width:min(520px,100% - 32px);max-height:min(710px,100dvh - 32px);padding:22px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 25px 72px #1d12214d}.install-header{grid-template-columns:46px minmax(0,1fr) 38px;align-items:center;gap:12px;display:grid}.install-app-mark{background:#fff;border-radius:15px;place-items:center;width:46px;height:46px;display:grid;overflow:hidden;box-shadow:0 5px 13px #30203624}.install-app-mark img{width:100%;height:100%;display:block}.install-header .eyebrow{color:#487d74;margin:0}.install-header h2{margin:4px 0 0;font-size:clamp(25px,6vw,31px);line-height:.99}.install-close{color:#625268;background:#ffffffb8;border:1px solid #ddd4de;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.install-close:hover{background:#fff;border-color:#bfaec2}.install-close:focus-visible,.install-primary:focus-visible,.install-secondary:focus-visible{outline-offset:3px;outline:3px solid #318e7c}.install-lede{color:#66596a;max-width:43ch;margin:20px 0 0;font-size:13px;line-height:1.52}.install-steps{gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.install-steps li{background:#ffffffb3;border:1px solid #e2dce3;border-radius:16px;grid-template-columns:41px minmax(0,1fr);align-items:center;gap:12px;min-height:68px;padding:10px 12px;display:grid}.install-step-icon{color:#2b8473;background:#e5f5f0;border-radius:13px;place-items:center;width:39px;height:39px;display:grid}.install-step-more{color:#537597;background:#e8f1f8}.install-step-add{color:#6d4b76;background:#f2eaf4}.install-steps p{margin:0}.install-steps strong,.install-steps span:not(.install-step-icon){display:block}.install-steps strong{color:#3d2d44;font-size:12px;font-weight:800;line-height:1.3}.install-steps p>span{color:#7c7080;margin-top:2px;font-size:10.5px;line-height:1.35}.install-steps b,.install-tip b{color:#4a394f;font-weight:800}.install-tip{color:#817482;margin:14px 1px 0;font-size:10.5px;line-height:1.48}.install-actions{justify-content:end;gap:9px;margin-top:20px;display:flex}.install-primary,.install-secondary{min-height:43px;font:inherit;border-radius:13px;padding:0 16px;font-size:12px;font-weight:800}.install-primary{color:#fff;background:#2b8875;border:1px solid #2a8976;box-shadow:0 5px 12px #2b887530}.install-primary:hover{background:#226f60}.install-primary:disabled{cursor:wait;opacity:.68}.install-secondary{color:#5c4b60;background:#fffdf9;border:1px solid #dcd3dd}.install-secondary:hover{background:#fff;border-color:#bfb1c2}.install-benefit{color:#386f65;background:#eff9f5;border:1px solid #d5e7e0;border-radius:17px;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;margin-top:20px;padding:13px;font-size:12px;font-weight:700;line-height:1.4;display:grid}.install-benefit img{border-radius:14px;width:48px;height:48px;box-shadow:0 3px 9px #3020361f}.notification-install{background:#edf8f4;border:1px solid #c9e2d9}.notification-install p strong,.notification-install p span{display:block}.notification-install p strong{color:#2d7465;font-size:12px}.notification-install p span{color:#5b756f;margin-top:2px;font-size:10px}.notification-install button{background:#297f6d}@media (width<=560px){.install-sheet{width:100%;max-height:min(720px,100dvh - 13px);padding:20px 18px max(22px, env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:26px 26px 0 0;top:auto;bottom:0;left:0;transform:none}.install-header{grid-template-columns:42px minmax(0,1fr) 36px;gap:10px}.install-app-mark{border-radius:13px;width:42px;height:42px}.install-close{width:36px;height:36px}.install-header h2{font-size:26px}.install-lede{margin-top:17px}.install-steps{gap:7px;margin-top:16px}.install-steps li{min-height:64px;padding:9px 10px}.install-step-icon{border-radius:12px;width:37px;height:37px}.install-actions{margin-top:17px}.install-secondary,.install-primary{width:100%}.install-actions:has(.install-primary){grid-template-columns:1fr 1fr;display:grid}:is(.install-actions:has(.install-primary) .install-primary,.install-actions:has(.install-primary) .install-secondary){width:auto}}
