body[data-palette=sky-breeze]{--radius:22px;--radius-sm:16px;--maxw:720px;--bg:#1a4f9c;--surface:#12284e47;--surface-strong:#fff3;--text:#f7fbff;--text-dim:#f7fbffcc;--accent:#ffe08a;--shadow:0 18px 48px #08183847;--glass-border:#fff3;--glass-highlight:#ffffff24;--font-display:"Outfit", "Avenir Next", sans-serif;--font-body:"Figtree", "Avenir Next", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-palette=sky-breeze][data-theme=clear-day]{--bg:linear-gradient(180deg, #1f6fd8 0%, #3f90e8 38%, #5aa8f0 68%, #7ebef5 100%);--accent:#fff1a8}body[data-palette=sky-breeze][data-theme=clear-night]{--bg:linear-gradient(180deg, #07122f 0%, #142554 48%, #243a7a 100%);--accent:#b8c9ff}body[data-palette=sky-breeze][data-theme=cloudy]{--bg:linear-gradient(180deg, #5d6f88 0%, #7f91a8 50%, #a8b7c8 100%);--accent:#ffe59a}body[data-palette=sky-breeze][data-theme=fog]{--bg:linear-gradient(180deg, #7a8796 0%, #9aa6b3 55%, #c0c8d0 100%);--accent:#ffe59a}body[data-palette=sky-breeze][data-theme=rain]{--bg:linear-gradient(180deg, #2a3b55 0%, #3f5474 48%, #5a7194 100%);--accent:#9ed7ff}body[data-palette=sky-breeze][data-theme=snow]{--bg:linear-gradient(180deg, #6e829e 0%, #95aac6 52%, #d5e3f4 100%);--accent:#eaf4ff}body[data-palette=sky-breeze][data-theme=thunderstorm]{--bg:linear-gradient(180deg, #1a1830 0%, #2c2a4e 50%, #403e6a 100%);--accent:#ffd66b}body[data-palette=harbor]{--radius:20px;--radius-sm:14px;--maxw:720px;--bg:#0a2a2e;--surface:#e8faf81f;--surface-strong:#e8faf833;--text:#e8faf8;--text-dim:#e8faf8bd;--accent:#5fd0c0;--shadow:0 16px 40px #02181c66;--glass-border:#e8faf833;--glass-highlight:#e8faf81a;--font-display:"Outfit", "Trebuchet MS", sans-serif;--font-body:"Figtree", "Trebuchet MS", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-palette=harbor][data-theme=clear-day]{--bg:linear-gradient(180deg, #1a7a86 0%, #2f9ea8 48%, #7ed4d0 100%);--accent:#ffe29a}body[data-palette=harbor][data-theme=clear-night]{--bg:linear-gradient(180deg, #062226 0%, #0e3d44 55%, #16565f 100%);--accent:#7be0d2}body[data-palette=harbor][data-theme=cloudy]{--bg:linear-gradient(180deg, #3a5558 0%, #567275 55%, #84a0a2 100%);--accent:#b8f0e8}body[data-palette=harbor][data-theme=fog]{--bg:linear-gradient(180deg, #5a7072 0%, #7d9395 55%, #b0c4c5 100%);--accent:#dff8f4}body[data-palette=harbor][data-theme=rain]{--bg:linear-gradient(180deg, #14383e 0%, #1f5158 55%, #2f6d76 100%);--accent:#8fe0ff}body[data-palette=harbor][data-theme=snow]{--bg:linear-gradient(180deg, #4d6a70 0%, #7f9aa0 55%, #c7dce0 100%);--accent:#e8f7ff}body[data-palette=harbor][data-theme=thunderstorm]{--bg:linear-gradient(180deg, #0d2428 0%, #163a40 55%, #24555d 100%);--accent:#ffd27a}body[data-palette=citrus-storm]{--radius:18px;--radius-sm:12px;--maxw:720px;--bg:#1c2228;--surface:#ffffff1a;--surface-strong:#ffffff29;--text:#f4f6f2;--text-dim:#f4f6f2bd;--accent:#c6e85a;--shadow:0 12px 36px #080c1073;--glass-border:#ffffff29;--glass-highlight:#ffffff14;--font-display:"Outfit", Georgia, serif;--font-body:"Figtree", "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-palette=citrus-storm][data-theme=clear-day]{--bg:linear-gradient(180deg, #3d4a38 0%, #6b7a52 45%, #c6e85a 100%);--accent:#ffb347}body[data-palette=citrus-storm][data-theme=clear-night]{--bg:linear-gradient(180deg, #12161a 0%, #232a32 55%, #36404a 100%);--accent:#d4f06a}body[data-palette=citrus-storm][data-theme=cloudy]{--bg:linear-gradient(180deg, #3a424a 0%, #5a646e 55%, #87919b 100%);--accent:#ffe08a}body[data-palette=citrus-storm][data-theme=fog]{--bg:linear-gradient(180deg, #5c646c 0%, #7e868e 55%, #b0b6bc 100%);--accent:#e8f5a0}body[data-palette=citrus-storm][data-theme=rain]{--bg:linear-gradient(180deg, #1e2a32 0%, #2f4050 55%, #456178 100%);--accent:#9ad4ff}body[data-palette=citrus-storm][data-theme=snow]{--bg:linear-gradient(180deg, #4a5560 0%, #74808c 55%, #d2dae2 100%);--accent:#f0f7ff}body[data-palette=citrus-storm][data-theme=thunderstorm]{--bg:linear-gradient(180deg, #1a1610 0%, #2e2818 55%, #4a3f20 100%);--accent:#ffcf4d}body[data-palette=paper-sun]{--radius:22px;--radius-sm:14px;--maxw:720px;--bg:#f3f7fb;--surface:#ffffffb8;--surface-strong:#ffffffe6;--text:#1d2a3a;--text-dim:#1d2a3aad;--accent:#2f7fd4;--shadow:0 18px 50px #283c5a1a;--glass-border:#1d2a3a14;--glass-highlight:#ffffff8c;--font-display:"Outfit", "Avenir Next", sans-serif;--font-body:"Figtree", "Avenir Next", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body[data-palette=paper-sun][data-theme=clear-day]{--bg:linear-gradient(180deg, #fff4d1 0%, #f8fbff 46%, #dceeff 100%);--accent:#1f74c7}body[data-palette=paper-sun][data-theme=clear-night]{--bg:linear-gradient(180deg, #1a2740 0%, #2a3d62 55%, #3f5688 100%);--surface:#ffffff1f;--surface-strong:#ffffff2e;--text:#f5f8ff;--text-dim:#f5f8ffbd;--accent:#9ec4ff;--glass-border:#ffffff2e;--glass-highlight:#ffffff1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body[data-palette=paper-sun][data-theme=cloudy]{--bg:linear-gradient(180deg, #d5dde6 0%, #e8eef4 55%, #f4f7fa 100%);--accent:#3a6ea5}body[data-palette=paper-sun][data-theme=fog]{--bg:linear-gradient(180deg, #cfd6de 0%, #e2e7ec 55%, #f0f3f6 100%);--accent:#4a6d90}body[data-palette=paper-sun][data-theme=rain]{--bg:linear-gradient(180deg, #9bb0c8 0%, #b9c9db 55%, #d9e4f0 100%);--accent:#1f5f9e}body[data-palette=paper-sun][data-theme=snow]{--bg:linear-gradient(180deg, #e4ebf4 0%, #f0f5fb 55%, #fff 100%);--accent:#3d6fa3}body[data-palette=paper-sun][data-theme=thunderstorm]{--bg:linear-gradient(180deg, #3a4258 0%, #5a6480 55%, #8792ad 100%);--surface:#ffffff1f;--surface-strong:#fff3;--text:#f5f8ff;--text-dim:#f5f8ffbd;--accent:#ffd66b;--glass-border:#ffffff2e;--glass-highlight:#ffffff1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--radius:22px;--radius-sm:16px;--maxw:720px;--bg:#1a4f9c;--surface:#ffffff29;--surface-strong:#ffffff3d;--text:#f7fbff;--text-dim:#f7fbffc7;--accent:#ffe08a;--shadow:0 18px 48px #08183847;--glass-border:#ffffff38;--glass-highlight:#ffffff1f;--font-display:"Outfit", "Avenir Next", sans-serif;--font-body:"Figtree", "Avenir Next", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{min-height:100dvh;margin:0}body{min-height:100dvh;font-family:var(--font-body);color:var(--text);background:var(--bg);background-attachment:scroll;margin:0;transition:background .8s;overflow:hidden auto}#root{width:100%;max-width:100%;min-height:100dvh}.app{flex-direction:column;width:100%;max-width:100%;min-height:100dvh;display:flex;position:relative;overflow-x:clip}.atmosphere{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.atmosphere-scene{opacity:0;transition:opacity .7s;position:absolute;inset:0}.atmosphere-scene.is-active{opacity:1}.atmosphere-scene.is-leaving{opacity:0}.atm-sun{background:radial-gradient(circle at 40% 40%, #fff6c8 0%, #ffd76a 45%, color-mix(in srgb, var(--accent) 35%, #ffb020) 100%);opacity:.9;border-radius:50%;width:min(28vw,180px);height:min(28vw,180px);animation:3.2s ease-in-out infinite alternate sun-pulse;position:absolute;top:-4%;right:8%;box-shadow:0 0 60px #ffd76a8c}.atm-sun-rays{opacity:.55;background:conic-gradient(#0000 0deg 18deg,#ffd76a47 18deg 28deg,#0000 28deg 48deg,#ffd76a38 48deg 56deg,#0000 56deg 78deg,#ffd76a42 78deg 88deg,#0000 88deg 360deg);width:min(55vw,360px);height:min(55vw,360px);animation:18s linear infinite ray-spin;position:absolute;top:-18%;right:-2%;-webkit-mask-image:radial-gradient(circle,#000 20%,#0000 70%);mask-image:radial-gradient(circle,#000 20%,#0000 70%)}.atm-haze{opacity:.45;height:45%;animation:4s ease-in-out infinite alternate haze-drift;position:absolute;inset:auto -10% -20%}.atm-haze-warm{background:linear-gradient(#0000,#ffd76a59)}.atm-haze-cool{background:linear-gradient(#0000,#8eb6ff66)}.atm-stars{opacity:.85;background-image:radial-gradient(circle,#fffffff2 1.2px,#0000 1.8px),radial-gradient(circle,#ffffffb3 1px,#0000 1.6px),radial-gradient(circle,#ffffff8c .8px,#0000 1.4px);background-position:10% 20%,60% 40%,30% 70%;background-size:120px 120px,180px 180px,90px 90px;animation:3s ease-in-out infinite alternate star-twinkle;position:absolute;inset:0}.atm-moon{opacity:.92;background:radial-gradient(circle at 35% 35%,#f4f7ff 0%,#c9d4f0 70%);border-radius:50%;width:min(16vw,96px);height:min(16vw,96px);animation:3.6s ease-in-out infinite alternate moon-glow;position:absolute;top:8%;right:14%;box-shadow:0 0 48px #c9d4f08c}.atm-cloud{opacity:.7;background:radial-gradient(ellipse at 18% 55%, var(--atm-cloud) 0%, transparent 55%), radial-gradient(ellipse at 48% 40%, var(--atm-cloud) 0%, transparent 50%), radial-gradient(ellipse at 78% 58%, var(--atm-cloud) 0%, transparent 52%);--atm-cloud:#ffffff8c;width:130%;height:160px;animation:12s linear infinite cloud-drift;position:absolute;left:-15%}.atm-cloud-far{opacity:.4;animation-duration:18s;top:6%;transform:scale(1.1)}.atm-cloud-mid{opacity:.55;animation-duration:13s;animation-direction:reverse;top:16%}.atm-cloud-near{opacity:.7;animation-duration:9s;top:28%}.atm-cloud-storm{--atm-cloud:#606570a6;filter:contrast(1.1)}.atm-fog{filter:blur(8px);opacity:.65;background:linear-gradient(90deg,#0000 0%,#dfe6eeb3 25%,#c5ced8bf 55%,#0000 100%);width:140%;height:28%;animation:10s ease-in-out infinite alternate fog-slide;position:absolute;left:-20%}.atm-fog-a{animation-duration:9s;top:18%}.atm-fog-b{opacity:.55;animation-duration:12s;animation-direction:alternate-reverse;top:38%}.atm-fog-c{opacity:.45;animation-duration:14s;top:58%}.atm-rain{background-image:repeating-linear-gradient(-18deg, transparent 0, transparent 10px, var(--atm-rain) 10px, var(--atm-rain) 12px);--atm-rain:#ffffff47;opacity:.55;background-size:24px 42px;animation:1.1s linear infinite rain-fall;position:absolute;inset:0}.atm-rain-far{opacity:.28;filter:blur(.4px);animation-duration:1.6s;transform:scale(.95)}.atm-rain-near{opacity:.6;animation-duration:.9s}.atm-rain-heavy{--atm-rain:#dcebff6b;opacity:.75;background-size:18px 36px}.atm-snow{opacity:.75;background-image:radial-gradient(circle,#fffffff2 1.6px,#0000 2.2px),radial-gradient(circle,#ffffffb3 1.1px,#0000 1.8px),radial-gradient(circle,#ffffff8c .8px,#0000 1.4px);background-size:54px 54px,78px 78px,36px 36px;animation:7s linear infinite snow-fall;position:absolute;inset:0}.atm-snow-far{opacity:.35;filter:blur(.5px);animation-duration:11s}.atm-snow-mid{opacity:.55;animation-duration:8s;animation-direction:reverse}.atm-snow-near{opacity:.85;animation-duration:5.5s}.atm-storm-glow{opacity:.55;background:radial-gradient(at 50% 40%,#c9d6ff59,#0000 70%);height:40%;animation:4.5s ease-in-out infinite alternate storm-illuminate;position:absolute;inset:8% 10% auto}@keyframes sun-pulse{0%{opacity:.82;transform:scale(1)}to{opacity:1;transform:scale(1.06)}}@keyframes ray-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes haze-drift{0%{opacity:.35;transform:translate(-2%)}to{opacity:.55;transform:translate(3%)}}@keyframes star-twinkle{0%{opacity:.55}to{opacity:.95}}@keyframes moon-glow{0%{transform:scale(1);box-shadow:0 0 36px #c9d4f066}to{transform:scale(1.04);box-shadow:0 0 64px #c9d4f0a6}}@keyframes cloud-drift{0%{transform:translate(0)}to{transform:translate(-10%)}}@keyframes fog-slide{0%{transform:translate(-4%)}to{transform:translate(6%)}}@keyframes rain-fall{0%{background-position:0 0}to{background-position:24px 42px}}@keyframes snow-fall{0%{background-position:0 0,0 0,0 0}to{background-position:28px 110px,-22px 90px,16px 70px}}@keyframes storm-illuminate{0%{opacity:.25;filter:brightness(.9)}to{opacity:.7;filter:brightness(1.15)}}body[data-palette=paper-sun] .atm-cloud{--atm-cloud:#a9b3beb8}body[data-palette=paper-sun] .atm-rain{--atm-rain:#37507852}body[data-palette=paper-sun] .atm-fog{background:linear-gradient(90deg,#0000 0%,#78879b73 25%,#96a2b280 55%,#0000 100%)}body[data-palette=paper-sun] .atm-snow{background-image:radial-gradient(circle,#465f828c 1.6px,#0000 2.2px),radial-gradient(circle,#5a739666 1.1px,#0000 1.8px),radial-gradient(circle,#6e82a059 .8px,#0000 1.4px)}body[data-palette=paper-sun][data-theme=clear-night] .atm-stars,body[data-palette=paper-sun][data-theme=thunderstorm] .atm-cloud-storm{opacity:.85}.topbar,.content,.site-footer{z-index:1;box-sizing:border-box;width:100%;max-width:var(--maxw);min-width:0;margin:0 auto;padding-left:20px;padding-right:20px;position:relative}.topbar{padding-top:calc(14px + env(safe-area-inset-top,0px));justify-content:space-between;align-items:center;gap:14px;padding-bottom:8px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.03em;opacity:.92;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:flex}.install-button{max-width:none}.install-ios{max-width:220px;position:relative}.install-ios summary{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 88%, transparent);cursor:pointer;-webkit-backdrop-filter:blur(18px)saturate(1.35);box-shadow:inset 0 1px 0 var(--glass-highlight);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;list-style:none;display:inline-flex}.install-ios summary::-webkit-details-marker{display:none}.install-ios p{border-radius:var(--radius-sm);background:var(--surface-strong);width:min(260px,70vw);color:var(--text);box-shadow:var(--shadow);z-index:5;margin:0;padding:12px;font-size:.85rem;position:absolute;top:calc(100% + 8px);right:0}.offline-empty{border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(22px)saturate(1.4);box-shadow:inset 0 1px 0 var(--glass-highlight);justify-items:start;gap:8px;margin:4vh 0 18px;padding:22px;display:grid}.offline-empty h1{font-family:var(--font-display);margin:0;font-size:1.4rem}.offline-empty p{color:var(--text-dim);max-width:42ch;margin:0}.topbar-actions{align-items:center;gap:8px;display:flex}.content{padding-top:14px;padding-bottom:calc(36px + env(safe-area-inset-bottom,0px));flex:1 0 auto}button{font:inherit;cursor:pointer;color:inherit}.ghost-button,.locate-button{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--text);-webkit-backdrop-filter:blur(18px)saturate(1.35);max-width:220px;min-height:40px;box-shadow:inset 0 1px 0 var(--glass-highlight);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.location-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ghost-button:hover,.locate-button:hover{background:var(--surface-strong)}.unit-toggle{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.35);min-height:40px;box-shadow:inset 0 1px 0 var(--glass-highlight);border-radius:999px;align-items:center;gap:4px;padding:8px 12px;font-weight:600;display:inline-flex}.unit-toggle .unit-active{color:var(--accent)}.unit-divider{opacity:.5}.intro{gap:26px;margin-top:8vh;animation:.55s both rise-in;display:grid}.intro-brand{font-family:var(--font-display);letter-spacing:-.05em;text-shadow:0 10px 40px #0000002e;margin:0 0 10px;font-size:clamp(2.4rem,9vw,3.6rem);font-weight:800;line-height:.95}.intro-copy h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 10px;font-size:clamp(1.35rem,4.5vw,1.85rem);font-weight:600}.intro-copy p{color:var(--text-dim);max-width:40ch;margin:0;line-height:1.5}.location-picker{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(22px)saturate(1.4);box-shadow:var(--shadow), inset 0 1px 0 var(--glass-highlight);padding:16px}.floating-picker{margin-bottom:18px}.search-row{flex-wrap:wrap;gap:10px;display:flex}.search-field{background:color-mix(in srgb, var(--text) 10%, transparent);border:1px solid var(--glass-border);border-radius:var(--radius-sm);flex:220px;align-items:center;gap:8px;padding:0 10px;display:flex;position:relative}.search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:12px 4px;font-size:1rem}.search-input::placeholder{color:var(--text-dim)}.search-icon{opacity:.8}.locate-button{white-space:nowrap}.geo-hint{color:var(--text-dim);margin:10px 2px 0;font-size:.8rem}.search-status{min-height:1.2em;color:var(--text-dim);margin:8px 2px 0;font-size:.88rem}.results-list{gap:4px;margin:8px 0 0;padding:0;list-style:none;display:grid}.result-item{border-radius:var(--radius-sm);text-align:left;width:100%;color:inherit;background:0 0;border:none;align-items:center;gap:10px;padding:10px 12px;display:flex}.result-item.active,.result-item:hover{background:var(--surface-strong)}.result-main{color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:0;display:flex}.result-name{font-weight:600}.result-meta{color:var(--text-dim);font-size:.85rem}.recents{margin-top:14px}.recents-head{justify-content:space-between;align-items:center;display:flex}.recents-head h2{text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);margin:0;font-size:.9rem}.text-button{color:var(--accent);background:0 0;border:none;align-items:center;gap:4px;padding:4px 6px;font-weight:600;display:inline-flex}.forecast{gap:14px;min-width:0;display:grid}.status-chip{color:var(--text-dim);align-items:center;gap:6px;margin:0;font-size:.85rem;display:inline-flex}.hero{text-align:center;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;border:0;border-radius:0;justify-items:center;gap:4px;padding:28px 8px 18px;animation:.7s cubic-bezier(.22,1,.36,1) both hero-enter;display:grid;position:relative;overflow:visible}.hero-location{font-family:var(--font-display);letter-spacing:-.03em;text-shadow:0 2px 18px #0000002e;margin:0 0 2px;font-size:clamp(1.35rem,4.5vw,1.75rem);font-weight:650}.hero-temp-row{justify-content:center;align-items:center;gap:8px;display:flex}.hero-icon{color:var(--accent);filter:drop-shadow(0 8px 18px #0000002e);flex:none;animation:4.5s ease-in-out infinite alternate icon-float}.hero-temp{font-family:var(--font-display);letter-spacing:-.07em;text-shadow:0 12px 40px #0000002e;margin:0;font-size:clamp(5.5rem,22vw,7.5rem);font-weight:700;line-height:.88}.hero-condition{letter-spacing:-.02em;color:var(--text);margin:2px 0 0;font-size:1.2rem;font-weight:600}.hero-range{letter-spacing:-.01em;margin:2px 0 0;font-size:1.05rem;font-weight:600}.hero-feels{color:var(--text-dim);margin:6px 0 0;font-size:.95rem}.hero-time{color:var(--text-dim);opacity:.9;margin:4px 0 0;font-size:.8rem}.metrics-panel{border:1px solid var(--glass-border);border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 88%, #0a183059);-webkit-backdrop-filter:blur(28px)saturate(1.45);min-width:0;box-shadow:var(--shadow), inset 0 1px 0 var(--glass-highlight);padding:16px;animation:.55s .18s both rise-in}.metrics-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.metrics-heading h2{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;opacity:.88;margin:0;font-size:.95rem;font-weight:650}.metrics-toggle{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:999px;flex:none;min-height:34px;padding:6px 10px}.metrics-toggle:hover{background:color-mix(in srgb, var(--text) 14%, transparent)}.metrics{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric{background:color-mix(in srgb, var(--text) 7%, transparent);border:1px solid color-mix(in srgb, var(--text) 8%, transparent);border-radius:var(--radius-sm);grid-template-columns:28px minmax(0,1fr);align-items:flex-start;gap:10px;min-width:0;min-height:88px;padding:14px;transition:transform .18s,background .18s;display:grid}.metric:hover{background:color-mix(in srgb, var(--text) 11%, transparent);transform:translateY(-1px)}.metric-icon{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);border-radius:10px;place-items:center;width:28px;height:28px;display:grid}.metric-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.72rem;font-weight:650}.metric-value{font-family:var(--font-display);letter-spacing:-.02em;overflow-wrap:anywhere;margin:3px 0 0;font-size:1.15rem;font-weight:700;line-height:1.15}.metric-sub{color:var(--text-dim);margin:2px 0 0;font-size:.78rem}.panel{background:color-mix(in srgb, var(--surface) 88%, #0a183059);border:1px solid var(--glass-border);border-radius:var(--radius);-webkit-backdrop-filter:blur(28px)saturate(1.45);min-width:0;max-width:100%;box-shadow:var(--shadow), inset 0 1px 0 var(--glass-highlight);padding:16px 16px 14px;animation:.55s both rise-in}.forecast>.panel[aria-label=Hourly\ forecast]{animation-delay:80ms}.forecast>.panel[aria-label="7-day forecast"]{animation-delay:.14s}.forecast>.metrics-panel{animation-delay:.18s}.forecast>.trends-panel{animation-delay:.24s}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.panel-heading .panel-title{margin:0}.panel-title{font-family:var(--font-display);letter-spacing:-.02em;text-transform:uppercase;opacity:.88;margin:0 0 12px;font-size:.95rem;font-weight:650}.trends-panel{animation-delay:.22s;overflow:hidden}.trends-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:12px;display:flex}.trends-heading .panel-title{margin:0}.trends-heading p{color:var(--text-dim);margin:3px 0 0;font-size:.8rem}.trend-tabs{background:color-mix(in srgb, var(--text) 8%, transparent);border-radius:999px;align-items:center;gap:4px;padding:4px;display:flex}.trend-tabs button{min-height:34px;color:var(--text-dim);white-space:nowrap;background:0 0;border:0;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600}.trend-tabs button:hover{color:var(--text)}.trend-tabs button[aria-pressed=true]{color:var(--text);background:color-mix(in srgb, var(--surface-strong) 88%, transparent);box-shadow:inset 0 1px 0 var(--glass-highlight)}.trend-readout{min-height:28px;color:var(--text-dim);align-items:baseline;gap:8px;font-size:.85rem;display:flex}.trend-readout strong{color:var(--text);font-size:1.15rem}.trend-chart{width:100%;min-width:0}.trend-chart svg{touch-action:pan-y;width:100%;height:220px;display:block}.trend-grid-line{stroke:color-mix(in srgb, var(--text) 10%, transparent);stroke-width:1px}.trend-axis-label{fill:var(--text-dim);font-family:var(--font-body);font-size:11px}.trend-area{opacity:.72;pointer-events:none}.trend-line{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.trend-line-past{stroke:color-mix(in srgb, var(--text-dim) 58%, transparent)}.trend-line-future{stroke:var(--accent)}.trend-bar{fill:color-mix(in srgb, var(--accent) 72%, transparent);pointer-events:none}.trend-bar[data-period=past]{opacity:.28}.trend-bar[data-period=now]{fill:var(--accent)}.trend-past-shade{fill:color-mix(in srgb, var(--text) 4%, transparent);pointer-events:none}.trend-now-line{stroke:color-mix(in srgb, var(--accent) 72%, transparent);stroke-width:1.5px;pointer-events:none}.trend-now-label{fill:var(--accent);font-family:var(--font-body);letter-spacing:.08em;pointer-events:none;font-size:10px;font-weight:700}.trend-guide{stroke:color-mix(in srgb, var(--text) 38%, transparent);stroke-width:1px;stroke-dasharray:4 4;pointer-events:none}.trend-marker{fill:var(--surface-strong);stroke:var(--accent);stroke-width:3px;pointer-events:none}.hourly-nav{gap:6px;display:flex}.icon-button{border:1px solid var(--glass-border);background:color-mix(in srgb, var(--text) 8%, transparent);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,transform .12s,border-color .15s;display:inline-flex}.icon-button:hover{background:color-mix(in srgb, var(--text) 14%, transparent);color:var(--text)}.icon-button:active{transform:scale(.96)}.hourly-rail{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:8px;min-width:0;max-width:100%;margin:0;padding:2px 2px 6px;list-style:none;display:flex;overflow-x:auto}.hour-card-wrap{scroll-snap-align:start;flex:none;position:relative}.hour-card{background:color-mix(in srgb, var(--text) 8%, transparent);width:68px;min-height:118px;color:inherit;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-items:center;gap:7px;padding:12px 6px;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s;display:grid}.hour-card:hover{background:color-mix(in srgb, var(--text) 12%, transparent)}.hour-card:active{transform:scale(.97)}.hour-card.is-selected{background:color-mix(in srgb, var(--surface-strong) 78%, transparent);border-color:color-mix(in srgb, var(--text) 18%, transparent);box-shadow:inset 0 1px 0 var(--glass-highlight)}.hour-card.is-past{opacity:.42;filter:saturate(.4)}.hour-card.is-past:hover,.hour-card.is-past.is-selected{opacity:.78}.hour-card.is-now{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--accent) 55%, transparent)}.hour-card-wrap.is-now:before{display:none}.hour-label{color:var(--text-dim);font-size:.78rem;font-weight:600}.hour-temp{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}.hour-pop{color:color-mix(in srgb, #9ed7ff 70%, var(--accent));font-size:.75rem;font-weight:600}.hour-detail-tray{border-top:1px solid color-mix(in srgb, var(--text) 12%, transparent);margin-top:12px;padding-top:12px;animation:.22s detail-enter}.hour-detail-grid,.day-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;margin:0;display:grid}.hour-detail-item,.day-detail-grid>div{border-bottom:1px solid color-mix(in srgb, var(--text) 8%, transparent);background:0 0;border-radius:0;min-width:0;padding:10px 2px}.hour-detail-item:nth-last-child(-n+2),.day-detail-grid>div:nth-last-child(-n+2){border-bottom:0}.hour-detail-item dt,.day-detail-grid dt{letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:.72rem;font-weight:650}.hour-detail-item dd,.day-detail-grid dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:.95rem;font-weight:600}.daily-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.day-item{border-radius:var(--radius-sm);min-width:0;overflow:hidden}.day-heading{font-size:inherit;font-weight:inherit;margin:0}.day-row{width:100%;min-width:0;min-height:46px;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;grid-template-columns:3.4rem 1.6rem 2.8rem 2.5rem minmax(0,1fr) 2.5rem;align-items:center;gap:8px;padding:8px 6px;transition:background .15s,transform .12s;display:grid}.day-row:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.day-row:active{transform:scale(.995)}.day-item.is-expanded .day-row{background:color-mix(in srgb, var(--text) 10%, transparent)}.day-name{letter-spacing:-.01em;font-weight:650}.day-pop{color:color-mix(in srgb, #9ed7ff 70%, var(--accent));text-align:right;font-size:.78rem;font-weight:600}.day-low{color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums}.day-high{text-align:right;font-variant-numeric:tabular-nums;font-weight:650}.day-bar{background:color-mix(in srgb, var(--text) 16%, transparent);border-radius:999px;height:5px;position:relative}.day-bar-fill{background:linear-gradient(90deg, #7fd0ff, #ffe08a 55%, color-mix(in srgb, var(--accent) 80%, #ff9f5a));height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 35%, transparent);border-radius:999px;position:absolute;top:0}.day-detail{min-width:0;padding:8px 8px 12px;animation:.22s detail-enter}@keyframes detail-enter{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-enter{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes icon-float{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@media (width>=600px){.hour-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.day-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.alerts{gap:10px;display:grid}.alert{border:1px solid color-mix(in srgb, #ffce54 36%, var(--glass-border));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--surface-strong) 88%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.3);border-left:5px solid #ffce54;padding:15px 18px;box-shadow:0 10px 30px #64461414}.alert-extreme{border-left-color:#ff5c7a}.alert-severe{border-left-color:#ff8a5c}.alert-moderate{border-left-color:#ffce54}.alert-minor{border-left-color:#8fd0ff}.alert-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.alert-summary{min-width:0}.alert-head h3{letter-spacing:-.015em;margin:0;font-size:1.05rem}.alert-severity{color:var(--text-dim);margin:2px 0 0;font-size:.82rem}.alert-headline{max-width:92ch;color:color-mix(in srgb, var(--text) 88%, var(--text-dim));margin:10px 0 0 28px;font-size:.9rem;line-height:1.45}.alert-toggle{white-space:nowrap;margin:0}.alert-details{border-top:1px solid color-mix(in srgb, var(--text) 10%, transparent);color:var(--text-dim);white-space:pre-line;margin:12px 0 0 28px;padding-top:12px;font-size:.9rem}.alert-details a{color:var(--accent);align-items:center;gap:4px;display:inline-flex}.chevron{transition:transform .2s}.chevron.open{transform:rotate(180deg)}.notice{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;display:flex}.notice-ok{background:#78dca02e}.notice-warn{background:#ffce542e}.notice-error{background:#ff5c7a33;flex-direction:column;align-items:flex-start}.loading{color:var(--text-dim);align-items:center;gap:10px;padding:30px 0;display:flex}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{padding-top:10px;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));color:var(--text-dim);flex-shrink:0;font-size:.82rem}.site-footer a{color:var(--accent)}.disclaimer{opacity:.85;margin:4px 0 0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (width>=620px){.metrics{grid-template-columns:repeat(3,1fr)}}@media (width>=900px){.forecast{gap:16px}.metrics-panel:not(.is-expanded) .metrics{grid-template-columns:repeat(3,1fr)}.metric{min-height:92px}}@media (width<=519px){.topbar,.content,.site-footer{padding-left:14px;padding-right:14px}.topbar{flex-wrap:wrap;align-items:flex-start}.topbar-actions{width:100%}.topbar-actions .ghost-button{flex:auto;min-width:0}.install-button span,.install-ios summary span{display:none}.hero{padding-top:18px;padding-bottom:10px}.panel,.metrics-panel{padding:14px}.trends-heading{gap:10px;display:grid}.trend-tabs{width:100%}.trend-tabs button{flex:1 1 0;padding-left:7px;padding-right:7px;font-size:.75rem}.metrics{grid-template-columns:1fr;gap:8px}.metric{grid-template-columns:26px minmax(0,1fr);min-height:70px;padding:12px}.metrics-heading{margin-bottom:10px}.metric-icon{width:26px;height:26px}.day-row{grid-template-columns:3rem 1.5rem 2.6rem minmax(2.5rem,1fr) 2.5rem;gap:7px;padding-left:4px;padding-right:4px}.day-bar{display:none}.alert-head{align-items:start}.alert-toggle span{display:none}.alert-headline,.alert-details{margin-left:0}}@media (prefers-reduced-motion:reduce){.atmosphere-scene,.atm-sun,.atm-sun-rays,.atm-haze,.atm-stars,.atm-moon,.atm-cloud,.atm-fog,.atm-rain,.atm-snow,.atm-storm-glow,.hour-detail-tray,.day-detail,.hour-card,.day-row,.icon-button,.spin,.hero,.hero-icon,.panel,.metrics-panel,.intro{transition:none!important;animation:none!important}body{transition:none}}
