@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f2f5ff;background:#080d1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--muted:#98a4bd;--line:rgba(190,208,255,.105);--panel:rgba(19,29,53,.72);--cyan:#76e0f7;--violet:#9b8cff}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#080d1a}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.app-shell{position:relative;isolation:isolate;overflow:hidden;max-width:560px;min-height:100vh;margin:0 auto;padding:0 18px 108px;background:radial-gradient(ellipse at 50% -12%,rgba(58,87,161,.3),transparent 47%),linear-gradient(180deg,#0a1022,#0b1121 48%,#080d19)}.ambient{position:absolute;z-index:-1;pointer-events:none;filter:blur(65px);opacity:.23;border-radius:50%}.ambient-one{width:220px;height:220px;right:-110px;top:240px;background:#625de4}.ambient-two{width:190px;height:190px;left:-120px;top:580px;background:#1e8ea9}.topbar{height:74px;display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(200,215,255,.07)}.brand-mark{width:39px;height:39px;border:1px solid rgba(118,224,247,.28);border-radius:13px;background:linear-gradient(135deg,#41c5e52e,#7f6fff26);color:#8ee8ff;display:grid;place-items:center}.brand-copy{display:flex;flex-direction:column;gap:0}.brand-name{font-family:Manrope,sans-serif;font-size:21px;font-weight:800;letter-spacing:-1px}.brand-caption{font-size:8px;font-weight:700;letter-spacing:1.8px;color:#8290ad}.top-actions{display:flex;gap:5px;margin-left:auto}.icon-button,.plain-icon{border:0;background:transparent;color:#b4c0d8;display:grid;place-items:center;width:38px;height:38px;border-radius:12px;transition:background .2s,color .2s}.icon-button:hover,.plain-icon:hover{background:#ffffff12;color:#fff}.icon-button.is-favorite{color:#ff8ba6}.page-content{position:relative}.location-row{display:flex;align-items:center;justify-content:space-between;margin:20px 0 12px;gap:8px}.location-name{display:flex;align-items:center;gap:7px;color:#d7e1f7;font-weight:600;font-size:14px}.location-name svg{color:#8b9cbb}.location-actions{display:flex;gap:0}.weather-hero{position:relative;overflow:hidden;border:1px solid rgba(176,204,255,.15);border-radius:27px;min-height:315px;padding:19px 20px 15px;background:linear-gradient(135deg,#24416feb,#1a2549e6 54%,#2b265df0);box-shadow:0 20px 50px #00000029;isolation:isolate}.weather-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse at 78% 27%,rgba(107,201,255,.25),transparent 40%),linear-gradient(145deg,transparent 40%,rgba(126,111,255,.11));pointer-events:none}.weather-hero.hero-sunny{background:linear-gradient(140deg,#343f78,#263d70 50%,#5a477b)}.weather-hero.hero-rainy{background:linear-gradient(140deg,#1a3652,#203452 48%,#373b68)}.weather-hero.hero-snowy{background:linear-gradient(140deg,#294b69,#2e4774 54%,#4d527e)}.hero-topline{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;letter-spacing:1.7px;color:#b4c9e8}.live-dot{display:flex;align-items:center;gap:6px;font-size:8px;letter-spacing:1.1px;color:#b2f2df}.live-dot:before{content:"";width:5px;height:5px;border-radius:50%;background:#70e7c1;box-shadow:0 0 10px #70e7c1}.weather-art{position:absolute;right:-2px;top:26px;width:190px;height:160px;opacity:.94}.sun-disc{position:absolute;width:88px;height:88px;right:35px;top:2px;border-radius:50%;background:radial-gradient(circle at 35% 32%,#fff8d8,#ffda8b 35%,rgba(255,190,112,.35) 68%,transparent 72%);filter:drop-shadow(0 0 25px rgba(255,211,129,.35))}.cloud{position:absolute;border-radius:40px;background:linear-gradient(145deg,#f1f6ff,#a7c5e9);box-shadow:inset -6px -7px 15px #4f71a442,0 10px 20px #09173126}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud-back{width:95px;height:31px;right:22px;top:62px;opacity:.65;filter:blur(.3px)}.cloud-back:before{width:48px;height:48px;left:15px;top:-22px}.cloud-back:after{width:39px;height:39px;right:11px;top:-14px}.cloud-front{width:111px;height:39px;right:42px;top:83px;background:linear-gradient(145deg,#f7fbff,#c0d9f3)}.cloud-front:before{width:56px;height:56px;left:19px;top:-28px}.cloud-front:after{width:43px;height:43px;right:14px;top:-18px}.hero-rainy .sun-disc{opacity:.3}.hero-rainy .cloud{background:linear-gradient(145deg,#b9cee2,#6f8eaf)}.rain-lines{position:absolute;right:61px;top:128px;display:flex;gap:15px;transform:rotate(17deg)}.rain-lines i{display:block;width:2px;height:16px;border-radius:4px;background:#8fe6ff;box-shadow:0 0 7px #64d5ff;opacity:.8}.rain-lines i:nth-child(2n){margin-top:8px}.hero-snowy .sun-disc{opacity:.28}.snow-dots{position:absolute;right:48px;top:133px;color:#dff6ff;font-size:14px;letter-spacing:8px}.hero-weather-copy{position:relative;z-index:1;margin-top:33px}.temperature{font-family:Manrope,sans-serif;font-weight:500;letter-spacing:-6px;font-size:91px;line-height:1.02;color:#fff;text-shadow:0 4px 24px rgba(12,20,51,.14)}.temperature span{font-size:50px;vertical-align:top;line-height:1.2;letter-spacing:-3px;color:#d9f5ff}.condition{font-size:17px;font-weight:600;letter-spacing:-.3px;margin-top:3px}.feels-like{font-size:11px;color:#bdcde7;margin-top:8px}.feels-like span{margin:0 5px;color:#728db4}.hero-footer{position:absolute;left:20px;right:20px;bottom:15px;padding-top:12px;border-top:1px solid rgba(229,240,255,.14);display:flex;justify-content:space-between;gap:8px;color:#b8c9e4;font-size:10px}.hero-footer>span{display:flex;align-items:center;gap:6px}.hero-footer b{font-weight:500}.tiny-pulse{width:5px;height:5px;border-radius:50%;background:#75e5c1}.metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:12px 0}.metric-card{padding:13px 12px 12px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,#19253fc7,#0f182cc7);min-width:0}.metric-label{display:flex;align-items:center;gap:5px;color:#9daecc;font-size:8px;letter-spacing:.9px;font-weight:700;white-space:nowrap}.metric-label svg{color:#80dff1}.metric-value{font-family:Manrope,sans-serif;font-size:24px;font-weight:700;letter-spacing:-1px;margin-top:11px;white-space:nowrap}.metric-value small{font-family:DM Sans,sans-serif;font-size:10px;letter-spacing:0;color:#b1bdd3;font-weight:500}.metric-foot{font-size:9px;color:#8493b0;margin-top:3px;white-space:nowrap}.content-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#131d34e0,#0d1527e0);padding:18px 16px;margin-top:12px;box-shadow:0 10px 30px #00000014}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#7fa8ce}.section-heading h2,.historical-results h2{font-family:Manrope,sans-serif;font-size:18px;letter-spacing:-.5px;margin:4px 0 0}.section-chip{border:1px solid rgba(129,172,220,.15);border-radius:8px;padding:6px 8px;color:#92a9c8;font-size:8px;letter-spacing:1px}.hourly-scroll{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.hourly-scroll::-webkit-scrollbar{display:none}.hour-item{flex:0 0 54px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:10px 5px;border-radius:14px;background:#ffffff06;border:1px solid transparent}.hour-item.hour-current{background:linear-gradient(180deg,#5abfe226,#747be714);border-color:#76e0f72e}.hour-time{font-size:10px;color:#9facc4}.hour-icon{font-size:21px;line-height:1.2}.hour-item strong{font-size:13px}.hour-rain{font-size:9px;color:#81d9f1}.daily-list{display:flex;flex-direction:column;gap:0}.daily-row{display:grid;grid-template-columns:49px 26px 37px 29px minmax(28px,1fr) 29px;align-items:center;gap:6px;padding:11px 0;border-bottom:1px solid rgba(190,208,255,.065)}.daily-row:last-child{border-bottom:0}.daily-day{font-size:11px;color:#d5deef;text-transform:capitalize}.daily-icon{font-size:17px;text-align:center}.daily-rain{font-size:9px;color:#82d8f4;display:flex;align-items:center;gap:2px}.daily-min,.daily-max{font-size:11px;text-align:right}.daily-min{color:#8999b6}.temp-track{position:relative;height:4px;border-radius:9px;background:#98accf21;overflow:hidden}.temp-track span{position:absolute;top:0;bottom:0;border-radius:9px;background:linear-gradient(90deg,#71c8f3,#f5d18d)}.text-link{display:flex;align-items:center;justify-content:center;gap:5px;margin:14px auto 0;border:0;background:none;color:#91def3;font-size:11px;font-weight:600}.data-footnote,.helper-text{font-size:10px;line-height:1.6;color:#6f809f;text-align:center;margin:15px 5px}.bottom-nav{position:fixed;z-index:10;left:50%;bottom:0;transform:translate(-50%);width:min(560px,100%);padding:11px 12px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(178,201,247,.11);background:#080d1ae0;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.bottom-nav button{border:0;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#74839f;font-size:9px;padding:4px 2px}.bottom-nav button.nav-active{color:#83e1f5}.bottom-nav button.nav-active svg{filter:drop-shadow(0 0 7px rgba(103,220,245,.28))}.search-panel{position:absolute;z-index:20;top:64px;left:12px;right:12px;padding:12px;border:1px solid rgba(167,198,250,.17);border-radius:19px;background:#0f182df7;box-shadow:0 18px 50px #0006;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.search-input-wrap{display:flex;align-items:center;gap:8px;border:1px solid rgba(172,196,234,.15);background:#ffffff0a;border-radius:12px;padding:0 8px 0 12px;color:#91a7c8}.search-input-wrap input{width:100%;min-width:0;height:42px;border:0;outline:0;background:transparent;color:#fff;font-size:13px}.result-row{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;color:#c8d7ef;padding:11px 7px;text-align:left}.result-row>span{flex:1;font-size:12px}.result-row small{display:block;margin-top:3px;color:#8394b1;font-size:10px}.notice{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(123,211,233,.16);background:#317f991f;border-radius:12px;color:#b5dce8;font-size:11px;margin:8px 0}.notice button{border:0;background:transparent;color:inherit;display:grid;place-items:center}.loading-panel{min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;color:#9caecc;font-size:12px}.loader-orb{width:54px;height:54px;border-radius:50%;border:1px solid rgba(118,224,247,.2);background:radial-gradient(circle,rgba(104,219,243,.18),transparent 68%);box-shadow:0 0 35px #68dbf31f;position:relative;animation:breathe 1.7s ease-in-out infinite}.loader-orb:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid transparent;border-top-color:#80e4f7;border-right-color:#9d8cff;border-radius:50%;animation:spin 1.2s linear infinite}.error-panel,.empty-state{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:#9eacc6}.error-panel strong,.empty-state h2{font-family:Manrope,sans-serif;color:#eaf1ff;font-size:17px}.error-panel span,.empty-state p{font-size:12px;color:#8f9fbb}.primary-button,.secondary-button{border:1px solid rgba(122,219,243,.22);border-radius:12px;background:linear-gradient(135deg,#41b3d533,#7a6dee33);color:#d8f7ff;padding:11px 14px;font-size:11px;font-weight:700}.primary-button:disabled{opacity:.6;cursor:wait}.subpage{padding-top:23px}.page-title{margin:0 2px 20px}.page-title h1{font-family:Manrope,sans-serif;font-size:29px;letter-spacing:-1.1px;margin:7px 0 5px}.page-title p{font-size:12px;line-height:1.5;color:#92a1bc;margin:0}.history-picker{display:flex;flex-direction:column;gap:12px}.history-picker label{font-size:12px;color:#a8b9d5;font-weight:600}.history-picker input{width:100%;color:#f3f6ff;background:#ffffff0d;border:1px solid rgba(167,193,231,.16);border-radius:12px;padding:12px;color-scheme:dark}.historical-results{margin-top:14px}.history-temp{font-family:Manrope,sans-serif;font-size:37px;letter-spacing:-1px;margin:12px 0}.historical-results p{font-size:11px;color:#9ba9c1}.historical-hours{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:18px}.historical-hours>div{display:flex;flex-direction:column;align-items:center;gap:7px;padding:10px 3px;border-radius:12px;background:#ffffff09}.historical-hours span,.historical-hours small{font-size:10px;color:#91a2c0}.historical-hours b{font-size:13px}.place-list{display:flex;flex-direction:column;gap:9px}.place-card{width:100%;display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:17px;background:var(--panel);color:#dce6f8;text-align:left}.place-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#71d3ef1a;color:#80dff1}.place-copy{display:flex;flex-direction:column;gap:4px;flex:1}.place-copy b{font-size:13px}.place-copy small{font-size:10px;color:#8c9bb6}.empty-state{padding:20px}.empty-state>svg{color:#8a9ab9}.settings-card{padding:3px 16px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid rgba(190,208,255,.075)}.setting-row:last-child{border-bottom:0}.setting-row>div:first-child{display:flex;flex-direction:column;gap:5px}.setting-row b{font-size:12px;font-weight:600}.setting-row small{font-size:10px;line-height:1.5;color:#8494b1;max-width:230px}.segmented{display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#ffffff09}.segmented button{border:0;border-radius:7px;background:transparent;color:#94a4c0;padding:7px 9px;font-size:10px}.segmented button.selected{background:#6dcce62b;color:#a9efff}.secondary-button{white-space:nowrap;padding:9px 10px}.setting-value{font-size:11px;color:#a5b5d0}.privacy-pill{border:1px solid rgba(100,218,174,.17);border-radius:8px;padding:5px 8px;color:#93e5c7;font-size:9px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{transform:scale(1.06);opacity:.8}}@media(min-width:600px){.app-shell{margin:20px auto;min-height:calc(100vh - 40px);border:1px solid rgba(178,201,247,.08);border-radius:28px;padding-bottom:100px}.bottom-nav{bottom:20px;border-radius:0 0 28px 28px;border:1px solid rgba(178,201,247,.1);border-bottom:0}}@media(max-width:375px){.app-shell{padding-left:12px;padding-right:12px}.weather-hero{padding-left:16px;padding-right:16px}.weather-art{right:-21px;transform:scale(.88);transform-origin:top right}.temperature{font-size:83px}.metric-card{padding:11px 8px}.metric-label{font-size:7px;letter-spacing:.5px}.metric-value{font-size:21px}.metric-foot{font-size:8px}.daily-row{grid-template-columns:43px 22px 32px 26px minmax(22px,1fr) 26px;gap:4px}}.sun-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sun-time{display:flex;align-items:center;gap:10px;min-width:0;padding:13px;border:1px solid rgba(190,208,255,.08);border-radius:14px;background:#ffffff06}.sun-time svg{flex-shrink:0;color:#f5cb87}.sun-time div{display:flex;flex-direction:column;gap:4px}.sun-time span{font-size:10px;color:#91a2c0}.sun-time strong{font-family:Manrope,sans-serif;font-size:18px;color:#edf3ff}@media(max-width:350px){.sun-time{gap:7px;padding:10px}.sun-time strong{font-size:16px}}.daily-row-button{width:100%;font:inherit;color:inherit;text-align:left;border:0;background:transparent;cursor:pointer}.daily-row-button:hover,.daily-row-button.daily-selected{background:#73cfed0e}.daily-row-button.daily-selected .daily-day{color:#8fe6fa}.daily-chevron{color:#657b9c;justify-self:end}.day-detail{margin-top:14px;padding:15px;border:1px solid rgba(118,224,247,.13);border-radius:17px;background:#060d1b5c}.day-detail-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.day-detail-heading h3{font-family:Manrope,sans-serif;font-size:16px;text-transform:capitalize;margin:5px 0 0}.day-detail-weather{font-size:11px;color:#c4d5ed;text-align:right}.day-detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}.day-detail-metrics>div{display:flex;flex-direction:column;gap:5px;padding:10px 8px;border-radius:11px;background:#ffffff09;min-width:0}.day-detail-metrics small,.day-detail-metrics span{font-size:9px;color:#8e9fbb}.day-detail-metrics b{font-size:14px;color:#eef6ff}.day-sunline{display:flex;justify-content:space-between;gap:8px;margin:12px 0;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:10px;color:#a8bad6}.day-sunline b{color:#f5d79c;margin-left:4px}.day-detail h4{font-size:11px;color:#b8c8e0;margin:13px 0 9px}.day-hour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.day-hour{display:flex;flex-direction:column;align-items:center;gap:6px;padding:9px 3px;border-radius:11px;background:#ffffff08;min-width:0}.day-hour>span,.day-hour small{font-size:9px;color:#93a4c0}.day-hour>b{font-size:20px;line-height:1.2}.day-hour>strong{font-size:12px}.day-hour small{font-size:8px;white-space:nowrap}@media(max-width:370px){.day-detail{padding:11px}.day-detail-metrics{gap:4px}.day-detail-metrics>div{padding:8px 5px}.day-detail-metrics b{font-size:12px}.day-hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.search-empty{font-size:11px;line-height:1.5;color:#93a5c2;padding:6px 8px 2px}.daily-row{grid-template-columns:43px 22px 32px 26px minmax(22px,1fr) 26px 14px}@media(max-width:375px){.daily-row{grid-template-columns:39px 20px 29px 24px minmax(18px,1fr) 24px 12px;gap:3px}}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric-card{min-height:102px}.hour-item{font:inherit;color:#f2f5ff;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:54px}.hour-item:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.hour-item.hour-current{border-color:#76e0f759;box-shadow:inset 0 0 0 1px #76e0f714}.page-content{position:relative;max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain;padding-bottom:10px;scrollbar-width:thin;scrollbar-color:rgba(118,224,247,.22) transparent}.page-content::-webkit-scrollbar{width:3px}.page-content::-webkit-scrollbar-thumb{background:#76e0f738;border-radius:8px}.forecast-card .section-heading{margin-bottom:10px}.daily-card .section-heading{margin-bottom:8px}.daily-row-button.daily-selected{box-shadow:inset 2px 0 #76e0f7b3;padding-left:5px}.sun-times-card{margin-bottom:12px}@media(max-height:740px){.weather-hero{min-height:260px}.weather-art{transform:scale(.83);transform-origin:top right}.temperature{font-size:78px}.metric-card{min-height:88px;padding-top:10px;padding-bottom:9px}.metric-value{margin-top:7px;font-size:22px}.content-card{padding:14px 13px;margin-top:9px}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.unit-segmented button{padding:7px 6px;min-width:34px}@media(max-width:375px){.setting-row{align-items:flex-start;flex-direction:column}.setting-row>div:first-child{max-width:100%}.unit-segmented{max-width:100%}.unit-segmented button{padding:7px 8px}}body{background:#dce8f4}.app-shell{width:100%;max-width:none;min-height:100dvh;margin:0;padding:0 clamp(16px,4vw,42px) calc(86px + env(safe-area-inset-bottom));overflow:hidden;border:0;border-radius:0;background:linear-gradient(180deg,#8fc8e8,#c4dced,#e7e3d8);transition:background .7s ease,color .3s ease}.topbar{max-width:760px;margin:0 auto;border-bottom-color:#243f5e1f}.page-content{max-width:760px;margin:0 auto;max-height:calc(100dvh - 158px)}.location-name{color:#1e3550}.location-name svg{color:#52718f}.brand-name{color:#1c3450}.brand-caption{color:#526b87}.icon-button,.plain-icon{color:#38536e}.icon-button:hover,.plain-icon:hover{background:#ffffff61;color:#152e49}.sky-stars{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;opacity:0;transition:opacity .8s ease;background-image:radial-gradient(1px 1px at 8% 9%,rgba(255,255,255,.92) 98%,transparent),radial-gradient(1.5px 1.5px at 18% 21%,rgba(255,255,255,.75) 98%,transparent),radial-gradient(1px 1px at 31% 8%,rgba(255,255,255,.8) 98%,transparent),radial-gradient(1px 1px at 48% 17%,rgba(255,255,255,.8) 98%,transparent),radial-gradient(1.5px 1.5px at 67% 11%,rgba(255,255,255,.82) 98%,transparent),radial-gradient(1px 1px at 83% 25%,rgba(255,255,255,.9) 98%,transparent),radial-gradient(1px 1px at 93% 8%,rgba(255,255,255,.75) 98%,transparent),radial-gradient(1px 1px at 58% 31%,rgba(255,255,255,.6) 98%,transparent),radial-gradient(1px 1px at 12% 38%,rgba(255,255,255,.65) 98%,transparent);background-size:100% 540px;background-repeat:repeat-y}.app-shell.sky-day{background:linear-gradient(180deg,#7fc1e5,#b5d9ed 34%,#d8e7ec,#e7e5dc)}.app-shell.sky-day.hero-sunny{background:radial-gradient(ellipse at 78% 14%,rgba(255,235,174,.78),transparent 31%),linear-gradient(180deg,#75bce5,#b6d9ed 37%,#dfe9e7 73%,#e8e4d8)}.app-shell.sky-day.hero-cloudy{background:linear-gradient(180deg,#9bbbd2,#c2d6e2 42%,#e2e8e8)}.app-shell.sky-day.hero-rainy{background:linear-gradient(180deg,#7e9fb7,#b4c7d4 48%,#d8e0e3)}.app-shell.sky-day.hero-snowy{background:linear-gradient(180deg,#a8cfe5,#d4e5ee 54%,#eef3f4)}.app-shell.sky-twilight{background:radial-gradient(ellipse at 76% 30%,rgba(255,196,145,.52),transparent 38%),linear-gradient(180deg,#687da8,#b5a9bd 45%,#f0c8a7)}.app-shell.sky-night{background:radial-gradient(ellipse at 50% 78%,rgba(129,147,190,.34),transparent 44%),linear-gradient(180deg,#172944,#2e4265 48%,#697b9b)}.app-shell.sky-night .sky-stars{opacity:.8}.app-shell.sky-night .brand-name,.app-shell.sky-night .location-name{color:#f0f5ff}.app-shell.sky-night .brand-caption{color:#c1cee2}.app-shell.sky-night .icon-button,.app-shell.sky-night .plain-icon{color:#d5e2f5}.app-shell.sky-twilight .brand-name,.app-shell.sky-twilight .location-name{color:#fff9f2}.app-shell.sky-twilight .brand-caption{color:#f4e0d1}.weather-hero{min-height:285px;margin:0 -4px;padding:18px 4px 15px;border:0;border-radius:0;background:transparent!important;box-shadow:none;overflow:visible}.weather-hero:before{display:none}.weather-art{right:5px;top:24px;transform:scale(1.02);transform-origin:top right}.hero-weather-copy{margin-top:38px}.temperature{font-size:clamp(84px,13vw,108px);text-shadow:none;color:#fff}.condition{color:#fff;font-size:19px}.feels-like{color:#ffffffd6}.hero-topline{color:#ffffffc7}.live-dot{color:#e2fff4}.hero-footer{left:4px;right:4px;border-top-color:#ffffff42;color:#ffffffd1}.metrics-grid{gap:10px;margin:12px 0 16px}.metric-card,.content-card{background:#ffffffba;border:1px solid rgba(255,255,255,.62);box-shadow:0 10px 30px #24425e14;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.metric-card{border-radius:17px;min-height:94px}.metric-label{color:#526b85;letter-spacing:.7px}.metric-label svg{color:#397f9c}.metric-value{color:#1c3550}.metric-value small{color:#60758b}.metric-foot{color:#60768c}.content-card{border-radius:19px}.eyebrow{color:#467b9c}.section-heading h2,.historical-results h2{color:#203a54}.section-chip{color:#45647f;border-color:#3c62852e;background:#ffffff59}.hour-item{color:#203a54;background:#f1f8fda6}.hour-item.hour-current{background:#57add233;border-color:#2a7ba240}.hour-time{color:#526b85}.hour-rain{color:#287f9e}.daily-row{border-bottom-color:#3a56701f}.daily-day{color:#2d4660}.daily-min{color:#6b7f92}.daily-max{color:#203a54}.temp-track{background:#425e7826}.daily-chevron{color:#55738b}.sun-time{background:#ffffff61;border-color:#ffffff8c}.sun-time span{color:#526b85}.sun-time strong{color:#203a54}.day-detail{background:#ffffff75;border-color:#ffffffa6}.day-detail-heading h3,.day-detail-metrics b{color:#203a54}.day-detail-weather,.day-detail-metrics small,.day-detail-metrics span,.day-detail h4{color:#526b85}.day-detail-metrics>div,.day-hour{background:#ffffff7a}.day-hour>span,.day-hour small{color:#526b85}.day-hour>b,.day-hour>strong{color:#203a54}.day-sunline{color:#526b85;border-color:#3a567024}.day-sunline b{color:#8b6737}.text-link{color:#246d8d}.data-footnote,.helper-text{color:#516b84}.bottom-nav{left:0;right:0;bottom:0;transform:none;width:100%;max-width:none;padding:9px 12px calc(10px + env(safe-area-inset-bottom));background:#f6fafdd4;border-top:1px solid rgba(255,255,255,.7);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.bottom-nav button{color:#60758a}.bottom-nav button.nav-active{color:#176e91}.bottom-nav button.nav-active svg{filter:none}.search-panel{position:absolute;background:#f7fbfff7;border-color:#3d638433;box-shadow:0 18px 50px #1b344b2e}.search-input-wrap{background:#e0edf7b3;border-color:#3d63842e;color:#526b85}.search-input-wrap input,.result-row{color:#203a54}.result-row small{color:#60758a}.notice{color:#244b62;background:#e2f6f9e0;border-color:#4394a938}.page-title h1,.setting-row b{color:#203a54}.page-title p,.setting-row small{color:#5d7186}.setting-row{border-bottom-color:#3a567021}.segmented{background:#e8f1f8b3;border-color:#3d638433}.segmented button{color:#526b85}.segmented button.selected{background:#42a4c730;color:#175c78}.secondary-button,.primary-button{color:#1f5e78;background:#e0f4facc;border-color:#479db959}.privacy-pill{color:#26795f}.place-card{color:#203a54;background:#ffffffba}.place-copy small{color:#60758a}.empty-state h2,.error-panel strong{color:#203a54}.empty-state p,.error-panel span{color:#526b85}@media(max-width:599px){.app-shell{padding-left:16px;padding-right:16px}.topbar{height:66px}.weather-hero{min-height:270px}.page-content{max-height:calc(100dvh - 150px)}}@media(min-width:600px){.app-shell{margin:0 auto;min-height:100dvh;border:0;border-radius:0;padding-bottom:100px}.bottom-nav{bottom:0;border-radius:0;border-left:0;border-right:0}.page-content{max-height:calc(100dvh - 150px)}}@media(prefers-reduced-motion:reduce){.app-shell,.sky-stars{transition:none}}.reduce-motion .app-shell,.reduce-motion .sky-stars{transition:none!important}.app-shell.sky-night .sun-disc{opacity:0!important}.app-shell.sky-night .weather-art:before{content:"";position:absolute;right:43px;top:7px;width:61px;height:61px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fffbe7,#dce7f7 56%,#d2e4f814 72%);box-shadow:0 0 32px #d0e2ff40}.app-shell.sky-night .condition,.app-shell.sky-night .temperature{color:#f7f9ff}.app-shell.sky-night .feels-like{color:#e0e8f5}.app-shell.sky-night .hero-topline,.app-shell.sky-night .hero-footer{color:#dce7f7}.app-shell.sky-night .live-dot{color:#c5f5e8}.app-shell{color:#f1f5fb}.app-shell .brand-name,.app-shell .location-name,.app-shell .page-title h1{color:#f3f6fb;text-shadow:0 1px 12px rgba(9,19,34,.24)}.app-shell .brand-caption,.app-shell .location-name svg{color:#d3deec}.app-shell .icon-button,.app-shell .plain-icon{color:#e1e9f3}.app-shell .weather-hero{color:#f8fbff}.app-shell .temperature{color:#fff;text-shadow:0 2px 18px rgba(11,24,43,.34)}.app-shell .temperature span{color:#e8f5ff}.app-shell .condition{color:#fff;text-shadow:0 1px 12px rgba(12,25,42,.35)}.app-shell .feels-like{color:#edf3fb;text-shadow:0 1px 8px rgba(12,25,42,.3)}.app-shell .hero-topline{color:#e4edf7;text-shadow:0 1px 8px rgba(12,25,42,.32)}.app-shell .hero-footer{color:#e1eaf5;text-shadow:0 1px 8px rgba(12,25,42,.25)}.app-shell .metric-card,.app-shell .content-card,.app-shell .place-card{background:linear-gradient(145deg,#2f3a4ae8,#222c3ce0);border:1px solid rgba(221,233,246,.15);color:#edf3fb;box-shadow:0 12px 30px #0f1d2f21;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-shell .metric-label,.app-shell .metric-foot,.app-shell .metric-value small,.app-shell .eyebrow,.app-shell .section-chip,.app-shell .daily-min,.app-shell .hour-time,.app-shell .data-footnote,.app-shell .helper-text,.app-shell .page-title p,.app-shell .setting-row small{color:#c0cddd}.app-shell .metric-value,.app-shell .section-heading h2,.app-shell .historical-results h2,.app-shell .daily-day,.app-shell .daily-max,.app-shell .setting-row b,.app-shell .day-detail-heading h3,.app-shell .day-detail-metrics b,.app-shell .sun-time strong,.app-shell .day-hour>b,.app-shell .day-hour>strong{color:#f3f6fb}.app-shell .metric-label svg,.app-shell .text-link{color:#8dddf0}.app-shell .hour-item{color:#f0f5fb;background:#202b3b8f;border-color:#e4eef814}.app-shell .hour-item.hour-current{background:#53a9c540;border-color:#91e1f46b}.app-shell .hour-time,.app-shell .daily-rain,.app-shell .hour-rain{color:#a9e8f5}.app-shell .daily-row{border-bottom-color:#deeaf721}.app-shell .daily-row-button:hover,.app-shell .daily-row-button.daily-selected{background:#7dc3dc1f}.app-shell .daily-row-button.daily-selected .daily-day{color:#b6effb}.app-shell .temp-track{background:#e4edf72e}.app-shell .sun-time,.app-shell .day-hour,.app-shell .day-detail-metrics>div{background:#1823335c;border-color:#dde9f621}.app-shell .sun-time span,.app-shell .day-hour>span,.app-shell .day-hour small,.app-shell .day-detail-metrics small,.app-shell .day-detail-metrics span,.app-shell .day-detail-weather,.app-shell .day-detail h4{color:#c4d0df}.app-shell .day-detail{background:#19243485;border-color:#dde9f626}.app-shell .day-sunline{color:#c4d0df;border-color:#dde9f626}.app-shell .day-sunline b{color:#ffdda0}.app-shell .bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr));background:#1f2938f0;border-top:1px solid rgba(225,236,248,.17);box-shadow:0 -8px 30px #0e19281f}.app-shell .bottom-nav button{color:#b5c2d2;font-size:9px;gap:4px;min-width:0}.app-shell .bottom-nav button span{white-space:nowrap;letter-spacing:-.2px}.app-shell .bottom-nav button.nav-active{color:#a5ebfa}.app-shell .bottom-nav button.nav-active svg{filter:drop-shadow(0 0 7px rgba(103,220,245,.18))}.app-shell .search-panel{background:#222d3df7;border-color:#dce9f62e;box-shadow:0 18px 50px #08111e4d}.app-shell .search-input-wrap{background:#101b2a80;border-color:#dce9f62b;color:#c6d3e2}.app-shell .search-input-wrap input,.app-shell .result-row{color:#f0f5fb}.app-shell .result-row small,.app-shell .search-empty{color:#c0cddd}.app-shell .notice{background:#224b5bc2;border-color:#8edeec40;color:#e0f6fa}.app-shell .loading-panel{min-height:270px;margin:24px 0;padding:28px 18px;border:1px solid rgba(221,233,246,.19);border-radius:24px;background:linear-gradient(145deg,#253142e0,#1a2535d1);color:#f0f6fc;text-shadow:0 1px 10px rgba(0,0,0,.22);box-shadow:0 18px 42px #101d2e26;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.app-shell .loader-orb{border-color:#99e7f673;background:radial-gradient(circle,rgba(110,222,244,.27),rgba(43,89,116,.12) 62%,transparent 74%);box-shadow:0 0 36px #5cd3ef38}.app-shell .loader-orb:after{border-top-color:#a8f1ff;border-right-color:#b6adff}.app-shell .error-panel,.app-shell .empty-state{color:#d2dce8}.app-shell .error-panel strong,.app-shell .empty-state h2{color:#f6f8fc}.app-shell .error-panel span,.app-shell .empty-state p{color:#c3cfde}.app-shell .page-title .eyebrow{color:#a5dce9}.app-shell .setting-row{border-color:#dde9f621}.app-shell .segmented{background:#111c2b7a;border-color:#dde9f62e}.app-shell .segmented button{color:#c0cddd}.app-shell .segmented button.selected{background:#6ccde43d;color:#c4f3fc}.app-shell .secondary-button,.app-shell .primary-button{background:#4b8fa440;border-color:#97e0f152;color:#e7f8fc}.app-shell .privacy-pill{color:#b2f0d7;border-color:#8ee5bf47}.app-shell .history-picker label,.app-shell .historical-results p{color:#c6d3e2}.app-shell .history-picker input{background:#111c2b8f;border-color:#dde9f62e;color:#f4f7fb;color-scheme:dark}.app-shell .historical-hours>div{background:#111c2b66}.app-shell .historical-hours span,.app-shell .historical-hours small,.app-shell .place-copy small{color:#c0cddd}.app-shell .place-icon{background:#62c3db2e;color:#a5e8f5}.app-shell .forecast-context{display:flex;align-items:center;gap:10px;margin:12px 0 0;padding:10px 12px;border:1px solid rgba(224,237,249,.2);border-radius:14px;background:#1f2c3e8c;color:#f4f8fc;animation:context-enter .32s ease-out both;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.app-shell .forecast-context-icon{width:29px;height:29px;flex:0 0 29px;display:grid;place-items:center;border-radius:10px;background:#6dcfe733;color:#b7f0fb;font-size:18px}.app-shell .forecast-context>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.app-shell .forecast-context b{font-size:12px;text-transform:capitalize;color:#fff}.app-shell .forecast-context small{font-size:10px;line-height:1.4;color:#d2dce8}.app-shell .weather-hero:has(.forecast-context){min-height:310px}.app-shell .forecast-group{border-top:1px solid rgba(221,233,246,.14)}.app-shell .forecast-group summary{list-style:none;display:flex;align-items:center;gap:8px;padding:13px 3px;cursor:pointer;color:#e9f1f8}.app-shell .forecast-group summary::-webkit-details-marker{display:none}.app-shell .forecast-group summary span{font-size:11px;font-weight:700;flex:1}.app-shell .forecast-group summary small{font-size:9px;color:#c0cddd}.app-shell .forecast-group summary svg{color:#a5e8f5;transition:transform .2s}.app-shell .forecast-group[open] summary svg{transform:rotate(90deg)}.app-shell .forecast-group[open] summary{border-bottom:1px solid rgba(221,233,246,.1)}.app-shell .forecast-group>div{animation:group-open .22s ease-out both}.app-shell .future-hero-card{padding:22px 20px;background:linear-gradient(145deg,#304153eb,#232f41e6)}.app-shell .future-icon{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(160,227,241,.23);border-radius:17px;background:#6ccde426;color:#b9f0fa;margin-bottom:17px}.app-shell .future-status{display:inline-flex;padding:6px 9px;border-radius:8px;border:1px solid rgba(173,224,238,.22);background:#5babc124;color:#b9eaf4;font-size:8px;font-weight:800;letter-spacing:1.2px}.app-shell .future-hero-card h2{font-family:Manrope,sans-serif;font-size:22px;line-height:1.25;letter-spacing:-.6px;color:#f4f7fb;margin:15px 0 8px}.app-shell .future-hero-card p{font-size:12px;line-height:1.65;color:#c7d3e1;margin:0}.app-shell .future-list{padding:18px}.app-shell .future-list h3{font-size:13px;color:#f0f5fb;margin:0 0 14px}.app-shell .future-list>div{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-top:1px solid rgba(221,233,246,.12);font-size:11px;line-height:1.5;color:#d0dbe7}.app-shell .future-list>div svg{flex:0 0 17px;color:#a5e8f5}.app-shell .ai-future-card .future-icon{color:#d4c8ff;background:#9d8cff29;border-color:#bdb1ff3d}.app-shell .ai-future-card .future-status{color:#ded5ff;background:#8b7ce129;border-color:#bdb1ff38}.app-shell .ai-future-card .future-icon+span{margin-bottom:2px}@keyframes context-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes group-open{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media(max-width:390px){.app-shell .bottom-nav{padding-left:5px;padding-right:5px}.app-shell .bottom-nav button{font-size:8px}.app-shell .bottom-nav button svg{width:18px;height:18px}.app-shell .forecast-context small{font-size:9px}}@media(prefers-reduced-motion:reduce){.app-shell .forecast-context,.app-shell .forecast-group>div{animation:none!important}.app-shell .forecast-group summary svg{transition:none}}.reduce-motion .forecast-context,.reduce-motion .forecast-group>div{animation:none!important}.app-shell .atmosphere-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:10px 0}.app-shell .atmosphere-detail{min-height:94px;margin:0;background:linear-gradient(145deg,#303b4bd1,#222d3dd1)}.app-shell .precipitation-card{margin-top:12px}.app-shell .precip-chart{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;align-items:end;min-height:94px;padding:2px 0 0}.app-shell .precip-bar-wrap{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.app-shell .precip-percent{font-size:8px;color:#c9d6e4;font-variant-numeric:tabular-nums}.app-shell .precip-bar-track{height:48px;width:100%;max-width:21px;display:flex;align-items:flex-end;overflow:hidden;border-radius:7px;background:#dceaf71a}.app-shell .precip-bar-track span{display:block;width:100%;min-height:3px;border-radius:7px;background:linear-gradient(180deg,#a5ebfa,#4d9dbf);box-shadow:0 0 10px #60c7e21f;transition:height .25s ease}.app-shell .precip-bar-wrap b{font-size:8px;font-weight:600;color:#c2cfde}.app-shell .chart-note{font-size:9px;line-height:1.5;color:#b5c2d1;margin:12px 0 0}.app-shell .air-status{max-width:120px;text-align:right;padding:6px 8px;border-radius:9px;border:1px solid rgba(159,227,199,.22);background:#4a9a7a29;color:#c0f1dc;font-size:9px;font-weight:700}.app-shell .air-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.app-shell .air-metrics>div{display:flex;flex-direction:column;gap:7px;padding:11px 9px;border-radius:12px;background:#111c2b66;border:1px solid rgba(221,233,246,.1);min-width:0}.app-shell .air-metrics small{font-size:9px;color:#c0cddd}.app-shell .air-metrics b{font-size:17px;color:#f2f7fb;overflow-wrap:anywhere}.app-shell .air-metrics i{font-size:8px;font-style:normal;font-weight:500;color:#c0cddd}.app-shell .pollen-note{display:flex;align-items:center;gap:8px;margin-top:10px;padding:10px;border-radius:11px;background:#6ccde41a;color:#d9eaf3;font-size:10px;line-height:1.5}.app-shell .pollen-note svg{color:#b7eaf4;flex-shrink:0}@media(max-width:365px){.app-shell .air-metrics{gap:5px}.app-shell .air-metrics>div{padding:9px 6px}.app-shell .air-metrics b{font-size:15px}.app-shell .precip-chart{gap:4px}}@media(prefers-reduced-motion:reduce){.app-shell .precip-bar-track span{transition:none}}.reduce-motion .precip-bar-track span{transition:none!important}.app-shell .official-alert-card p{font-size:11px;line-height:1.6;color:#c7d3e1;margin:0 0 13px}.app-shell .official-source{font-size:8px;color:#c3d5e4;padding:6px 8px;border:1px solid rgba(221,233,246,.14);border-radius:8px;background:#111c2b47}.app-shell .official-alert-link{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-radius:12px;background:#6ccde421;border:1px solid rgba(151,224,241,.2);color:#d9f5fb;text-decoration:none;font-size:11px;font-weight:700}.app-shell .official-alert-link svg{color:#a5e8f5}.app-shell .forecast-context{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;margin:7px 0 0;border:0;border-radius:0;border-left:2px solid rgba(202,226,241,.32);padding:4px 0 4px 10px;background:transparent;color:#f1f7fddb;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}.app-shell .forecast-context>span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:#dce8f4b3}.app-shell .forecast-context b{font-size:11px;font-weight:600;color:#f9fbfff0;text-transform:capitalize}.app-shell .weather-hero:has(.forecast-context){min-height:0}.app-shell .metrics-grid{gap:8px 12px;margin-top:16px}.app-shell .metrics-grid .metric-card,.app-shell .atmosphere-grid .atmosphere-detail{background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:10px 3px;min-height:0;border-bottom:1px solid rgba(223,236,248,.13)}.app-shell .metrics-grid .metric-card{border-bottom:1px solid rgba(223,236,248,.16)}.app-shell .atmosphere-grid{gap:8px 16px;margin:8px 0 14px}.app-shell .atmosphere-grid .atmosphere-detail{border-top:1px solid rgba(223,236,248,.12)}.app-shell .content-card.forecast-card,.app-shell .content-card.sun-times-card,.app-shell .content-card.daily-card,.app-shell .content-card.air-quality-card{padding:15px 0;margin:9px 0;background:transparent;border:0;border-radius:0;border-top:1px solid rgba(223,236,248,.16);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.app-shell .content-card.forecast-card .section-heading,.app-shell .content-card.daily-card .section-heading,.app-shell .content-card.sun-times-card .section-heading,.app-shell .content-card.air-quality-card .section-heading{margin-bottom:9px}.app-shell .hour-item{background:#1e2c3d3d;border-color:#dfecf814}.app-shell .hour-item.hour-current{background:#74c2db29;border-color:#b1e0ef42}.app-shell .sun-times{gap:20px}.app-shell .sun-time{background:transparent;border:0;border-radius:0;padding:8px 0}.app-shell .sun-time svg{width:18px;height:18px;opacity:.82}.app-shell .daily-card .daily-row{background:transparent}.app-shell .daily-card .daily-row-button:hover,.app-shell .daily-card .daily-row-button.daily-selected{background:#c8e1f012}.app-shell .rain-probability-inline{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0;padding:10px 0;border-top:1px solid rgba(223,236,248,.13);border-bottom:1px solid rgba(223,236,248,.13);background:transparent}.app-shell .rain-probability-inline svg{color:#a9e5f2}.app-shell .rain-probability-inline>span{font-size:11px;color:#d2deeb}.app-shell .rain-probability-inline strong{font-size:16px;font-weight:650;color:#f5f9ff;font-variant-numeric:tabular-nums}.app-shell .rain-probability-inline small{margin-left:auto;font-size:9px;color:#b6c6d6}.app-shell .official-alert-card{margin:18px 0 10px;padding:14px 0 8px;background:transparent;border:0;border-top:1px solid rgba(223,236,248,.17);border-radius:0;box-shadow:none}.app-shell .official-alert-card .section-heading{margin-bottom:8px}.app-shell .official-alert-card .official-alert-link{display:inline-flex;padding:8px 10px;background:#6ccde417;border-color:#97e0f124}@media(prefers-reduced-motion:reduce){.app-shell .forecast-context{animation:none!important}}.app-shell .weather-hero{display:flex;flex-direction:column}.app-shell .hero-weather-copy{flex:0 0 auto;min-width:0}.app-shell .hero-footer{position:relative;left:auto;right:auto;bottom:auto;margin-top:auto;padding-top:12px;flex-wrap:wrap;align-items:center}.app-shell .hero-footer>span{min-width:0;flex-wrap:wrap}.app-shell .hero-footer>span:last-child{margin-left:auto;text-align:right}.app-shell .weather-hero .temperature,.app-shell .weather-hero .temperature span,.app-shell .weather-hero .condition,.app-shell .weather-hero .feels-like,.app-shell .weather-hero .feels-like span,.app-shell .weather-hero .hero-topline,.app-shell .weather-hero .hero-footer,.app-shell .weather-hero .hero-footer b{color:#fff;text-shadow:0 2px 5px rgba(7,18,35,.9),0 0 14px rgba(7,18,35,.5)}.app-shell .weather-hero .feels-like span{color:#f0f6ff}.app-shell .weather-hero .hero-footer{border-top-color:#ffffff61}.app-shell.sky-day-sunny.sky-day-sunny{background:radial-gradient(ellipse at 78% 13%,rgba(255,237,173,.86),transparent 32%),linear-gradient(180deg,#70b8e4,#add8ef 38%,#dcebf0 72%,#eee9dd)}.app-shell.sky-day-cloudy.sky-day-cloudy{background:linear-gradient(180deg,#8eafc8,#b9cfdf 38%,#dce5e9 72%,#e7e7e1)}.app-shell.sky-rain-sun.sky-rain-sun{background:radial-gradient(ellipse at 78% 14%,rgba(255,224,160,.52),transparent 27%),linear-gradient(180deg,#779db9,#adc6d8 40%,#d5e1e6 74%,#e4e6e1)}.app-shell.sky-rain-cloudy.sky-rain-cloudy{background:linear-gradient(180deg,#6f879e,#9eafbf 40%,#c9d4dc 75%,#dce1e3)}.app-shell.sky-night-clear.sky-night-clear{background:radial-gradient(ellipse at 75% 22%,rgba(188,208,247,.24),transparent 30%),radial-gradient(ellipse at 50% 78%,rgba(129,147,190,.34),transparent 44%),linear-gradient(180deg,#14243e,#263b5d 48%,#5a6e90)}.app-shell.sky-night-cloudy.sky-night-cloudy{background:radial-gradient(ellipse at 50% 70%,rgba(148,162,184,.2),transparent 46%),linear-gradient(180deg,#202c3d,#39485e 48%,#68788d)}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .temperature,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .temperature span,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .condition,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .feels-like,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .feels-like span,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .hero-topline,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .hero-footer,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .hero-footer b,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .forecast-context,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .forecast-context>span,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .forecast-context b,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .live-dot{color:#203a54}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .feels-like span{color:#203a54}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .weather-hero .hero-footer{border-top-color:#203a5447}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy),.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) *{color:#203a54!important;text-shadow:none!important}.app-shell:is(.sky-night-clear,.sky-night-cloudy),.app-shell:is(.sky-night-clear,.sky-night-cloudy) *{color:#f3f6fb!important;text-shadow:none!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy) :is(input,button,a):focus,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy) :is(input,button,a):focus-visible{text-shadow:none!important}.app-shell .bottom-nav button,.app-shell .bottom-nav button span,.app-shell .bottom-nav button svg,.app-shell .bottom-nav button.nav-active,.app-shell .bottom-nav button.nav-active span,.app-shell .bottom-nav button.nav-active svg{color:#f0f5fb!important;text-shadow:none!important}.app-shell .metrics-grid .metric-card{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-shell .content-card.forecast-card,.app-shell .content-card.sun-times-card,.app-shell .content-card.daily-card,.app-shell .content-card.air-quality-card,.app-shell .content-card.precipitation-card,.app-shell .official-alert-card{background:transparent!important;border:0!important;border-top:1px solid rgba(110,139,160,.24)!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-shell .content-card.forecast-card,.app-shell .content-card.sun-times-card,.app-shell .content-card.daily-card,.app-shell .content-card.air-quality-card{padding-left:0!important;padding-right:0!important}.app-shell .content-card.forecast-card .hourly-scroll{gap:0!important}.app-shell .content-card.forecast-card .hour-item{background:transparent!important;border:0!important;border-right:1px solid rgba(105,135,157,.22)!important;border-radius:0!important;box-shadow:none!important;padding-left:9px!important;padding-right:9px!important}.app-shell .content-card.forecast-card .hour-item.hour-current{background:transparent!important;border-color:#69879d38!important;box-shadow:inset 0 -2px #64b2cb73!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy) .content-card.forecast-card .hour-item{border-right-color:#2c486033!important}.app-shell:is(.sky-night-clear,.sky-night-cloudy) .content-card.forecast-card .hour-item{border-right-color:#e1ebf62b!important}.app-shell .bottom-nav button svg{color:#f0f5fb!important;stroke:#f0f5fb!important}.app-shell:is(.sky-day,.sky-twilight),.app-shell:is(.sky-day,.sky-twilight) *{color:#203a54!important;text-shadow:none!important}.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy),.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) *{color:#f3f6fb!important;text-shadow:none!important}.app-shell .content-card,.app-shell .metric-card,.app-shell .atmosphere-detail,.app-shell .sun-time,.app-shell .hour-item,.app-shell .historical-hours>div,.app-shell .place-card,.app-shell .future-hero-card,.app-shell .future-list,.app-shell .settings-card,.app-shell .day-detail,.app-shell .day-detail-metrics>div,.app-shell .day-hour,.app-shell .empty-state,.app-shell .air-metrics>div,.app-shell .precip-bar-track{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-shell .content-card,.app-shell .metric-card,.app-shell .atmosphere-detail,.app-shell .sun-time,.app-shell .place-card,.app-shell .future-hero-card,.app-shell .future-list,.app-shell .settings-card,.app-shell .day-detail,.app-shell .day-detail-metrics>div,.app-shell .day-hour,.app-shell .historical-hours>div,.app-shell .air-metrics>div{border-color:transparent!important}.app-shell .content-card.forecast-card,.app-shell .content-card.sun-times-card,.app-shell .content-card.daily-card,.app-shell .content-card.air-quality-card,.app-shell .content-card.precipitation-card,.app-shell .official-alert-card{background:transparent!important;border-right:0!important;border-bottom:0!important;border-left:0!important;border-top:1px solid rgba(64,91,115,.22)!important;border-radius:0!important}.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .content-card.forecast-card,.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .content-card.sun-times-card,.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .content-card.daily-card,.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .content-card.air-quality-card,.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .content-card.precipitation-card,.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .official-alert-card{border-top-color:#e1ebf633!important}.app-shell .content-card.forecast-card .hour-item,.app-shell .content-card.forecast-card .hour-item.hour-current{background:transparent!important;border-top:0!important;border-bottom:0!important;border-left:0!important;border-right:1px solid rgba(64,91,115,.2)!important;border-radius:0!important;box-shadow:none!important}.app-shell:is(.sky-night,.sky-night-clear,.sky-night-cloudy) .content-card.forecast-card .hour-item{border-right-color:#e1ebf62e!important}.app-shell .bottom-nav button,.app-shell .bottom-nav button span,.app-shell .bottom-nav button svg,.app-shell .bottom-nav button.nav-active,.app-shell .bottom-nav button.nav-active span,.app-shell .bottom-nav button.nav-active svg{color:#f0f5fb!important;stroke:#f0f5fb!important;text-shadow:none!important}.app-shell .bottom-nav button svg{filter:none!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-day,.sky-twilight),.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-day,.sky-twilight) *{color:#203a54!important;text-shadow:none!important}.app-shell:is(.sky-night-clear,.sky-night-cloudy,.sky-night),.app-shell:is(.sky-night-clear,.sky-night-cloudy,.sky-night) *{color:#f3f6fb!important;text-shadow:none!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) :is(.content-card,.metric-card,.atmosphere-detail,.sun-time,.hour-item,.historical-hours>div,.place-card,.future-hero-card,.future-list,.settings-card,.day-detail,.day-detail-metrics>div,.day-hour,.empty-state,.air-metrics>div,.precip-bar-track){background:transparent!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) :is(.content-card.forecast-card,.content-card.daily-card,.content-card.sun-times-card,.content-card.air-quality-card,.content-card.precipitation-card,.official-alert-card){background:transparent!important;border-right:0!important;border-bottom:0!important;border-left:0!important;border-top:1px solid rgba(64,91,115,.22)!important;border-radius:0!important;box-shadow:none!important}.app-shell:is(.sky-night-clear,.sky-night-cloudy,.sky-night) :is(.content-card.forecast-card,.content-card.daily-card,.content-card.sun-times-card,.content-card.air-quality-card,.content-card.precipitation-card,.official-alert-card){border-top-color:#e1ebf633!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .content-card.forecast-card .hour-item,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .content-card.forecast-card .hour-item.hour-current{background:transparent!important;border-top:0!important;border-bottom:0!important;border-left:0!important;border-right:1px solid rgba(64,91,115,.2)!important;border-radius:0!important;box-shadow:none!important}.app-shell .content-card.forecast-card .hour-item:last-child{border-right:0!important}.app-shell:is(.sky-night-clear,.sky-night-cloudy,.sky-night) .content-card.forecast-card .hour-item{border-right-color:#e1ebf62e!important}.app-shell .bottom-nav{background:#1f2938f0!important;border-top:1px solid rgba(225,236,248,.17)!important;box-shadow:0 -8px 30px #0e19281f!important}.app-shell .bottom-nav button,.app-shell .bottom-nav button span,.app-shell .bottom-nav button svg,.app-shell .bottom-nav button.nav-active,.app-shell .bottom-nav button.nav-active span,.app-shell .bottom-nav button.nav-active svg{color:#f0f5fb!important;stroke:#f0f5fb!important;text-shadow:none!important;filter:none!important}.details-accordion{margin:10px 0 14px;border:1px solid rgba(150,190,235,.15);border-radius:19px;background:#111c323d;overflow:hidden}.details-accordion-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:0;background:transparent;color:inherit;text-align:left;transition:background .22s ease}.details-accordion-toggle:hover{background:#ffffff09}.details-toggle-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.details-toggle-copy .eyebrow{font-size:8px;letter-spacing:1.35px}.details-toggle-copy strong{font-family:Manrope,sans-serif;font-size:14px;letter-spacing:-.2px;font-weight:700}.details-toggle-copy small{font-size:9px;color:var(--muted);opacity:.88}.details-toggle-end{display:flex;align-items:center;gap:10px;color:#8fa6c6;flex-shrink:0}.details-count{font-size:9px;letter-spacing:1px;opacity:.72}.details-chevron{transition:transform .28s ease;opacity:.8}.details-accordion.is-open .details-chevron{transform:rotate(180deg)}.details-accordion-content{display:grid;grid-template-rows:minmax(0,1fr);opacity:1;overflow:hidden;transition:grid-template-rows .3s ease,opacity .22s ease}.details-accordion-content>*{min-height:0;min-width:0;overflow:hidden}.details-accordion-content>.metrics-grid,.details-accordion-content>.atmosphere-grid{min-height:0}.details-accordion:not(.is-open) .details-accordion-content{grid-template-rows:minmax(0,0fr);opacity:0;pointer-events:none}.details-accordion:not(.is-open) .details-accordion-content>*{padding-top:0!important;padding-bottom:0!important;margin-top:0!important;margin-bottom:0!important;border-width:0!important}.details-accordion-content .metrics-grid{margin:0;padding:0 10px 8px;gap:8px}.details-accordion-content .atmosphere-grid{padding:0 10px 12px;gap:8px}.details-accordion-content .metric-card{background:#ffffff06;border-color:#b4cdf517}.details-accordion-content .metric-value{font-size:22px}.details-accordion-content .metric-foot{white-space:normal;line-height:1.35}.details-accordion-content .metric-label{letter-spacing:.55px}@media(max-width:375px){.details-accordion-content .metric-card{padding:10px 8px}.details-accordion-content .metric-value{font-size:20px}.details-accordion-content .metric-label{font-size:7px}}.details-accordion{background:transparent!important;border:1px solid color-mix(in srgb,currentColor 19%,transparent)!important;border-radius:18px;box-shadow:none!important}.details-accordion-toggle{background:transparent!important}.details-accordion-toggle:hover{background:color-mix(in srgb,currentColor 4%,transparent)!important}.details-toggle-copy small{color:inherit;opacity:.66}.details-toggle-end{color:inherit;opacity:.72}.details-accordion-content .metric-card{background:transparent!important;border-color:color-mix(in srgb,currentColor 11%,transparent)!important}.weather-dock-anchor{position:sticky;top:0;z-index:18;height:0;width:100%;overflow:visible;pointer-events:none}.weather-dock{position:absolute;top:7px;left:0;right:0;display:flex;align-items:center;gap:10px;width:100%;min-height:66px;padding:8px 12px;border:1px solid color-mix(in srgb,currentColor 19%,transparent);border-radius:18px;background:#ffffff0e;-webkit-backdrop-filter:blur(10px) saturate(1.12);backdrop-filter:blur(10px) saturate(1.12);box-shadow:0 8px 26px #19283c12,inset 0 1px #ffffff21;color:inherit;font:inherit;text-align:left;cursor:pointer;opacity:0;visibility:hidden;transform:scale(.985);transform-origin:top center;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.7,.2,1),visibility .22s ease,background-color .22s ease}.weather-dock:hover{background:#ffffff16}.weather-dock:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.weather-dock-anchor.is-visible .weather-dock{opacity:1;visibility:visible;transform:scale(1)}.dock-weather-icon{position:relative;display:block;flex:0 0 46px;width:46px;height:42px;overflow:hidden}.dock-weather-icon .weather-art{position:absolute;top:0;left:0;right:auto;width:190px;height:160px;transform:scale(.26);transform-origin:top left;opacity:.9}.dock-temperature{flex:0 0 auto;font-family:Manrope,sans-serif;font-size:27px;font-weight:700;letter-spacing:-1.5px;line-height:1}.dock-temperature>span{font-size:16px;vertical-align:top;letter-spacing:0}.dock-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.dock-copy strong{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-copy>span{font-size:9px;line-height:1.35;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.weather-dock-anchor.is-visible{pointer-events:none}.weather-dock-anchor.is-visible .weather-dock{pointer-events:auto}.dock-temperature{font-size:35px;line-height:1;font-weight:650;letter-spacing:-1.8px;white-space:nowrap;flex-shrink:0}.dock-temperature span{font-size:20px;vertical-align:top;line-height:1.4}.dock-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.dock-copy strong{font-size:12px;font-weight:700;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dock-copy span{font-size:9px;line-height:1.35;opacity:.76;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:380px){.weather-dock{min-height:60px;padding:7px 11px;gap:9px;border-radius:15px}.dock-temperature{font-size:31px}.dock-copy strong{font-size:11px}.dock-copy span{font-size:8px}}@media(prefers-reduced-motion:reduce){.weather-dock{transition:none!important}}.reduce-motion .weather-dock{transition:none!important}html,body,#root,.app-shell{width:100%;max-width:100%;overflow-x:hidden}.page-content{width:100%;min-width:0;max-width:760px;margin-left:auto;margin-right:auto;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:none}.page-content::-webkit-scrollbar{display:none;width:0;height:0}.page-content>*{min-width:0;max-width:100%}.details-accordion-content{min-height:0}.app-shell .sky-stars{z-index:0;top:-30%;right:0;bottom:-30%;left:0;transform:translate3d(0,var(--parallax-sky,0px),0);will-change:transform}.app-shell .ambient{z-index:0;transform:translate3d(0,var(--parallax-glow,0px),0);will-change:transform}.app-shell .topbar,.app-shell .page-content{position:relative;z-index:1}.app-shell .weather-hero{background:transparent!important}.app-shell .hero-weather-copy{transform:translate3d(0,var(--parallax-copy,0px),0);transition:transform 45ms linear;will-change:transform}.app-shell .weather-art{transform:translate3d(0,calc(var(--parallax-copy,0px) * -.7),0) scale(1.02);will-change:transform}@media(max-width:375px){.app-shell .weather-art{transform:translate3d(0,calc(var(--parallax-copy,0px) * -.7),0) scale(.88)}}@media(prefers-reduced-motion:reduce){.app-shell .sky-stars,.app-shell .ambient,.app-shell .hero-weather-copy{transform:none!important;transition:none!important;will-change:auto!important}}.reduce-motion .sky-stars,.reduce-motion .ambient,.reduce-motion .hero-weather-copy{transform:none!important;transition:none!important;will-change:auto!important}.app-shell .weather-dock .dock-weather-icon .weather-art{position:absolute!important;top:0!important;left:0!important;right:auto!important;width:190px!important;height:160px!important;transform:scale(.26)!important;transform-origin:top left!important;opacity:.9;pointer-events:none}.weather-dock-anchor.is-visible .weather-dock{pointer-events:auto;animation:weather-dock-morph .32s cubic-bezier(.2,.7,.2,1) both}@keyframes weather-dock-morph{0%{opacity:0;transform:scale(.975);filter:blur(1.5px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.weather-dock-anchor.is-visible .weather-dock{animation:none!important}}.app-shell .search-panel,.app-shell .search-panel *{color-scheme:dark}.app-shell .search-panel{color:#f4f7ff;background:#121b2bf7;border-color:#d6e6ff33}.app-shell .search-input-wrap{color:#dce8f8;background:#ffffff12;border-color:#d6e6ff33}.app-shell .search-input-wrap input{color:#fff!important;-webkit-text-fill-color:#fff}.app-shell .search-input-wrap input::placeholder{color:#aab9cf;opacity:1}.app-shell .search-input-wrap svg,.app-shell .search-input-wrap .plain-icon{color:#dce8f8}.app-shell .search-panel .result-row{color:#f3f7ff!important}.app-shell .search-panel .result-row small,.app-shell .search-panel .search-empty{color:#c1cde0!important}.app-shell .search-panel .result-row:hover{background:#ffffff14;border-radius:10px}.app-shell .recent-searches{margin-top:8px}.app-shell .recent-searches-heading{padding:9px 7px 4px;color:#aab9cf;font-size:9px;font-weight:700;letter-spacing:1.1px}.app-shell .recent-search-row{display:flex;align-items:center;gap:2px;border-radius:10px}.app-shell .recent-search-row:hover{background:#ffffff0e}.app-shell .recent-search-select{flex:1;min-width:0;padding:10px 7px}.app-shell .recent-search-remove{flex:0 0 32px;width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#b8c7dc}.app-shell .recent-search-remove:hover{background:#ffffff1a;color:#fff}.app-shell .recent-search-remove:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-searches-heading{color:#dce8f8!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-search-row .recent-search-select,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-search-row .recent-search-select span,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-search-row .recent-search-select svg{color:#f4f7ff!important;stroke:#f4f7ff!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-search-row .recent-search-select small{color:#c1cde0!important}.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-search-remove,.app-shell:is(.sky-day-sunny,.sky-day-cloudy,.sky-rain-sun,.sky-rain-cloudy,.sky-night-clear,.sky-night-cloudy,.sky-day,.sky-twilight,.sky-night) .search-panel .recent-search-remove svg{color:#dce8f8!important;stroke:#dce8f8!important}.app-shell .content-card.forecast-card .hour-item .hour-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}.app-shell .content-card.forecast-card .hour-weather-symbol{display:inline-block;line-height:1}.app-shell .content-card.forecast-card .hour-rain-drops{position:absolute;right:-5px;bottom:-3px;color:#49aeea!important;stroke:#49aeea!important;fill:#49aeea1f;filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));pointer-events:none}.app-shell .social-preview-wrap{position:relative;width:min(100%,300px);margin:0 auto 16px;filter:drop-shadow(0 18px 34px rgba(0,0,0,.25))}.app-shell .social-preview-canvas{display:block;width:100%;height:auto;aspect-ratio:9/16;border-radius:23px;border:1px solid rgba(255,255,255,.18);background:#182746}.app-shell .social-preview-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:9px;background:#0810208c;border:1px solid rgba(255,255,255,.17);color:#fff!important;font-size:8px;font-weight:800;letter-spacing:1px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-shell .social-controls{padding:17px 15px}.app-shell .social-control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.app-shell .social-control-heading h2{font-family:Manrope,sans-serif;font-size:17px;letter-spacing:-.4px;margin:4px 0 0}.app-shell .social-story-tag{font-size:8px;letter-spacing:.8px;padding:6px 7px;border-radius:8px;border:1px solid rgba(255,255,255,.13);opacity:.75;white-space:nowrap}.app-shell .social-palettes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:15px}.app-shell .social-palettes button{display:flex;align-items:center;gap:7px;min-width:0;padding:7px;border:1px solid color-mix(in srgb,currentColor 15%,transparent);border-radius:12px;background:transparent;color:inherit;font-size:10px}.app-shell .social-palettes button.selected{border-color:#80dff1;box-shadow:0 0 0 1px #80dff12e;background:#80dff112}.app-shell .palette-swatch{width:27px;height:27px;flex:0 0 27px;border-radius:8px;border:1px solid rgba(255,255,255,.25)}.app-shell .palette-aurora{background:linear-gradient(145deg,#101d3a,#365e80,#8a8ad0)}.app-shell .palette-sunset{background:linear-gradient(145deg,#351e46,#b45e68,#f2b77c)}.app-shell .palette-ocean{background:linear-gradient(145deg,#092f42,#147b91,#83d9d0)}.app-shell .social-photo-actions,.app-shell .social-camera-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-shell .social-photo-actions button,.app-shell .social-photo-actions label,.app-shell .social-camera-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.app-shell .social-upload-button{position:relative;overflow:hidden;cursor:pointer;white-space:nowrap}.app-shell .social-upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.app-shell .social-camera-box{margin-top:12px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:#0003}.app-shell .social-camera-box video{display:block;width:100%;max-height:360px;aspect-ratio:3/4;object-fit:cover;background:#080d1a}.app-shell .social-camera-actions{padding:9px;display:flex;flex-wrap:wrap}.app-shell .social-camera-actions .secondary-button,.app-shell .social-camera-actions .primary-button{display:inline-flex;align-items:center;gap:6px}.app-shell .social-close-camera{margin-left:auto;display:grid;place-items:center;width:35px;height:35px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:transparent;color:inherit}.app-shell .social-text-button{display:block;border:0;background:transparent;color:#8edff2;font-size:10px;line-height:1.5;text-align:left;margin:-5px 0 12px;padding:4px 0}.app-shell .social-export-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:17px}.app-shell .social-export-actions button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:8px}.app-shell .social-share-button{border:1px solid rgba(139,207,240,.25);border-radius:12px;background:linear-gradient(135deg,#2c9fc1,#6962cc);color:#fff;padding:11px 14px;font-size:11px;font-weight:800}.app-shell .social-export-actions button:disabled{opacity:.6;cursor:wait}.app-shell .social-feedback{margin:12px 0 0;padding:9px 10px;border-radius:10px;background:#58becd17;color:#a9eaf0;font-size:10px;line-height:1.5}.app-shell .social-privacy-note{font-size:9px;line-height:1.55;opacity:.62;text-align:center;margin:13px 4px 0}@media(max-width:375px){.app-shell .social-palettes{gap:5px}.app-shell .social-palettes button{padding:6px 4px;gap:5px;font-size:9px}.app-shell .palette-swatch{width:23px;height:23px;flex-basis:23px}.app-shell .social-export-actions{gap:7px}}.app-shell .social-time-toggle{width:min(100%,420px);margin:-5px auto 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#aebed5;font-size:10px}.app-shell .social-time-toggle .secondary-button{display:inline-flex;align-items:center;gap:6px}.app-shell .social-device-camera{position:relative;display:inline-flex;align-items:center;gap:7px;margin-top:9px;cursor:pointer}.app-shell .social-device-camera input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.app-shell .social-device-camera span{position:relative;pointer-events:none}.app-shell .social-camera-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:18px;background:#050a167a;-webkit-backdrop-filter:blur(18px) saturate(.82);backdrop-filter:blur(18px) saturate(.82);animation:social-camera-fade-in .22s ease-out both}.app-shell .social-camera-modal-panel{position:relative;width:min(86vw,360px);height:min(70dvh,520px);min-height:min(300px,58dvh);max-height:calc(100dvh - 48px);overflow:hidden;border-radius:26px;background:#080d18;isolation:isolate;flex:0 1 auto;box-shadow:0 28px 90px #0000006b,0 0 0 1px #fff3}.app-shell .social-camera-modal-panel>video{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;background:#080d18}.app-shell .social-camera-modal-close{position:absolute;z-index:4;top:14px;right:14px;display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:#080e1b61;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.app-shell .social-camera-modal-close:focus-visible,.app-shell .social-camera-switch:focus-visible,.app-shell .social-camera-shutter:focus-visible{outline:2px solid #fff;outline-offset:4px}.app-shell .social-camera-safe-area{position:absolute;z-index:2;left:0;right:0;top:61%;bottom:0;pointer-events:none;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(180deg,#050c1c47,#050c1c94 18%,#050c1cc7);border-top:1px dashed rgba(255,255,255,.72)}.app-shell .social-camera-safe-area span{margin-top:10px;padding:6px 9px;border:1px solid rgba(255,255,255,.24);border-radius:7px;background:#080e1b59;color:#ffffffdb;font-size:8px;font-weight:800;letter-spacing:1.25px}.app-shell .social-camera-switch{position:absolute;z-index:4;left:19px;bottom:22px;display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.27);border-radius:50%;background:#080e1b66;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer}.app-shell .social-camera-shutter{position:absolute;z-index:4;left:50%;bottom:17px;transform:translate(-50%);display:grid;place-items:center;width:68px;height:68px;padding:0;border:3px solid rgba(255,255,255,.96);border-radius:50%;background:#ffffff24;box-shadow:0 4px 24px #0003;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:transform .16s ease,background .16s ease}.app-shell .social-camera-shutter span{display:block;width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #00000014}.app-shell .social-camera-shutter:active{transform:translate(-50%) scale(.94);background:#ffffff4d}@keyframes social-camera-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:480px){.app-shell .social-camera-modal{padding:16px}.app-shell .social-camera-modal-panel{width:min(88vw,360px);height:min(68dvh,500px);min-height:min(300px,55dvh);max-height:calc(100dvh - 32px);border-radius:24px}.app-shell .social-camera-modal-close{top:10px;right:10px;width:40px;height:40px}.app-shell .social-camera-switch{left:14px;bottom:14px;width:42px;height:42px}.app-shell .social-camera-shutter{bottom:9px;width:62px;height:62px}.app-shell .social-camera-shutter span{width:46px;height:46px}}@media(max-height:700px){.app-shell .social-camera-modal-panel{height:min(64dvh,440px);min-height:270px}.app-shell .social-camera-safe-area span{margin-top:6px;padding:4px 7px;font-size:7px}.app-shell .social-camera-modal-close{width:38px;height:38px}.app-shell .social-camera-switch{width:40px;height:40px;bottom:12px}.app-shell .social-camera-shutter{width:58px;height:58px;bottom:5px}.app-shell .social-camera-shutter span{width:42px;height:42px}}@media(prefers-reduced-motion:reduce){.app-shell .social-camera-modal,.app-shell .social-camera-shutter{animation:none!important;transition:none!important}}.app-shell .install-help{margin:0 0 12px;padding:13px 14px;border:1px solid rgba(118,224,247,.16);border-radius:14px;background:#509bbe12;color:#dce8f8}.app-shell .install-help>strong{display:block;font-size:12px;margin-bottom:8px}.app-shell .install-help ol{margin:0;padding-left:19px;display:grid;gap:8px}.app-shell .install-help li,.app-shell .install-help p{font-size:10px;line-height:1.55;color:#aabbd4}.app-shell .install-help p{margin:10px 0 0}@media(max-width:599px){.app-shell .weather-hero .hero-footer{padding-top:17px}}.app-shell .brand-home-button{border:0;padding:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.app-shell .brand-home-button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px;border-radius:5px}.app-shell .privacy-setting-row .privacy-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.app-shell .about-trigger{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:999px;background:transparent;color:inherit;opacity:.66;font:inherit;font-size:10px;line-height:1;cursor:pointer;transition:opacity .18s ease,background .18s ease,border-color .18s ease}.app-shell .about-trigger:hover{opacity:1;background:#82bedc14;border-color:color-mix(in srgb,currentColor 30%,transparent)}.app-shell .about-trigger:focus-visible,.app-shell .about-modal-close:focus-visible,.app-shell .about-modal-done:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.app-shell .about-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:flex;align-items:center;justify-content:center;padding:22px;background:#050a167a;-webkit-backdrop-filter:blur(17px) saturate(.78);backdrop-filter:blur(17px) saturate(.78);animation:about-modal-appear .22s ease-out both}.app-shell .about-modal-panel{position:relative;width:min(100%,365px);padding:31px 25px 23px;border:1px solid rgba(255,255,255,.16);border-radius:25px;background:linear-gradient(150deg,#1d2b40f7,#0e1727fa);color:#f4f7fb;box-shadow:0 28px 90px #00000061,inset 0 1px #ffffff12;text-align:center;animation:about-panel-appear .28s cubic-bezier(.2,.7,.2,1) both}.app-shell .about-modal-close{position:absolute;top:12px;right:12px;width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:50%;background:#ffffff0e;color:#dce8f8;cursor:pointer}.app-shell .about-modal-mark{width:52px;height:52px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid rgba(129,220,241,.22);border-radius:17px;background:#67cce417;color:#91e2f3}.app-shell .about-modal-eyebrow{display:block;margin-bottom:9px;color:#9bd8e9;font-size:8px;font-weight:800;letter-spacing:1.5px}.app-shell .about-modal-panel h2{margin:0 0 14px;font-family:Manrope,sans-serif;font-size:26px;font-weight:750;letter-spacing:-.8px;color:#fff}.app-shell .about-modal-panel p{margin:0 0 12px;color:#c2cede;font-size:12px;line-height:1.75}.app-shell .about-modal-done{width:100%;min-height:42px;margin-top:9px;border:1px solid rgba(134,219,239,.22);border-radius:13px;background:#74cfe71a;color:#dff8ff;font:inherit;font-size:11px;font-weight:750;cursor:pointer}@keyframes about-modal-appear{0%{opacity:0}to{opacity:1}}@keyframes about-panel-appear{0%{opacity:0;transform:translateY(8px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:380px){.app-shell .privacy-setting-row{gap:8px}.app-shell .privacy-setting-row .privacy-actions{gap:6px}.app-shell .about-trigger{padding:5px 6px}}@media(prefers-reduced-motion:reduce){.app-shell .about-modal-backdrop,.app-shell .about-modal-panel,.app-shell .about-trigger{animation:none!important;transition:none!important}}.app-shell:is(.sky-day,.sky-twilight) .about-modal-panel{background:linear-gradient(150deg,#fffffffa,#eff5fcfc);color:#1b2940;border-color:#364c6c29;box-shadow:0 28px 90px #17273e38,inset 0 1px #ffffffe6}.app-shell:is(.sky-day,.sky-twilight) .about-modal-panel h2{color:#17263d}.app-shell:is(.sky-day,.sky-twilight) .about-modal-panel p{color:#43536b}.app-shell:is(.sky-day,.sky-twilight) .about-modal-eyebrow{color:#28647a}.app-shell:is(.sky-day,.sky-twilight) .about-modal-close{background:#2339520e;border-color:#364c6c29;color:#34455d}.app-shell:is(.sky-day,.sky-twilight) .about-modal-mark{background:#3da4be1a;border-color:#3187a338;color:#247b91}.app-shell:is(.sky-day,.sky-twilight) .about-modal-done{background:#369ebb1a;border-color:#3187a340;color:#20566b}.app-shell .ai-disclosure{padding:15px 16px;border:1px solid rgba(132,205,225,.2);background:#4689a614}.app-shell .ai-disclosure-heading{display:flex;align-items:center;gap:9px;margin-bottom:9px;color:#e8f6ff;font-size:12px}.app-shell .ai-disclosure-icon{width:29px;height:29px;display:grid;place-items:center;flex:0 0 29px;border-radius:9px;background:#74cae21f;color:#9ee7f6}.app-shell .ai-disclosure p{margin:0;color:#c3d3e4;font-size:10px;line-height:1.65}.app-shell .ai-disclosure .ai-disclosure-footnote{margin-top:8px;color:#9aadc4;font-size:9px}.app-shell .ai-chat-card{padding:0;overflow:hidden}.app-shell .ai-chat-header{display:flex;align-items:center;gap:11px;padding:16px;border-bottom:1px solid rgba(221,233,246,.1)}.app-shell .ai-chat-avatar{width:39px;height:39px;display:grid;place-items:center;border:1px solid rgba(172,156,255,.22);border-radius:13px;background:#8b7ce124;color:#d8ceff}.app-shell .ai-chat-header>div:last-child{display:grid;gap:4px}.app-shell .ai-chat-header strong{font-size:12px;color:#f0f5fb}.app-shell .ai-chat-header span{display:flex;align-items:center;gap:6px;font-size:9px;color:#aabbd0}.app-shell .ai-status-dot{width:6px;height:6px;border-radius:50%;background:#68d7b0}.app-shell .ai-quick-prompts{display:flex;gap:7px;flex-wrap:wrap;padding:12px 13px 2px}.app-shell .ai-quick-prompts button{padding:8px 10px;border:1px solid rgba(147,204,229,.18);border-radius:999px;background:#6cb0cc12;color:#d5eaf5;font:inherit;font-size:9px;line-height:1.35;cursor:pointer}.app-shell .ai-quick-prompts button:disabled{opacity:.45;cursor:default}.app-shell .ai-chat-messages{display:grid;gap:13px;max-height:420px;overflow-y:auto;padding:16px 14px}.app-shell .ai-chat-welcome{display:grid;justify-items:center;text-align:center;gap:8px;padding:20px 12px;color:#a9e6f4}.app-shell .ai-chat-welcome strong{font-size:13px;color:#edf5fc}.app-shell .ai-chat-welcome p{max-width:250px;margin:0;color:#aebed1;font-size:10px;line-height:1.6}.app-shell .ai-message{max-width:92%;padding:11px 12px;border:1px solid rgba(215,231,247,.1);border-radius:13px;background:#ffffff0b}.app-shell .ai-message.user{justify-self:end;background:#5b9ec324;border-color:#77bfdf33}.app-shell .ai-message>span{display:block;margin-bottom:5px;color:#93ddeb;font-size:8px;font-weight:800;letter-spacing:1px}.app-shell .ai-message p{margin:0;color:#e1eaf4;font-size:11px;line-height:1.65;white-space:pre-wrap}.app-shell .ai-message .ai-typing{color:#aabbd0;font-style:italic}.app-shell .ai-error{margin:0 14px 10px;color:#ffb6b6;font-size:10px;line-height:1.5}.app-shell .ai-chat-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(221,233,246,.1)}.app-shell .ai-chat-form input{flex:1;min-width:0;min-height:42px;padding:0 12px;border:1px solid rgba(215,231,247,.14);border-radius:12px;background:#0209163d;color:#f3f7fc;font:inherit;font-size:11px}.app-shell .ai-chat-form input::placeholder{color:#92a5bb}.app-shell .ai-chat-form button{width:43px;flex:0 0 43px;display:grid;place-items:center;border:0;border-radius:12px;background:linear-gradient(135deg,#3b9fbd,#7770d6);color:#fff;cursor:pointer}.app-shell .ai-chat-form button:disabled{opacity:.45;cursor:default}.app-shell .ai-chat-note{margin:0;padding:0 14px 13px;color:#91a4bb;font-size:9px;line-height:1.5}@media(max-width:380px){.app-shell .ai-disclosure{padding:13px}.app-shell .ai-chat-messages{padding:13px 11px}.app-shell .ai-quick-prompts{padding-inline:10px}}
