
:root{font-family:'DM Sans',Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#141628;background:#f8f7fc;--purple:#6924ed;--purple-deep:#5417c8;--teal:#00a8a8;--gold:#f6a548;--ink:#141628;--muted:#646b7c;--line:#e3e1ec;--paper:#fff;--radius:22px;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(ellipse 600px 380px at 90% -10%,#eee0ff 0,transparent 75%),radial-gradient(ellipse 530px 500px at -10% 15%,#fff2df 0,transparent 75%),#f8f7fc;color:var(--ink)}
body:has(.install-backdrop:not([hidden])){overflow:hidden}
a{color:var(--purple)}
button,input{font:inherit}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.62}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a282f8;outline-offset:3px}
button:active:not(:disabled){transform:translateY(1px)}
[hidden]{display:none!important}
.icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.icon.small{width:16px;height:16px}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ambient{position:fixed;inset:auto;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(60px);opacity:.34}
.ambient-one{width:280px;height:280px;top:10%;right:-130px;background:#c9b3ff}
.ambient-two{width:280px;height:280px;bottom:12%;left:-140px;background:#ffe0aa}
.app-shell{width:min(1180px,calc(100% - 48px));margin:0 auto;padding-bottom:154px}
.topbar{height:94px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #e8e6ed}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;min-width:0}
.brand-symbol{width:48px;height:48px;border-radius:17px;background:linear-gradient(135deg,#6924ed,#9a65fb);box-shadow:0 6px 15px #6924ed30;color:#fff;display:grid;place-items:center;font-size:28px;font-weight:900}
.brand-name{font-family:Outfit,system-ui,sans-serif;font-weight:800;font-size:25px;letter-spacing:-1.2px;white-space:nowrap}
.brand-name strong{color:var(--purple)}
.brand-comma{color:#f0a54e}
.top-actions{display:flex;align-items:center;gap:12px}
.source-status{display:flex;align-items:center;gap:8px;font-weight:700;font-size:12px;color:#5c6171;white-space:nowrap}
.source-dot,.pulse-dot{width:8px;height:8px;background:#16b19e;border-radius:50%;box-shadow:0 0 0 4px #d7f6ef}
.mini-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid #ded9eb;background:#fff;color:#30284b;border-radius:13px;min-height:42px;padding:0 15px;font-size:13px;font-weight:800;transition:background .2s,box-shadow .2s}
.mini-button:hover,.secondary-button:hover{background:#f0eafd;box-shadow:0 3px 12px #6924ed10}
.install-top{background:var(--purple);border-color:var(--purple);color:white}
.install-top:hover{background:var(--purple-deep);color:#fff}
main{padding-top:45px}
.intro{margin-bottom:35px}
.eyebrow,.small-caps,.tiny-label{display:flex;align-items:center;gap:9px;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:1.65px}
.eyebrow-spark{font-size:23px;color:#ef9d43}.eyebrow-line{height:1px;background:linear-gradient(90deg,#bca2ef,transparent);width:120px}
.intro-layout{display:flex;justify-content:space-between;align-items:center;gap:20px}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Outfit,'DM Sans',system-ui,sans-serif;letter-spacing:-.05em}
h1{font-size:clamp(40px,5.9vw,72px);line-height:1.08;margin:19px 0 18px;font-weight:900}
h1 em{font-style:normal;color:var(--purple)}
.intro-subtitle{font-size:17px;color:var(--muted);max-width:640px;line-height:1.65}
.sticker{width:150px;height:150px;flex:none;display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;transform:rotate(9deg);background:#fff8ed;border:2px dashed #edab68;border-radius:50%;color:#a85523;box-shadow:0 8px 25px #e6b98927}
.sticker>span:first-child{font:900 35px Outfit}.sticker small{font-size:11px;letter-spacing:1px;line-height:1.35;font-weight:900}.sticker-spark{font-size:24px;color:#e5aa56}
.search-card{display:flex;gap:12px;justify-content:space-between;align-items:stretch;padding:10px 11px 10px 21px;background:#fff;border:1px solid #e1ddea;box-shadow:0 10px 35px #2123480b;border-radius:20px;margin-top:28px}
.search-left{display:flex;align-items:center;gap:18px;flex:1;min-width:0}
.search-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;color:var(--purple);background:#f0e9ff}
.search-icon .icon{width:23px;height:23px}
.zip-field{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1}
.zip-field label{font-size:11px;font-weight:900;letter-spacing:1.3px;color:#777286}
.zip-field input{border:0;outline:0;background:transparent;font-size:19px;font-weight:700;width:100%;min-width:0;padding:3px 0;color:var(--ink)}
.zip-field input:focus-visible{outline:0}
.zip-field input::placeholder{color:#a7a3b3;font-weight:500}
.search-submit,.install-native-button{border:0;background:var(--purple);color:#fff;min-height:62px;border-radius:14px;padding:12px 27px;display:inline-flex;align-items:center;justify-content:center;gap:15px;font-weight:800;box-shadow:0 8px 19px #6924ed35}
.search-submit:hover,.install-native-button:hover{background:var(--purple-deep)}
.search-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:#888596;margin:12px 8px 0}
.search-meta span:first-child{display:flex;align-items:center;gap:5px}
.search-quip{font-style:italic}
.saved-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:20px}
.saved-title{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#787287;font-weight:900;letter-spacing:1px;font-size:11px}
.saved-pills{display:flex;gap:8px;flex-wrap:wrap}
.saved-pill{display:inline-flex;align-items:center;border:1px solid #e1d5f5;background:#fff;border-radius:99px;box-shadow:0 3px 8px #31174b0c;overflow:hidden}
.saved-pill button{border:0;background:transparent;color:#61489a}
.saved-pill-load{padding:8px 5px 8px 13px;font-weight:800;font-size:12px}.saved-pill-remove{padding:7px 10px 7px 5px;font-size:22px;line-height:1}
.welcome-state,.loading-state,.error-state{min-height:350px;border:1px solid #e7e2ee;border-radius:26px;background:linear-gradient(130deg,#fff,#faf5ff);box-shadow:0 14px 40px #1e14320a}
.welcome-state{display:grid;grid-template-columns:42% 1fr;align-items:center;padding:32px 65px;gap:35px}
.welcome-art{height:260px;position:relative;display:grid;place-items:center}
.welcome-sun{position:absolute;left:18%;top:5%;font-size:170px;color:#f9ae53;text-shadow:0 14px 28px #f5ad5b66}
.welcome-cloud{position:absolute;left:17%;bottom:12px;font-size:160px;color:#ded0f5;text-shadow:0 9px 16px #b8a7d54a}.cloud-small{left:48%;bottom:13%;font-size:95px;color:#fff}
.welcome-text h2,.loading-state h2,.error-state h2{font-size:clamp(25px,3.2vw,37px);margin:11px 0}
.welcome-text p,.loading-state p,.error-state p{font-size:15px;color:var(--muted);line-height:1.72;max-width:490px}
.text-link{border:0;padding:0;display:inline-flex;gap:8px;align-items:center;background:transparent;color:var(--purple);font-weight:800}
.loading-state,.error-state{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px}
.loader-orbit{font-size:100px;animation:spin 2.4s linear infinite;color:#eab254}.error-emoji{font-size:80px}
@keyframes spin{to{transform:rotate(360deg)}}
.banner-note{padding:12px 16px;background:#fff7e5;border-radius:12px;margin-bottom:14px;font-size:14px}
.alert-panel{scroll-margin-top:26px}
.alert-summary{border:1px solid #d5eee8;border-radius:14px;background:#f1fbf8;color:#276653;padding:13px 17px;margin:0 0 18px;font-size:13px;font-weight:650}
.alert-summary.unavailable{background:#fff7e4;border-color:#f0d39f;color:#8f5923}
.alert-summary a{color:inherit;text-underline-offset:3px}
.alert-box{padding:16px 20px;margin-bottom:16px;background:#fff1e9;border:1px solid #edb6a0;border-left:5px solid #cd5938;border-radius:14px;color:#813919}
.alert-event{font-weight:900;font-size:17px}
.alert-box p{margin:8px 0;font-size:13px;line-height:1.55}
.alert-box details{margin:8px 0;padding:10px 13px;background:#fff9f4;border-radius:10px}
.alert-box summary{cursor:pointer;font-weight:800}
.alert-box a{color:#8a3f2e;font-weight:750}
.weather-hero{background:linear-gradient(135deg,#7337e6 0%,#6327da 48%,#4236a0 100%);color:#fff;display:grid;grid-template-columns:1.04fr .96fr;gap:30px;padding:38px;border-radius:27px;min-height:390px;overflow:hidden;position:relative;box-shadow:0 18px 50px #5833b32f;scroll-margin-top:22px}
.weather-hero.night{background:linear-gradient(135deg,#262657,#42346d 55%,#1c2852)}
.weather-hero:before{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:#c79fff25;top:-130px;left:29%}
.hero-decoration{position:absolute;pointer-events:none;border:1px solid #ffffff2c;border-radius:50%}
.deco-one{width:500px;height:500px;top:-350px;left:18%}.deco-two{width:280px;height:280px;bottom:-230px;left:19%}
.hero-info,.narration-card{position:relative;z-index:1}
.hero-topline{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.hero-pill{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.1px;font-weight:900;background:#ffffff22;border:1px solid #ffffff30;border-radius:99px;padding:10px 13px}
.hero-update{font-size:11px;color:#f1e4ff}
.place-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px}
.hero-place-label{font-size:10px;font-weight:900;letter-spacing:2px;color:#ddd1ff;margin-bottom:7px}
.place-header h2{font-size:clamp(28px,3.2vw,41px);line-height:1.12;margin:0 0 6px}
.hero-date{margin:0;color:#e5dcfa;font-size:12px}
.favorite-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #ffffff53;color:#fff;background:#ffffff1c;padding:10px 12px;border-radius:12px;font-size:11px;white-space:nowrap;font-weight:800}
.favorite-button.saved{background:#ffe9a2;color:#423567;border-color:#ffe9a2}
.temp-block{display:flex;align-items:center;gap:12px;margin-top:26px}
.big-weather-icon{font-size:84px;line-height:1;filter:drop-shadow(0 10px 11px #311f852b)}
.temp-figure{font:900 clamp(90px,10vw,133px)/.9 Outfit,system-ui,sans-serif;letter-spacing:-8px}
.temp-figure sup{font:600 45px Outfit;vertical-align:top;letter-spacing:-3px;margin-left:4px}
.condition-text{font-size:20px;font-weight:850;margin:17px 0 9px}.high-low{color:#ede2ff;font-size:15px}
.narration-card{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding:25px;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 8px 25px #1f16551c}
.narration-top{display:flex;justify-content:space-between;align-items:center}.tiny-label{font-size:10px;letter-spacing:1px}.little-flame{color:#f0a54a;font-size:20px}
.narration-emoji{font-size:24px}
.narration-card h3{font-size:32px;margin:14px 0 9px}
.roast-copy{font-size:19px;font-weight:600;line-height:1.5;flex:1;color:#343248}
.narration-bottom{display:flex;flex-wrap:wrap;gap:8px}
.sound-button,.reroll-button{display:inline-flex;align-items:center;gap:8px;background:#f1eaff;border:1px solid #ded2fa;border-radius:11px;padding:11px 13px;color:#5c27be;font-size:12px;font-weight:800}
.reroll-button{background:#fff;color:#5f5770;border-color:#e5e1eb}
.mode-toggle{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;border-top:1px solid #edeaf2;padding-top:17px;margin-top:20px}
.mode-toggle>span{font-size:10px;letter-spacing:.9px;font-weight:900;color:#898295}
.mode-segment{display:flex;gap:3px;padding:4px;background:#f1eff5;border-radius:11px}
.mode-segment button{font-weight:800;font-size:11px;border:0;border-radius:8px;background:transparent;color:#6b627a;padding:7px 10px}
.mode-segment button.selected{background:#fff;color:var(--purple);box-shadow:0 1px 5px #20153c17}
.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:18px 0 22px}
.metric-card{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px 16px;box-shadow:0 6px 18px #120e3209;min-width:0}
.metric-icon{display:grid;place-items:center;background:#f0e9ff;color:var(--purple);width:37px;height:37px;border-radius:11px;margin-bottom:17px}
.metric-label{font-size:10px;letter-spacing:1px;font-weight:900;color:#877f93}
.metric-value{font:850 clamp(20px,2.5vw,29px) Outfit;margin:5px 0}
.metric-sub{font-size:11px;color:#7e7c8b;line-height:1.3}
.section-card{background:#fff;border:1px solid #e6e2ed;border-radius:23px;margin-bottom:20px;padding:29px 30px;box-shadow:0 6px 26px #18132f09;scroll-margin-top:22px}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.section-heading h2{font-size:clamp(21px,2.5vw,29px);margin:7px 0 0}
.header-tag{font-size:10px;font-weight:900;color:#6756a3;white-space:nowrap;border:1px solid #e4dafa;background:#f8f4ff;border-radius:10px;padding:9px 12px;display:inline-flex;align-items:center;gap:6px;letter-spacing:.8px}
.hourly-scroll{display:flex;gap:11px;overflow-x:auto;padding:0 0 9px;scrollbar-color:#bcb1e4 transparent;scroll-snap-type:x proximity}
.hour-tile{flex:1 0 74px;min-width:74px;max-width:108px;text-align:center;padding:15px 9px 13px;border:1px solid #e6e1ef;border-radius:15px;background:#fbfaff;scroll-snap-align:start}
.hour-label{font-size:10px;color:#817990;font-weight:900;letter-spacing:.4px}
.hour-icon{display:block;font-size:32px;margin:13px 0 12px}
.hour-temp{display:block;font:850 23px Outfit}
.hour-rain{display:block;font-size:11px;color:#267cbb;margin-top:8px;font-weight:800}
.daily-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.day-card{min-width:0;display:flex;flex-direction:column;align-items:center;gap:9px;padding:17px 6px 14px;border-radius:15px;background:#faf9fc;border:1px solid #e7e3ee;color:#292439}
.day-card:hover{background:#f4efff;border-color:#c6abf7}
.day-card.selected{background:#ede4ff;border:2px solid var(--purple);padding:16px 5px 13px}
.day-name{font-size:13px;font-weight:900}.day-date{font-size:10px;color:#898292}
.day-icon{font-size:32px;margin:8px 0}
.day-high{font:850 22px Outfit}.day-low{font:700 15px Outfit;color:#82798c}
.day-rain{font-size:10px;color:#2483bd;font-weight:800}
.daily-disclaimer{font-size:11px;color:#9591a0;margin:15px 0 0;text-align:center}
.bottom-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}
.sun-card{background:linear-gradient(135deg,#fff2df,#fffbf4);border:1px solid #f4dfc8;border-radius:22px;padding:28px}
.sun-top{display:flex;justify-content:space-between;font-size:29px}
.sun-card .small-caps{color:#9a683d}.sun-card h2{font-size:27px;margin:14px 0 19px}
.sun-times{display:flex;gap:13px}
.sun-times>div{display:flex;flex:1;flex-direction:column;gap:6px;background:#ffffffba;border:1px solid #f3e6d7;border-radius:13px;padding:15px;min-width:0}
.sun-times .icon{color:#ba843d;width:24px;height:24px}
.sun-times small{color:#ae8a63;font-size:10px;font-weight:850}
.sun-times strong{font:850 21px Outfit;white-space:nowrap}
.source-card{display:flex;gap:17px;background:#f1f8f8;border:1px solid #dceaea;border-radius:22px;padding:28px}
.source-icon{width:44px;height:44px;display:grid;place-items:center;flex:none;background:#d9f1ee;border-radius:14px;color:#158d91}
.source-card .small-caps{color:#198e91}
.source-card h2{font-size:25px;margin:11px 0}
.source-card p{color:#5e7378;font-size:13px;line-height:1.72;margin:0}
.source-card a{color:#177e82;font-weight:850}
.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:15px;padding:36px 2px;color:#9b92a4;font-size:10px;letter-spacing:.8px;font-weight:800}
.footer-flower{color:var(--gold);font-size:17px}
.site-footer button{color:#706383;border:0;background:transparent;text-decoration:underline;font-size:11px;font-weight:800}
.weather-dock{position:fixed;bottom:max(15px,env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:70;width:min(540px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:3px;padding:9px 12px;background:#fffffff5;border:1px solid #e4dceb;border-radius:24px;box-shadow:0 12px 36px #34234b36;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.dock-action{display:flex;position:relative;min-width:0;flex:1;align-items:center;flex-direction:column;justify-content:center;gap:3px;min-height:54px;border:0;border-radius:15px;background:transparent;color:#80778e;font-weight:800;font-size:10px;transition:color .2s,background .2s}
.dock-action:hover{background:#f6f2fd;color:#5e2ebc}
.dock-icon{display:grid;place-items:center;width:33px;height:30px;border-radius:12px}
.dock-action.active{color:#6625e7}
.dock-action.active .dock-icon{background:#6924ed;color:white;border-radius:50%;box-shadow:0 4px 10px #6924ed31}
.dock-action.active:before{content:'';position:absolute;top:-9px;left:24%;right:24%;height:3px;background:var(--purple);border-radius:0 0 4px 4px}
.dock-install .dock-icon{color:#0d8c90}
.dock-alert-dot{position:absolute;top:4px;right:24%;height:9px;width:9px;background:#da533b;border:2px solid #fff;border-radius:50%}
.install-backdrop{position:fixed;inset:0;z-index:100;background:#19142b87;backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:center;padding:20px}
.install-sheet{background:#fff;width:min(510px,100%);max-height:min(92vh,800px);overflow:auto;border:1px solid #e1d5f4;border-radius:26px;padding:29px;box-shadow:0 24px 75px #20103550;outline:0}
.sheet-grab{display:none}
.sheet-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}
.sheet-logo{height:53px;width:53px;display:grid;place-items:center;background:#6924ed;border-radius:17px;font-size:30px;color:#fff}
.sheet-close{height:37px;width:37px;display:grid;place-items:center;border:1px solid #ece5f3;border-radius:50%;background:#f9f7fc;color:#6f6880;font-size:26px}
.install-sheet h2{font-size:32px;line-height:1.15;margin:12px 0}
.install-description{color:#726b80;font-size:14px;line-height:1.6}
.install-tabs{display:flex;gap:6px;background:#f3f0f8;padding:5px;border-radius:13px;margin:17px 0}
.install-tabs button{flex:1;padding:10px 6px;min-width:0;font-size:12px;font-weight:850;border:0;border-radius:10px;background:transparent;color:#766d82}
.install-tabs button[aria-pressed=true]{background:#fff;color:#6227da;box-shadow:0 2px 6px #28174116}
.install-instructions{background:#faf8fd;border:1px solid #ece8f1;border-radius:15px;padding:16px}
.install-instructions ol{margin:0;padding-left:22px;color:#40374d;line-height:1.85;font-size:14px}
.install-instructions li{padding-left:4px;margin-bottom:7px}.install-instructions li:last-child{margin-bottom:0}
.install-native-button{margin-top:17px;width:100%;min-height:49px}
.install-note{font-size:11px;color:#928a9e;margin:12px 2px 0;line-height:1.55}
@media(max-width:1000px){.weather-hero{gap:15px;padding:23px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.daily-list{overflow-x:auto;grid-template-columns:repeat(7,minmax(115px,1fr));padding-bottom:6px}.sticker{width:120px;height:120px}}
@media(max-width:760px){.app-shell{width:calc(100% - 28px);padding-bottom:130px}.topbar{height:74px}.brand-symbol{width:42px;height:42px}.brand-name{font-size:20px}.source-status{display:none}.top-actions{gap:6px}.top-actions .mini-button{font-size:0;gap:0;width:41px;height:41px;padding:0}.top-actions .mini-button .icon{width:20px;height:20px}main{padding-top:28px}.intro-layout{align-items:flex-start}.sticker{display:none}h1{font-size:clamp(38px,8.4vw,56px)}.intro-subtitle{font-size:14px}.search-card{padding:8px;gap:8px}.search-left{gap:8px}.search-icon{width:40px;height:40px}.zip-field label{font-size:9px}.zip-field input{font-size:14px}.search-submit{min-height:50px;font-size:12px;padding:10px;max-width:42%;gap:7px}.search-submit .icon{display:none}.search-meta{font-size:10px}.search-quip{display:none}.welcome-state{padding:28px;grid-template-columns:1fr;gap:10px;text-align:center}.welcome-art{height:150px;width:230px;margin:auto}.welcome-sun{font-size:120px;left:20%;top:-5%}.welcome-cloud{font-size:108px;left:18%;bottom:-3%}.cloud-small{font-size:75px;left:49%;bottom:4%}.welcome-text .small-caps{justify-content:center}.weather-hero{display:flex;flex-direction:column;padding:20px;gap:24px}.place-header{margin-top:19px}.place-header h2{font-size:28px}.favorite-button{padding:8px;font-size:0}.favorite-button .icon{width:19px;height:19px}.temp-block{margin-top:15px}.big-weather-icon{font-size:63px}.temp-figure{font-size:92px}.temp-figure sup{font-size:36px}.narration-card{padding:21px}.narration-card h3{font-size:26px}.roast-copy{font-size:17px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{padding:16px}.section-card{padding:23px 16px}.section-heading h2{font-size:22px}.header-tag{display:none}.bottom-grid{grid-template-columns:1fr}.sun-card,.source-card{padding:22px}.site-footer{font-size:10px}}
@media(max-width:420px){.brand-name{font-size:18px}.brand-symbol{width:37px;height:37px;border-radius:13px;font-size:23px}.search-left{gap:7px}.search-icon{display:none}.zip-field input{font-size:13px}.search-submit{font-size:11px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-toggle>span{display:none}.install-backdrop{padding:0;align-items:flex-end}.install-sheet{border-radius:26px 26px 0 0;max-height:94vh;padding:22px;padding-bottom:max(22px,env(safe-area-inset-bottom))}.sheet-grab{display:block;width:45px;height:5px;background:#e1dae8;border-radius:9px;margin:-8px auto 13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition:none!important;scroll-behavior:auto!important}}

/* Native Cloudflare AI narrator controls */
.voice-chooser{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:12px 0;border-top:1px solid #eeeaf6}
.voice-chooser label{font-size:10px;letter-spacing:.9px;font-weight:900;color:#81738f;white-space:nowrap}
.voice-chooser select{min-height:41px;max-width:210px;flex:1;border:1px solid #ded5f3;background:#fbfaff;color:#472b79;border-radius:11px;padding:8px 9px;font-size:12px;font-weight:800}
.weather-audio{display:block;width:100%;height:41px;margin-top:12px}
.voice-disclosure{font-size:10px;line-height:1.45;color:#93889f;margin:11px 0 3px}
@media(max-width:420px){.voice-chooser{align-items:flex-start;flex-direction:column;gap:7px}.voice-chooser select{max-width:100%;width:100%}}
