:root{color:var(--ink);font-synthesis:none;--ink:#1f2e3d;--muted:#40566b;--line:#e2e7ec;--accent:#426e98;--logo-fill:#fff;-webkit-font-smoothing:auto;background:#f7f8fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-padding-top:25px}body{margin:0}button,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.85;cursor:wait}button,a,input,summary{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline-offset:4px;outline:2px solid #6790b8}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-weight:550}svg{display:block}button svg{width:18px;height:18px}.brand{color:#283849;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.brand>svg{width:35px;height:35px}.brand>span{letter-spacing:-.8px;font-size:20px;font-weight:700;line-height:1.05}.brand-light{font-weight:400}.brand small{letter-spacing:2.4px;color:var(--muted);margin-top:6px;font-size:10px;font-weight:500;display:block}.kicker{letter-spacing:1.65px;color:var(--muted);font-size:11px;font-weight:650;line-height:1.6}.opening{min-height:100svh;color:var(--muted);background:#f7f8fa;justify-content:center;align-items:center;gap:15px;font-size:14px;display:flex}.opening>svg{width:35px;height:35px}.error{color:#873e2d;overflow-wrap:anywhere;background:#fbf1ee;border:1px solid #ecd7d0;border-radius:6px;margin:16px 0;padding:12px 15px;font-size:14px}.signin-scene{background:#f7f8fa;flex-direction:column;min-height:100svh;display:flex}.signin-header{background:#fff;border-bottom:1px solid #e8ecf0;justify-content:space-between;align-items:center;gap:20px;padding:29px 4.5%;display:flex}.private-label{letter-spacing:1.6px;color:var(--muted);font-size:12px}.signin-center{flex:1;justify-content:center;align-items:center;padding:65px 24px;display:flex}.signin-card{background:#fff;border:1px solid #e2e7ed;border-radius:10px;width:410px;max-width:100%;padding:36px 35px 0;box-shadow:0 12px 40px #243c5505}.signin-card>.kicker{color:var(--muted);font-size:12px}.signin-card h1{letter-spacing:-1px;margin:13px 0 10px;font-size:30px;font-weight:500;line-height:1.2}.signin-card>p{color:var(--muted);margin-bottom:28px;font-size:14px;line-height:1.7}.signin-card label{color:#586777;margin:19px 0 8px;font-size:14px;font-weight:500;display:block}.signin-card input{color:#263849;background:#fff;border:1px solid #dce3ea;border-radius:5px;width:100%;padding:12px 13px;font-size:14px;transition:border-color .15s;display:block}.signin-card input::placeholder{color:var(--muted)}.signin-card input:hover{border-color:#a5b5c3}.signin-card input:focus{border-color:#6c8eac}.signin-card input:-webkit-autofill{-webkit-text-fill-color:#263849;box-shadow:inset 0 0 0 100px #f5f8fb}.signin-card input:autofill{-webkit-text-fill-color:#263849;box-shadow:inset 0 0 0 100px #f5f8fb}.signin-button{color:#fff;background:#293b4e;border:1px solid #293b4e;border-radius:5px;justify-content:space-between;align-items:center;width:100%;margin:28px 0;padding:12px 14px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.signin-button:hover{background:#3a526b}.signin-button svg{width:17px;height:17px}.signin-help{text-align:center;color:var(--muted);border-top:1px solid #edf0f3;padding:19px 0;font-size:13px}.signin-footer{color:var(--muted);letter-spacing:.3px;justify-content:space-between;gap:15px;padding:24px 4.5%;font-size:13px;display:flex}.skip-link{z-index:100;color:#fff;background:#293b4e;border-radius:6px;padding:12px 18px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:12px}.observatory{background:#f7f8fa;min-height:100svh}.weather-surface{border-bottom:1px solid var(--line);background:#fff}.app-header{border-bottom:1px solid var(--line);align-items:center;gap:45px;max-width:1440px;margin:auto;padding:24px 4.5%;display:flex}.app-header nav{color:var(--muted);align-items:center;gap:27px;margin-left:15px;font-size:14px;display:flex}.app-header nav a{padding:6px 0;text-decoration:none;position:relative}.app-header nav a:hover{color:#283d51}.app-header nav a:first-child{color:#344d65}.app-header nav a:first-child:after{content:"";background:#3c5974;height:2px;position:absolute;bottom:-28px;left:0;right:0}.header-actions{align-items:center;gap:22px;margin-left:auto;display:flex}.study-pill{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.study-pill i{background:#a9b4be;border-radius:50%;width:5px;height:5px}.text-button{color:var(--muted);background:0 0;border:0;padding:6px 0;font-size:13px}.text-button:hover{color:#263c51}.desk-shell{max-width:1400px;margin:auto;padding:33px 4.5% 0}.desk-title{justify-content:space-between;align-items:center;gap:20px;margin-bottom:31px;display:flex}.desk-title .kicker{font-size:11px}.desk-title h1{letter-spacing:-.8px;margin-top:7px;font-size:27px;font-weight:500;line-height:1.3}.refresh-button{color:var(--muted);background:#fff;border:1px solid #e0e6ec;border-radius:5px;align-items:center;gap:8px;padding:8px 11px;font-size:13px;display:flex}.refresh-button svg{width:14px;height:14px}.refresh-button:hover{color:#3a5873;background:#f7f9fb}.desk-loading{color:var(--muted);padding:60px 0;font-size:14px}.location-selector{border-bottom:1px solid #dfe6ed;grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;display:grid}.location-tab{min-width:0;color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:9px;padding:13px 0 17px;display:flex;position:relative}.location-tab>span:last-child{font-size:14px;font-weight:600;line-height:1.4}.location-tab small{color:var(--muted);margin-top:5px;font-size:13px;font-weight:400;display:block}.location-tab:hover{color:var(--ink)}.location-tab.active{color:#2d4c68}.location-tab.active:after{content:"";background:#4b6f8e;height:2px;position:absolute;bottom:-1px;left:0;right:0}.location-tab.active small{color:var(--muted)}.location-pin{border:1px solid;border-radius:50%;flex-shrink:0;width:5px;height:5px}.active .location-pin{background:#5b7f9f;border-color:#5b7f9f}.location-hero{grid-template-columns:1.35fr 1fr;align-items:center;gap:65px;padding:37px 0 34px;display:grid}.location-caption{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.location-caption .kicker{letter-spacing:1.3px;color:var(--muted);font-size:11px}.coordinate{color:var(--muted);letter-spacing:.1px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px}.location-weather h2{letter-spacing:-1.5px;margin:13px 0 7px;font-size:41px;font-weight:400;line-height:1.2}.reference-name{color:var(--muted);font-size:13px}.weather-reading{align-items:center;gap:35px;margin:10px 0 19px;display:flex}.empty-temperature{letter-spacing:-6px;color:#334c62;font-size:100px;font-weight:400;line-height:1.2}.empty-temperature sup{vertical-align:super;letter-spacing:0;color:var(--muted);font-size:47px;font-weight:400}.awaiting-label{color:var(--muted);font-size:14px;font-weight:500}.weather-reading p{color:var(--muted);margin-top:8px;font-size:14px;line-height:1.8}.weather-details{border-top:1px solid #e9edf1;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-top:17px;display:grid}.weather-details>div>span{letter-spacing:.6px;color:var(--muted);white-space:normal;min-height:36px;font-size:12px;font-weight:600;display:block}.weather-details strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:8px;font-size:21px;font-weight:500;display:block}.weather-details small{color:var(--muted);font-size:13px;font-weight:400}.reference-plot{--logo-fill:#f9fbfc;background:#f9fbfc;border:1px solid #e9eef3;border-radius:7px;padding:21px 23px 16px}.plot-head{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.plot-head .kicker{letter-spacing:1.5px;color:var(--muted);font-size:11px}.north{font-size:13px}.reference-plot>svg{width:100%;height:auto;margin:6px 0;display:block}.plot-grid{color:var(--muted);opacity:.4}.plot-site{color:var(--muted)}.plot-halo{fill:#567d9f00;stroke:#a9bccb55;stroke-width:1px}.plot-dot{fill:#617c91;stroke:#f9fbfc;stroke-width:2px}.plot-site text{fill:currentColor;letter-spacing:0;font-size:12px;font-weight:500}.plot-site.is-selected{color:#375d7d}.is-selected .plot-dot{fill:#527ea3;stroke:#fff;stroke-width:1.5px}.is-selected .plot-halo{fill:#527ea30a;stroke:#527ea360}.is-selected text{font-weight:600}.plot-foot{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.plot-foot>span:first-child{align-items:center;gap:5px;display:flex}.plot-foot i{background:#527ea3;border-radius:50%;width:4px;height:4px}.content-shell{max-width:1400px;margin:auto;padding:28px 4.5% 0}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.section-heading h2{letter-spacing:-.65px;margin-top:5px;font-size:21px;font-weight:500;line-height:1.3}.section-heading .kicker{color:var(--muted);letter-spacing:1.4px;font-size:11px}.section-heading>p{color:var(--muted);font-size:13px}.neutral-tag{color:var(--muted);white-space:nowrap;background:#fbfcfd;border:1px solid #e0e6ec;border-radius:4px;padding:4px 7px;font-size:12px}.forecast-horizon{background:#fff;border:1px solid #e3e9ef;border-radius:7px;padding:25px 27px 17px}.empty-timeline{background:repeating-linear-gradient(90deg,#0000,#0000 calc(12.5% - 1px),#f0f4f7 12.5%),linear-gradient(#fcfdfe,#fff);border-block:1px solid #f0f3f6;justify-content:center;align-items:center;gap:18px;min-height:124px;padding:34px 20px;display:flex}.empty-timeline>svg{width:45px;height:40px;color:var(--muted);flex-shrink:0}.empty-timeline strong{color:var(--muted);font-size:14px;font-weight:500}.empty-timeline p{color:var(--muted);margin-top:7px;font-size:14px}.horizon-rule{color:var(--muted);letter-spacing:.6px;align-items:center;gap:15px;margin-top:18px;font-size:11px;font-weight:500;display:flex}.horizon-rule i{background:#edf1f5;flex:1;height:1px}.coverage-section{padding:32px 0 28px;scroll-margin-top:25px}.coverage-grid{background:#fff;border:1px solid #e2e8ee;border-radius:7px;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.coverage-site{text-align:left;color:var(--muted);background:#fff;border:0;min-width:0;padding:20px 20px 17px;transition:background .15s}.coverage-site+.coverage-site{border-left:1px solid #e9eef3}.coverage-site.chosen{background:#f4f8fb}.coverage-site:hover{background:#f0f5f9}.site-top{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;display:flex}.site-code{letter-spacing:1px;font-family:ui-monospace,monospace;font-size:12px}.site-top>svg{width:13px;height:13px}.coverage-site h3{letter-spacing:-.2px;color:var(--ink);min-height:18px;margin:17px 0;font-size:14px;font-weight:500}.elevation{align-items:center;gap:9px;display:flex}.elevation strong{letter-spacing:-.9px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:28px;font-weight:400}.elevation>span{color:var(--muted);font-size:12px;line-height:1.6}.station-label{color:var(--muted);white-space:normal;border-top:1px solid #edf1f4;align-items:center;gap:5px;margin-top:16px;padding-top:13px;font-size:12px;display:flex}.station-label i{background:#b9c3cc;border-radius:50%;flex-shrink:0;width:4px;height:4px}.station-label.has-station{color:var(--muted)}.has-station i{background:#7d9cb4}.coverage-note{color:var(--muted);margin-top:14px;font-size:14px;line-height:1.8}.comparison-section{border-top:1px solid #dfe6ed;border-bottom:1px solid #dfe6ed;grid-template-columns:1fr 1.2fr;gap:70px;padding:29px 0 33px;scroll-margin-top:25px;display:grid}.comparison-intro>.kicker{color:var(--muted);font-size:12px}.comparison-intro h2{color:var(--ink);margin:9px 0 14px;font-size:25px;font-weight:500}.comparison-intro>p{max-width:330px;color:var(--muted);font-size:14px;line-height:1.9}.credit-count{align-items:center;gap:15px;margin-top:22px;display:flex}.credit-count strong{letter-spacing:-1px;color:var(--muted);font-size:32px;font-weight:400;line-height:1}.credit-count span{color:var(--muted);font-size:12px;line-height:1.8}.comparison-detail{min-width:0}.provider-row{border-bottom:1px solid #e1e8ef;align-items:center;gap:12px;padding:14px 0;display:flex}.provider-row:first-child{padding-top:3px}.provider-symbol{width:31px;height:31px;color:var(--muted);background:#f5f8fb;border:1px solid #dfe7ee;border-radius:6px;flex-shrink:0;place-items:center;font-family:Georgia,serif;font-size:19px;font-style:italic;display:grid}.provider-row h3{letter-spacing:-.2px;color:var(--ink);font-size:14px;font-weight:500}.provider-row p{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-family:ui-monospace,monospace;font-size:12px}.provider-status{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.evidence-note{align-items:flex-start;gap:12px;margin-top:20px;display:flex}.evidence-note>span{color:var(--muted);font-size:17px;line-height:1.2}.evidence-note strong{color:var(--muted);font-size:13px;font-weight:500}.evidence-note p{color:var(--muted);max-width:380px;margin-top:4px;font-size:14px;line-height:1.8}.app-footer{color:var(--muted);--logo-fill:#f7f8fa;justify-content:space-between;align-items:flex-start;gap:24px;padding:25px 0 29px;display:flex}.app-footer>div{align-items:center;gap:23px;display:flex}.app-footer .brand{color:var(--muted)}.app-footer .brand>svg{width:26px;height:26px}.app-footer .brand>span{font-size:15px}.app-footer .brand small{display:none}.app-footer>div>span{color:var(--muted);border-left:1px solid #dbe3ea;padding-left:23px;font-size:12px}.system-status{min-width:150px;max-width:340px;font-size:13px}.system-status summary{cursor:pointer;color:var(--muted);align-items:center;gap:7px;padding:6px 0;list-style:none;display:flex}.system-status summary::-webkit-details-marker{display:none}.system-status summary>span{margin-left:auto;padding-left:15px}.health-dot{background:#ac9a7b;border-radius:50%;width:4px;height:4px;display:inline-block}.health-dot.healthy{background:#86a698}.system-status dl{background:#fff;border:1px solid #e0e8ee;border-radius:5px;margin:8px 0 0;padding:12px}.system-status dl>div{justify-content:space-between;gap:20px;margin:5px 0;display:flex}.system-status dt{color:var(--muted)}.system-status dd{color:var(--muted);overflow-wrap:anywhere;text-align:right;margin:0}@media (max-width:1100px){.app-header{gap:30px}.app-header nav{gap:24px;margin-left:0}.header-actions{gap:15px}.location-hero{gap:35px}.weather-details{gap:12px}.weather-details>div>span{letter-spacing:.6px;font-size:12px}.location-tab>span:last-child{font-size:14px}.location-selector{gap:15px}.coverage-site{padding:17px 15px}.coverage-site h3{font-size:14px}.comparison-section{gap:40px}}@media (max-width:820px){.app-header{flex-wrap:wrap;gap:10px;padding-top:20px;padding-bottom:18px}.app-header nav{border-top:1px solid #edf0f3;order:3;width:100%;margin-top:9px;padding-top:12px;font-size:13px}.app-header nav a:first-child:after{bottom:-19px}.desk-shell{padding-top:25px}.location-selector{scrollbar-width:thin;scrollbar-color:#b8c9d6 transparent;grid-template-columns:repeat(5,minmax(132px,1fr));gap:14px;overflow:auto hidden}.location-hero{grid-template-columns:1.1fr 1fr;gap:25px;padding:29px 0}.location-weather h2{font-size:33px}.location-caption{gap:8px}.coordinate{font-size:12px}.weather-reading{gap:19px}.empty-temperature{font-size:80px}.empty-temperature sup{font-size:39px}.awaiting-label,.weather-reading p{font-size:14px}.weather-details{grid-template-columns:1fr 1fr;row-gap:16px}.weather-details>div>span{font-size:12px}.weather-details strong{margin-top:5px;font-size:19px}.reference-plot{padding:17px}.plot-foot{flex-direction:column;align-items:flex-start;gap:5px}.coverage-grid{grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.coverage-site{border-bottom:1px solid #e9eef3;padding:18px}.coverage-site:nth-child(4){border-left:0}.coverage-site:nth-last-child(-n+2){border-bottom:0}.coverage-site h3{font-size:14px}.station-label{font-size:12px}.comparison-section{gap:30px}.app-footer>div{gap:17px}.app-footer>div>span{padding-left:17px}}@media (max-width:560px){.signin-header{padding:23px 24px}.brand>svg{width:30px;height:30px}.brand>span{font-size:18px}.brand small{letter-spacing:1.8px;font-size:10px}.private-label{letter-spacing:1px;font-size:12px}.signin-center{padding:40px 24px}.signin-card{padding:30px 26px 0}.signin-card h1{font-size:29px}.signin-card>p{margin-bottom:25px;font-size:14px}.signin-footer{padding:22px 24px;font-size:12px}.app-header{padding-inline:22px}.header-actions{gap:13px}.study-pill{font-size:12px}.text-button{font-size:13px}.app-header nav{gap:27px}.desk-shell{padding:25px 22px 0}.desk-title{align-items:flex-start;gap:15px;margin-bottom:21px}.desk-title .kicker{letter-spacing:1.2px;font-size:11px}.desk-title h1{margin-top:6px;font-size:24px}.refresh-button{margin-top:3px;padding:8px}.refresh-button>span{display:none}.location-selector{grid-template-columns:repeat(5,134px);gap:18px;margin-right:-22px;padding-right:18px}.location-tab{padding:14px 0}.location-tab>span:last-child{font-size:14px}.location-tab small{font-size:12px}.location-hero{grid-template-columns:1fr;gap:26px;padding:27px 0}.location-caption{justify-content:space-between}.location-caption .kicker{font-size:11px}.coordinate{font-size:12px}.location-weather h2{margin-top:12px;font-size:34px}.reference-name{font-size:13px}.weather-reading{gap:30px;margin:10px 0 18px}.empty-temperature{font-size:95px}.empty-temperature sup{font-size:44px}.awaiting-label,.weather-reading p{font-size:14px}.weather-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.weather-details>div>span{letter-spacing:.4px;white-space:normal;min-height:36px;font-size:12px}.weather-details strong{font-size:19px}.weather-details small{font-size:12px}.reference-plot{padding:18px 20px 15px}.reference-plot>svg{max-height:225px;margin:8px 0}.plot-foot{flex-direction:row;font-size:12px}.plot-site text{font-size:18px}.content-shell{padding:22px 22px 0}.forecast-horizon{padding:21px 19px 16px}.section-heading{align-items:flex-start;gap:13px;margin-bottom:20px}.section-heading h2{font-size:20px}.section-heading .kicker{letter-spacing:1.3px;font-size:11px}.section-heading>p{text-align:right;max-width:105px;padding-top:3px;font-size:12px;line-height:1.7}.neutral-tag{padding:4px 6px;font-size:12px}.empty-timeline{align-items:flex-start;gap:13px;padding:26px 8px}.empty-timeline>svg{width:32px;height:30px}.empty-timeline strong{font-size:14px;line-height:1.7;display:block}.empty-timeline p{font-size:14px;line-height:1.8}.horizon-rule{letter-spacing:.7px;gap:8px;font-size:12px}.coverage-section{padding-top:28px}.coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.coverage-site{padding:17px 14px}.coverage-site:nth-child(4){border-bottom:1px solid #e9eef3;border-left:1px solid #e9eef3}.coverage-site:nth-child(odd){border-left:0}.coverage-site:last-child{border-bottom:0}.coverage-site h3{margin:15px 0;font-size:14px}.site-code,.station-label{font-size:12px}.coverage-note{font-size:14px;line-height:1.9}.comparison-section{grid-template-columns:1fr;gap:26px;padding:26px 0 28px}.comparison-intro h2{font-size:25px}.comparison-intro>p{max-width:100%}.credit-count{margin-top:18px}.provider-row{padding-block:14px}.comparison-detail{background:#f0f4f7;border:1px solid #e3eaf0;border-radius:6px;padding:18px 16px}.provider-row h3{font-size:14px}.provider-status{font-size:12px}.evidence-note p{font-size:14px}.app-footer{flex-direction:column;gap:14px;padding-top:23px}.app-footer>div{justify-content:space-between;gap:10px;width:100%}.app-footer>div>span{padding-left:16px;font-size:12px}.app-footer .brand>span{font-size:15px}.system-status{width:100%;max-width:100%}.system-status summary>span{margin-left:0}.system-status dl{max-width:100%}}@media (max-width:350px){.plot-site text{font-size:22px}.app-header,.desk-shell,.content-shell{padding-inline:16px}.header-actions{gap:9px}.app-header .brand>span{font-size:16px}.app-header .brand>svg{width:26px;height:26px}.study-pill{font-size:12px}.location-selector{margin-right:-16px}.coordinate{font-size:12px}.signin-center{padding-inline:16px}.signin-card{padding-inline:23px}.signin-card h1{font-size:27px}.coverage-site{padding:15px 11px}.station-label{font-size:12px}}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
