*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!visible{visibility:visible!important}.visible{visibility:visible}.block{display:block}.inline{display:inline}.hidden{display:none}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--ink: #1c1c1e;--slate: #2c2c2e;--muted: #8e8e93;--secondary: #636366;--blue: #007aff;--blue2: #0a84ff;--cyan: #38bdf8;--emerald: #30a46c;--cashmere: #faf9f6;--porcelain: #f4f3ee;--pearl: #eae8df;--glass: rgba(255,255,255,.76);--glass-soft: rgba(255,255,255,.68);--border: rgba(0,0,0,.045);--border-subtle: rgba(0,0,0,.03)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;color:var(--ink);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","tnum";letter-spacing:-.011em;background-color:var(--cashmere);background-image:radial-gradient(at 10% 0%,rgba(225,237,255,.45) 0,transparent 50%),radial-gradient(at 90% 15%,rgba(254,245,230,.4) 0,transparent 50%),radial-gradient(at 50% 50%,rgba(245,243,238,.6) 0,transparent 80%),linear-gradient(180deg,#fcfbf8,#faf9f6 40%,#f5f3ed);background-attachment:fixed}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.985)}a{color:inherit}.shell{position:relative;max-width:430px;margin:0 auto;padding:14px 16px 34px}.glass{background:var(--glass);border:1px solid var(--border);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:0 10px 30px -4px #1c1c1e09,0 1px 2px #1c1c1e05;border-radius:32px}.loading,.landing{margin-top:30px;padding:24px}.locationHelp{padding-top:28px}.permissionCard{padding:28px 22px 24px;text-align:center}.permissionPin{width:70px;height:70px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:#ff3b4817;color:#ef4352;font-size:38px;font-weight:700}.permissionCard h1{margin:0;font-size:28px;letter-spacing:-.7px}.permissionIntro{max-width:330px;margin:9px auto 18px;color:var(--secondary);font-size:13px;line-height:1.55}.permissionNotice{margin:0 0 22px;padding:13px 14px;border-radius:15px;background:#ff3b4812;color:#71343a;font-size:12px}.permissionCard h2{margin:0 0 12px;text-align:left;font-size:16px;letter-spacing:-.25px}.permissionSteps{margin:0 0 22px;padding:0;list-style:none;counter-reset:permission-step;text-align:left}.permissionSteps li{counter-increment:permission-step;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:11px 0;border-bottom:1px solid rgba(0,0,0,.04);color:var(--secondary);font-size:12px;line-height:1.5}.permissionSteps li:last-child{border-bottom:0}.permissionSteps li:before{content:counter(permission-step);width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#007aff1a;color:var(--blue);font-weight:700}.permissionSteps b{color:var(--ink);font-weight:650}.permissionRetry{width:100%;min-height:50px;font-size:14px}.spinner{width:28px;height:28px;border-radius:50%;border:2px solid rgba(0,0,0,.06);border-top-color:var(--blue);animation:spin .8s linear infinite;margin-bottom:12px}@keyframes spin{to{transform:rotate(360deg)}}.brandrow{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.orb{font-size:54px;filter:drop-shadow(0 10px 18px rgba(0,122,255,.1))}.landing h1{margin:0;font-size:28px;font-weight:500;letter-spacing:-.8px}.landing p{color:var(--muted);margin:8px 0 18px;font-size:13px}.landingActions{display:flex;gap:8px;flex-wrap:wrap}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:4px 2px 10px}.brandline{display:flex;align-items:center;gap:8px}.brandline h1{margin:0;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#2c2c2e}.badge{display:inline-flex;align-items:center;min-height:20px;padding:2px 7px;border:1px solid rgba(0,0,0,.04);background:#00000006;color:var(--secondary);border-radius:999px;font:500 9px JetBrains Mono,ui-monospace,monospace}.loc{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.loc b{color:var(--ink);font-size:14px;font-weight:600}.loc code{font:400 10px JetBrains Mono,ui-monospace,monospace;color:#a1a1a6}.dot,.liveDot{width:6px;height:6px;border-radius:50%;background:#34c759;display:inline-block}.liveDot{margin-right:3px;box-shadow:0 0 0 4px #34c75914}.iconbtn{height:36px;min-width:48px;padding:0 12px;border:1px solid var(--border);border-radius:999px;background:#ffffffb8;color:var(--secondary);box-shadow:0 8px 30px #00000006;transition:background .2s ease,transform .16s ease}.iconbtn:hover{background:#fffffff0}.locationTools{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:2px 0 10px}.locationTools .secondary{white-space:nowrap;padding:10px 12px}.hero{margin-top:6px;padding:28px;display:grid;grid-template-columns:1fr auto;gap:16px;overflow:hidden}.temp{font-size:78px;line-height:.94;font-weight:200;letter-spacing:-5px;color:var(--ink)}.temp span{font-size:38px;font-weight:300;color:#6e6e73;margin-left:2px}.hero h2{margin:10px 0 0;font-size:22px;font-weight:400;letter-spacing:-.5px}.hero p{margin:7px 0 0;color:var(--secondary);font-size:11px}.hero p b{color:var(--ink);font-weight:500}.weathericon{font-size:64px;padding:8px 1px 0 0;filter:drop-shadow(0 10px 18px rgba(0,0,0,.07));animation:floaty 6s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-5px)}}.status{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:18px;background:#fffc;border:1px solid var(--border);box-shadow:0 8px 30px #00000006}.statusIcon{display:flex;align-items:center;justify-content:center;flex:0 0 30px;height:30px;border-radius:50%;background:#1c1c1e;color:#fff;font-size:13px;box-shadow:0 5px 14px #0000001a}.status b{display:block;font-size:12px;font-weight:600}.status small{display:block;margin-top:3px;font-size:10px;line-height:1.45;color:var(--muted)}.metrics{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.weatherFeedback{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:2px;color:var(--secondary);font-size:10px}.weatherFeedback>span{font-weight:600;margin-right:auto}.feedbackMain{display:flex;gap:6px}.feedbackMain button,.feedbackReasons button{border:1px solid var(--border);background:#ffffffb8;border-radius:999px;color:var(--ink);cursor:pointer}.feedbackMain button{width:34px;height:30px;padding:0;font-size:15px}.feedbackReasons{width:100%;display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding-top:4px}.feedbackReasons.hidden{display:none}.feedbackReasons small{width:100%;color:var(--muted);font-size:9px}.feedbackReasons button{padding:6px 9px;font-size:9px}.weatherFeedback.busy{opacity:.6;pointer-events:none}.feedbackThanks{color:#278553;font-weight:600}.feedbackError{width:100%;color:#b4232b;font-size:9px}.metric{min-height:96px;padding:14px;border-radius:18px;background:var(--glass-soft);border:1px solid var(--border);box-shadow:0 6px 20px -2px #1c1c1e06}.metric span,.metric small{display:block;color:var(--muted);font-size:10px}.metric b{display:block;margin:10px 0 5px;font:500 20px JetBrains Mono,ui-monospace,monospace;letter-spacing:-.9px;color:var(--ink)}.section{margin-top:14px;padding:21px}.section h3{margin:0;font-size:15px;font-weight:600;letter-spacing:-.35px}.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.sectionChip{border-radius:999px;border:1px solid var(--border);background:#00000006;color:var(--secondary);padding:4px 8px;font-size:9px;font-weight:600}.sub{margin:5px 0 12px;color:var(--muted);font-size:10px;line-height:1.45}.learningLab{max-width:900px}.learnBack{text-decoration:none;display:inline-flex;align-items:center}.learnSummary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.learnSummary>div{padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--glass-soft)}.learnSummary span{display:block;color:var(--muted);font-size:10px}.learnSummary b{display:block;margin-top:5px;font:500 22px JetBrains Mono,ui-monospace,monospace}.learnBenchmark{padding:12px 0;border-top:1px solid rgba(0,0,0,.05)}.learnBenchmark:first-of-type{border-top:0}.learnBenchmarkHead{display:flex;align-items:center;justify-content:space-between;gap:10px}.learnBenchmarkHead small{display:block;color:var(--muted);margin-top:2px}.learnDelta{border-radius:999px;padding:4px 8px;font-size:9px;font-weight:600;background:#00000008}.learnDelta.good{color:#1f7a4d;background:#34c75914}.learnDelta.bad{color:#a23030;background:#ff3b3012}.learnModels{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}.learnModel{padding:9px;border:1px solid var(--border);border-radius:13px;background:var(--glass-soft)}.learnModel.winner{border-color:#007aff38;background:#007aff0b}.learnModel b,.learnModel span,.learnModel small{display:block}.learnModel b{font-size:11px}.learnModel span{margin-top:4px;font:500 10px JetBrains Mono,ui-monospace,monospace}.learnModel small{margin-top:4px;color:var(--muted);font-size:9px}.warn{padding:8px 10px;border-radius:12px;background:#fff9f0;color:#8a5526;font-size:10px}.scroller{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:2px}.scroller::-webkit-scrollbar{display:none}.pills button{flex:0 0 auto;border:1px solid var(--border);background:#ffffffad;color:var(--secondary);border-radius:12px;padding:7px 11px;font-size:10px;font-weight:600;transition:all .16s ease}.pills button.selected{border-color:#1c1c1e;background:#1c1c1e;color:#fff;box-shadow:0 6px 16px #00000014}.rainBars{height:76px;margin:12px 0 2px;padding:7px 5px 5px;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;border-radius:14px;background:#f4f3eeb8;border:1px solid rgba(0,0,0,.025);overflow:hidden}.rainBarItem{min-width:0;display:grid;grid-template-rows:12px 1fr 12px;gap:3px;text-align:center}.rainBarItem span{overflow:hidden;font:500 8px JetBrains Mono,ui-monospace,monospace;color:var(--muted);white-space:nowrap}.rainBarTrack{min-height:28px;display:flex;align-items:flex-end;justify-content:center;border-bottom:1px solid rgba(0,122,255,.12)}.rainBarTrack i{display:block;width:76%;min-height:2px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg,#64d2ff,#007aff);opacity:.72}.rainBarItem b{font:500 8px JetBrains Mono,ui-monospace,monospace;color:#8e8e93}.rainBarItem b.wet{color:#007aff}.rainUnit{margin:0 2px 9px;text-align:right;color:var(--muted);font-size:9px}.scrollFrame{position:relative;margin-top:4px}.scrollFrame .cardScroller{margin-top:0}.cardScroller{margin-top:4px;padding-right:2px}.mini{flex:0 0 108px;min-width:108px;scroll-snap-align:start;border:1px solid var(--border);background:#ffffffad;border-radius:18px;padding:13px 10px;text-align:center;color:var(--ink);box-shadow:0 4px 14px #00000005}button.mini{cursor:pointer}.mini.active{border-color:#1c1c1e;background:#1c1c1e;color:#fff;box-shadow:0 8px 24px #00000012}.mini span,.mini strong,.mini b,.mini em,.mini small{display:block}.mini span{font:400 9px JetBrains Mono,ui-monospace,monospace;color:var(--muted)}.mini strong{font-size:27px;margin:9px 0}.mini .tempLine{font:500 14px JetBrains Mono,ui-monospace,monospace;line-height:1.2}.mini .mmLine{margin-top:4px;font:500 11px JetBrains Mono,ui-monospace,monospace;font-style:normal;color:var(--muted);line-height:1.2}.mini small{margin-top:5px;font-size:9px;color:#397e61}.mini.active span,.mini.active small{color:#ffffffa6}.radarSection{background:#ffffffbd}.radarPulse{width:8px;height:8px;border-radius:50%;background:#0a84ff;box-shadow:0 0 0 6px #0a84ff14;margin-top:5px}.radarbox{height:260px;overflow:hidden;position:relative;border-radius:20px;border:1px solid rgba(0,0,0,.09);background:#0a111e;box-shadow:inset 0 0 0 1px #ffffff05}#radarMap{width:100%;height:100%}.leaflet-container{background:#0a111e;font-family:inherit}.radarSection .leaflet-tile-pane{filter:grayscale(.28) brightness(.68) saturate(.55) contrast(1.08)}.radarSection .leaflet-control-zoom a{background:#141922d1;color:#ffffffdb;border-color:#ffffff14}.radarlabel{position:absolute;top:11px;left:11px;z-index:800;border-radius:999px;padding:6px 9px;background:#0000008c;color:#ffffffeb;border:1px solid rgba(255,255,255,.08);font-size:9px;font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.radarPills{margin-top:10px}.radarcontrols{display:flex;gap:10px;align-items:center;margin-top:10px}.play{border:0;width:34px;height:34px;min-width:34px;padding:0;border-radius:50%;background:#1c1c1e;color:#fff;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 5px 14px #00000014}.playGlyph{width:15px;height:15px;display:block;flex:0 0 15px;fill:currentColor}.playGlyphStart{transform:translate(1px)}.track{flex:1;height:5px;border-radius:999px;background:#0000000f;overflow:hidden}.track div{height:100%;width:0;border-radius:999px;background:#1c1c1e;transition:width .25s ease}.radarcontrols>span{min-width:45px;text-align:right;color:var(--muted);font:400 9px JetBrains Mono,ui-monospace,monospace}.radarCompare{margin-top:10px;padding:10px 12px;border:1px solid rgba(0,122,255,.1);border-radius:14px;background:#007aff0b;color:#274b69}.radarCompare b,.radarCompare span{display:block}.radarCompare b{font-size:10px;font-weight:600}.radarCompare span{margin-top:3px;font-size:9px;line-height:1.4;color:#667786}.radarNote{margin-top:10px;margin-bottom:0}.mapLegend{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-size:9px;font-weight:600}.mapLegend span{display:flex;align-items:center;gap:5px}.weatherSwatch{display:inline-block;width:30px;height:9px;border-radius:999px}.weatherSwatch.cloud{background:linear-gradient(90deg,#e2e8f026,#fffffff2,#cbd5e17a);box-shadow:inset 0 0 0 1px #64748b1f}.weatherSwatch.rain{background:linear-gradient(90deg,#7dd3fc,#2563eb,#7c3aed,#d946ef)}.radarLegend{gap:10px}.rainKey{display:inline-block;width:11px;height:11px;border-radius:4px;box-shadow:inset 0 0 0 1px #ffffff61,0 1px 4px #0000001f}.rainKey.light{background:#7dd3fc}.rainKey.medium{background:#2563eb}.rainKey.heavy{background:#8b5cf6}.modelCloudRaster{mix-blend-mode:normal;filter:contrast(1.22) brightness(.96)}.satelliteCloudRaster{mix-blend-mode:normal;filter:grayscale(1) brightness(.96) contrast(1.55)}.routeWeatherRaster{mix-blend-mode:normal;filter:contrast(1.1)}.radarLayer{mix-blend-mode:normal;filter:saturate(1.65) contrast(1.32) brightness(1.06)}.tomorrowScroller{margin-top:12px;padding-right:2px}.tomorrowCard{flex:0 0 108px;min-width:108px;scroll-snap-align:start;padding:12px 4px;text-align:center;border:1px solid var(--border);border-radius:17px;background:#ffffffa8;box-shadow:0 4px 14px #00000004}.tomorrowCard span,.tomorrowCard strong,.tomorrowCard b,.tomorrowCard em,.tomorrowCard small{display:block}.tomorrowCard span{font:400 9px JetBrains Mono,ui-monospace,monospace;color:var(--muted)}.tomorrowCard strong{margin:8px 0;font-size:21px}.tomorrowCard .tempLine{font:500 13px JetBrains Mono,ui-monospace,monospace;line-height:1.2}.tomorrowCard .mmLine{margin-top:4px;font:500 10px JetBrains Mono,ui-monospace,monospace;font-style:normal;color:var(--muted);line-height:1.2}.tomorrowCard small{margin-top:5px;color:var(--muted);font-size:9px}.section label{display:block;margin:12px 0 6px;font-size:10px;font-weight:600;color:var(--secondary);text-align:center}input{width:100%;height:46px;padding:0 14px;border:1px solid rgba(0,0,0,.055);border-radius:15px;background:#ffffffb8;color:var(--ink);outline:none;box-shadow:inset 0 1px #fffc;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input::-moz-placeholder{color:#aeaeb2}input::placeholder{color:#aeaeb2}input:focus{border-color:#007aff4d;background:#ffffffe6;box-shadow:0 0 0 3px #007aff12}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.seg.two{grid-template-columns:1fr 1fr;margin-top:5px}.seg button{height:48px;min-height:48px;padding:0 14px;border:1px solid var(--border);border-radius:14px;background:#ffffffad;color:var(--slate);font-size:11px;font-weight:600;line-height:1;transition:all .16s ease}.seg button.selected{background:#1c1c1e;border-color:#1c1c1e;color:#fff;box-shadow:0 7px 18px #00000012}.routegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.relative{position:relative}.suggestions{position:absolute;z-index:1500;left:0;right:0;top:100%;margin-top:5px;overflow:hidden;border:1px solid var(--border);border-radius:15px;background:#fffffff5;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 20px 40px -12px #00000014}.suggestions.hidden{display:none}.suggestions button{width:100%;border:0;background:transparent;padding:10px 12px;text-align:left}.suggestions button:hover{background:#00000006}.suggestions button+button{border-top:1px solid rgba(0,0,0,.035)}.suggestions b,.suggestions small{display:block}.suggestions b{font-size:11px;font-weight:600}.suggestions small{margin-top:2px;color:var(--muted);font-size:9px}.primary,.secondary{border-radius:14px;padding:12px 14px;font-weight:600;transition:all .16s ease}.primary{width:100%;margin-top:14px;border:1px solid #1c1c1e;background:#1c1c1e;color:#fff;box-shadow:0 10px 24px #00000013}.primary:hover{background:#000}.primary.compact{width:auto;margin-top:0}.routeActions{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-top:14px}.routeActions .primary{margin-top:0;min-height:56px;border-radius:14px;font-size:14px}.routeReset{height:48px;min-height:48px;white-space:nowrap;padding:0 14px;border-radius:14px;font-size:11px;line-height:1}.secondary{border:1px solid var(--border);background:#ffffffb8;color:var(--ink)}.secondary:hover{background:#fffffff0}.routeSwap{width:100%;height:48px;min-height:48px;margin:10px 0 2px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--border);border-radius:14px;background:#ffffffa8;color:var(--secondary);font-weight:600;font-size:11px;cursor:pointer}.routeSwap:hover{background:#fffffff0;color:var(--ink)}.routeSwap:disabled{opacity:.55;cursor:wait}.routeSwap>span{font-size:11px}.routeStatus{margin-top:14px;padding:15px;border-radius:18px;border:1px solid var(--border);background:#ffffffb8;box-shadow:0 6px 20px #00000005}.routeStatus b,.routeStatus small{display:block}.routeStatus b{font-size:13px;font-weight:600}.routeStatus small{margin-top:4px;color:var(--muted);font-size:10px}.routeRow{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;border:1px solid var(--border);border-radius:15px;background:#ffffffa3;font-size:10px}.routeRow b{font-weight:600}.routeRow small{display:block;color:var(--muted);margin-top:2px}.routeWeatherRight{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;text-align:right}.routeWeatherRight small{margin-top:3px;color:var(--text);white-space:nowrap}.routeMapWrap{margin-top:10px;height:240px;overflow:hidden;position:relative;border-radius:19px;border:1px solid var(--border);background:#dce4ea}.routeMapLegend{position:absolute;z-index:800;left:10px;bottom:10px;display:flex;gap:10px;padding:6px 8px;border-radius:12px;background:#ffffffdb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 14px #0000000d;color:var(--secondary);font-size:9px;font-weight:600}.routeMapLegend span{display:flex;align-items:center;gap:4px}.routeMapLegend .weatherSwatch{width:24px;height:8px}#routeMap{width:100%;height:100%}.routeAdvice{margin-top:10px;padding:14px 15px;border-radius:18px;border:1px solid rgba(14,165,233,.25);background:#e0f2fea8;box-shadow:0 6px 20px #00000005}.routeAdvice span,.routeAdvice b,.routeAdvice small{display:block}.routeAdvice span{font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0369a1}.routeAdvice b{margin-top:4px;font-size:14px;font-weight:700;color:var(--ink)}.routeAdvice small{margin-top:5px;color:var(--secondary);font-size:10px;line-height:1.45}.routeAdviceMuted{border-color:var(--border);background:#ffffffb3}.routeAdviceMuted span{color:var(--secondary)}.err{color:#b4232b;font-size:11px;margin-top:12px}.info{color:#486579;font-size:11px;margin-top:12px}.scrollArrow{position:absolute;z-index:20;top:50%;transform:translateY(-50%);width:32px;height:44px;border:1px solid var(--border);border-radius:14px;background:#ffffffeb;color:var(--secondary);font-size:22px;line-height:1;box-shadow:0 8px 24px #0000000d}.scrollArrow.left{left:-8px}.scrollArrow.right{right:-8px}footer{margin:20px 0 4px;text-align:center;color:#aeaeb2;font:400 9px JetBrains Mono,ui-monospace,monospace;letter-spacing:.01em}.learning{font-weight:600}.learning.stored{color:#278553}.learning.failed{color:#a76b27}.learning.pending{color:#8e8e93}@media(max-width:640px){.learnModels{grid-template-columns:1fr 1fr}}@media(max-width:360px){.shell{padding-left:10px;padding-right:10px}.hero{padding:22px}.temp{font-size:66px}}@media(max-width:700px){.scrollArrow{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}:root{--mw-radius-xl: 28px;--mw-radius-lg: 22px;--mw-radius-md: 18px;--mw-blur: 24px;--mw-shadow: 0 18px 55px rgba(8, 20, 38, .12);--mw-motion: .32s cubic-bezier(.2,.75,.2,1);--mw-day-text: #102238;--mw-day-muted: rgba(16,34,56,.62);--mw-night-text: #f7fbff;--mw-night-muted: rgba(235,244,255,.66)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif;background-attachment:fixed;transition:background var(--mw-motion),color var(--mw-motion)}body[data-theme=day]{--ink: var(--mw-day-text);--slate: #1e344b;--muted: var(--mw-day-muted);--secondary: rgba(16,34,56,.72);--glass: rgba(250,253,255,.6);--glass-soft: rgba(250,253,255,.48);--border: rgba(255,255,255,.58);--border-subtle: rgba(255,255,255,.38);background:radial-gradient(circle at 18% -10%,rgba(164,217,255,.55),transparent 42%),linear-gradient(180deg,#d9efff,#edf7fb 36%,#f4f7f3 76%,#eef2ef)}body[data-theme=night]{--ink: var(--mw-night-text);--slate: #e8f2ff;--muted: var(--mw-night-muted);--secondary: rgba(235,244,255,.76);--glass: rgba(9,24,47,.56);--glass-soft: rgba(15,32,58,.48);--border: rgba(255,255,255,.13);--border-subtle: rgba(255,255,255,.08);background:radial-gradient(circle at 78% -10%,rgba(62,84,170,.3),transparent 36%),radial-gradient(circle at 20% 20%,rgba(27,95,151,.2),transparent 42%),linear-gradient(180deg,#071224,#0a1830 46%,#091525)}.weatherAppShell{max-width:430px;padding:0 12px 112px;overflow-x:clip}.weatherAppShell>.section,.weatherAppShell>.searchDock{animation:mwCardIn .48s cubic-bezier(.2,.72,.2,1) both}.weatherAppShell>.section:nth-of-type(3){animation-delay:40ms}.weatherAppShell>.section:nth-of-type(4){animation-delay:80ms}.weatherAppShell>.section:nth-of-type(5){animation-delay:.12s}.weatherHero{--hero-image:none;position:relative;min-height:56vh;max-height:660px;margin:0 -12px;padding:18px 18px 20px;display:flex;flex-direction:column;color:#fff;overflow:hidden;isolation:isolate;border-radius:0 0 34px 34px;box-shadow:0 22px 60px #04142833}.heroImage,.heroOverlay,.heroFx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.heroImage{z-index:-4;background-image:var(--hero-image);background-size:cover;background-position:center;transform:scale(1.035);animation:mwHeroBreath 18s ease-in-out infinite alternate}.weatherHero.loc-urban-modern .heroImage{background-position:center 42%}.weatherHero.loc-coast .heroImage{background-position:center 48%}.weatherHero.loc-forest .heroImage{background-position:center}.heroOverlay{z-index:-3;background:linear-gradient(180deg,#020f1e4d,#0311210f 34%,#020f1e2e 62%,#020d1b8a),linear-gradient(90deg,rgba(3,18,35,.18),transparent 55%)}.weatherHero.is-night .heroOverlay{background:linear-gradient(180deg,#01091961,#040c203b 38%,#02081680),linear-gradient(90deg,#02081933,#0a14341a)}.weatherHero.mood-cloudy .heroImage{filter:saturate(.84) brightness(.84)}.weatherHero.mood-rain .heroImage{filter:saturate(.78) brightness(.72) contrast(1.05)}.weatherHero.mood-storm .heroImage{filter:saturate(.7) brightness(.58) contrast(1.08)}.weatherHero.is-night .heroImage{filter:saturate(.72) brightness(.62) contrast(1.08)}.weatherHero.is-night.mood-rain .heroImage,.weatherHero.is-night.mood-storm .heroImage{filter:saturate(.66) brightness(.48) contrast(1.12)}.heroFx{z-index:-2;overflow:hidden}.sunGlow{position:absolute;width:210px;height:210px;right:-52px;top:48px;border-radius:50%;background:radial-gradient(circle,rgba(255,245,186,.62) 0%,rgba(255,224,121,.22) 33%,transparent 70%);filter:blur(5px);opacity:0;animation:mwSun 8s ease-in-out infinite alternate}.is-day.mood-clear .sunGlow,.is-day.mood-partly-cloudy .sunGlow{opacity:.86}.moonGlow{position:absolute;width:154px;height:154px;right:-34px;top:70px;border-radius:50%;background:radial-gradient(circle,rgba(230,240,255,.5),rgba(116,150,230,.15) 42%,transparent 72%);filter:blur(7px);opacity:0}.is-night .moonGlow{opacity:.68}.starField{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;background-image:radial-gradient(circle at 12% 16%,rgba(255,255,255,.85) 0 1px,transparent 1.5px),radial-gradient(circle at 27% 9%,rgba(255,255,255,.62) 0 1px,transparent 1.4px),radial-gradient(circle at 44% 14%,rgba(255,255,255,.74) 0 1px,transparent 1.3px),radial-gradient(circle at 63% 7%,rgba(255,255,255,.62) 0 1px,transparent 1.4px),radial-gradient(circle at 82% 16%,rgba(255,255,255,.76) 0 1px,transparent 1.4px),radial-gradient(circle at 72% 27%,rgba(255,255,255,.42) 0 1px,transparent 1.4px),radial-gradient(circle at 35% 29%,rgba(255,255,255,.46) 0 1px,transparent 1.4px);animation:mwTwinkle 6s ease-in-out infinite alternate}.is-night.mood-clear .starField,.is-night.mood-partly-cloudy .starField{opacity:.75}.cloud{position:absolute;width:180px;height:42px;border-radius:999px;background:#ebf6ff33;filter:blur(12px);opacity:0}.cloud:before,.cloud:after{content:"";position:absolute;border-radius:50%;background:inherit}.cloud:before{width:75px;height:75px;left:30px;bottom:4px}.cloud:after{width:105px;height:80px;right:18px;bottom:0}.cloudOne{top:22%;left:-38%;animation:mwCloudDrift 30s linear infinite}.cloudTwo{top:38%;left:-58%;transform:scale(.75);animation:mwCloudDrift 42s linear infinite 6s}.mood-partly-cloudy .cloud{opacity:.18}.mood-cloudy .cloud{opacity:.35}.mood-rain .cloud,.mood-storm .cloud{opacity:.45}.is-night .cloud{background:#6981b13d}.rainFx{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;opacity:0;background-image:repeating-linear-gradient(108deg,transparent 0 12px,rgba(210,232,255,.2) 13px 14px,transparent 15px 28px);transform:translate3d(0,-8%,0);animation:mwRain .95s linear infinite}.mood-rain .rainFx{opacity:.3}.mood-storm .rainFx{opacity:.44}.heroTop{position:relative;z-index:3;padding:0;color:#fff}.heroTop .brandline h1{color:#fff;font-size:13px;letter-spacing:.01em;text-transform:none;font-weight:600}.brandMark{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;color:#fff;font-size:15px;font-weight:700;background:#ffffff2b;border:1px solid rgba(255,255,255,.22);box-shadow:inset 0 1px #ffffff2e,0 8px 24px #0000001f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.heroTop .badge{color:#ffffffb8;background:#0812232e;border-color:#ffffff24}.heroRefresh{width:38px;min-width:38px;height:38px;padding:0;color:#fff;font-size:19px;background:#07132538;border-color:#ffffff38;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff26}.heroRefresh:hover{background:#07132559}.heroLocation{position:relative;z-index:3;margin-top:25px;display:flex;align-items:flex-start;gap:9px;text-shadow:0 2px 14px rgba(0,0,0,.22)}.locationPin{margin-top:5px;font-size:9px;color:#fff;box-shadow:0 0 0 5px #ffffff1f;border-radius:50%}.heroLocation b{display:block;font-size:17px;font-weight:600;letter-spacing:-.35px}.heroLocation small{display:block;margin-top:2px;color:#ffffffc2;font-size:11px}.heroCore{position:relative;z-index:3;margin-top:auto;padding-top:40px}.weatherHero .temp{color:#fff;font-size:88px;line-height:.82;font-weight:300;letter-spacing:-7px;text-shadow:0 5px 30px rgba(0,0,0,.18)}.weatherHero .temp span{color:#ffffffe6;font-size:52px;font-weight:300}.heroCondition{display:flex;align-items:center;gap:10px;margin-top:14px}.heroCondition .weathericon{padding:0;font-size:30px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.16))}.weatherHero h2{margin:0;color:#fff;font-size:24px;font-weight:550;letter-spacing:-.7px}.weatherHero p{margin:3px 0 0;color:#ffffffbd;font-size:12px}.weatherHero p b{color:#fff;font-weight:500}.heroMetrics.metrics{position:relative;z-index:3;grid-column:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.heroMetric.metric{min-height:72px;padding:10px 8px 9px;border-radius:18px;text-align:center;background:#0a192e3d;border:1px solid rgba(255,255,255,.2);box-shadow:inset 0 1px #ffffff1c,0 8px 24px #00000014;backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1)}.heroMetric.metric span{color:#fff;font-size:15px;line-height:1}.heroMetric.metric b{margin:7px 0 3px;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:600;letter-spacing:-.25px}.heroMetric.metric small{color:#ffffffad;font-size:9px}.weatherInsightCard.status{position:relative;z-index:3;grid-column:auto;width:100%;margin-top:9px;padding:9px 10px;display:grid;grid-template-columns:58px 1fr 24px;align-items:center;gap:10px;text-align:left;border-radius:19px;border:1px solid rgba(255,255,255,.18);background:#08152840;color:#fff;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px #ffffff1a}.insightThumb{height:48px;display:block;overflow:hidden;position:relative;border-radius:13px;background:radial-gradient(circle at 67% 32%,rgba(110,194,255,.85),transparent 18%),radial-gradient(circle at 35% 70%,rgba(49,106,205,.85),transparent 24%),linear-gradient(135deg,#8ab7a8,#477b99 52%,#263f70)}.insightThumb:before,.insightThumb:after{content:"";position:absolute;left:-10px;right:-10px;height:2px;background:#ffffff59;transform:rotate(-18deg)}.insightThumb:before{top:18px}.insightThumb:after{top:29px;opacity:.6}.insightCopy b{display:block;color:#fff;font-size:11px;line-height:1.35}.insightCopy small{display:-webkit-box;margin-top:2px;color:#ffffff9e;font-size:9px;line-height:1.35;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.insightArrow{color:#ffffffd1;font-size:26px;font-weight:300;text-align:center}.weatherHero .weatherFeedback{position:relative;z-index:3;margin-top:7px;padding:7px 3px 0;color:#ffffffbf}.weatherHero .feedbackMain button,.weatherHero .feedbackReasons button{color:#fff;background:#08152842;border-color:#ffffff2e}.weatherHero .feedbackReasons small{color:#ffffff9e}.weatherHero .feedbackThanks{color:#dcfce7}.searchDock{position:relative;z-index:40;margin:-18px 3px 4px;padding:8px;border-radius:20px;display:grid;grid-template-columns:1fr 44px;gap:7px;background:#fafdffb8;border-color:#ffffffbf;box-shadow:0 14px 36px #1028461f}body[data-theme=night] .searchDock{background:#0a182ec7;border-color:#ffffff21}.searchDock input{height:42px;border:0;border-radius:14px;background:#ffffff9e;box-shadow:none}body[data-theme=night] .searchDock input{color:#fff;background:#ffffff12}body[data-theme=night] .searchDock input::-moz-placeholder{color:#ebf4ff7a}body[data-theme=night] .searchDock input::placeholder{color:#ebf4ff7a}.searchDock .secondary{width:44px;height:42px;padding:0;border-radius:14px;font-size:18px}.weatherAppShell .section{scroll-margin-top:16px;margin-top:12px;padding:18px;border-radius:var(--mw-radius-lg);background:var(--glass);border-color:var(--border);box-shadow:0 12px 36px #182d4212;backdrop-filter:blur(var(--mw-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--mw-blur)) saturate(1.08)}body[data-theme=night] .weatherAppShell .section{box-shadow:0 16px 44px #0000002b}.weatherAppShell .section h3{font-size:16px;font-weight:600;letter-spacing:-.4px;color:var(--ink)}.weatherAppShell .sub{color:var(--muted)}.weatherAppShell .sectionChip{color:var(--secondary);background:#ffffff3d;border-color:var(--border)}body[data-theme=night] .weatherAppShell .sectionChip{background:#ffffff0f}.weatherAppShell .pills button{border-color:var(--border);background:#ffffff57;color:var(--secondary);border-radius:999px}body[data-theme=night] .weatherAppShell .pills button{background:#ffffff0e}.weatherAppShell .pills button.selected{color:#fff;border-color:#ffffff29;background:#1759b2eb;box-shadow:0 7px 18px #1f5eb433}.weatherAppShell .rainBars{background:#fff3;border-color:var(--border-subtle)}body[data-theme=night] .weatherAppShell .rainBars{background:#ffffff09}.weatherAppShell .rainBarItem span,.weatherAppShell .rainBarItem b,.weatherAppShell .rainUnit{color:var(--muted)}.weatherAppShell .rainBarTrack{border-bottom-color:#4599eb2e}.weatherAppShell .rainBarTrack i{background:linear-gradient(180deg,#66cbffeb,#1870dfeb);box-shadow:0 0 14px #3293f129}.weatherAppShell .mini,.weatherAppShell .tomorrowCard{border-color:var(--border);background:#ffffff4d;box-shadow:0 8px 20px #14283e0b;color:var(--ink)}body[data-theme=night] .weatherAppShell .mini,body[data-theme=night] .weatherAppShell .tomorrowCard{background:#ffffff0b}.weatherAppShell .mini.active{border-color:#ffffff26;background:linear-gradient(160deg,#2570d2f5,#2a4fa1f0);box-shadow:0 12px 28px #1c54a933}.weatherAppShell .mini span,.weatherAppShell .mini .mmLine,.weatherAppShell .tomorrowCard span,.weatherAppShell .tomorrowCard .mmLine,.weatherAppShell .tomorrowCard small{color:var(--muted)}.weatherAppShell .mini small{color:#2b8066}body[data-theme=night] .weatherAppShell .mini small{color:#8fd7bc}.radarSection{background:var(--glass)!important}.weatherAppShell .radarbox{height:245px;border-radius:18px;border-color:var(--border);box-shadow:0 10px 28px #0000001a}.weatherAppShell .radarCompare{border-color:#59a4e724;background:#4797e214;color:var(--ink)}.weatherAppShell .radarCompare span{color:var(--muted)}.weatherAppShell .play{background:#134891f2}.weatherAppShell .track{background:#7891aa2e}.weatherAppShell .track div{background:#3c91ea}body[data-theme=night] input,body[data-theme=night] .seg button,body[data-theme=night] .secondary,body[data-theme=night] .routeSwap,body[data-theme=night] .routeStatus,body[data-theme=night] .routeRow,body[data-theme=night] .routeAdviceMuted{color:var(--ink);border-color:var(--border);background:#ffffff0e}body[data-theme=night] input:focus{background:#ffffff14;border-color:#60a5fa61}body[data-theme=night] .seg button.selected{color:#fff;background:#286dcceb;border-color:#ffffff1a}body[data-theme=night] .suggestions{background:#081427f5;border-color:var(--border)}body[data-theme=night] .suggestions button{color:var(--ink)}body[data-theme=night] .suggestions button+button{border-color:#ffffff12}body[data-theme=night] .suggestions small{color:var(--muted)}.bottomNav{position:fixed;z-index:2000;left:50%;bottom:max(10px,env(safe-area-inset-bottom));width:min(calc(100vw - 22px),408px);transform:translate(-50%);padding:7px 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border-radius:23px;background:#f8fcffc7;border:1px solid rgba(255,255,255,.76);box-shadow:0 18px 46px #07193030,inset 0 1px #ffffffa6;backdrop-filter:blur(26px) saturate(1.3);-webkit-backdrop-filter:blur(26px) saturate(1.3)}body[data-theme=night] .bottomNav{background:#081428d1;border-color:#ffffff21;box-shadow:0 18px 46px #00000059,inset 0 1px #ffffff14}.bottomNav button{min-width:0;height:51px;border:0;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);background:transparent;transition:background var(--mw-motion),color var(--mw-motion),transform .16s ease}.bottomNav button span{font-size:17px;line-height:1}.bottomNav button small{font-size:8px;font-weight:600}.bottomNav button.active{color:#1765d3;background:#3787ec21}body[data-theme=night] .bottomNav button.active{color:#eaf4ff;background:#3a7ae757;box-shadow:0 5px 18px #1955b92b}.weatherAppShell footer{margin:20px 0 70px;color:var(--muted)}@keyframes mwHeroBreath{0%{transform:scale(1.035) translateZ(0)}to{transform:scale(1.075) translate3d(-.8%,.5%,0)}}@keyframes mwCloudDrift{0%{transform:translate3d(-10vw,0,0) scale(.9)}to{transform:translate3d(150vw,3px,0) scale(1.03)}}@keyframes mwRain{0%{transform:translate3d(0,-7%,0)}to{transform:translate3d(-2%,7%,0)}}@keyframes mwSun{0%{transform:scale(.92);opacity:.68}to{transform:scale(1.06);opacity:.92}}@keyframes mwTwinkle{0%{filter:brightness(.85)}to{filter:brightness(1.25)}}@keyframes mwCardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:540px){.weatherHero{margin-top:10px;border-radius:34px}}@media(max-width:360px){.weatherAppShell{padding-left:10px;padding-right:10px}.weatherHero{margin-left:-10px;margin-right:-10px;padding-left:15px;padding-right:15px}.weatherHero .temp{font-size:78px}.heroMetric.metric b{font-size:13px}}@media(prefers-reduced-motion:reduce){.heroImage,.sunGlow,.starField,.cloud,.rainFx,.weatherAppShell>.section,.weatherAppShell>.searchDock{animation:none!important}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--radius-xl:34px;--blur-sm:10px;--blur-md:18px;--blur-lg:28px;--shadow-soft:0 10px 30px rgba(5,20,38,.1);--shadow-elevated:0 24px 70px rgba(2,12,28,.25);--text-primary:#f8fbff;--text-secondary:rgba(242,248,255,.78);--text-muted:rgba(229,239,249,.58);--accent:#89caff;--accent-soft:rgba(114,187,255,.16)}.uiIcon{width:1em;height:1em;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.weatherHero{min-height:clamp(548px,65svh,620px);max-height:none;padding:calc(18px + env(safe-area-inset-top)) 20px 18px;border-radius:0 0 38px 38px;box-shadow:0 24px 70px #020e1f40;background:#071425}.heroImage{transform:scale(1.018);background-position:center 52%;filter:saturate(.92) contrast(1.02);animation:mwHeroDrift 26s ease-in-out infinite alternate}.weatherHero.is-night .heroImage{filter:saturate(.82) brightness(.68) contrast(1.08);background-position:center 48%}.weatherHero.is-day .heroImage{filter:saturate(.94) brightness(.96) contrast(1.02)}.weatherHero.mood-cloudy.is-day .heroImage{filter:saturate(.82) brightness(.92) contrast(1.03)}.weatherHero.mood-cloudy.is-night .heroImage{filter:saturate(.72) brightness(.62) contrast(1.1)}.weatherHero.mood-rain .heroImage{filter:saturate(.7) brightness(.62) contrast(1.1)}.weatherHero.mood-storm .heroImage{filter:saturate(.58) brightness(.5) contrast(1.14)}.heroOverlay{background:linear-gradient(180deg,#020b196b,#020e1e1a 24%,#020d1c14 46%,#020d1c6b 76%,#020b18b8),linear-gradient(90deg,rgba(2,13,28,.18),transparent 55%)}.weatherHero.is-day .heroOverlay{background:linear-gradient(180deg,#0e22343d,#0d1f2f08 28%,#0a1b2b0d 54%,#05142366 86%,#05122294),linear-gradient(90deg,rgba(3,18,32,.14),transparent 64%)}.weatherHero[data-overlay=deep] .heroOverlay{background:linear-gradient(180deg,#0108158a,#030d1d29 34%,#020a1840 62%,#010712c7),linear-gradient(90deg,rgba(1,8,21,.25),transparent 58%)}.heroFx:before{content:"";position:absolute;top:-8%;right:-10%;bottom:45%;left:-10%;background:radial-gradient(circle at 78% 28%,rgba(219,235,255,.16),transparent 21%),radial-gradient(circle at 22% 10%,rgba(117,180,238,.1),transparent 24%);filter:blur(12px);opacity:.65}.heroFx:after{content:"";position:absolute;left:-8%;right:-8%;bottom:-5%;height:42%;background:radial-gradient(ellipse at 80% 55%,rgba(255,173,83,.14),transparent 23%),radial-gradient(ellipse at 55% 74%,rgba(78,148,226,.13),transparent 30%),linear-gradient(180deg,transparent 0%,rgba(1,7,17,.18) 52%,rgba(1,7,17,.46) 100%);filter:blur(8px);opacity:.85}.weatherHero.is-day .heroFx:after{background:radial-gradient(ellipse at 76% 54%,rgba(255,231,166,.22),transparent 25%),radial-gradient(ellipse at 45% 76%,rgba(63,149,209,.11),transparent 32%),linear-gradient(180deg,transparent 0%,rgba(5,25,38,.08) 50%,rgba(4,18,30,.34) 100%)}.weatherHero.is-night .sunGlow,.weatherHero.is-day .moonGlow,.weatherHero.is-day .starField{display:none}.weatherHero.is-night .moonGlow{width:210px;height:210px;right:-58px;top:78px;opacity:.48;background:radial-gradient(circle,rgba(229,240,255,.44) 0%,rgba(111,144,214,.14) 38%,transparent 72%);filter:blur(8px)}.weatherHero.is-night .starField{opacity:.34}.weatherHero.mood-cloudy .starField,.weatherHero.mood-rain .starField,.weatherHero.mood-storm .starField{opacity:.08}.heroTop{min-height:38px;align-items:center}.heroTop .brandline{gap:9px}.brandMark{width:30px;height:30px;border-radius:10px;font-size:14px;background:#0713253d;border-color:#ffffff2b;box-shadow:inset 0 1px #ffffff24,0 8px 28px #0000001a}.heroTop .brandline h1{font-size:14px;font-weight:560;letter-spacing:-.3px;text-shadow:0 2px 12px rgba(0,0,0,.18)}.heroRefresh{width:37px;min-width:37px;height:37px;display:grid;place-items:center;font-size:18px;background:#050f1f33;border-color:#ffffff29;box-shadow:inset 0 1px #ffffff1c,0 10px 28px #00000014}.heroRefresh .uiIcon{width:19px;height:19px}.heroLocation{position:relative;z-index:7;width:-moz-max-content;width:max-content;max-width:100%;margin:20px 0 0;padding:0;display:grid;grid-template-columns:20px minmax(0,1fr) 18px;gap:8px;align-items:start;text-align:left;color:#fff;border:0;background:transparent;text-shadow:0 2px 14px rgba(0,0,0,.26)}.heroLocation:hover{background:transparent}.heroLocation .locationIcon{width:17px;height:17px;margin-top:2px;color:#ffffffe0;stroke-width:2}.heroLocation>span:nth-child(2){min-width:0}.heroLocation b{max-width:315px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:17px;font-weight:590;letter-spacing:-.45px}.heroLocation small{margin-top:3px;display:block;color:#f2f8ffad;font-size:10.5px;font-weight:430}.locationChevron{margin-top:-2px;color:#ffffffb3;font-size:17px;transition:transform .25s ease}.heroLocation[aria-expanded=true] .locationChevron{transform:rotate(180deg)}.heroLocationSearch{position:absolute;z-index:20;top:calc(77px + env(safe-area-inset-top));left:14px;right:14px;opacity:0;transform:translateY(-8px) scale(.985);pointer-events:none;transition:opacity .22s ease,transform .26s cubic-bezier(.2,.72,.2,1)}.heroLocationSearch.open{opacity:1;transform:none;pointer-events:auto}.heroSearchField{min-height:56px;padding:7px 8px 7px 14px;display:grid;grid-template-columns:22px minmax(0,1fr) 42px 34px;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#051122c2;box-shadow:0 20px 48px #00000047,inset 0 1px #ffffff1a;backdrop-filter:blur(28px) saturate(1.2);-webkit-backdrop-filter:blur(28px) saturate(1.2)}.heroSearchField .searchIcon{width:18px;height:18px;color:#ffffffa8}.heroSearchField input{height:42px;padding:0 4px;border:0;border-radius:0;color:#fff;background:transparent;box-shadow:none}.heroSearchField input:focus{border:0;background:transparent;box-shadow:none}.heroSearchField input::-moz-placeholder{color:#ecf4fc75}.heroSearchField input::placeholder{color:#ecf4fc75}.heroGps,.heroSearchClose{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.12);color:#fff;background:#ffffff12}.heroGps .uiIcon{width:17px;height:17px}.heroSearchClose{border:0;background:transparent;font-size:22px;color:#fff9}.heroSearchField .suggestions{top:48px;min-width:250px;background:#051122f5;border-color:#ffffff1f;box-shadow:0 24px 50px #00000047}.heroSearchField .suggestions button{color:#fff}.heroSearchField .suggestions small{color:#ebf4ff94}.heroCore{position:relative;z-index:4;margin-top:auto;padding-top:26px}.temperatureGroup{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.weatherHero .temp{flex:0 0 auto;font-size:clamp(96px,28vw,118px);line-height:.76;font-weight:260;letter-spacing:-8px;text-shadow:0 8px 30px rgba(0,0,0,.2)}.weatherHero .temp span{margin-left:1px;font-size:.48em;font-weight:280;vertical-align:top;letter-spacing:-2px}.heroCondition{min-width:0;padding-bottom:5px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;text-align:right}.heroCondition .weathericon{width:54px;height:44px;display:grid;place-items:center;font-size:inherit;animation:none;filter:none}.weatherGlyph{width:54px;height:54px;overflow:visible;filter:drop-shadow(0 8px 14px rgba(0,0,0,.16))}.weatherGlyph .wgCloud{fill:url(#gCloud);stroke:#ffffff4d;stroke-width:.5}.weatherGlyphRain .wgCloud,.weatherGlyphStorm .wgCloud{fill:#c9d7e9;stroke:#ffffff47;stroke-width:.5}.weatherGlyph .wgRain{fill:none;stroke:#71c9ff;stroke-width:3.5;stroke-linecap:round}.weatherGlyph .wgBolt{fill:#ffd45e;filter:drop-shadow(0 0 8px rgba(255,214,90,.3))}.weatherGlyph .wgMoon{fill:url(#gMoon)}.weatherGlyph .wgSun{fill:url(#gSun)}.weatherGlyph .wgSunRay{fill:none;stroke:#ffe28c;stroke-width:3;stroke-linecap:round}.weatherGlyphPartly .wgCloud{fill:#e9f1fb;stroke:#ffffff38}.weatherHero h2{font-size:24px;line-height:1;font-weight:560;letter-spacing:-.75px}.weatherHero .heroCondition p{margin-top:4px;font-size:11px;color:#f2f8ffb3}.heroMetrics.metrics{margin-top:17px;gap:8px}.heroMetric.metric{min-height:70px;padding:10px 8px 9px;border-radius:18px;background:#04101f3d;border-color:#ffffff29;box-shadow:inset 0 1px #ffffff1a,0 12px 28px #00000014;backdrop-filter:blur(18px) saturate(1.13);-webkit-backdrop-filter:blur(18px) saturate(1.13)}.weatherHero.is-day .heroMetric.metric{background:#0f1f2b33}.heroMetric .metricIcon{width:17px;height:17px;margin:0 auto;color:#cde9ffe0;stroke-width:1.7}.heroMetric.metric b{margin:7px 0 2px;font-size:14px;font-weight:590;letter-spacing:-.25px}.heroMetric.metric small{color:#ebf4fc99;font-size:8.8px;line-height:1.15}.weatherInsightCard.status{min-height:62px;margin-top:8px;grid-template-columns:46px 1fr 20px;gap:9px;padding:8px 10px 8px 8px;border-radius:18px;background:#040f1e38;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff14}.insightThumb{width:46px;height:46px;border-radius:13px;opacity:.88}.insightCopy b{font-size:10.5px;font-weight:590}.insightCopy small{margin-top:2px;font-size:8.5px;color:#eef5fd8f;-webkit-line-clamp:1}.insightArrow{display:grid;place-items:center;font-size:16px}.insightArrow .uiIcon{width:18px;height:18px}.weatherHero .weatherFeedback{min-height:30px;margin-top:5px;padding:3px 2px 0;gap:7px;font-size:9px;color:#ecf4fc8f}.weatherHero .weatherFeedback>span{font-weight:500}.weatherHero .feedbackMain{gap:4px}.weatherHero .feedbackMain button{width:28px;height:26px;border-color:#ffffff1c;background:#06122224;font-size:13px}.weatherHero .feedbackReasons{padding-top:2px;gap:4px}.weatherHero .feedbackReasons button{padding:5px 7px;font-size:8px;border-color:#ffffff1c}.searchDock{display:none!important}@keyframes mwHeroDrift{0%{transform:scale(1.018) translateZ(0)}to{transform:scale(1.055) translate3d(-.55%,.35%,0)}}@media(max-width:390px){.weatherHero{min-height:clamp(535px,66svh,598px);padding-left:17px;padding-right:17px}.heroLocation b{max-width:282px;font-size:16px}.weatherHero .temp{font-size:102px;letter-spacing:-7px}.heroCondition .weathericon{width:48px;height:40px}.weatherGlyph{width:49px;height:49px}.weatherHero h2{font-size:22px}.heroMetric.metric b{font-size:13px}.heroMetric.metric small{font-size:8px}}@media(prefers-reduced-motion:reduce){.heroImage{animation:none!important}.heroLocationSearch{transition:none!important}}html{scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom))}.weatherAppShell{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.weatherAppShell>.section{content-visibility:auto;contain-intrinsic-size:500px}.weatherAppShell>.openWeatherSection{margin-top:18px;padding:22px 4px 14px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-theme=night] .weatherAppShell>.openWeatherSection{box-shadow:none}.openWeatherSection .sectionHead{padding:0 8px}.openWeatherSection h3,.tomorrowSection>h3{font-size:21px;line-height:1.08;font-weight:620;letter-spacing:-.65px}.openWeatherSection .sub{margin-top:6px;font-size:10.5px;letter-spacing:.01em}.liveChip{padding:5px 9px;color:#bfe4ff!important;background:#2c84db1f!important;border-color:#6cb8ff29!important}body[data-theme=day] .liveChip{color:#1768af!important;background:#3991e01a!important}.timelineFrame{margin-top:12px}.nowcastScroller{gap:9px;padding:0 8px 4px;scroll-padding-left:8px}.nowcastCard.mini{flex:0 0 86px;min-width:86px;min-height:112px;padding:11px 7px 10px;border-radius:22px;border:1px solid rgba(255,255,255,.07);background:#ffffff09;box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}body[data-theme=day] .nowcastCard.mini{border-color:#12375812;background:#ffffff52}.nowcastCard.mini.active{color:var(--ink);border-color:#6fb8ff3d;background:linear-gradient(180deg,#488be333,#416fbe1c),#ffffff0a;box-shadow:0 10px 30px #1a59ab1a,inset 0 1px #ffffff0f}body[data-theme=day] .nowcastCard.mini.active{background:linear-gradient(180deg,#3d8fe72b,#ffffff75)}.nowcastCard span{font:560 9px Inter,-apple-system,sans-serif;letter-spacing:.06em;color:var(--muted)}.nowcastCard strong,.hourlySection .mini strong,.tomorrowCard strong{height:38px;margin:8px 0 4px;display:grid;place-items:center}.nowcastCard .weatherGlyph{width:40px;height:40px}.nowcastCard .tempLine{font:580 15px Inter,-apple-system,sans-serif;letter-spacing:-.35px}.nowcastCard .mmLine{margin-top:4px;font:520 9px Inter,-apple-system,sans-serif;color:var(--muted)}.nowcastCard small{margin-top:2px;font-size:8px;color:var(--muted)}.nowcastCard.active span,.nowcastCard.active small{color:var(--muted)}.hourlySection,.tomorrowSection{position:relative}.hourlySection:before,.tomorrowSection:before{content:"";position:absolute;top:48px;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 18% 15%,rgba(59,138,222,.07),transparent 30%),radial-gradient(circle at 78% 65%,rgba(112,84,189,.05),transparent 28%);filter:blur(10px)}.hourlySection .cardScroller,.tomorrowScroller{position:relative;gap:9px;padding:10px 8px 5px}.hourlySection .mini,.tomorrowCard{flex:0 0 94px;min-width:94px;min-height:128px;padding:11px 8px;border-radius:22px;border:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#ffffff0b,#ffffff06);box-shadow:none}body[data-theme=day] .hourlySection .mini,body[data-theme=day] .tomorrowCard{border-color:#1d3f5e0f;background:linear-gradient(180deg,#ffffff7a,#ffffff40)}.hourlySection .weatherGlyph,.tomorrowCard .weatherGlyph{width:42px;height:42px}.hourlySection .mini span,.tomorrowCard span{font:520 9px Inter,-apple-system,sans-serif;color:var(--muted)}.hourlySection .mini .tempLine,.tomorrowCard .tempLine{font:590 15px Inter,-apple-system,sans-serif;color:var(--ink)}.hourlySection .mini .mmLine,.tomorrowCard .mmLine{font:500 9px Inter,-apple-system,sans-serif}.hourlySection .mini small,.tomorrowCard small{color:var(--muted)}.radarSection{margin-top:24px!important;padding:17px!important;overflow:hidden;border-radius:28px!important;background:linear-gradient(180deg,#0a182dc2,#051020d1)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:0 22px 56px #020c1c2e!important}body[data-theme=day] .radarSection{background:linear-gradient(180deg,#13293de6,#091b2ef0)!important}.radarSection .sectionHead{padding:2px 2px 10px}.radarSection h3{color:#f5f9ff!important;font-size:18px!important;font-weight:600!important}.radarPulse{background:#66c8ff;box-shadow:0 0 0 5px #57beff17,0 0 18px #57beff57}.weatherAppShell .radarbox{height:252px;border:1px solid rgba(255,255,255,.07);border-radius:20px;background:#06111f;box-shadow:inset 0 0 0 1px #ffffff06,0 14px 34px #0000002e}.radarSection .leaflet-tile-pane{filter:saturate(.72) brightness(.76) contrast(1.04)}.radarSection .leaflet-container{background:#06111f}.radarSection .leaflet-control-zoom a{background:#051222c2;color:#dceeff;border-color:#ffffff12}.radarlabel{top:10px;left:10px;padding:6px 9px;font-size:8.5px;font-weight:550;background:#030e1da8;border-color:#ffffff14;box-shadow:0 6px 20px #0000001a}.radarLegend{margin-top:10px;gap:9px;color:#e2eef98f;font-size:8px}.rainKey{width:9px;height:9px;border-radius:3px}.rainKey.light{background:#69d3f5}.rainKey.medium{background:#4e8de8}.rainKey.heavy{background:#8065cb}.radarPills{margin-top:9px}.radarSection .pills button{background:#ffffff0b;border-color:#ffffff14;color:#e7f1fba3}.radarSection .pills button.selected{color:#fff;background:#448be140;border-color:#70b8ff38;box-shadow:none}.radarcontrols{margin-top:9px}.weatherAppShell .play{background:#3d7ed3db;box-shadow:0 7px 18px #235cad33}.radarSection .track{background:#ffffff14}.radarSection .track div{background:linear-gradient(90deg,#70d0f4,#598de8,#8065cb)}.radarSection .radarcontrols>span{color:#e7f1fb94}.radarCompare{border-color:#5ea8e81c!important;background:#4890d812!important;color:#eef7ff!important}.radarCompare span{color:#e2eef994!important}.routeFeature{margin-top:24px!important;padding:20px!important;border-radius:28px!important}.routeFeature .sectionHead{margin-bottom:18px}.routeFeature h3{font-size:20px!important;font-weight:620!important}.routeFeature .sub{max-width:290px;margin-top:6px}.routePrimary{display:block}.routeFieldLabel{margin:0 0 6px!important;text-align:left!important;font-size:9px!important;font-weight:650!important;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)!important}.routeField{position:relative}.routeFieldIcon{position:absolute;z-index:2;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--muted)}.routeFieldIcon .uiIcon{width:18px;height:18px}.routeField input{height:50px;padding-left:43px;border-radius:17px;border-color:var(--border);background:#ffffff0b;box-shadow:none}body[data-theme=day] .routeField input{background:#ffffff70}.routeConnector{height:24px;padding-left:21px;display:flex;align-items:center}.routeConnector i{width:1px;height:18px;display:block;background:linear-gradient(180deg,var(--muted),transparent);opacity:.28}.transportSeg{margin-top:15px;gap:7px}.transportSeg button{height:50px;display:flex;align-items:center;justify-content:center;gap:7px;border-radius:16px;background:#ffffff09;color:var(--secondary)}body[data-theme=day] .transportSeg button{background:#ffffff57}.transportSeg button .uiIcon{width:17px;height:17px}.transportSeg button.selected{color:#fff;background:linear-gradient(180deg,#4089e2eb,#3167bceb);border-color:#ffffff1f;box-shadow:0 9px 24px #225eb32e}.routeWhen{margin-top:13px;display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:8px}.routeWhen>div,.routeTimeField{min-height:48px;display:flex;align-items:center;gap:7px;padding:6px 7px 6px 10px;border:1px solid var(--border);border-radius:16px;background:#ffffff09}body[data-theme=day] .routeWhen>div,body[data-theme=day] .routeTimeField{background:#ffffff57}.routeWhen .uiIcon{flex:0 0 auto;width:16px;height:16px;color:var(--muted)}.compactSeg{margin:0!important;gap:3px!important;flex:1}.compactSeg button{height:34px!important;min-height:34px!important;padding:0 8px!important;border-radius:11px!important;font-size:9px!important}.routeTimeField{margin:0!important;text-align:left!important}.routeTimeField input{height:34px;padding:0;border:0;background:transparent!important;box-shadow:none!important;font-size:11px}.routePrimaryButton{min-height:54px;margin-top:13px;border-radius:17px;border:0;background:linear-gradient(180deg,#357bd8,#2864b8);box-shadow:0 12px 30px #2560b533;font-size:13px;letter-spacing:-.1px}.routeAdvanced{margin-top:12px;border-top:1px solid var(--border-subtle)}.routeAdvanced summary{padding:12px 2px 4px;cursor:pointer;list-style:none;color:var(--muted);font-size:9.5px;font-weight:600}.routeAdvanced summary::-webkit-details-marker{display:none}.routeAdvanced summary:after{content:"⌄";float:right;transition:transform .2s ease}.routeAdvanced[open] summary:after{transform:rotate(180deg)}.routeAdvancedInner{padding-top:7px}.routeAdvanced .routeSwap{margin:0 0 8px;height:42px;min-height:42px;gap:8px}.routeAdvanced .routeSwap .uiIcon,.routeAdvanced .routeReset .uiIcon{width:15px;height:15px}.routeAdvanced .routeReset{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:7px}.routeStatus,.routeAdvice,.routeRow{border-color:var(--border);background:#ffffff09}.routeWeatherRight>span:first-child{display:flex;align-items:center;justify-content:flex-end;gap:5px}.routeResultWeatherIcon{display:inline-grid;width:25px;height:25px;place-items:center}.routeResultWeatherIcon .weatherGlyph{width:25px;height:25px}.routeMapWrap{border-color:#ffffff12;background:#06111f}.routeMapWrap .leaflet-tile-pane{filter:saturate(.7) brightness(.78)}.bottomNav{bottom:max(8px,env(safe-area-inset-bottom));width:min(calc(100vw - 24px),402px);min-height:64px;padding:6px;border-radius:22px;background:#08162ac2;border-color:#ffffff1c;box-shadow:0 16px 44px #00000047,inset 0 1px #ffffff12}body[data-theme=day] .bottomNav{background:#f4faffcc;border-color:#ffffffb8;box-shadow:0 16px 44px #1e426229,inset 0 1px #ffffffb8}.bottomNav button{height:50px;border-radius:15px}.bottomNav button span{width:20px;height:20px;display:grid;place-items:center}.bottomNav button .uiIcon{width:19px;height:19px;stroke-width:1.75}.bottomNav button small{margin-top:1px;font-size:7.8px}.bottomNav button.active{color:#dff1ff;background:#4184e038;box-shadow:0 5px 18px #245bae1f}body[data-theme=day] .bottomNav button.active{color:#1768c2;background:#3281e121}.weatherAppShell footer{margin-bottom:96px}.weatherAppShell button{transition:transform .16s ease,background-color .22s ease,border-color .22s ease,color .22s ease,opacity .22s ease,box-shadow .24s ease}.weatherAppShell button:active{transform:scale(.975)}@media(max-width:390px){.nowcastCard.mini{flex-basis:82px;min-width:82px}.hourlySection .mini,.tomorrowCard{flex-basis:90px;min-width:90px}.routeWhen{grid-template-columns:minmax(0,1fr) 108px}}@media(prefers-reduced-motion:reduce){.weatherAppShell button,.routeAdvanced summary:after{transition:none!important}}.nowcastCard.mini{min-height:90px;padding-top:8px;padding-bottom:7px}.nowcastCard strong{height:30px;margin:5px 0 2px}.nowcastCard .weatherGlyph{width:34px;height:34px}.nowcastCard .tempLine{font-size:14px}.nowcastCard .mmLine{margin-top:2px}.nowcastCard small{display:none}.radarSection .leaflet-tile-pane,.routeMapWrap .leaflet-tile-pane{filter:invert(.88) hue-rotate(178deg) saturate(.34) brightness(.72) contrast(1.06)}.routeTimeField input[type=time]::-webkit-calendar-picker-indicator{opacity:0;width:18px;margin:0}.routeAdviceLabel{display:flex!important;align-items:center;gap:6px}.routeAdviceLabel .uiIcon{width:13px;height:13px}@media(max-width:390px){.nowcastCard.mini{min-height:88px}}.routeLoading{margin-top:14px;padding:13px 14px;display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:16px;color:var(--ink);background:#ffffff09}.routeLoading b{display:block;font-size:11px;font-weight:600}.routeLoading small{display:block;margin-top:2px;color:var(--muted);font-size:9px}.routeSpinner{width:20px;height:20px;flex:0 0 auto;border:2px solid rgba(120,180,245,.18);border-top-color:#65b6ff;border-radius:50%;animation:routeSpin .8s linear infinite}@keyframes routeSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.routeSpinner{animation:none;border-top-color:#65b6ff}}:root{--nav-height: 64px;--nav-bottom-gap: 8px;--nav-breathing-room: 28px;--nav-safe-space: calc(var(--nav-height) + var(--nav-bottom-gap) + env(safe-area-inset-bottom) + var(--nav-breathing-room));--motion-fast: .16s cubic-bezier(.2,.7,.2,1);--motion-base: .28s cubic-bezier(.2,.75,.2,1);--motion-slow: .42s cubic-bezier(.2,.75,.2,1);--surface-night: rgba(7,20,39,.52);--surface-night-elevated: rgba(7,19,38,.72);--surface-day: rgba(250,253,255,.44);--surface-day-elevated: rgba(250,253,255,.68)}.atmosphericLoading{position:relative;min-height:100svh;max-width:430px;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(circle at 78% 16%,rgba(103,139,202,.24),transparent 28%),linear-gradient(180deg,#0b203a,#0a1b31 42%,#061425)}.loadingMedia,.loadingAtmosphere{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.loadingMedia{z-index:-3}.loadingMedia img{width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;filter:saturate(.76) brightness(.68) contrast(1.05)}.loadingAtmosphere{z-index:-2;background:radial-gradient(circle at 78% 22%,rgba(176,204,255,.16),transparent 24%),radial-gradient(ellipse at 62% 74%,rgba(255,171,91,.12),transparent 28%),linear-gradient(180deg,#020a1947,#020a1812 42%,#010814b3)}.initialAtmosphere .loadingAtmosphere:after{content:"";position:absolute;left:8%;right:8%;bottom:18%;height:22%;opacity:.22;background:linear-gradient(90deg,transparent 0 5%,rgba(142,180,212,.22) 5% 7%,transparent 7% 13%,rgba(142,180,212,.18) 13% 17%,transparent 17% 26%,rgba(142,180,212,.2) 26% 30%,transparent 30% 100%);clip-path:polygon(0 100%,0 62%,7% 62%,7% 28%,13% 28%,13% 70%,20% 70%,20% 44%,29% 44%,29% 74%,38% 74%,38% 34%,47% 34%,47% 66%,56% 66%,56% 48%,66% 48%,66% 72%,75% 72%,75% 40%,84% 40%,84% 68%,92% 68%,92% 52%,100% 52%,100% 100%);filter:blur(2px)}.loadingWeatherSkeleton{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;padding:calc(var(--space-6) + env(safe-area-inset-top)) var(--space-6) var(--space-8);display:flex;flex-direction:column}.loadingWeatherSkeleton small{margin-top:auto;color:#eef6ff8a;font-size:10px;letter-spacing:.02em}.loadingBrand{display:flex;align-items:center;gap:var(--space-3)}.loadingBrand span{width:30px;height:30px;border:1px solid rgba(255,255,255,.13);border-radius:var(--radius-sm);background:#ffffff14}.loadingBrand i{width:76px;height:11px;border-radius:999px;background:#ffffff1a}.skeletonLine{position:relative;overflow:hidden;border-radius:999px;background:#ffffff17}.skeletonLine:after,.loadingMetricRow i:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:loadingSheen 1.8s ease-in-out infinite}.loadingLocation{width:min(68%,260px);height:14px;margin-top:var(--space-12)}.loadingTemp{width:142px;height:92px;margin-top:auto;border-radius:var(--radius-md)}.loadingCondition{width:112px;height:15px;margin-top:var(--space-4)}.loadingMetricRow{margin-top:var(--space-6);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.loadingMetricRow i{position:relative;overflow:hidden;height:68px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:#ffffff0e}.weatherHero{background:radial-gradient(circle at 78% 18%,rgba(88,119,188,.23),transparent 31%),linear-gradient(180deg,#0a1d35,#071427 72%)}.heroMedia{--hero-parallax-y:0px;position:absolute;top:-1%;right:-1%;bottom:-1%;left:-1%;z-index:-4;overflow:hidden;opacity:0;transform:translate3d(0,var(--hero-parallax-y),0) scale(1.012);transition:opacity var(--motion-base);will-change:transform}.heroMedia.isLoaded{opacity:1}.heroMedia.hasError{opacity:0}.heroMedia .heroImage{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;-o-object-fit:cover;object-fit:cover;-o-object-position:center 50%;object-position:center 50%;transform:scale(1.018);will-change:transform;animation:mwHeroDrift 30s ease-in-out infinite alternate}.weatherHero.loc-urban-historic .heroImage{-o-object-position:center 49%;object-position:center 49%}.weatherHero.loc-urban-modern .heroImage{-o-object-position:center 43%;object-position:center 43%}.weatherHero.loc-coast .heroImage{-o-object-position:center 47%;object-position:center 47%}.weatherHero.loc-forest .heroImage{-o-object-position:center 50%;object-position:center 50%}.weatherHero.is-night .heroImage{filter:saturate(.9) brightness(.79) contrast(1.045)}.weatherHero.is-night.mood-cloudy .heroImage{filter:saturate(.84) brightness(.76) contrast(1.05)}.weatherHero.is-night.mood-rain .heroImage{filter:saturate(.78) brightness(.7) contrast(1.06)}.weatherHero.is-night.mood-storm .heroImage{filter:saturate(.7) brightness(.63) contrast(1.08)}.weatherHero.is-day .heroImage{filter:saturate(.98) brightness(1.01) contrast(1.01)}.weatherHero.is-day.mood-cloudy .heroImage{filter:saturate(.91) brightness(.98) contrast(1.015)}.weatherHero.is-night .heroOverlay{background:linear-gradient(180deg,#020a1747,#020c1a0a 26%,#020c1a14 50%,#020a174f 72%,#0107129c),linear-gradient(90deg,rgba(2,12,27,.12),transparent 58%)}.weatherHero.is-night[data-overlay=deep] .heroOverlay{background:linear-gradient(180deg,#02091657,#030d1c0f 28%,#020b1921 58%,#010814a3),linear-gradient(90deg,rgba(2,10,24,.14),transparent 60%)}.weatherHero.is-day .heroOverlay{background:linear-gradient(180deg,#091c2c33,#091a2905 34%,#07162508 57%,#04121f57 86%,#030f1c8c)}.weatherHero.phase-dawn .heroOverlay{background:radial-gradient(circle at 76% 14%,rgba(255,209,154,.2),transparent 29%),linear-gradient(180deg,#402d4d2b,#14253605 40%,#0616226b)}.weatherHero.phase-dusk .heroOverlay{background:radial-gradient(circle at 76% 17%,rgba(255,169,115,.19),transparent 31%),linear-gradient(180deg,#412a5029,#0e1c3008 42%,#040f1e94)}.weatherHero.phase-dawn .heroFx:before,.weatherHero.phase-dusk .heroFx:before{opacity:.82;background:radial-gradient(circle at 76% 23%,rgba(255,196,139,.22),transparent 23%),radial-gradient(circle at 32% 8%,rgba(193,169,230,.11),transparent 25%)}.weatherHero.is-night .heroFx:after{opacity:.92;background:radial-gradient(ellipse at 76% 56%,rgba(255,171,88,.2),transparent 24%),radial-gradient(ellipse at 57% 77%,rgba(79,145,218,.16),transparent 31%),linear-gradient(180deg,transparent 0%,rgba(1,7,17,.12) 52%,rgba(1,7,17,.4) 100%)}.weatherHero.mood-cloudy .cloud{opacity:.26}.weatherHero.mood-rain .cloud{opacity:.33}.weatherHero.mood-storm .cloud{opacity:.38}.cloud{filter:blur(8px);will-change:transform,opacity}.cloudOne{animation-duration:42s}.cloudTwo{animation-duration:58s}.rainFx{will-change:transform,opacity;opacity:0;background-image:repeating-linear-gradient(108deg,transparent 0 15px,rgba(210,235,255,.14) 16px 17px,transparent 18px 34px);animation-duration:1.25s}.mood-rain .rainFx{opacity:.18}.mood-storm .rainFx{opacity:.26}.mood-storm .heroFx:before{animation:stormAtmosphere 18s ease-in-out infinite}.heroTop .brandline h1{font-size:13px;font-weight:520;color:#ffffffe0}.brandMark{width:28px;height:28px;font-size:13px;border-color:#ffffff1f;background:#040f1e2e}.heroRefresh{border-color:#ffffff1f;background:#040f1e26}.heroLocation{margin-top:var(--space-4)}.heroLocation b{max-width:min(72vw,310px);font-size:16px;font-weight:540;letter-spacing:-.32px}.heroLocation small{color:#f2f8ff9c;font-weight:400}.weatherHero .temp{font-weight:250;text-shadow:0 8px 34px rgba(0,0,0,.18)}.weatherHero h2{font-weight:540}.weatherHero .heroCondition p{color:#f2f8ffa8}.heroMetric.metric{min-height:68px;border-color:#ffffff1f;background:#05122233;box-shadow:inset 0 1px #ffffff16,0 12px 30px #0000000e}.weatherHero.is-day .heroMetric.metric{background:#0819262b;border-color:#ffffff2b}.heroMetric .metricIcon{width:16px;height:16px}.heroMetric.metric b{font-weight:560}.weatherInsightCard.status{border-color:#ffffff1c;background:#040f1e30}.heroTop,.heroLocation,.heroCore,.heroMetrics,.weatherInsightCard,.weatherFeedback{opacity:0;animation:heroInformationIn var(--motion-slow) forwards}.heroLocation{animation-delay:55ms}.heroCore{animation-delay:.1s}.heroMetrics{animation-delay:.15s}.weatherInsightCard{animation-delay:195ms}.weatherFeedback{animation-delay:225ms}.nowcastCard,.hourlySection .mini,.tomorrowCard{transition:transform var(--motion-fast),background var(--motion-base),border-color var(--motion-base),box-shadow var(--motion-base),opacity var(--motion-base)}.weatherTone-clear{background:radial-gradient(circle at 72% 16%,rgba(255,205,98,.065),transparent 34%),#ffffff07!important}.weatherTone-partly-cloudy{background:radial-gradient(circle at 68% 18%,rgba(132,187,238,.065),transparent 36%),#ffffff07!important}.weatherTone-cloudy{background:linear-gradient(180deg,#849fbe0e,#ffffff06)!important}.weatherTone-rain{background:radial-gradient(circle at 70% 20%,rgba(64,188,236,.11),transparent 38%),#ffffff07!important}.weatherTone-storm{background:radial-gradient(circle at 70% 18%,rgba(116,94,193,.12),transparent 40%),#ffffff07!important}.weatherToneVariant-1{opacity:.94}.weatherToneVariant-2{opacity:.89}.nowcastCard.active{opacity:1;border-color:#64b2f536!important;box-shadow:0 10px 28px #1e5aa516,inset 0 1px #ffffff0e!important}.nowcastCard .weatherGlyph{filter:drop-shadow(0 5px 9px rgba(64,124,187,.12))}.radarSection .leaflet-tile-pane,.routeMapWrap .leaflet-tile-pane{filter:invert(.9) hue-rotate(178deg) saturate(.25) brightness(.64) contrast(1.02)}.radarSection .leaflet-control-zoom a{border-color:#ffffff0e;color:#e1effabd}.radarLegend{color:#e1eef97d}.routeField input:focus,.routeTimeField input:focus{outline:none;border-color:#60a9eb66;box-shadow:0 0 0 3px #4591dc17}.routePrimaryButton:focus-visible,.transportSeg button:focus-visible,.bottomNav button:focus-visible,.heroLocation:focus-visible,.heroRefresh:focus-visible,.weatherFeedback button:focus-visible{outline:2px solid rgba(126,198,255,.82);outline-offset:2px}.transportSeg button.selected{box-shadow:0 9px 26px #225eb329,inset 0 1px #ffffff1c}.sectionReveal{opacity:0;transform:translate3d(0,10px,0);transition:opacity var(--motion-slow),transform var(--motion-slow)}.sectionReveal.isVisible{opacity:1;transform:none}.weatherAppShell{padding-bottom:calc(var(--nav-safe-space) + var(--space-12))}.weatherAppShell>.section{scroll-margin-top:var(--space-4);scroll-margin-bottom:var(--nav-safe-space)}.forecastSection,.radarSection,.hourlySection,.tomorrowSection{margin-bottom:var(--space-6)!important}.routeFeature{margin-bottom:var(--nav-safe-space)!important}.bottomNav:before{content:"";position:absolute;z-index:-1;left:-10px;right:-10px;top:-26px;bottom:-10px;border-radius:32px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(7,20,38,.18) 33%,rgba(7,20,38,.28));filter:blur(5px)}body[data-theme=day] .bottomNav:before{background:linear-gradient(180deg,transparent,rgba(229,242,249,.25) 35%,rgba(229,242,249,.38))}.bottomNav button{min-width:44px;min-height:48px}.bottomNav button.active{transition:background var(--motion-base),color var(--motion-base),box-shadow var(--motion-base)}.heroLocation>span:nth-child(2){max-width:min(72vw,310px)}.heroLocation b{width:100%}@media(max-width:390px){.heroLocation b,.heroLocation>span:nth-child(2){max-width:min(70vw,278px)}.weatherHero .temp{font-size:100px}}@media(min-width:391px)and (max-width:430px){.weatherHero .temp{font-size:110px}}@keyframes loadingSheen{0%{transform:translate(-100%)}65%,to{transform:translate(100%)}}@keyframes heroInformationIn{0%{opacity:0;transform:translate3d(0,7px,0)}to{opacity:1;transform:none}}@keyframes stormAtmosphere{0%,74%,78%,to{opacity:.62;filter:brightness(1)}75%{opacity:.78;filter:brightness(1.07)}76%{opacity:.64;filter:brightness(1.01)}77%{opacity:.74;filter:brightness(1.045)}}@media(prefers-reduced-motion:reduce){.loadingWeatherSkeleton *,.heroTop,.heroLocation,.heroCore,.heroMetrics,.weatherInsightCard,.weatherFeedback,.sectionReveal,.heroMedia,.heroMedia .heroImage,.mood-storm .heroFx:before{animation:none!important;transition:none!important;transform:none!important}.heroTop,.heroLocation,.heroCore,.heroMetrics,.weatherInsightCard,.weatherFeedback,.sectionReveal,.heroMedia.isLoaded{opacity:1!important}}:root{--nav-dock-reserve: calc(var(--nav-height) + var(--nav-bottom-gap) + env(safe-area-inset-bottom) + var(--space-3))}body:has(.weatherAppShell){overflow:hidden}.weatherAppShell{height:calc(100dvh - var(--nav-dock-reserve));min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-8);scrollbar-width:none}.weatherAppShell::-webkit-scrollbar{display:none}.weatherAppShell>.section{scroll-margin-bottom:var(--space-4)}.routeFeature{margin-bottom:var(--space-8)!important}.weatherAppShell footer{margin-bottom:var(--space-8)}.weatherInsightCard.status{min-height:0;width:auto;max-width:100%;margin-top:var(--space-3);padding:10px 13px;display:flex;align-items:center;gap:10px;text-align:left;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);background:#040f1e29;color:#fff;box-shadow:inset 0 1px #ffffff12;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:none}.weatherInsightCard .insightIcon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:11px;color:#cbe8ffe0;background:#5aa3e11a}.weatherInsightCard .insightIcon .uiIcon{width:16px;height:16px}.weatherInsightCard .insightCopy{min-width:0;display:block}.weatherInsightCard .insightCopy b{display:block;color:#fff;font-size:11px;font-weight:580;line-height:1.35}.weatherInsightCard .insightCopy small{display:block;margin-top:2px;overflow:visible;color:#eff6fd9e;font-size:9px;line-height:1.4;white-space:normal;-webkit-line-clamp:unset;-webkit-box-orient:initial}.weatherInsightCard .insightThumb,.weatherInsightCard .insightArrow{display:none!important}#feedbackUp,#feedbackDown{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:1!important}#feedbackUp svg,#feedbackDown svg{display:block!important;margin:0!important;transform:none!important}body[data-theme=day] .transportSeg button.selected{color:#fff!important;background:linear-gradient(180deg,#4089e2f5,#3167bcf5)!important}body[data-theme=day] .transportSeg button.selected .uiIcon{color:#fff!important;stroke:currentColor!important}.weatherAppShell .transportSeg button.selected,body[data-theme=day] .weatherAppShell .transportSeg button.selected,.weatherAppShell #days button.selected,body[data-theme=day] .weatherAppShell #days button.selected,.weatherAppShell .routeWhen button.selected,body[data-theme=day] .weatherAppShell .routeWhen button.selected,.weatherAppShell #timeModes button.selected,body[data-theme=day] .weatherAppShell #timeModes button.selected,.weatherAppShell #planBtn,.weatherAppShell .routePrimaryButton{background:#1c1c1e!important;color:#fff!important;border-color:#1c1c1e!important;box-shadow:0 7px 18px #0000001a!important}.weatherAppShell .transportSeg button.selected .uiIcon{color:#fff!important;stroke:currentColor!important}:root{--page-bg-top:#4f9dd5;--page-bg-middle:#83bde2;--page-bg-bottom:#f4f8fa;--hero-fade-color:#f4f8fa}body[data-theme=day],body[data-theme=night]{background:radial-gradient(circle at 78% -10%,color-mix(in srgb,var(--page-bg-top) 72%,transparent),transparent 40%),linear-gradient(180deg,var(--page-bg-top) 0%,var(--page-bg-middle) 34%,var(--page-bg-bottom) 100%);transition:background .9s ease,color var(--mw-motion)}.weatherAppShell{background:linear-gradient(180deg,color-mix(in srgb,var(--page-bg-top) 88%,transparent) 0%,var(--page-bg-middle) 28%,var(--page-bg-bottom) 72%,var(--page-bg-bottom) 100%);transition:background .9s ease}.weatherHero{min-height:60vh;border-radius:0;box-shadow:none;margin-bottom:0}.weatherHero:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:-1px;height:168px;pointer-events:none;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--hero-fade-color) 18%,transparent) 45%,var(--hero-fade-color) 100%)}.heroMedia{transition:opacity .9s cubic-bezier(.2,.72,.2,1),transform 1.2s cubic-bezier(.2,.72,.2,1)}.weatherHero.mood-snow .heroImage{filter:saturate(.78) brightness(.98) contrast(1.015)}.weatherHero.is-night.mood-snow .heroImage{filter:saturate(.68) brightness(.72) contrast(1.055)}.weatherHero.mood-wind .heroImage{filter:saturate(.86) brightness(.88) contrast(1.04)}.weatherHero.is-night.mood-wind .heroImage{filter:saturate(.7) brightness(.66) contrast(1.07)}.snowFx,.windFx{position:absolute;top:-10%;right:-10%;bottom:-10%;left:-10%;opacity:0;pointer-events:none}.mood-snow .snowFx{opacity:.48;background-image:radial-gradient(circle,rgba(255,255,255,.92) 0 1.2px,transparent 1.5px),radial-gradient(circle,rgba(235,246,255,.74) 0 1px,transparent 1.3px);background-size:34px 40px,49px 56px;background-position:0 0,13px 17px;animation:mwSnowFall 13s linear infinite;filter:blur(.15px)}.mood-wind .windFx{opacity:.38;background:radial-gradient(ellipse at 24% 38%,rgba(223,240,250,.17),transparent 31%),radial-gradient(ellipse at 78% 20%,rgba(210,231,244,.14),transparent 34%);animation:mwWindAtmosphere 12s ease-in-out infinite alternate}.mood-wind .cloudOne{animation-duration:23s!important;opacity:.34}.mood-wind .cloudTwo{animation-duration:17s!important;opacity:.28}.weatherGlyphSnow .wgCloud{fill:url(#gCloud);stroke:#ffffff75;stroke-width:.8}.weatherGlyphSnow .wgSnow{fill:none;stroke:#dff4ff;stroke-width:2.3;stroke-linecap:round}.weatherGlyphWind .wgWind{fill:none;stroke:#e7f4ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.weatherAppShell>.openWeatherSection:first-of-type{margin-top:0;padding-top:30px}.weatherAppShell>.openWeatherSection,.weatherAppShell>.tomorrowSection{position:relative;z-index:1}@keyframes mwSnowFall{0%{transform:translate3d(-1.5%,-5%,0)}to{transform:translate3d(2.5%,13%,0)}}@keyframes mwWindAtmosphere{0%{transform:translate3d(-3%,0,0) scale(1)}to{transform:translate3d(5%,1%,0) scale(1.04)}}@media(prefers-reduced-motion:reduce){.snowFx,.windFx{animation:none!important}.heroMedia{transition:none!important}}.manualLocationChoice{margin-top:18px;padding-top:16px;border-top:1px solid var(--border-subtle)}.manualLocationChoice>span{display:block;margin-bottom:10px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.manualLocationChoice label{display:block;margin-bottom:8px;font-size:13px;font-weight:600}.manualLocationChoice>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.manualLocationChoice input{min-width:0;height:44px;padding:0 12px;border:1px solid var(--border);border-radius:13px;background:var(--glass-soft);color:var(--ink)}.manualLocationChoice button{min-height:44px;padding:0 13px;border-radius:13px;border:1px solid var(--border);background:#1c1c1e;color:#fff;font-weight:600}.manualLocationChoice small{display:block;min-height:16px;margin-top:7px;color:#c35a5a;font-size:10px}.heroMediaPrevious{opacity:1;transition:opacity .95s cubic-bezier(.2,.72,.2,1)}.heroMediaPrevious.fadeOut{opacity:0}:root{--interaction-primary:#1c1c1e;--interaction-primary-pressed:#0f1011;--interaction-on-primary:#ffffff;--interaction-selected-bg:#1c1c1e;--interaction-selected-border:#1c1c1e;--interaction-neutral-bg:rgba(255,255,255,.16);--interaction-neutral-border:rgba(26,42,58,.1);--interaction-focus:rgba(93,157,215,.78)}body[data-theme=night]{--interaction-neutral-bg:rgba(255,255,255,.055);--interaction-neutral-border:rgba(255,255,255,.1)}.weatherAppShell .routePrimaryButton,.weatherAppShell #planBtn{background:var(--interaction-primary)!important;color:var(--interaction-on-primary)!important;border-color:var(--interaction-primary)!important;box-shadow:0 10px 26px #00000029!important}.weatherAppShell .transportSeg button,.weatherAppShell #days button,.weatherAppShell .routeWhen button,.weatherAppShell #timeModes button{min-height:44px;background:var(--interaction-neutral-bg)!important;border-color:var(--interaction-neutral-border)!important;color:var(--ink)!important;box-shadow:none!important}.weatherAppShell .transportSeg button.selected,.weatherAppShell #days button.selected,.weatherAppShell .routeWhen button.selected,.weatherAppShell #timeModes button.selected{background:var(--interaction-selected-bg)!important;color:var(--interaction-on-primary)!important;border-color:var(--interaction-selected-border)!important;box-shadow:0 8px 20px #00000021!important}.weatherAppShell .transportSeg button.selected .uiIcon,.weatherAppShell #days button.selected .uiIcon,.weatherAppShell .routeWhen button.selected .uiIcon,.weatherAppShell #timeModes button.selected .uiIcon{color:var(--interaction-on-primary)!important;stroke:currentColor!important}.bottomNav button.active,body[data-theme=day] .bottomNav button.active,body[data-theme=night] .bottomNav button.active{background:var(--interaction-primary)!important;color:var(--interaction-on-primary)!important;box-shadow:0 6px 18px #00000024!important}.radarSection .pills button.selected,.weatherAppShell .play{background:var(--interaction-primary)!important;color:var(--interaction-on-primary)!important;border-color:#ffffff1c!important;box-shadow:0 7px 18px #00000024!important}.weatherAppShell button:active{transform:scale(.98)}.routePrimaryButton:focus-visible,.transportSeg button:focus-visible,#days button:focus-visible,.routeWhen button:focus-visible,#timeModes button:focus-visible,.bottomNav button:focus-visible,.heroLocation:focus-visible,.heroRefresh:focus-visible,.weatherFeedback button:focus-visible,.radarSection button:focus-visible{outline:2px solid var(--interaction-focus)!important;outline-offset:2px}.weatherAppShell>.openWeatherSection{background:transparent!important;border:0!important;box-shadow:none!important}.radarSection,.routeFeature{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}body[data-theme=day] .routeFeature{background:#ffffff7a!important;border-color:#ffffff8c!important}body[data-theme=night] .routeFeature{background:#08162885!important;border-color:#ffffff14!important}.weatherAppShell,.weatherAppShell *{box-sizing:border-box}.weatherAppShell{max-width:430px;overflow-x:hidden!important}@media(max-width:430px){.weatherAppShell{width:100%}.routeFeature,.radarSection{max-width:100%}}body[data-theme=night]{--night-canvas:#101214;--surface-subtle:#15181b;--surface:#1a1e22;--surface-elevated:#22272c;--glass:rgba(24,28,32,.86);--hairline:rgba(232,240,248,.09);--ink:#edf1f4;--secondary:#bbc3cb;--muted:#98a3ae;--accent:#afd4ec;--interaction-primary:#436f91;--interaction-primary-pressed:#355a77;--interaction-selected-bg:#263e50;--interaction-selected-border:#476579;--interaction-on-primary:#f4f8fc;--interaction-neutral-bg:rgba(227,237,246,.045);--interaction-neutral-border:transparent;--interaction-focus:#a9d4f1;--hero-fade-color:var(--night-canvas)!important;background:var(--night-canvas)!important;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,system-ui,sans-serif;font-variant-numeric:tabular-nums}body[data-theme=night][data-hero-weather=rain]{--weather-detail:#a5cee0}body[data-theme=night][data-hero-weather=clear]{--weather-detail:#d6d8e7}body[data-theme=night][data-hero-weather=snow]{--weather-detail:#e0edf4}body[data-theme=night][data-hero-weather=wind]{--weather-detail:#aecbc7}body[data-theme=night] .weatherAppShell{background:var(--night-canvas)!important;padding-bottom:24px}body[data-theme=night] .weatherAppShell:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:900;opacity:.014;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}body[data-theme=night] .weatherHero:after{height:200px!important;background:linear-gradient(180deg,transparent,var(--night-canvas))!important}body[data-theme=night] :is(button,input,.mini span,.mini .tempLine,.mini .mmLine,.tomorrowCard span,.tomorrowCard b,.tomorrowCard em){font-family:inherit}body[data-theme=night] .heroMetric.metric{border:0!important;border-radius:16px;background:#12161a52!important;box-shadow:inset 0 1px #ffffff14!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body[data-theme=night] .heroMetric.metric small{font-size:11px;color:#c0c9d1}body[data-theme=night] .weatherInsightCard.status{border:0!important;background:#13181d61!important;border-radius:16px;padding:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 1px #ffffff0f}body[data-theme=night] .weatherInsightCard .insightCopy b{font-size:13px;font-weight:550}body[data-theme=night] .weatherInsightCard .insightCopy small{font-size:11px;color:#bcc6ce}body[data-theme=night] .weatherFeedback{font-size:11px;color:#bac4cc;gap:8px}body[data-theme=night] .weatherFeedback>span{font-weight:400}body[data-theme=night] .feedbackMain button{width:44px;height:44px;border:0;border-radius:12px;background:#ffffff0b;color:#c7d3dd}body[data-theme=night] :is(.heroTop,.heroLocation,.heroCore,.heroMetrics,.weatherInsightCard,.weatherFeedback,.sectionReveal){animation:none!important;opacity:1!important;transform:none!important}body[data-theme=night] .weatherAppShell>.openWeatherSection{margin-top:32px;padding:16px 0 8px;margin-bottom:24px!important}body[data-theme=night] .openWeatherSection .sectionHead{padding:0 12px;margin-bottom:16px}body[data-theme=night] .section h3{font-size:23px!important;font-weight:600!important;letter-spacing:-.6px;line-height:1.2}body[data-theme=night] .tomorrowSection>h3{margin:0 12px 20px}body[data-theme=night] .sub{font-size:12px;color:var(--muted);line-height:1.5;margin:6px 0 0}body[data-theme=night] .liveChip{border:0!important;background:transparent!important;color:var(--accent)!important;font-size:11px;padding:5px 0}body[data-theme=night] :is(.hourlySection,.tomorrowSection):before{display:none!important}body[data-theme=night] .openWeatherSection .scroller{gap:4px;padding:4px 12px 8px;scroll-padding-left:12px}body[data-theme=night] .openWeatherSection :is(.mini,.tomorrowCard){flex:0 0 88px;min-width:88px;min-height:154px;padding:12px 4px;border:0!important;border-radius:16px;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1;text-align:center}body[data-theme=night] .openWeatherSection .nowcastCard.active{background:#a6c9e212!important;box-shadow:inset 0 2px var(--weather-detail,var(--accent))!important}body[data-theme=night] .openWeatherSection :is(.mini,.tomorrowCard)>span{font-size:12px!important;font-weight:500;color:#bac4ce!important;line-height:18px}body[data-theme=night] .openWeatherSection :is(.mini,.tomorrowCard) strong{display:block;margin:12px 0}body[data-theme=night] .openWeatherSection .weatherGlyph{width:42px;height:42px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.18))}body[data-theme=night] .openWeatherSection .tempLine{display:block;font-size:20px!important;font-weight:500!important;line-height:24px;color:var(--ink)}body[data-theme=night] .openWeatherSection .mmLine{display:block;font-size:12px!important;line-height:18px;color:#a8cadd!important;font-style:normal;margin-top:4px}body[data-theme=night] .openWeatherSection :is(.mini,.tomorrowCard) small{display:block;font-size:11px;color:#a2bdb4!important;line-height:16px;margin-top:4px}body[data-theme=night] .scrollArrow{display:none!important}body[data-theme=night] .weatherAppShell .radarSection{margin:32px 0!important;padding:20px 12px 16px!important;border:0!important;border-radius:24px!important;background:var(--surface-subtle)!important;box-shadow:inset 0 1px #eaf4ff1a,0 16px 32px #0000001f!important;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-theme=night] .radarSection .sectionHead{padding:0 8px 20px}body[data-theme=night] .radarSection h3{max-width:280px}body[data-theme=night] .radarbox{height:300px;border:0;border-radius:16px;background:#11171c}body[data-theme=night] .radarSection .leaflet-control-zoom{border:1px solid var(--hairline);border-radius:12px;overflow:hidden;box-shadow:0 4px 14px #0003}body[data-theme=night] .radarSection .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;background:#181e23eb;color:#d6e5ee;font-weight:400}body[data-theme=night] .radarlabel{border:0;border-radius:10px;font-size:11px;background:#10151ad9}body[data-theme=night] .radarLegend{color:#aeb9c3;font-size:11px;gap:8px;padding:8px 0}body[data-theme=night] .radarPills button{min-height:44px;padding:8px 12px;border:0;border-radius:12px;background:transparent;color:#acbac6;font-size:12px}body[data-theme=night] .radarSection .pills button.selected{background:var(--interaction-selected-bg)!important;box-shadow:none!important}body[data-theme=night] .weatherAppShell .play{width:44px;height:44px;min-width:44px;border-radius:12px;background:var(--interaction-selected-bg)!important;box-shadow:none!important}body[data-theme=night] .radarcontrols{gap:12px}body[data-theme=night] .radarcontrols>span{font:500 12px inherit;color:#b9c7d1}body[data-theme=night] .track{background:#ffffff12;height:3px}body[data-theme=night] .track div{background:var(--accent)}body[data-theme=night] .radarCompare{border:0;background:transparent;padding:12px 4px 0;color:#bbc9d4}body[data-theme=night] .radarCompare b{font-size:12px}body[data-theme=night] .radarCompare span{font-size:11px;color:#aab7c2}body[data-theme=night] .weatherAppShell .routeFeature{margin:48px 0 24px!important;padding:24px 20px!important;border:0!important;border-radius:24px!important;background:var(--surface-subtle)!important;box-shadow:inset 0 1px var(--hairline)!important;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-theme=night] .routeFeature .sectionHead{margin-bottom:24px}body[data-theme=night] .routeFeature .routeFieldLabel{font-size:11px!important;font-weight:500!important;color:#aebbc6!important;letter-spacing:.07em;margin:0 0 8px!important}body[data-theme=night] .routeField input{height:52px;border:1px solid transparent;border-radius:16px;background:#ffffff06;color:var(--ink);font-size:16px;box-shadow:inset 0 1px #ffffff04}body[data-theme=night] input::-moz-placeholder{color:#97a3af;opacity:1}body[data-theme=night] input::placeholder{color:#97a3af;opacity:1}body[data-theme=night] .routeField input:focus{border-color:#719ab8;box-shadow:0 0 0 3px #9bceef0c}body[data-theme=night] .routeConnector{height:24px;padding-left:22px}body[data-theme=night] .routeConnector i{height:24px;width:1px;background:#7e9aaf;opacity:.6}body[data-theme=night] .transportSeg{gap:8px;margin-top:24px}body[data-theme=night] .weatherAppShell .transportSeg button{height:48px;border-radius:12px;font-size:12px}body[data-theme=night] .weatherAppShell :is(.transportSeg,#days,#timeModes) button.selected{background:var(--interaction-selected-bg)!important;border-color:var(--interaction-selected-border)!important;box-shadow:inset 0 1px #d1edff0c!important}body[data-theme=night] .routeWhen{margin-top:12px;grid-template-columns:minmax(0,1fr)112px;gap:8px}body[data-theme=night] :is(.routeWhen>div,.routeTimeField){border:0;border-radius:14px;background:#ffffff04;padding:4px;gap:4px}body[data-theme=night] .routeWhen>div>.uiIcon{display:none}body[data-theme=night] .weatherAppShell #days button{height:44px!important;min-height:44px!important;border-radius:10px!important;font-size:11px!important;padding:0 8px!important}body[data-theme=night] .routeTimeField input{font-size:14px;min-height:44px}body[data-theme=night] .weatherAppShell #planBtn{margin-top:16px;min-height:54px;border-radius:14px;font-size:14px;font-weight:600;background:var(--interaction-primary)!important;border:0!important;box-shadow:inset 0 1px #e5f5ff26,0 6px 18px #0002!important}body[data-theme=night] .routeAdvanced{margin-top:16px;border-color:var(--hairline)}body[data-theme=night] .routeAdvanced summary{min-height:44px;padding:16px 0 4px;font-size:12px;color:#b5c0ca}body[data-theme=night] .routeAdvanced button{min-height:44px;border-radius:12px;font-size:12px}body[data-theme=night] .suggestions{background:#20262b;border:1px solid var(--hairline);border-radius:16px}body[data-theme=night] .uiIcon{stroke-width:1.7}body[data-theme=night] .bottomNav{border:0!important;border-radius:26px!important;background:#1b1f23e6!important;box-shadow:inset 0 1px #e8f2fa24,0 8px 32px #00000059!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:6px;min-height:64px}body[data-theme=night] .bottomNav:before{display:none}body[data-theme=night] .bottomNav button{border-radius:18px;color:#aab5bf;height:52px}body[data-theme=night] .bottomNav button.active{background:#79b2da1c!important;color:#c4e2f7!important;box-shadow:inset 0 1px #c3e6ff09!important}body[data-theme=night] .bottomNav button small{font-size:10px;font-weight:500}body[data-theme=night] .bottomNav .uiIcon{width:20px;height:20px}body[data-theme=night] .weatherAppShell footer{margin:24px 0 8px;padding:0;color:#87939e;font-size:11px}@media(prefers-reduced-motion:reduce){body[data-theme=night] *,body[data-theme=night] *:before,body[data-theme=night] *:after{scroll-behavior:auto!important;transition:none!important}}body[data-theme=night] .radarlabel{left:auto;right:12px;max-width:calc(100% - 80px)}body[data-theme=night] .radarcontrols>span{font-family:inherit;font-size:12px;font-weight:500}.satelliteCloudRaster{image-rendering:auto;filter:grayscale(1) brightness(.98) contrast(1.12) blur(1.4px)}.radarSection .radarlabel{left:auto;right:12px;max-width:calc(100% - 80px)}.radarLayerControls{display:flex;gap:8px;margin-top:16px}.radarLayerControls button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;border:1px solid #ffffff18;border-radius:12px;background:#ffffff08;color:#bdcbd7;font-size:13px}.radarLayerControls button[aria-pressed=true]{background:#29465b;color:#f0f7fc;border-color:#7cafcf70}.radarLayerControls button[aria-pressed=false]{opacity:.65}.radarLayerControls .weatherSwatch{width:16px}.radarSection .radarcontrols{gap:12px;align-items:center}.radarSection input.radarScrubber{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex:1;min-width:0;width:0;height:44px;padding:0;margin:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;cursor:ew-resize;accent-color:#acd5f0;touch-action:pan-y}.radarScrubber::-webkit-slider-runnable-track{height:5px;border-radius:4px;background:#7794a9}.radarScrubber::-moz-range-track{height:5px;border-radius:4px;background:#7794a9}.radarScrubber::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:22px;height:22px;border:3px solid #e0f1ff;border-radius:50%;background:#4b7fa2;margin-top:-8.5px;box-shadow:0 2px 8px #0006}.radarScrubber::-moz-range-thumb{width:17px;height:17px;border:3px solid #e0f1ff;border-radius:50%;background:#4b7fa2;box-shadow:0 2px 8px #0006}.radarScrubber:focus-visible{outline:2px solid #b8dcf5;outline-offset:3px}.radarSection #radarTime{font-size:12px;color:#dce8f1;font-variant-numeric:tabular-nums}.radarTimeEnds{display:flex;justify-content:space-between;margin:0 57px 0 56px;font-size:11px;color:#acbdca}.radarFrameStatus{margin:16px 0 0;min-height:36px;font-size:12px;line-height:1.5;color:#c1ced8;font-weight:400}.radarSection .radarPills{gap:6px}.radarSection .radarPills button{flex:1;min-height:44px;padding:6px;font-size:11px}.radarSection .modelCloudRaster{filter:contrast(1.05) brightness(1.12)}.radarSection .satelliteCloudRaster{filter:grayscale(1) brightness(1.04) contrast(1.08) blur(1.4px)}.radarSection .radarLayer{filter:saturate(1.25) contrast(1.12) brightness(1.08)}.radarSection .radarLegend{font-size:11px;color:#c4d0da}body[data-theme=day]{--light-canvas:#f2f5f6;--light-canvas-soft:#eaf1f4;--light-surface:#edf2f5;--light-surface-glass:rgba(248,251,252,.72);--light-surface-elevated:#f8fafb;--light-hairline:rgba(62,86,106,.13);--light-text-primary:#243b4c;--light-text-secondary:#52697a;--light-text-muted:#637988;--light-accent:#326e99;--light-accent-soft:#dceaf3;--light-accent-text:#245b80;--theme-map-filter:saturate(.3) contrast(.8) brightness(1.18);--theme-map-canvas:#e4edf1;--theme-map-cloud-filter:grayscale(1) brightness(.8) contrast(.9);--theme-control-radius:12px;--theme-input-radius:14px;--theme-feature-radius:22px;--theme-shadow:0 8px 24px rgba(48,76,94,.055),inset 0 1px rgba(255,255,255,.85);--theme-dock:rgba(244,249,251,.9);--ink:var(--light-text-primary);--secondary:var(--light-text-secondary);--muted:var(--light-text-muted);--border:var(--light-hairline);--interaction-primary:var(--light-accent);--interaction-primary-pressed:#285b80;--interaction-on-primary:#fff;--interaction-selected-bg:var(--light-accent-soft);--interaction-selected-border:transparent;--interaction-neutral-bg:transparent;--interaction-neutral-border:transparent;--interaction-focus:#508db4;background:var(--light-canvas)!important}body[data-theme=day] .weatherAppShell{background:linear-gradient(180deg,var(--light-canvas-soft),var(--light-canvas) 45%,#eef3f5)!important;padding-bottom:24px}body[data-theme=day] .weatherAppShell>.section{color:var(--light-text-primary)}body[data-theme=day] .section h3{font-size:23px!important;line-height:1.2;font-weight:600!important;letter-spacing:-.6px}body[data-theme=day] .sub{font-size:12px;line-height:1.55;color:var(--light-text-muted);margin:6px 0 0}body[data-theme=day] :is(.section,.bottomNav) :is(button,input){font-family:inherit;font-variant-numeric:tabular-nums}body[data-theme=day] .weatherAppShell>.openWeatherSection{margin-top:24px;padding:20px 0 8px}body[data-theme=day] .openWeatherSection .sectionHead{padding:0 12px;margin-bottom:16px}body[data-theme=day] .tomorrowSection>h3{margin:0 12px 20px}body[data-theme=day] :is(.hourlySection,.tomorrowSection):before{display:none}body[data-theme=day] .openWeatherSection .scroller{gap:4px;padding:4px 12px 8px;scroll-padding-left:12px;scroll-padding-right:12px}body[data-theme=day] .openWeatherSection :is(.mini,.tomorrowCard){flex:0 0 calc((100% - 12px)/4);min-width:calc((100% - 12px)/4);min-height:142px;padding:12px 4px;border:0!important;border-radius:16px;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1}body[data-theme=day] .openWeatherSection .nowcastCard.active{background:var(--light-surface-glass)!important;box-shadow:inset 0 2px var(--light-accent)!important}body[data-theme=day] .openWeatherSection :is(.mini,.tomorrowCard)>span{font-family:inherit;font-size:12px!important;font-weight:500;line-height:18px;color:var(--light-text-secondary)!important}body[data-theme=day] .openWeatherSection .tempLine{font-family:inherit;font-size:19px!important;font-weight:500;line-height:24px;color:var(--light-text-primary)!important}body[data-theme=day] .openWeatherSection .mmLine{font-family:inherit;font-size:12px!important;color:var(--light-accent-text)!important;line-height:18px;margin-top:4px}body[data-theme=day] .openWeatherSection :is(.mini,.tomorrowCard) small{font-size:11px!important;color:var(--light-text-secondary)!important}body[data-theme=day] .scrollArrow{display:none!important}body[data-theme=day] .liveChip{border:0!important;background:transparent!important;color:var(--light-accent-text)!important;font-size:11px}body[data-theme=day] .weatherAppShell .radarSection{margin:32px 0!important;padding:0 8px 20px!important;border:0!important;border-radius:var(--theme-feature-radius)!important;background:var(--light-surface-glass)!important;box-shadow:var(--theme-shadow)!important;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-theme=day] .radarSection .sectionHead{padding:24px 12px 20px;background:transparent}body[data-theme=day] .radarSection h3{max-width:290px}body[data-theme=day] .radarPulse{background:var(--light-accent);box-shadow:0 0 0 5px var(--light-accent-soft)}body[data-theme=day] .radarSection .radarbox{height:300px;border:0;border-radius:18px;box-shadow:inset 0 0 0 1px var(--light-hairline);background:var(--theme-map-canvas)}body[data-theme=day] :is(.radarSection,.routeMapWrap) .leaflet-container{background:var(--theme-map-canvas)}body[data-theme=day] :is(.radarSection,.routeMapWrap) .leaflet-tile-pane{filter:var(--theme-map-filter)!important}body[data-theme=day] .radarSection .modelCloudRaster{filter:var(--theme-map-cloud-filter)}body[data-theme=day] .radarSection .satelliteCloudRaster{filter:var(--theme-map-cloud-filter) blur(1.2px)}body[data-theme=day] .radarSection .radarLayer{filter:saturate(1.12) contrast(1.06)}body[data-theme=day] .radarSection .leaflet-control-zoom{overflow:hidden;border:0;border-radius:12px;box-shadow:0 3px 12px #304c5e1f}body[data-theme=day] .radarSection .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;background:var(--light-surface-glass);color:var(--light-text-primary);border-color:var(--light-hairline);font-weight:400}body[data-theme=day] .radarSection .radarlabel{background:var(--light-surface-glass);color:var(--light-text-primary);border:0;border-radius:10px;font-size:11px;box-shadow:0 2px 8px #304c5e0d}body[data-theme=day] .radarSection .radarLegend{padding:4px 6px 0;gap:8px 12px;color:var(--light-text-secondary);font-size:11px;font-weight:400}body[data-theme=day] .radarSection .weatherSwatch.cloud{background:linear-gradient(90deg,#d7dfe4,#8598a6);box-shadow:none}body[data-theme=day] .radarSection .rainKey{box-shadow:none}body[data-theme=day] .radarLayerControls{gap:4px;margin:16px 4px 12px;padding:4px;background:var(--light-surface);border-radius:var(--theme-control-radius)}body[data-theme=day] .radarLayerControls button{min-height:44px;border:0;border-radius:10px;color:var(--light-text-secondary);background:transparent;box-shadow:none;opacity:1;font-weight:500}body[data-theme=day] .radarLayerControls button[aria-pressed=true]{background:var(--light-accent-soft);color:var(--light-accent-text);box-shadow:inset 0 1px #ffffff8c}body[data-theme=day] .radarLayerControls .weatherSwatch{display:inline-block;flex:0 0 14px;height:10px}body[data-theme=day] .radarSection .radarPills{gap:4px;padding:0 4px}body[data-theme=day] .radarSection .radarPills button{min-height:44px;border:0!important;border-radius:10px;background:transparent!important;color:var(--light-text-secondary);font-weight:500}body[data-theme=day] .radarSection .radarPills button.selected{background:var(--light-accent-soft)!important;color:var(--light-accent-text)!important;box-shadow:none!important}body[data-theme=day] .radarSection .radarcontrols{padding:0 4px}body[data-theme=day] .weatherAppShell .play{width:44px;height:44px;min-width:44px;border-radius:12px;background:var(--light-accent-soft)!important;color:var(--light-accent-text)!important;box-shadow:none!important}body[data-theme=day] .radarScrubber::-webkit-slider-runnable-track{background:#b9cdd9}body[data-theme=day] .radarScrubber::-moz-range-track{background:#b9cdd9}body[data-theme=day] .radarScrubber::-webkit-slider-thumb{background:var(--light-accent);border-color:var(--light-surface-elevated);box-shadow:0 2px 6px #27506c2e}body[data-theme=day] .radarScrubber::-moz-range-thumb{background:var(--light-accent);border-color:var(--light-surface-elevated);box-shadow:0 2px 6px #27506c2e}body[data-theme=day] .radarSection #radarTime{color:var(--light-text-primary);font-size:12px}body[data-theme=day] .radarTimeEnds{color:var(--light-text-muted)}body[data-theme=day] .radarFrameStatus{margin:16px 8px 0;color:var(--light-text-secondary);font-size:12px}body[data-theme=day] .radarCompare{border:0;background:transparent;padding:12px 8px 0;color:var(--light-text-secondary)}body[data-theme=day] .radarCompare :is(b,span){font-size:12px;color:inherit}body[data-theme=day] .weatherAppShell .routeFeature{margin:48px 0 24px!important;padding:12px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none;-webkit-backdrop-filter:none}body[data-theme=day] .routeFeature .sectionHead{margin-bottom:28px}body[data-theme=day] .routeFeature .sub{max-width:310px}body[data-theme=day] .routePrimary{position:relative}body[data-theme=day] .routePrimary:before{content:"";position:absolute;left:22px;top:46px;height:104px;width:1px;background:#a9bfce;pointer-events:none}body[data-theme=day] .routeFeature .routeFieldLabel{margin:0 0 8px 44px!important;font-size:11px!important;font-weight:500!important;letter-spacing:.08em;color:var(--light-text-muted)!important}body[data-theme=day] .routeField input{height:52px;padding-left:44px;border:0;border-bottom:1px solid var(--light-hairline);border-radius:var(--theme-input-radius);background:#ffffff52;box-shadow:none;font-size:16px;font-weight:400;color:var(--light-text-primary)}body[data-theme=day] .routeField input::-moz-placeholder{color:var(--light-text-muted);opacity:1}body[data-theme=day] .routeField input::placeholder{color:var(--light-text-muted);opacity:1}body[data-theme=day] .routeFieldIcon{z-index:1;background:var(--light-canvas);color:var(--light-accent-text)}body[data-theme=day] .routeConnector{height:24px}body[data-theme=day] .routeConnector i{display:none}body[data-theme=day] .routeField input:focus{outline:0;border-bottom-color:var(--light-accent);box-shadow:0 0 0 3px #4c7ea212}body[data-theme=day] :is(.transportSeg,#timeModes){padding:4px;gap:4px;border-radius:var(--theme-control-radius);background:var(--light-surface)}body[data-theme=day] .transportSeg{margin-top:24px}body[data-theme=day] .weatherAppShell :is(.transportSeg,#days,#timeModes) button{min-height:44px;height:44px;border:0!important;border-radius:10px;font-size:12px;font-weight:500;background:transparent!important;color:var(--light-text-secondary)!important;box-shadow:none!important;transition:background .18s ease,color .18s ease}body[data-theme=day] .weatherAppShell :is(.transportSeg,#days,#timeModes) button.selected{background:var(--light-accent-soft)!important;color:var(--light-accent-text)!important;box-shadow:inset 0 1px #ffffffa6!important}body[data-theme=day] .weatherAppShell :is(.transportSeg,#days,#timeModes) button .uiIcon{color:inherit!important;stroke:currentColor!important}body[data-theme=day] .routeWhen{margin-top:16px;grid-template-columns:minmax(0,1fr)132px;gap:12px}body[data-theme=day] :is(.routeWhen>div,.routeTimeField){padding:4px;border:0;border-radius:var(--theme-control-radius);background:var(--light-surface);gap:4px;min-width:0}body[data-theme=day] .routeWhen>div>.uiIcon{display:none}body[data-theme=day] .weatherAppShell #days button{height:44px!important;min-height:44px!important;padding:0 10px!important;font-size:12px!important;border-radius:10px!important}body[data-theme=day] .routeTimeField{background:transparent;padding-left:8px}body[data-theme=day] .routeTimeField input{height:44px;font-size:15px;color:var(--light-text-primary);font-weight:500}body[data-theme=day] .weatherAppShell #planBtn{min-height:54px;margin-top:20px;border:0!important;border-radius:14px;font-size:15px;font-weight:600;background:var(--light-accent)!important;color:#fff!important;box-shadow:inset 0 1px #ffffff38,0 6px 16px #2f638721!important}body[data-theme=day] #planBtn:active{transform:scale(.985)}body[data-theme=day] .routeAdvanced{margin-top:12px;border:0}body[data-theme=day] .routeAdvanced summary{min-height:44px;padding:16px 2px 4px;font-size:12px;font-weight:400;color:var(--light-text-secondary)}body[data-theme=day] .routeAdvanced button{min-height:44px;border-radius:12px}body[data-theme=day] .suggestions{background:var(--light-surface-elevated);border:1px solid var(--light-hairline);border-radius:14px;box-shadow:var(--theme-shadow)}body[data-theme=day] :is(.routeStatus,.routeAdvice,.routeRow){border:0;background:var(--light-surface-glass);color:var(--light-text-primary)}body[data-theme=day] .routeMapWrap{border-color:var(--light-hairline);border-radius:18px}body[data-theme=day] .bottomNav{border:0!important;border-radius:26px;background:var(--theme-dock)!important;box-shadow:0 8px 28px #2b495d1a,inset 0 1px #fff!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}body[data-theme=day] .bottomNav:before{display:none}body[data-theme=day] .bottomNav button{border-radius:16px;color:var(--light-text-secondary)}body[data-theme=day] .bottomNav button.active{background:var(--light-accent-soft)!important;color:var(--light-accent-text)!important;box-shadow:inset 0 1px #ffffffa6!important}body[data-theme=day] .bottomNav button small{font-size:10px;font-weight:500}body[data-theme=day] .weatherAppShell footer{margin:24px 0 8px;color:var(--light-text-muted);font-size:11px}@media(prefers-reduced-motion:reduce){body[data-theme=day] :is(.radarSection,.routeFeature,.bottomNav) *{transition:none!important}}body[data-theme=day] :is(.section,.bottomNav){font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}body[data-theme=day] .weatherAppShell .radarSection h3{color:var(--light-text-primary)!important}body[data-theme=day] .routeWhen>div>span:first-child{display:none}body[data-theme=day] .routeWhen .routeTimeField{display:flex;flex-direction:row;align-items:center;gap:8px;padding:0 0 0 8px;background:transparent!important}body[data-theme=day] .routeTimeField input{min-width:0;width:100%;font-size:14px}body[data-theme=day] .routeTimeField>span{flex:0 0 16px}
