#root{width:100%}:root{color-scheme:dark;font-family:Avenir Next,SF Pro Display,Segoe UI,sans-serif;color:#f3f7f1;--app-bg: #0e1813;--site-bg: linear-gradient(180deg, var(--app-bg) 0%, var(--app-bg) 100%);--topography-pattern: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='720' height='720' viewBox='0 0 720 720'%3E%3Cg fill='none' stroke='%23d7ebdd' stroke-opacity='0.2' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M-60 124c66-42 138-60 220-44 71 14 133 10 196-17 52-22 110-30 186-18 68 11 122 6 178-18'/%3E%3Cpath d='M-48 184c72-38 146-51 224-37 88 15 155 11 224-18 55-23 118-30 197-18 60 10 108 7 161-11'/%3E%3Cpath d='M-40 254c70-33 142-42 218-28 100 18 173 13 246-20 58-26 123-33 205-20 54 9 98 8 150-7'/%3E%3Cpath d='M-28 334c67-30 138-37 214-24 109 20 187 16 265-18 61-27 128-33 208-20 49 8 92 9 140-3'/%3E%3Cpath d='M-20 422c62-28 131-34 206-22 115 19 197 16 278-15 66-25 133-30 211-17 49 8 90 9 133-2'/%3E%3Cpath d='M-16 512c59-31 126-41 201-31 103 14 182 11 260-17 67-24 137-28 215-15 52 9 97 8 140-4'/%3E%3Cpath d='M-24 602c58-38 126-53 206-45 84 9 156 8 231-12 68-19 139-21 220-8 57 9 106 6 154-9'/%3E%3Cpath d='M86-38c29 50 35 106 14 176-18 61-16 116 10 174 21 47 28 96 17 162 116 16 208 8 292-26 72-30 148-40 244-27'/%3E%3Cpath d='M198-54c24 54 26 114 2 188-21 64-20 121 4 181 20 48 25 97 16 160 108 14 196 6 275-24 72-27 149-35 247-22'/%3E%3Cpath d='M320-58c18 57 16 120-9 195-22 67-19 126 6 185 19 46 24 93 15 152 97 14 180 8 255-18 73-25 150-31 247-18'/%3E%3Cpath d='M448-54c11 58 8 119-14 190-21 68-17 129 10 187 19 42 25 86 18 143 86 14 165 10 237-11 74-22 151-26 248-14'/%3E%3Cpath d='M574-38c4 56-2 114-22 178-20 66-16 126 11 183 19 40 27 82 24 136'/%3E%3C/g%3E%3C/svg%3E");--panel: rgba(14, 24, 19, .76);--panel-strong: rgba(15, 28, 21, .92);--panel-soft: rgba(255, 255, 255, .045);--border: rgba(232, 242, 235, .1);--border-strong: rgba(155, 231, 172, .2);--text-soft: rgba(243, 247, 241, .68);--text-muted: rgba(243, 247, 241, .52);--good: #97e2a8;--warn: #ffd27a;--bad: #ff9e82;--shadow: 0 28px 90px rgba(0, 0, 0, .28);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--app-bottom-space: calc(32px + var(--safe-bottom))}*{box-sizing:border-box}img{max-width:100%;height:auto}html,body,#root{min-height:100%;min-height:100dvh;background:var(--app-bg)}html{scrollbar-gutter:stable}body{margin:0;min-height:100vh;min-height:100dvh;background:var(--site-bg);overscroll-behavior-y:none}body.menuOpen{overflow:hidden;touch-action:none}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at top left,rgba(151,226,168,.08),transparent 28rem),radial-gradient(circle at 85% 12%,rgba(255,255,255,.04),transparent 20rem);opacity:.9}body:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--topography-pattern);background-size:720px 720px;background-repeat:repeat;background-position:center top;opacity:.2;mix-blend-mode:screen}button{font:inherit}.app{position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(1120px,100%);min-height:100vh;min-height:100dvh;margin:0 auto;padding:calc(var(--safe-top) + 6px) 16px var(--app-bottom-space)}.hero,.card,.footerBlock,.modalPanel{position:relative;overflow:hidden;border:1px solid var(--border);border-radius:30px;background:var(--panel);box-shadow:var(--shadow);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.hero:before,.card:before,.footerBlock:before,.modalPanel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 42%)}.skeletonBlock{position:relative;display:block;overflow:hidden;border-radius:999px;background:#e9f1e814}.skeletonBlock:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent);animation:skeletonSweep 1.45s ease-in-out infinite}@media(max-width:768px)and (pointer:coarse)and (hover:none){@supports not (-webkit-touch-callout: none){:root{--shadow: 0 16px 38px rgba(0, 0, 0, .2)}body:before{opacity:.72}body:after{opacity:.07;background-size:620px 620px;mix-blend-mode:normal}.card,.footerBlock{backdrop-filter:none;-webkit-backdrop-filter:none}.hero,.modalPanel{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}}.hero{padding:25px 19px 21px;margin-bottom:16px;background:radial-gradient(circle at top right,rgba(151,226,168,.12),transparent 18rem),linear-gradient(145deg,#101c16f0,#0c1410eb)}.heroHeader,.sectionHeader,.forecastCardHeader,.mapCardHeader,.modalHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.heroHeader>*,.sectionHeader>*,.forecastCardHeader>*,.mapCardHeader>*,.modalHeader>*,.summaryBand>*{min-width:0}.heroKicker,.sectionEyebrow,.heroTime,.heroIntro,.updateText,.metricDetail,.supportCard p,.summaryBand p,.sectionSubtitle,.reportText,.reportCard p,.locationLine,.footerNote,.mapCardHeader span,.modalDescription,.modalMetaCard span,.hourCard span,.forecastCard p,.forecastStats span,.forecastTemp span{color:var(--text-soft)}.heroKicker,.sectionEyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 8px;padding:7px 11px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:800}.heroBrandLockup{position:relative;display:inline-grid;place-items:center;max-width:100%}.heroBrandMark{position:absolute;right:100%;top:50%;display:inline-flex;align-items:center;justify-content:center;width:clamp(48px,8.6vw,68px);height:clamp(48px,8.6vw,68px);flex:0 0 auto;margin-right:clamp(10px,2.4vw,16px);padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(-6px,-50%)}.heroBrandLogo{display:block;width:100%;height:100%;object-fit:contain;opacity:1;filter:saturate(.94) brightness(1.14) contrast(1.04)}.heroKicker{margin-bottom:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--good);text-shadow:0 6px 22px rgba(151,226,168,.18);font-size:clamp(2rem,7vw,3rem);font-weight:950;letter-spacing:-.05em;text-transform:none;text-align:center;line-height:.94}.heroIntro{margin:2px 0 0;max-width:680px;color:#97e2a8d6;font-size:clamp(.94rem,3.5vw,1.08rem);font-weight:640;line-height:1.52;text-align:center;font-style:italic}.heroTime{margin:0;font-size:.98rem;font-weight:650;text-align:center}.heroFreshnessNote{display:none}.heroFreshnessDot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px #ffffff0a;flex:0 0 auto}.heroMetaRow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;margin-top:10px}.heroDecision{margin-top:14px}.heroDecision h1{margin:0;font-size:clamp(2.35rem,8vw,5.3rem);line-height:.92;letter-spacing:-.07em}.heroDescription{max-width:760px;margin:12px 0 0;font-size:clamp(1.02rem,3.8vw,1.28rem);line-height:1.58;font-weight:560;overflow-wrap:anywhere}.heroSignalGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.heroSignal,.metricCard,.supportCard,.reportCard,.hourCard,.forecastCard,.modalMetaCard,.mapCard{border:1px solid rgba(232,242,235,.08);border-radius:24px;background:linear-gradient(145deg,#ffffff0d,#97e2a809);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.heroSignal{padding:12px 13px;min-height:84px;min-width:0}.heroSignal span,.metricLabel,.reportCard span,.modalMetaCard span{display:inline-flex;align-items:center;gap:8px;font-weight:760;color:var(--text-soft)}.heroSignal strong{display:block;margin-top:7px;font-size:1.12rem;letter-spacing:-.03em;overflow-wrap:anywhere}.heroSignal.isLoading{display:grid;align-content:start;gap:10px}.heroSignalGridLoading{grid-template-columns:repeat(3,minmax(0,1fr))}.loadingHeroSignalLabel{width:48%;height:12px}.loadingHeroSignalValue{width:74%;height:24px;margin-top:0!important}.heroActions{margin-top:14px}.heroLocationBlock{display:grid;gap:0;justify-items:center;margin-top:4px;width:min(100%,34rem)}.heroLocationLine{margin:0;width:100%;padding:clamp(11px,3.2vw,15px) clamp(15px,4.8vw,22px);border:1px solid rgba(123,179,135,.18);border-radius:22px;background:linear-gradient(145deg,#0a130eeb,#122118e6),radial-gradient(circle at top left,rgba(151,226,168,.06),transparent 65%);color:#b3dbbce0;font-size:clamp(1.18rem,4.2vw,1.75rem);font-weight:860;letter-spacing:-.025em;line-height:1.08;text-align:center;box-shadow:inset 0 1px #ffffff08,0 12px 28px #0003;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.heroLocationLine:hover{transform:translateY(-1px);border-color:#97e2a83d;background:linear-gradient(145deg,#0b1610f0,#16271deb),radial-gradient(circle at top left,rgba(151,226,168,.08),transparent 65%);box-shadow:inset 0 1px #ffffff0d,0 16px 30px #00000038;color:#c4eccdeb}.heroLocationLine:active{transform:translateY(0)}.heroHeader{flex-direction:column;align-items:center;justify-content:center;text-align:center;padding-top:4px}.mainButton{width:100%;display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:18px 22px;border:0;border-radius:20px;cursor:pointer;color:#08130d;font-size:1.05rem;font-weight:900;background:linear-gradient(135deg,#dff7e4,#93e5a7);box-shadow:inset 0 1px #ffffffb3,0 16px 36px #83d49833;transition:transform .22s ease,box-shadow .22s ease,opacity .22s ease}.mainButton:hover:not(:disabled){transform:translateY(-1px) scale(1.005);box-shadow:inset 0 1px #ffffffbf,0 20px 40px #83d4983d}.mainButton:disabled{opacity:.78;cursor:default}.buttonLoading{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;width:100%;text-align:center}.buttonRain{width:12px;height:16px;border-radius:60% 60% 72% 72%;background:linear-gradient(180deg,#082114,#18492d);animation:rainDrop 1.15s ease-in-out infinite}.updateText{margin:10px 0 0;font-size:.96rem;text-align:center;line-height:1.5;overflow-wrap:anywhere}.statusPill{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#ffffff0a;font-weight:800;max-width:100%;white-space:nowrap;justify-content:center;font-size:.92rem;text-align:center}.statusDot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 6px #ffffff0a}.status-loading{color:#e6f6ea}.status-success{color:var(--good);animation:statusPulse 2.2s ease-in-out infinite}.status-success .statusDot{box-shadow:0 0 #97e2a86b,0 0 0 6px #ffffff0a}.status-error{color:var(--warn)}.status-neutral{color:#f3f7f1c7}.errorBox{margin-top:16px;padding:15px 16px;border:1px solid rgba(255,210,122,.18);border-radius:20px;background:#ffd27a1a;color:#ffe7ad;font-weight:650}.card,.footerBlock{padding:20px 17px;margin-bottom:16px}.sectionHeader{margin-bottom:16px}.sectionHeader h2,.modalHeader h3{display:inline-flex;align-items:center;gap:10px;margin:0;color:var(--good);font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.15;overflow-wrap:anywhere}.sectionSubtitle{display:block;margin-top:4px;font-weight:700;text-align:right;overflow-wrap:anywhere}.metricGrid,.supportGrid,.reportGrid,.forecastGrid{display:grid;gap:10px;align-items:stretch}.metricGrid{grid-template-columns:repeat(1,minmax(0,1fr))}.metricGrid>.revealItemScroll{height:100%}.supportGrid,.reportGrid,.forecastGrid{grid-template-columns:repeat(1,minmax(0,1fr))}.metricCard,.supportCard,.reportCard{position:relative;min-width:0}.supportCard,.reportCard{padding:16px}.metricCard{height:100%;min-height:154px;overflow:hidden}.metricCardInner{position:relative;display:flex;flex-direction:column;height:100%;padding:15px 15px 14px;border-radius:20px;background:linear-gradient(145deg,#ffffff05,#97e2a804);transition:transform .24s ease,box-shadow .24s ease,background .24s ease,filter .24s ease;transform-origin:center center}.metricSection .sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:13px}.metricSection .sectionHeader>div{display:grid;gap:6px;min-width:0}.metricSection .sectionHeader h2{font-size:clamp(1.55rem,4vw,2.25rem);line-height:1.15}.metricSection .sectionSubtitle{display:inline-flex;align-items:center;margin-top:0;padding:6px 11px;border:1px solid rgba(232,242,235,.08);border-radius:999px;background:#ffffff09;color:var(--text-soft);font-size:.8rem;font-weight:740;text-align:right;justify-self:auto;flex:0 0 auto}.metricSection .sectionEyebrow{margin-bottom:6px;padding:6px 10px;font-size:.68rem;letter-spacing:.1em}.metricCard:after{content:"";position:absolute;inset:-18%;pointer-events:none;background:radial-gradient(circle at 50% 0%,rgba(151,226,168,.18),transparent 58%);opacity:0;transition:opacity .24s ease}.supportCard:hover,.reportCard:hover,.hourCard.isVisible:hover,.forecastCard:hover,.modalMetaCard:hover,.heroSignal:hover,.mapCard:hover,.summaryBand:hover{transform:translateY(-2px) scale(1.012);border-color:#97e2a838;background:linear-gradient(145deg,#ffffff14,#97e2a814);box-shadow:0 20px 42px #00000024}.metricCard:hover{border-color:#97e2a838}.metricCard:hover:after{opacity:1}.metricCard:hover .metricCardInner{transform:translateY(-2px) scale(1.018);background:linear-gradient(145deg,#ffffff17,#97e2a816);box-shadow:inset 0 1px #ffffff0f,0 14px 26px #0e25182e;filter:saturate(1.05) brightness(1.02)}.tone-good{border-color:#97e2a81f}.tone-warn{border-color:#ffd27a29}.tone-bad{border-color:#ff9e8229}.metricTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.metricLabel{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;line-height:1.3;font-weight:780}.metricValue{display:block;margin-top:10px;font-size:clamp(1.56rem,5.2vw,2.48rem);line-height:1;letter-spacing:-.06em}.metricValueInline{margin-top:0}.metricValueSplit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.metricValueSplit span{display:block;margin-bottom:4px;color:var(--text-soft);font-size:.74rem;font-weight:760}.metricTonePill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;border-radius:999px;font-size:.74rem;font-weight:860;white-space:nowrap}.metricTonePill.tone-good{background:#97e2a824;color:var(--good)}.metricTonePill.tone-warn{background:#ffd27a26;color:var(--warn)}.metricTonePill.tone-bad{background:#ff9e8226;color:var(--bad)}.metricValueFrost{margin-top:12px}.metricProgress{position:relative;width:100%;height:6px;margin-top:12px;border-radius:999px;background:#ffffff0f;overflow:hidden}.metricProgressBar{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#97e2a88c,#ffd27ad1)}.metricDetail{margin:auto 0 0;padding-top:9px;font-size:.86rem;line-height:1.45;font-weight:560;overflow-wrap:anywhere}.metricCard-next-rain{border-color:#97e2a82e}.metricCard-next-rain .metricValue{max-width:12ch;line-height:1.04}.metricCard-next-rain .metricDetail{max-width:22ch;line-height:1.42}.metricCard-rain-probability .metricValue{letter-spacing:-.04em}.metricCard-wind .metricDetail,.metricCard-rain-amount .metricDetail{color:#e0e8dbc2}.metricCard-frost .metricDetail{padding-top:8px}.supportCard h3{display:inline-flex;align-items:center;gap:10px;margin:0 0 10px;font-size:1.14rem}.supportCard p,.reportCard p,.reportText{margin:0;line-height:1.68;font-size:.97rem;font-weight:500}.summaryBand{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:118px;padding:16px;border:1px solid rgba(232,242,235,.08);border-radius:24px;background:linear-gradient(145deg,#ffffff0d,#97e2a809);transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.summaryBand strong{display:block;font-size:1.18rem}.summaryBand p{margin:6px 0 0;line-height:1.58;font-weight:520;overflow-wrap:anywhere}.summaryValue{font-size:clamp(2rem,7vw,4rem);font-weight:950;letter-spacing:-.06em;white-space:nowrap}.scrollHint{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 10px;color:var(--text-soft);font-size:.93rem;font-weight:760}.scrollHintCompact{margin-top:14px}.loadingSummaryBand{align-items:stretch}.loadingSummaryCopy{display:grid;align-content:start;gap:10px;flex:1 1 auto}.loadingSummaryTitle{width:42%;height:16px}.loadingSummaryLine{width:92%;height:13px}.loadingSummaryLine.isShort{width:68%}.loadingSummaryValue{width:84px;min-width:84px;height:52px;border-radius:20px;align-self:center}.scrollArrow{display:inline-block;color:var(--good);animation:blinkArrow 1.1s ease-in-out infinite}.hourlyScrollerWrap{position:relative;padding:0 2px}.hourlyScroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:10px;overflow-x:auto;padding:4px 2px 8px;scroll-snap-type:x proximity;scroll-padding-left:2px;scrollbar-width:none;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom}.hourlyScroller.isPointerDragging{cursor:grabbing;-webkit-user-select:none;user-select:none;scroll-behavior:auto;scroll-snap-type:none}.hourlyScroller.isPointerDragging .hourCard{transition:none}.hourlyScroller::-webkit-scrollbar{display:none}.hourCard{opacity:.18;transform:translate(18px) scale(.985);padding:14px;scroll-snap-align:start;min-height:188px;transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1),border-color .22s ease,background .22s ease,box-shadow .22s ease}.hourCard.isVisible{opacity:1;transform:translate(0) scale(1)}.hourCard.isCurrentHour{border-color:#97e2a847;background:linear-gradient(145deg,#97e2a817,#ffffff0d);box-shadow:0 18px 38px #133a2338}.hourCard strong,.hourCard span{display:block}.hourCardTop{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.hourCard strong{margin-bottom:0;font-size:1.02rem}.hourCard span{margin-top:6px;overflow-wrap:anywhere}.hourCard.isLoading{opacity:1;transform:none;display:grid;align-content:start;gap:10px}.hourCard.isLoading .skeletonBlock{margin-top:0}.loadingHourHeading{width:40%;height:16px}.loadingHourLine{width:72%;height:12px}.loadingHourLine.isWide{width:88%}.loadingHourLine.isShort{width:54%}.hourCondition{color:#f3f7f1!important;font-weight:760}.hourNowBadge{display:inline-flex!important;align-items:center;justify-content:center;margin:0;padding:6px 10px;border-radius:999px;background:#97e2a829;color:var(--good)!important;font-size:.74rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.forecastCard{text-align:center;width:100%;min-height:214px;padding:16px;cursor:pointer;min-width:0}.forecastCardHeader{justify-content:center}.forecastCardHeaderContent{display:grid;gap:6px;width:100%;justify-items:center;text-align:center}.forecastCardLoading{cursor:default}.loadingForecastHeader{gap:10px}.loadingForecastTitle{width:68%;height:16px}.loadingForecastCondition{width:82%;height:13px}.dailyForecastHint{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:2px auto 14px;max-width:860px;padding:0;border:0;background:transparent;color:var(--text-soft);text-align:left}.dailyForecastHint p{margin:0;line-height:1.45;font-weight:700;overflow-wrap:anywhere}.dailyForecastHintDot{width:9px;height:9px;flex:none;margin-top:2px;border-radius:50%;background:var(--good);box-shadow:0 0 #97e2a880;animation:hintPulse 1.8s ease-out infinite}.forecastGrid.forecastDayList{grid-template-columns:minmax(0,1fr);gap:12px;max-width:860px;margin:0 auto}.forecastDayCard{position:relative;min-height:auto;padding:16px 18px;text-align:left;border-radius:26px;background:linear-gradient(145deg,#ffffff0b,#97e2a808)}.forecastDayCard:after{content:"›";position:absolute;top:50%;right:16px;transform:translateY(-50%);color:#97e2a8bd;font-size:1.3rem;font-weight:800;pointer-events:none}.forecastDayMain{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-right:20px}.forecastDayLead,.forecastDayCopy,.forecastDayTemps{min-width:0}.forecastDayLead{display:flex;align-items:center;gap:14px;flex:1 1 auto}.forecastDayIcon{flex:none;font-size:2rem;line-height:1}.forecastDayCard .forecastDayDate{display:block;color:var(--good);font-size:.98rem;font-weight:860;letter-spacing:-.01em;text-align:left}.forecastDayCard .forecastDayCondition{margin:4px 0 0;color:var(--text-soft);font-size:.92rem;line-height:1.35;font-weight:620}.forecastDayTemps{flex:0 0 auto;text-align:right}.forecastDayTemps span{display:block;margin:4px 0 0;color:var(--text-soft);font-size:.76rem;font-weight:720}.forecastDayCard .forecastDayTempValue{margin:0;color:#f3f7f1;font-size:1.04rem;font-weight:870;line-height:1.1;text-shadow:none}.forecastDayMeta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;padding-top:12px;padding-right:20px;border-top:1px solid rgba(232,242,235,.08)}.forecastDayMeta span{margin:0;color:var(--text-soft);font-size:.84rem;font-weight:730}.modalPanel.dailyModalPanel{align-self:center;width:min(920px,100%);display:flex;flex-direction:column;overflow:hidden;padding:10px 18px calc(18px + var(--safe-bottom));max-height:min(calc(100vh - 28px),calc(100dvh - 28px));border-radius:34px}.dailyModalTopBar{display:flex;align-items:center;justify-content:flex-start;padding-bottom:10px}.modalClose.dailyModalClose{min-width:auto;min-height:44px;margin:0 auto 0 0;padding:10px 15px}.dailyModalBody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:4px}.dailyModalBody::-webkit-scrollbar{width:6px}.dailyModalBody::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.dailyModalHero{display:flex;align-items:flex-start;gap:16px;padding-bottom:16px}.dailyModalHeroIcon{flex:none;font-size:clamp(2.5rem,7vw,3.6rem);line-height:1}.dailyModalHeroCopy{min-width:0}.dailyModalDate{margin:0 0 6px;color:#97e2a8d6;font-size:.86rem;font-weight:760;letter-spacing:.03em;text-transform:uppercase}.dailyModalHeroCopy h3{margin:0;color:#f3f7f1;font-size:clamp(1.42rem,4vw,2rem);line-height:1.08}.dailyModalHeroCopy .modalDescription{margin-top:8px;line-height:1.5}.dailyModalMetrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;padding:14px 0 16px;border-top:1px solid rgba(232,242,235,.08);border-bottom:1px solid rgba(232,242,235,.08)}.dailyModalMetric{min-width:0;display:grid;gap:4px}.dailyModalMetric span{color:var(--text-soft);font-size:.78rem;line-height:1.3;font-weight:760}.dailyModalMetric strong{color:#f3f7f1;font-size:1.02rem;line-height:1.25;letter-spacing:-.01em}.dailyModalMetric:last-child{grid-column:1 / -1}.dailyModalScrollHint{margin:12px 0 10px;font-size:.85rem}.hourlyScroller.hourlyScrollerCompact{grid-auto-columns:minmax(216px,1fr);gap:10px;padding:2px 0 4px}.hourCard.hourCardCompact{min-height:auto;padding:14px 16px;border-radius:20px;box-shadow:none;background:#ffffff09}.hourCardCompact.isCurrentHour{box-shadow:none}.hourCardCompact .hourCardTop{margin-bottom:10px}.hourCardCompact .hourCardTop strong{font-size:.95rem}.hourCardCompact .hourCondition{margin-top:0;color:#f3f7f1db!important;font-size:.9rem}.hourCardCompactMain{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.hourCompactTemp{margin:0!important;color:#f3f7f1;font-size:1.18rem!important;font-weight:870;line-height:1.05}.hourCardCompactMeta{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(232,242,235,.08)}.hourCardCompactMeta span{margin-top:0!important;color:var(--text-soft);font-size:.82rem;font-weight:680}@media(pointer:fine){.hourlyScroller{cursor:grab}}.forecastCard strong{display:block;color:#97e2a8;font-size:.98rem;font-weight:860;line-height:1.3;text-shadow:0 6px 18px rgba(151,226,168,.12)}.forecastCard p{margin:6px 0 0;font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}.forecastCondition{display:inline-flex;align-items:center;justify-content:center;gap:10px}.forecastConditionEmoji{flex:0 0 auto}.forecastStats,.forecastTemp,.modalMetaGrid{display:grid;gap:10px}.forecastStats{margin-top:12px}.forecastTemp{margin-top:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.forecastTemp+.forecastStats{margin-top:10px}.forecastTemp span,.forecastStats span{padding:10px 11px;border-radius:16px;background:#ffffff0a;font-size:.91rem;font-weight:760;overflow-wrap:anywhere}.loadingForecastStat{width:100%;height:42px;padding:0!important}.loadingMetricCardInner{justify-content:flex-start;gap:10px}.loadingMetricChip{width:44%;height:14px}.loadingMetricValue{width:74%;height:36px;border-radius:18px}.loadingMetricDetail{width:92%;height:12px}.loadingMetricDetail.isShort{width:66%}.riskChip{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;font-size:.83rem;font-weight:900;white-space:nowrap}.risk-low{background:#97e2a81f;color:var(--good)}.risk-medium{background:#ffd27a24;color:var(--warn)}.risk-high{background:#ff9e8224;color:var(--bad)}.reportGrid{margin-top:16px}.reportCard strong{display:block;margin:10px 0 8px;font-size:1.14rem}.footerBlock{padding:17px 17px 18px;margin-bottom:0}.footerStack{display:grid;gap:16px}.locationLine{margin:0;font-weight:800;overflow-wrap:anywhere}.mapCard{padding:16px;display:grid;gap:10px}.mapCardTapZone{cursor:pointer;margin-top:0}.mapInteractionHint{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;color:var(--text-soft);font-size:.88rem;font-weight:760}.mapInteractionDot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 #97e2a880;animation:hintPulse 1.8s ease-out infinite}.mapViewport{position:relative;overflow:hidden;width:100%;min-height:304px;margin-inline:0;border-radius:22px;border:1px solid rgba(232,242,235,.08);background:radial-gradient(circle at 50% 35%,rgba(151,226,168,.08),transparent 52%),#ffffff08;touch-action:none;-webkit-user-select:none;user-select:none}.mapViewportModal{width:100%;min-height:min(72vh,620px)}.mapViewport:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,17,12,.08),transparent 22%,transparent 78%,rgba(6,17,12,.16)),radial-gradient(circle at center,transparent 48%,rgba(6,17,12,.14) 100%)}.mapViewport.isDragging{cursor:grabbing}.mapImageInteractive{position:absolute;top:0;left:0;width:100%;min-width:100%;min-height:100%;height:auto;max-width:none;pointer-events:none;transition:transform .85s cubic-bezier(.22,1,.36,1)}.mapViewport.hasInteracted .mapImageInteractive,.mapViewport.isDragging .mapImageInteractive{will-change:transform;transition-duration:.14s}.mapPin{position:absolute;top:50%;left:50%;width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none}.mapPinPulse,.mapPinDot{position:absolute;inset:0;border-radius:50%}.mapModalPanel{width:min(820px,100%)}.mapPinPulse{background:#97e2a824;animation:mapPulse 2s ease-out infinite}.mapPinDot{inset:8px;background:linear-gradient(180deg,#c6ffd2,#8bdd9f);box-shadow:0 0 0 4px #97e2a829,0 8px 18px #12321e52}.footerInfoStack{display:grid;gap:16px}.dataSourceCard{display:grid;gap:14px}.dataSourceHeader{display:flex;align-items:center;justify-content:flex-start;gap:14px}.dataSourceHeader strong,.locationSummaryHeader strong{display:inline-flex;align-items:center;width:fit-content;padding:7px 11px;border-radius:999px;border:1px solid rgba(151,226,168,.2);background:#97e2a814;color:var(--good);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;line-height:1}.dataSourceText,.dataSourceNote{margin:0;max-width:66ch;overflow-wrap:anywhere}.dataSourceText{color:#f3f7f1;line-height:1.7;font-weight:500}.dataSourceNote{color:var(--text-soft);font-size:.9rem;line-height:1.6}.locationSummaryCard{display:grid;gap:16px}.locationSummaryMap{display:grid;gap:10px}.locationImageCard{overflow:hidden;border-radius:22px;border:1px solid rgba(232,242,235,.08);background:#ffffff08}.locationImageCardPhoto{display:block;width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover}.locationDeferredMediaFallback{display:grid;place-items:center;min-height:220px;padding:24px;border-radius:22px;border:1px dashed rgba(232,242,235,.14);background:radial-gradient(circle at top,rgba(151,226,168,.1),transparent 56%),#ffffff08;color:var(--text-soft);text-align:center;line-height:1.6}.locationSummaryContent{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.locationSummaryCity{display:grid;gap:6px}.locationSummaryCity h3{margin:0;color:#f3f7f1;font-size:clamp(1.25rem,2.8vw,1.7rem);line-height:1.1}.locationSummaryCity p{margin:0;color:var(--text-soft);max-width:58ch;font-size:.97rem;font-weight:500;line-height:1.68}.locationSummaryLink{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:6px 0;border:0;background:transparent;color:#8fc7ff;font-weight:760;text-decoration:none;white-space:nowrap;transition:transform .18s ease,color .18s ease,opacity .18s ease}.locationSummaryLink:hover{transform:translateY(-1px);color:#b4d9ff;opacity:.96}.locationSummaryFeatures{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.locationFeaturePill{display:inline-flex;align-items:center;min-height:40px;padding:9px 12px;border:1px solid rgba(232,242,235,.1);border-radius:999px;background:#ffffff0a;color:#f3f7f1;font-weight:680}.locationPickerPanel{display:grid;gap:14px}.locationPickerHeader{display:grid;gap:12px}.locationPickerHeader strong{display:inline-flex;align-items:center;width:fit-content;padding:7px 11px;border-radius:999px;border:1px solid rgba(151,226,168,.2);background:#97e2a814;color:var(--good);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;line-height:1}.locationPickerHeader p,.locationEmptyState p{margin:10px 0 0;color:var(--text-soft);line-height:1.65}.locationPickerMeta{display:flex;flex-wrap:wrap;gap:8px}.activeLocationPill,.locationResetButton{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border-radius:999px;border:1px solid rgba(232,242,235,.1);background:#ffffff0a;color:#f3f7f1;font-weight:800}.locationResetButton{cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease}.locationResetButton:hover{transform:translateY(-1px);border-color:#97e2a833;background:#ffffff12}.locationSearchShell{display:grid;gap:10px}.locationPickerCoverageText{margin:0;color:var(--text-soft);font-size:.93rem;line-height:1.6}.locationSearchInput{width:100%;min-height:54px;padding:14px 16px;border:1px solid rgba(232,242,235,.12);border-radius:18px;background:#07100ccc;color:#f3f7f1;font-size:1rem;outline:none;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.locationSearchInput::placeholder{color:var(--text-muted)}.locationSearchInput:focus{border-color:#97e2a852;box-shadow:0 0 0 4px #97e2a817;background:#09130eeb}.locationSearchResults{display:grid;gap:8px}.locationSearchItem,.locationEmptyState,.mapStaticInfo{border:1px solid rgba(232,242,235,.08);border-radius:22px;background:linear-gradient(145deg,#ffffff0d,#97e2a809)}.locationSearchItem{width:100%;padding:13px 14px;text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.locationSearchItem:hover,.locationSearchItem.isSelected{transform:translateY(-1px);border-color:#97e2a83d;background:linear-gradient(145deg,#ffffff14,#97e2a814);box-shadow:0 18px 38px #00000024}.locationSearchItem strong,.mapStaticInfo strong,.locationEmptyState strong{display:block;margin:0;color:#f3f7f1;font-size:.97rem}.locationSearchItem span{display:block;margin-top:8px;color:var(--text-soft);font-weight:700}.locationEmptyState,.mapStaticInfo{padding:16px}.footerInfoCard,.footerAlertCard{margin-top:0;padding:15px 16px;border:1px solid rgba(232,242,235,.08);border-radius:22px;background:linear-gradient(145deg,#ffffff0b,#97e2a808)}.footerInfoCard strong,.footerAlertCard strong{display:block;margin-bottom:8px;font-size:1rem}.footerInfoCard p,.footerAlertCard p{margin:0;color:var(--text-soft);line-height:1.65;overflow-wrap:anywhere}.footerAlertCard{border-color:#ffd27a29;background:linear-gradient(145deg,#ffd27a17,#ffffff09)}.mapCardHeader{display:grid;justify-items:start;gap:10px;margin-bottom:0}.mapCardHeader strong{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;border:1px solid rgba(151,226,168,.2);background:#97e2a814;color:var(--text-main);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;line-height:1}.mapCardHeader span{color:var(--text-soft);max-width:36ch;line-height:1.55;font-size:.95rem;overflow-wrap:anywhere}.mapCardStatic{gap:14px}.mapStaticInfo p{margin:8px 0 0;color:var(--text-soft);font-size:.97rem;font-weight:600;line-height:1.62}.mapAttributionNote{margin:10px 4px 0;color:var(--text-muted);max-width:34ch;font-size:.74rem;line-height:1.55}.mapImage{display:block;width:100%;border-radius:18px}.footerNote{margin:auto 0 0;max-width:40rem;padding-top:28px;align-self:center;text-align:center;color:var(--text-soft);font-size:.94rem;line-height:1.68;letter-spacing:.01em}.pageNav{position:sticky;top:max(10px,var(--safe-top));z-index:30;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:0 0 20px;padding:14px 16px;border:1px solid var(--border);border-radius:24px;background:var(--panel);box-shadow:0 16px 40px #0a120d29;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);transition:opacity .18s cubic-bezier(.22,1,.36,1),transform .22s cubic-bezier(.22,1,.36,1),border-color .18s ease,background .18s ease}.pageNav.isHidden{opacity:0;transform:translateY(-20px);pointer-events:none}.pageNav.isMenuOpen{opacity:1;transform:translateY(0);pointer-events:auto}.pageNav.isCompact{background:#121d16b3;border-color:#dde3d21f;box-shadow:0 12px 28px #0a120d1f}.pageNavBrand{display:flex;align-items:center;gap:12px;min-width:0}.pageNavBrandButton{align-items:center;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.pageNavBrandMark{position:relative;display:inline-flex;flex:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid rgba(232,242,235,.08);border-radius:16px;background:radial-gradient(circle at 30% 25%,rgba(151,226,168,.2),transparent 62%),linear-gradient(145deg,#ffffff0d,#97e2a809);box-shadow:inset 0 1px #ffffff0f,0 10px 24px #06140d2e;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.pageNavBrandMark:after{content:"";position:absolute;inset:-20%;background:radial-gradient(circle,rgba(151,226,168,.18),transparent 58%);opacity:.65;pointer-events:none}.pageNavBrandLogo{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:cover}.pageNavBrandCopy{display:grid;gap:4px;min-width:0}.pageNavBrandButton:hover .pageNavEyebrow,.pageNavBrandButton:focus-visible .pageNavEyebrow{color:#b2f2be}.pageNavBrandButton:hover .pageNavBrandMark,.pageNavBrandButton:focus-visible .pageNavBrandMark{border-color:#97e2a82e;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 12px 28px #06140d38}.pageNavBrandButton:focus-visible{outline:2px solid rgba(151,226,168,.42);outline-offset:6px;border-radius:14px}.pageNavBrand strong{font-size:1.02rem;letter-spacing:.01em;line-height:1.2;overflow-wrap:anywhere}.pageNavEyebrow{color:var(--good);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.pageNavLinks{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.pageNavToggle{display:none;position:relative;z-index:2;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto;padding:0;border:1px solid rgba(223,228,214,.12);border-radius:16px;background:#f4f6ee08;color:#f3f7f1eb;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.pageNavToggle span{position:absolute;left:50%;display:block;width:18px;height:2.5px;border-radius:999px;background:currentColor;transition:transform .22s cubic-bezier(.22,1,.36,1),opacity .16s ease;transform-origin:center}.pageNavToggle span:nth-child(1){transform:translate(-50%,-6px)}.pageNavToggle span:nth-child(2){transform:translate(-50%)}.pageNavToggle span:nth-child(3){transform:translate(-50%,6px)}.pageNavToggle:hover{border-color:#c2d0b633;background:#c6d6b814}.pageNavToggle.isActive span:nth-child(1){transform:translate(-50%) rotate(45deg)}.pageNavToggle.isActive span:nth-child(2){opacity:0}.pageNavToggle.isActive span:nth-child(3){transform:translate(-50%) rotate(-45deg)}.pageNavLink{min-height:42px;padding:9px 15px;border:1px solid rgba(232,242,235,.12);border-radius:999px;background:#ffffff0a;color:#f3f7f1;cursor:pointer;font-size:.9rem;font-weight:720;letter-spacing:.01em;transition:transform .18s ease,border-color .18s ease,background .18s ease}.pageNavLink:hover{transform:translateY(-1px);border-color:#c2d0b633;background:#c6d6b814}.pageNavLink.isActive{border-color:#c2d0b63d;background:#c6d6b81f;box-shadow:inset 0 1px #ffffff0f,0 0 0 1px #c2d0b60f;color:#dbe7cff2}.menuOverlay{display:none}.standalonePanel{margin-top:0}.standalonePage{display:grid;gap:16px;margin-top:0}.standaloneLoadingText{margin:0;color:var(--text-soft);font-size:1rem;font-weight:650}.aboutCard{display:grid;gap:18px}.aboutHeader{margin-bottom:2px}.aboutIntro{display:grid;gap:12px;max-width:42rem}.aboutIntro h2{margin:0;color:#f3f7f1;font-size:clamp(1.45rem,2.8vw,1.9rem);font-weight:780;letter-spacing:-.02em}.aboutIntro p{margin:0;max-width:34rem;color:#f3f7f1e6;font-size:clamp(1rem,2.1vw,1.16rem);font-weight:630;line-height:1.6}.privacyCard{gap:20px}.aboutBody{display:grid;gap:12px;max-width:68ch}.privacyHeader{margin-bottom:2px}.privacyIntro{display:grid;gap:12px;max-width:42rem}.privacyIntro h2,.contactIntro h2{margin:0;color:#f3f7f1;font-size:clamp(1.45rem,2.8vw,1.9rem);font-weight:780;letter-spacing:-.02em}.privacyIntro p{margin:0;max-width:34rem;color:#f3f7f1e6;font-size:clamp(1rem,2.1vw,1.16rem);font-weight:630;line-height:1.6}.policySection{display:grid;gap:12px;max-width:72ch;padding:16px 18px;border:1px solid rgba(232,242,235,.08);border-radius:24px;background:linear-gradient(180deg,#ffffff09,#ffffff04)}.aboutBody p{margin:0;color:var(--text-soft);max-width:66ch;font-size:.98rem;font-weight:500;line-height:1.76;text-wrap:pretty}.aboutSocials{display:flex;flex-wrap:wrap;gap:12px;padding-top:4px}.aboutSocialLink{display:inline-flex;align-items:center;gap:12px;min-height:54px;padding:10px 14px;border:1px solid rgba(232,242,235,.1);border-radius:18px;background:#ffffff0a;color:#f3f7f1;font-weight:760;letter-spacing:.01em;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.aboutSocialLink:hover{transform:translateY(-1px);border-color:#97e2a838;background:#97e2a814}.aboutSocialLink img{width:24px;height:24px;flex:0 0 auto}.policySection p{margin:0;color:var(--text-soft);font-size:.97rem;font-weight:500;line-height:1.74;text-wrap:pretty}.policyHeading{color:#f3f7f1!important;font-size:1rem;font-weight:780;letter-spacing:.01em}.policyList{display:grid;gap:10px;margin:0;padding-left:24px;color:var(--text-soft);max-width:66ch;font-size:.97rem;font-weight:500;line-height:1.72}.policyList li::marker{color:var(--good)}.policyParagraph{max-width:66ch}.contactCard{gap:28px}.contactHeader{margin-bottom:2px}.contactIntro{display:grid;gap:14px;max-width:36rem}.contactIntro p{margin:0;color:var(--text-soft);max-width:36rem;font-size:.98rem;font-weight:500;line-height:1.72}.contactForm{display:grid;gap:20px}.contactField{display:grid;gap:12px}.contactLabel{color:#f3f7f1;font-size:.96rem;font-weight:760;letter-spacing:.01em}.contactInput{width:100%;min-height:58px;padding:17px 18px;border:1px solid rgba(232,242,235,.12);border-radius:20px;background:#07100ccc;color:#f3f7f1;font:inherit;line-height:1.6;outline:none;transition:border-color .22s ease,box-shadow .22s ease,background .22s ease}.contactInput::placeholder{color:var(--text-muted)}.contactInput:focus{border-color:#97e2a852;box-shadow:0 0 0 4px #97e2a817;background:#09130eeb}.contactTextarea{min-height:210px;resize:vertical}.contactActions{display:grid;gap:14px;padding-top:6px;justify-items:start}.contactPageMail{margin:18px 0 0;text-align:center;color:var(--text-soft);font-size:.98rem;font-weight:760;letter-spacing:.01em}.contactSubmitButton{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 18px;border:1px solid rgba(196,214,202,.2);border-radius:20px;background:#e8f2eb14;color:#f3f7f1;cursor:pointer;font-size:.95rem;font-weight:720;letter-spacing:.01em;transition:transform .18s ease,border-color .18s ease,background .18s ease}.contactSubmitButton:hover{transform:translateY(-1px);border-color:#c4d6ca42;background:#e8f2eb1f}.modalRoot{position:fixed;inset:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;min-height:100vh;min-height:100dvh;padding:calc(var(--safe-top) + 10px) 10px calc(18px + var(--safe-bottom));overflow:hidden}.modalBackdrop{position:fixed;inset:0;border:0;background:#030806f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:opacity .22s ease}.modalPanel{width:min(820px,100%);margin:0;padding:20px 18px calc(18px + var(--safe-bottom));max-height:min(calc(100vh - 22px),calc(100dvh - 22px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;box-shadow:0 42px 100px #00000075,0 12px 28px #00000052;background:radial-gradient(circle at top right,rgba(151,226,168,.12),transparent 16rem),linear-gradient(145deg,#101c16fa,#0a120ef5);animation:modalDrop .36s ease-out both;transition:transform .26s cubic-bezier(.22,1,.36,1)}.modalPanel.isSwipeDragging{will-change:transform;transition:none}.modalPanel.isSwipeClosing{will-change:transform;transition:transform .24s cubic-bezier(.22,1,.36,1)}.modalPanel::-webkit-scrollbar{width:8px}.modalPanel::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.modalClose{display:flex;align-items:center;justify-content:center;margin:0 auto 18px;min-width:140px;padding:11px 16px;border:1px solid rgba(232,242,235,.1);border-radius:999px;background:#ffffff0d;color:#f3f7f1;transition:transform .22s ease,border-color .22s ease,background .22s ease}.modalClose:hover{transform:translateY(-1px);border-color:#97e2a833;background:#ffffff14}.modalHeader{margin-bottom:16px}.modalDescription{margin:8px 0 0}.modalMetaGrid{grid-template-columns:repeat(1,minmax(0,1fr));margin-bottom:2px}.modalMetaCard{padding:15px;min-width:0}.modalMetaCard strong{display:block;margin-top:10px;font-size:1.22rem;letter-spacing:-.03em}.icon{width:18px;height:18px;flex:none}.revealSection{opacity:0;transform:translateY(20px);transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1)}.revealSection.isVisible{opacity:1;transform:translateY(0)}.revealItemScroll{opacity:0;transform:translateY(18px);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .68s cubic-bezier(.22,1,.36,1);transition-delay:var(--stagger-delay, 0ms)}.revealItemScroll.isVisible{opacity:1;transform:translateY(0)}.revealItemScroll>*{height:100%}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes rainDrop{0%{opacity:0;transform:translateY(-8px) scale(.92)}25%{opacity:1}to{opacity:0;transform:translateY(16px) scale(1.02)}}@keyframes blinkArrow{0%,to{opacity:.28;transform:translate(0)}50%{opacity:1;transform:translate(6px)}}@keyframes hintPulse{0%{box-shadow:0 0 #97e2a88c;transform:scale(.95)}70%{box-shadow:0 0 0 12px #97e2a800;transform:scale(1)}to{box-shadow:0 0 #97e2a800;transform:scale(.95)}}@keyframes mapPulse{0%{transform:scale(.82);opacity:.9}70%{transform:scale(1.3);opacity:0}to{transform:scale(1.3);opacity:0}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes nudgeX{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes modalDrop{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes statusPulse{0%,to{transform:scale(1);box-shadow:0 0 #97e2a800}50%{transform:scale(1.02);box-shadow:0 0 0 10px #97e2a814}}@keyframes skeletonSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(min-width:640px){.app{padding:calc(var(--safe-top) + 8px) 20px 46px}.pageNav{padding:16px 18px;border-radius:28px}.hero,.card,.footerBlock,.modalPanel{border-radius:32px}.hero{padding:24px 24px 26px}.metricGrid,.supportGrid,.reportGrid,.modalMetaGrid,.forecastGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.forecastGrid.forecastDayList{grid-template-columns:minmax(0,1fr)}}@media(min-width:880px){.app{padding:calc(var(--safe-top) + 8px) 24px 52px}.hero{padding:26px 28px 28px}.card,.footerBlock{padding:24px}.metricGrid,.reportGrid,.supportGrid,.forecastGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.forecastGrid.forecastDayList{max-width:900px}.locationPickerHeader{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:start}.locationPickerMeta{justify-content:flex-end}}@media(min-width:1120px){.forecastGrid{grid-template-columns:repeat(12,minmax(0,1fr))}.forecastGrid>.revealItemScroll{grid-column:span 3}.forecastGrid>.revealItemScroll:nth-child(5){grid-column:2 / span 3}.forecastGrid>.revealItemScroll:nth-child(6){grid-column:5 / span 3}.forecastGrid>.revealItemScroll:nth-child(7){grid-column:8 / span 3}.forecastGrid.forecastDayList{grid-template-columns:minmax(0,1fr)}.forecastGrid.forecastDayList>.revealItemScroll,.forecastGrid.forecastDayList>.revealItemScroll:nth-child(5),.forecastGrid.forecastDayList>.revealItemScroll:nth-child(6),.forecastGrid.forecastDayList>.revealItemScroll:nth-child(7){grid-column:auto}}@media(max-width:820px){.heroHeader,.sectionHeader,.forecastCardHeader,.modalHeader{flex-direction:column}.sectionSubtitle{text-align:left}.heroSignalGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.summaryBand{flex-direction:column;align-items:flex-start}.summaryValue{font-size:clamp(2rem,11vw,3.2rem)}}@media(max-width:560px){body:after{opacity:.11;background-size:560px 560px;background-position:center 32px}.app{padding-inline:14px;padding-bottom:calc(34px + var(--safe-bottom))}.pageNav{top:max(8px,var(--safe-top));position:sticky;align-items:center;justify-content:space-between;gap:10px 12px;margin-bottom:16px;padding:12px 12px 10px;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#141f17d6,#111b15cc);border-color:#dfe4d61a;box-shadow:0 14px 30px #090f0b2e;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.pageNavBrand{flex:1 1 auto;align-self:center;gap:10px;padding-right:8px}.pageNavBrandMark{width:42px;height:42px;border-radius:14px}.pageNavBrandCopy{gap:2px}.pageNavBrand strong{font-size:.98rem;line-height:1.15}.pageNavEyebrow{font-size:.68rem;letter-spacing:.14em}.pageNavToggle{display:inline-flex;flex:0 0 auto;align-self:center;width:44px;height:44px;border-radius:14px}.pageNavLinks{order:3;display:grid;grid-template-columns:1fr;flex-basis:100%;gap:10px;width:100%;max-height:0;padding:0;margin-top:0;border-top:0 solid rgba(223,228,214,.08);border-radius:0;background:linear-gradient(180deg,#1c281f00,#1c281f00);box-shadow:none;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);opacity:0;visibility:hidden;pointer-events:none;filter:blur(8px);transform:translateY(-12px);transition:max-height .22s cubic-bezier(.22,1,.36,1),padding .22s cubic-bezier(.22,1,.36,1),margin-top .22s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1),filter .2s ease,visibility .18s ease,border-top-width .18s ease}.pageNav.isMenuOpen .pageNavLinks{max-height:420px;margin-top:8px;padding:14px 0 4px;border-top-width:1px;opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);filter:blur(0)}.pageNavLink{width:100%;min-height:52px;justify-content:flex-start;padding:14px 4px;border:0;border-radius:0;background:transparent;color:#f5f7eff0;font-size:1rem;font-weight:760;letter-spacing:.01em;border-bottom:1px solid rgba(223,228,214,.07);transition:color .18s ease,transform .18s ease,border-color .18s ease,background .18s ease}.pageNavLink:last-child{border-bottom:0}.pageNavLink:hover,.pageNavLink:active{transform:translate(2px);border-color:#c2d0b624;background:transparent}.pageNavLink.isActive{color:#e2ead6fa;border-color:#c2d0b629;box-shadow:none;background:linear-gradient(90deg,rgba(188,204,173,.12),rgba(188,204,173,.03) 58%,transparent 78%)}.hero,.footerBlock{position:relative;z-index:1}.card,.footerBlock{padding:18px 16px 17px}.standalonePage{position:relative;z-index:1}.standalonePanel{margin-top:0}.contactPageMail,.footerNote{position:relative;z-index:1}.pageNav.isHidden{transform:translateY(-14px)}.pageNav.isMenuOpen{z-index:45;border-color:#c2d0b624;box-shadow:0 18px 38px #090f0b38}.pageNav.isCompact{background:linear-gradient(180deg,#141f17d1,#111b15c7)}.hero{margin-top:0;padding:22px 17px 19px}.heroKicker{font-size:clamp(1.82rem,10vw,2.5rem)}.heroBrandMark{width:clamp(40px,13vw,52px);height:clamp(40px,13vw,52px);margin-right:10px;transform:translate(-4px,-50%)}.heroIntro{font-size:.92rem}.heroLocationLine{padding:10px 14px;border-radius:20px}.heroDescription{font-size:clamp(.98rem,3.7vw,1.14rem);line-height:1.58}.heroTime{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.9rem;color:#e0e8dbcc}.heroFreshnessNote{display:inline-flex;align-items:center;gap:8px;padding:5px 10px;border-radius:999px;font-size:.72rem;font-weight:780;letter-spacing:.03em;white-space:nowrap;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#f3f7f1c7}.heroDecision{margin-top:10px}.heroFreshnessNote.status-loading{color:#e6f6ea}.heroFreshnessNote.status-success{color:var(--good);animation:statusPulse 2.2s ease-in-out infinite}.heroFreshnessNote.status-success .heroFreshnessDot{box-shadow:0 0 #97e2a86b,0 0 0 5px #ffffff0a}.heroFreshnessNote.status-error{color:var(--warn)}.heroFreshnessNote.status-neutral{color:#f3f7f1c7}.heroMetaRow .statusPill{display:none}.footerStack,.standalonePage{display:grid;gap:16px}.footerBlock{scroll-margin-top:110px}.hero,.standalonePanel{scroll-margin-top:96px}.menuOverlay{position:fixed;inset:0;z-index:40;display:block;padding:0;border:0;background:#080d0a33;opacity:0;pointer-events:none;transition:opacity .18s ease}.menuOverlay.isVisible{opacity:1;pointer-events:auto}.heroSignalGrid{grid-template-columns:repeat(1,minmax(0,1fr));gap:8px;margin-top:16px}.heroSignal{padding:11px 12px}.heroSignal strong{font-size:1.08rem}.sectionHeader{margin-bottom:14px;gap:10px}.sectionHeader h2,.modalHeader h3{font-size:clamp(1.34rem,6vw,1.78rem)}.metricSection .sectionHeader{margin-bottom:12px}.metricSection .sectionHeader h2{font-size:clamp(1.34rem,6vw,1.78rem)}.metricSection .sectionSubtitle{margin-top:6px;padding:5px 10px;font-size:.76rem}.metricSection .sectionEyebrow{margin-bottom:5px;padding:5px 9px;font-size:.62rem}.sectionSubtitle{margin-top:2px;font-size:.9rem}.metricGrid,.supportGrid,.reportGrid,.forecastGrid{gap:10px}.summaryBand{gap:12px;padding:15px}.summaryValue{font-size:clamp(1.85rem,10vw,2.8rem)}.metricCard{min-height:138px}.metricCardInner{padding:13px 13px 12px}.metricLabel{font-size:.84rem}.metricValue{margin-top:8px;font-size:clamp(1.36rem,6vw,2rem)}.metricValueSplit{gap:10px}.metricValueSplit span,.metricTonePill{font-size:.68rem}.metricDetail{padding-top:8px;font-size:.81rem;line-height:1.4}.hourlyScroller{grid-auto-columns:minmax(160px,1fr);gap:9px}.hourCard{padding:13px}.forecastStats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.forecastStats span:last-child{grid-column:1 / -1}.dailyForecastHint{margin:0 0 12px;gap:9px}.dailyForecastHint p{font-size:.9rem}.forecastDayCard{padding:14px 15px;border-radius:22px}.forecastDayCard:after{right:14px}.forecastDayMain{align-items:flex-start;gap:12px;padding-right:18px}.forecastDayLead{gap:12px}.forecastDayIcon{font-size:1.78rem}.forecastDayCard .forecastDayDate{font-size:.92rem}.forecastDayCard .forecastDayCondition{font-size:.86rem}.forecastDayCard .forecastDayTempValue{font-size:.96rem}.forecastDayTemps span,.forecastDayMeta span{font-size:.79rem}.forecastDayMeta{gap:8px 14px;margin-top:10px;padding-top:10px;padding-right:18px}.footerNote{max-width:22rem;padding-top:20px;font-size:.9rem;line-height:1.6;letter-spacing:0}.modalRoot{align-items:flex-end;padding:max(8px,calc(var(--safe-top) + 6px)) 8px calc(8px + var(--safe-bottom))}.modalPanel{width:100%;margin-top:auto;padding:16px 15px calc(16px + var(--safe-bottom));max-height:min(85dvh,calc(100dvh - var(--safe-top) - 8px));border-radius:28px 28px 22px 22px}.modalClose{position:sticky;top:0;z-index:2;margin:0 0 14px auto;min-width:auto;padding:10px 14px;border-radius:14px;background:#0b130feb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.modalPanel.dailyModalPanel{align-self:flex-end;width:100%;padding:8px 12px calc(12px + var(--safe-bottom));max-height:min(84dvh,calc(100dvh - var(--safe-top) - 8px));border-radius:26px 26px 20px 20px}.modalClose.dailyModalClose{position:static;margin:0 auto 0 0;padding:9px 13px;border-radius:13px}.modalHeader{margin-bottom:14px}.modalMetaGrid{gap:8px}.modalMetaCard{padding:13px}.modalMetaCard strong{margin-top:8px;font-size:1.08rem}.dailyModalTopBar{padding-bottom:8px}.dailyModalHero{gap:12px;padding-bottom:14px}.dailyModalHeroIcon{font-size:2.35rem}.dailyModalDate{font-size:.79rem}.dailyModalHeroCopy h3{font-size:1.42rem}.dailyModalMetrics{gap:10px 14px;padding:12px 0 14px}.dailyModalMetric span{font-size:.73rem}.dailyModalMetric strong{font-size:.92rem}.dailyModalScrollHint{margin:8px 0 6px;font-size:.79rem}.hourlyScroller.hourlyScrollerCompact{grid-auto-columns:minmax(184px,1fr);gap:7px}.hourCard.hourCardCompact{padding:12px 13px;border-radius:18px}.hourCardCompact .hourCondition{font-size:.84rem}.hourCompactTemp{font-size:1.04rem!important}.hourCardCompactMeta{gap:7px 12px}.hourCardCompactMeta span{font-size:.78rem}.locationPickerPanel{gap:12px}.locationPickerHeader{gap:10px}.activeLocationPill{min-height:38px;padding:8px 12px;font-size:.9rem}.locationSearchInput{min-height:52px;padding:13px 15px}.locationSearchItem{padding:12px 13px}.locationEmptyState,.mapStaticInfo{padding:15px}.mapViewport{width:100%;min-height:282px}.mapViewportModal{width:100%;min-height:min(52dvh,460px)}.mapAttributionNote{margin-top:8px;font-size:.76rem}.mapImageInteractive{width:auto}}@media(min-width:390px)and (max-width:560px){.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px)and (pointer:coarse)and (hover:none){@supports not (-webkit-touch-callout: none){.pageNav{box-shadow:0 10px 24px #090f0b24;backdrop-filter:none;-webkit-backdrop-filter:none;background:#121c16f0;contain:paint}.pageNav.isMenuOpen{box-shadow:0 14px 28px #090f0b29}.pageNavLinks{filter:none;transition:max-height .22s cubic-bezier(.22,1,.36,1),padding .22s cubic-bezier(.22,1,.36,1),margin-top .22s cubic-bezier(.22,1,.36,1),opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1),visibility .18s ease,border-top-width .18s ease}.hero,.card,.footerBlock,.modalPanel{box-shadow:0 14px 30px #0000002e}.mainButton{box-shadow:inset 0 1px #ffffffad,0 12px 24px #83d49829}.summaryBand,.hourCard.isCurrentHour,.locationSearchItem:hover,.locationSearchItem.isSelected{box-shadow:0 12px 24px #0000001f}.modalBackdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:#030806e6}.modalClose{backdrop-filter:none;-webkit-backdrop-filter:none}.hourlyScroller,.locationSearchResults,.mapViewport{contain:layout paint}.hourCard,.forecastCard,.locationSearchItem{contain:paint}.mapImageInteractive{transition-duration:.62s}.mapInteractionDot,.dailyForecastHintDot,.status-success,.heroFreshnessNote.status-success{animation:none}.status-success .statusDot,.heroFreshnessNote.status-success .heroFreshnessDot,.mapInteractionDot,.dailyForecastHintDot{box-shadow:none}body:after{background-position:center 24px}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.revealSection,.hourCard,.revealItemScroll{opacity:1!important;transform:none!important}}
