@font-face{font-family:Manrope;src:url(fonts/font-latin-3.woff2) format('woff2');font-weight:200 800;font-display:swap}:root{--ink:#f0f5f2;--muted:#9db0ba;--mint:#a5ead7;--line:rgba(186,215,225,.14);--panel:rgba(12,27,38,.88);--font:Manrope,Arial,sans-serif;color-scheme:dark;font-family:var(--font);background:#081823;color:var(--ink)}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{color:inherit;cursor:pointer;border:0;background:none}button:disabled{opacity:.4;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:4px}button:hover{color:var(--mint)}a{color:var(--mint)}button svg,svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.glass{background:var(--panel);border:1px solid var(--line);box-shadow:0 12px 50px #0003;backdrop-filter:blur(24px)}#atlas,#map,#weather-field,#wind-particles,#map-labels,.map-vignette{position:absolute;inset:0;width:100%;height:100%}#atlas{height:100dvh;overflow:hidden}#weather-field,#wind-particles,#map-labels,.map-vignette{pointer-events:none}#weather-field{opacity:.78;mix-blend-mode:screen}#wind-particles{opacity:.8}.map-vignette{background:linear-gradient(90deg,#07151f55,transparent 36%),linear-gradient(0deg,#07131b99,transparent 24%,transparent 83%,#07131bdd);z-index:3}#map-labels{z-index:2;overflow:hidden}.country-label,.city-label{position:absolute;white-space:nowrap;transform:translate(-50%,-50%);text-shadow:0 2px 4px #071823,0 0 8px #071823;font-size:10px;color:#d7e4e3bb;letter-spacing:2px;text-transform:uppercase}.city-label{font-size:10px;letter-spacing:.3px;text-transform:none;color:#f2f7f5}.city-label:before{content:'';display:inline-block;width:3px;height:3px;border-radius:100%;background:#e4efe7;margin-right:5px;vertical-align:middle}.topbar{position:absolute;inset:0 0 auto;z-index:10;height:92px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:22px;letter-spacing:-1.1px;white-space:nowrap;font-weight:650}.brand b{font-weight:400;color:#abc4c5}.brand small{display:block;font-size:7px;letter-spacing:2.1px;margin-top:5px;color:var(--muted);font-weight:500}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid #b7e7d94d;border-radius:50%;color:var(--mint);padding:8px}.brand-mark svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.search-launch{width:320px;height:44px;display:flex;align-items:center;gap:12px;padding:0 16px;border-radius:30px;color:#c0ced3;font-size:11px;text-align:left}.search-launch svg{width:16px;height:16px}.search-launch kbd{margin-left:auto;font-size:10px;border:1px solid var(--line);border-radius:5px;padding:3px 5px;color:#a5b9c0}.top-actions{display:flex;align-items:center;gap:12px}.round{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:24px}.live-status{font-size:9px;color:#acc5c3;margin-right:8px;white-space:nowrap}.live-status i,.eyebrow i,.model-footer i{display:inline-block;width:5px;height:5px;border-radius:100%;background:var(--mint);box-shadow:0 0 8px #98e5d455;margin-right:7px}.live-status.stale{color:#e3b88c}.live-status.stale i{background:#e3b88c}.intro{position:absolute;top:112px;left:34px;z-index:5}.eyebrow{font-size:8px;font-weight:600;letter-spacing:1.7px;color:#acc9cb}.intro h1{font-weight:450;font-size:56px;line-height:1.06;letter-spacing:-3px;margin:18px 0 12px}.intro h1 em{font-family:Georgia,serif;font-weight:400;color:var(--mint)}.intro p{font-size:10px;color:#a7bec7;margin:0}.forecast{position:absolute;left:32px;top:325px;width:282px;border-radius:20px;padding:17px 20px 0;z-index:6}.forecast-top{display:flex;align-items:center;height:20px;gap:6px}.forecast-top .eyebrow{margin-right:auto;font-size:7px}.icon-button{width:28px;height:28px;padding:4px;display:grid;place-items:center;font-size:21px}.location-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px}.location-title h2{font-size:23px;letter-spacing:-.8px;font-weight:550;margin:3px 0}.location-title svg{width:17px;height:17px;color:#9fbdc4}.condition-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.temperature{font-size:59px;line-height:1;letter-spacing:-4px;font-weight:450}.temperature sup{font-size:27px;vertical-align:top;position:relative;top:5px;color:#adcbc9;font-weight:400;letter-spacing:-1px}.condition{font-size:11px;margin-top:7px;color:#cedad9}.weather-art{width:90px;height:72px;position:relative;opacity:.9}.sun{position:absolute;right:15px;top:1px;width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f7efca,#e7c886);box-shadow:0 0 30px #f6daab24}.cloud{position:absolute;bottom:12px;left:0;width:72px;height:23px;border-radius:30px;background:linear-gradient(170deg,#c6ddde,#6d939e);filter:drop-shadow(0 8px 7px #0004)}.cloud:before,.cloud:after{content:'';position:absolute;border-radius:50%;background:linear-gradient(155deg,#cee0e2,#8caab2)}.cloud:before{width:34px;height:34px;left:13px;top:-16px}.cloud:after{width:25px;height:25px;left:37px;top:-7px}.weather-art.clear .cloud{opacity:.3;transform:translateY(8px) scale(.7)}.weather-art.rain .sun{opacity:.18}.weather-art.rain:after{content:'╱ ╱ ╱';color:#87cddd;position:absolute;bottom:-2px;left:18px;font-size:15px}.point-valid{font-size:8px;color:#91a9b6;margin:12px 0 16px}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:13px 0;border-block:1px solid var(--line)}.metrics span{display:block;font-size:8px;color:#8ea8b5;margin-bottom:6px}.metrics strong{font-size:12px;font-weight:500;white-space:nowrap}.metrics strong small{font-size:8px;color:#9cb3bd}.metrics b{color:#b3d7cf;font-weight:400}.mini-chart-wrap{margin-top:17px}.section-label{display:flex;justify-content:space-between;color:#adc4ca;font-size:7px;letter-spacing:1px}.section-label span+span{color:#7f9aa8;letter-spacing:0}.mini-chart-wrap svg{width:100%;height:66px;overflow:visible;margin:8px 0 0}.chart-hours{display:flex;justify-content:space-between;color:#86a1ad;font-size:8px}.forecast-more{border:1px solid #a3ddce40;border-radius:10px;background:#a3ddce0a;width:100%;display:flex;justify-content:space-between;align-items:center;margin:16px 0 14px;padding:12px 13px;font-size:10px;color:#c9ebe2}.model-footer{font-size:7px;text-align:center;color:#849da8;margin:0 -20px;border-top:1px solid var(--line);padding:11px 6px}.model-footer i{width:3px;height:3px}.map-context{position:absolute;right:135px;top:120px;z-index:5;text-align:right}.map-context .eyebrow{font-size:7px;color:#97b7c6}.map-context h2{font-size:33px;font-weight:400;letter-spacing:-1.5px;margin:4px 0}.map-context>span:last-child{font-size:9px;color:#a1bac7}.layer-rail{position:absolute;right:27px;top:113px;z-index:8;width:70px;border-radius:20px;padding:7px;display:flex;flex-direction:column;gap:4px;max-height:calc(100dvh - 285px);overflow:auto;scrollbar-width:none}.layer-button{display:flex;flex-direction:column;align-items:center;gap:6px;border-radius:13px;padding:11px 2px 9px;font-size:7px;letter-spacing:.2px;color:#92adb9;min-height:57px;flex-shrink:0}.layer-button svg{width:21px;height:21px}.layer-button.active{color:#c2f2e3;background:#a0e7d51c;box-shadow:inset 0 0 0 1px #b7f2df25}.layer-button:hover{background:#a0e7d510}.rail-divider{height:1px;background:var(--line);margin:5px 8px;flex-shrink:0}.map-tools{position:absolute;right:41px;bottom:164px;z-index:5;border-radius:20px;width:40px;padding:3px 0;display:flex;flex-direction:column;align-items:center}.map-tools button{height:35px;width:35px;font-size:22px;display:grid;place-items:center}.map-tools span{width:17px;height:1px;background:var(--line)}.legend{position:absolute;right:27px;bottom:61px;width:172px;z-index:5;border-radius:13px;padding:13px 14px;background:#0c1b26ba}.legend>div:first-child{display:flex;justify-content:space-between;font-size:8px;margin-bottom:10px}.legend strong{font-weight:500;color:#c3d7db}.legend span{color:#91acb9}#legend-gradient{height:4px;border-radius:8px}#legend-ticks{display:flex;justify-content:space-between;font-size:7px;color:#aec4cb;margin-top:5px}.timeline{position:absolute;bottom:60px;left:348px;right:220px;z-index:5;border-radius:17px;padding:16px 20px 13px}.timeline-heading{display:flex;align-items:center;gap:12px}.play{width:32px;height:32px;border:1px solid #abd6ce50;border-radius:50%;font-size:10px;padding-left:8px;flex-shrink:0;background:#9addce12}.timeline-heading>div{min-width:0}.timeline-heading strong{display:block;font-size:11px;letter-spacing:-.1px;white-space:nowrap}.timeline-heading>div>span{display:block;font-size:7px;color:#8faab8;margin-top:4px}.now-button{font-size:8px;color:#c1e6dc;border:1px solid var(--line);border-radius:15px;padding:4px 10px;margin-left:auto}.level-label{border-left:1px solid var(--line);padding-left:12px}.level-label>span{display:block;font-size:6px;letter-spacing:1px;color:#91aab7;margin-bottom:3px}select{color:#cedfe2;background:#10232e;border:1px solid var(--line);border-radius:6px;padding:6px;font-size:10px;max-width:100%}.level-label select{border:0;padding:0;background:transparent;max-width:84px;font-size:9px}input[type=range]{accent-color:var(--mint);height:3px;width:100%;cursor:pointer}.timeline>input{display:block;margin:20px 0 13px;appearance:none;background:#8cb5bc42;border-radius:10px}.timeline>input::-webkit-slider-thumb{appearance:none;width:10px;height:10px;border-radius:100%;background:#c2efdf;box-shadow:0 0 12px #b4eddf77}.day-tabs{display:flex;justify-content:space-between;gap:4px}.day-tabs button{font-size:8px;color:#a8bec7;padding:3px 0}.day-tabs button.active{color:#d8f5eb}.map-footer{position:absolute;bottom:0;left:0;right:0;padding:15px 32px;display:flex;gap:25px;align-items:center;z-index:5;font-size:7px;color:#6f8d9c;letter-spacing:.3px}.map-footer button{padding:0;color:#a8c1ca;font-size:8px}.edition{margin-left:auto;letter-spacing:1.8px;font-size:6px}.pin{width:18px;height:18px;border:2px solid #e2fff3;border-radius:100%;background:#84d7c4;box-shadow:0 0 0 6px #b6eddb20,0 0 30px #9ae5d766}.pin:after{content:'';position:absolute;inset:3px;border-radius:100%;background:#fff}.loading-chip{position:absolute;left:50%;top:95px;transform:translateX(-50%);z-index:12;background:#112832;border:1px solid #b8ddcc30;border-radius:20px;padding:10px 15px;font-size:9px;color:#b1dacd}.loading-chip i{display:inline-block;width:7px;height:7px;border:1px solid #a3dbc6;border-right-color:transparent;border-radius:50%;margin-right:5px;animation:spin 1s linear infinite}.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100;background:#d7f4e9;color:#12352c;box-shadow:0 12px 40px #0005;padding:12px 20px;border-radius:12px;font-size:11px;max-width:min(500px,90vw)}.boot{position:fixed;inset:0;background:#091923;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,visibility .6s}.boot.done{opacity:0;visibility:hidden;pointer-events:none}.boot h1{font-size:24px;font-weight:550;letter-spacing:-1px;margin:28px 0 12px}.boot h1 span{font-weight:400;color:#a5c7c4}.boot p{font-size:10px;color:#a0b9c4;letter-spacing:1.5px}.boot-orbit{width:90px;height:90px;position:relative;display:grid;place-items:center}.boot-orbit span{font:italic 35px Georgia,serif;color:#b5e7d8}.boot-orbit i{position:absolute;inset:0;border:1px solid #9ed7ca32;border-top-color:#a9e3cd;border-radius:50%;animation:spin 5s linear infinite}.boot-orbit i:nth-child(2){inset:10px;animation-direction:reverse;animation-duration:3s}.boot-orbit i:nth-child(3){inset:-10px;border-style:dashed;opacity:.3;animation-duration:15s}.boot-line{width:90px;height:1px;background:#729c9b30;margin-top:22px;overflow:hidden}.boot-line:after{content:'';display:block;width:30px;height:100%;background:#b5e7d8;animation:load 2s ease-in-out infinite}.skip{position:fixed;top:-100px;z-index:2000;background:#fff;color:#000;padding:10px}.skip:focus{top:8px}.mobile-only{display:none}.no-js{position:fixed;inset:10%;z-index:2000;background:#152c37;padding:50px}
dialog{color:var(--ink);background:linear-gradient(145deg,#142c38,#0d1e29);border:1px solid #8ab6bf30;border-radius:24px;box-shadow:0 40px 100px #0009;padding:26px;max-height:88dvh;overflow:auto;width:min(550px,calc(100vw - 32px));scrollbar-width:thin;scrollbar-color:#5b7e86 #11232e}dialog::backdrop{background:#030c14aa;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .25s ease-out}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.dialog-top button{border:1px solid var(--line);border-radius:50%;width:28px;height:28px;font-size:20px;color:#adc9d0}.search-dialog{align-self:start;margin-top:14vh;padding:22px}.search-input-wrap{display:flex;align-items:center;gap:15px;border-bottom:1px solid #98d1c250;padding:4px 0 16px}.search-input-wrap svg{width:23px;height:23px;fill:none;stroke:#b7d4d1;stroke-width:1.5}.search-input-wrap input{width:100%;background:none;border:0;font-size:17px;color:var(--ink);outline:none}.search-input-wrap input::placeholder{color:#6e8c9c;font-size:13px}.search-hint{font-size:9px;color:#7798a8;padding:14px 0}.search-results{display:flex;flex-direction:column;gap:3px}.search-results button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border-radius:10px;text-align:left}.search-results button:hover{background:#a7daca12}.search-results strong{display:block;font-size:13px;font-weight:500}.search-results small{display:block;font-size:10px;color:#85a2b0;margin-top:3px}.search-results span:last-child{font-size:10px;color:#8cc6b8}.empty{padding:30px 0;color:#93adba;font-size:12px;line-height:1.8}.details-dialog{width:min(920px,calc(100vw - 32px));padding:32px}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.detail-heading p{font-size:8px;letter-spacing:2px;color:#9cbdbf;margin:0 0 8px}.detail-heading h2{font-size:42px;letter-spacing:-2px;font-weight:450;margin:0 0 24px}.pill{border:1px solid #9bd1c23d;border-radius:30px;padding:11px 16px;font-size:10px;color:#bfddda;background:#99d4c60a}.detail-tabs{display:flex;gap:28px;border-bottom:1px solid var(--line);margin:0 0 25px;overflow:auto;white-space:nowrap}.detail-tabs button{font-size:10px;color:#8cabb8;padding:12px 0}.detail-tabs button.selected{color:#b7e8d8;border-bottom:2px solid #aee5d2}.muted{color:#98b1bd;font-size:12px;line-height:1.8}.settings-dialog h2,.sources-dialog h2{font-size:29px;font-weight:450;letter-spacing:-1px;margin:0 0 8px}.setting{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:19px 0;font-size:12px}.setting input[type=range]{width:140px}.setting input[type=checkbox]{accent-color:var(--mint);width:17px;height:17px}.source-note{font-size:10px;color:#97b1bd;line-height:1.8;border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0 22px}.source-card{padding:22px 0;border-bottom:1px solid var(--line)}.source-card h3{font-size:15px;margin:0 0 10px;font-weight:550}.source-card p{font-size:11px;line-height:1.9;color:#a9bfc7;margin:7px 0}.source-card a{font-size:10px}.source-badge{font-size:8px;color:#a9d9c9;display:inline-block;padding:4px 7px;background:#a9d9c910;border:1px solid #a9d9c920;border-radius:6px;margin-bottom:10px}.daily-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.day-card{padding:17px;border:1px solid var(--line);border-radius:15px;background:#c9e6dd04}.day-card h3{font-size:11px;margin:0 0 18px;color:#bdd9d7}.day-card strong{font-size:28px;font-weight:450;letter-spacing:-1px}.day-card strong small{font-size:16px;color:#81a2b1}.day-card p{font-size:9px;color:#93adba;line-height:1.8;margin:10px 0 0}.briefing{border-left:2px solid #9bdfcd;padding:8px 20px;margin:24px 0;background:linear-gradient(90deg,#a9dfce08,transparent)}.briefing h3{font-size:15px;font-weight:500;margin:5px 0 10px}.briefing p{font-size:12px;line-height:1.8;color:#abc2c8}.forecast-table-wrap{overflow:auto}.forecast-table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}.forecast-table th{text-align:left;color:#91adb9;font-weight:400;font-size:9px;padding:12px 10px;border-bottom:1px solid var(--line)}.forecast-table td{padding:12px 10px;border-bottom:1px solid #a5c9d111}.forecast-table tr:hover{background:#a4dece08}.window-controls{display:flex;gap:12px;align-items:center;margin-bottom:20px;font-size:12px}.window-card{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #a7dbcc22;background:#a7dbcc08;border-radius:12px;padding:15px 18px;margin:10px 0;font-size:12px}.window-card small{display:block;color:#a2bdc5;margin-top:6px;font-size:10px}.window-card>span{color:#b8e1d1;font-size:9px}.detail-loading{padding:40px;text-align:center;color:#a5c0c8;font-size:12px}.maplibregl-ctrl-attrib{display:none}.maplibregl-canvas:focus{outline:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes load{from{transform:translateX(-30px)}to{transform:translateX(90px)}}@keyframes dialog-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-height:950px){.intro{top:145px}.intro h1{font-size:68px}.forecast{top:390px}.layer-rail{top:145px}.map-context{top:150px}}@media(max-height:850px) and (min-width:901px){.intro{top:105px}.intro h1{font-size:42px;margin:10px 0}.intro p{display:none}.forecast{top:235px;width:266px;padding-top:14px}.temperature{font-size:49px}.condition-row{margin-top:7px}.mini-chart-wrap{margin-top:13px}.mini-chart-wrap svg{height:44px}.forecast-more{padding:10px;margin-top:12px}.timeline{left:326px}.layer-button{min-height:50px;padding:8px 2px}.layer-rail{max-height:calc(100dvh - 270px)}}@media(max-width:1150px){.topbar{gap:20px;padding:0 25px}.live-status{display:none}.search-launch{width:280px}.timeline{left:332px;right:125px}.legend{right:121px;bottom:198px;width:150px}.map-context{right:120px}.intro{left:28px}.forecast{left:25px;width:274px}.timeline-heading{gap:8px}.level-label{padding-left:7px}.timeline-heading strong{font-size:10px}.map-tools{bottom:65px}.layer-rail{max-height:calc(100dvh - 240px)}}@media(max-width:900px){.topbar{padding:0 20px;height:80px;gap:16px}.brand{font-size:20px}.brand small{font-size:6px}.search-launch{width:230px;font-size:10px}.search-launch kbd{display:none}.top-actions{gap:8px}.intro{top:101px;left:24px}.intro h1{font-size:43px}.intro p{display:none}.intro .eyebrow{font-size:6px}.forecast{left:22px;top:250px;width:252px;padding:14px 17px 0}.location-title h2{font-size:20px}.temperature{font-size:49px}.forecast-more{padding:10px}.mini-chart-wrap svg{height:48px}.model-footer{margin-inline:-17px}.map-context{right:102px;top:108px}.map-context h2{font-size:27px}.map-context>span:last-child{max-width:170px;display:block;line-height:1.6}.layer-rail{right:20px;width:62px;top:100px;max-height:calc(100dvh - 225px);padding:5px}.layer-button{min-height:48px;padding:7px 0;gap:4px}.layer-button svg{width:19px;height:19px}.map-tools{right:31px;bottom:54px}.legend{right:100px;bottom:211px}.timeline{left:295px;right:99px;bottom:58px;padding:13px}.timeline-heading>div>span{font-size:6px}.timeline-heading{gap:7px}.timeline-heading strong{font-size:9px}.level-label{display:none}.now-button{font-size:7px;padding:4px 7px}.day-tabs button{font-size:7px}.map-footer{padding:15px 23px}.edition{display:none}}@media(max-width:650px){.topbar{height:72px;padding:0 17px;gap:12px}.brand{font-size:19px;gap:8px;flex:1}.brand-mark{width:31px;height:31px;padding:6px}.brand small{font-size:5.5px;letter-spacing:1.7px}.top-actions{gap:8px}.round{width:33px;height:33px}.round svg{width:17px;height:17px}.search-launch{width:33px;height:33px;border-radius:50%;padding:0;display:grid;place-items:center;order:2;flex-shrink:0}.search-launch span,.search-launch kbd{display:none}.top-actions{order:3}.top-actions #saved-open{display:none}.intro{top:91px;left:20px}.intro .eyebrow{font-size:6px;letter-spacing:1.4px}.intro h1{font-size:39px;letter-spacing:-2px;line-height:1.07;margin-top:12px}.map-context{top:93px;right:85px}.map-context .eyebrow{font-size:5px;letter-spacing:1.2px}.map-context h2{font-size:24px;margin-top:7px}.map-context>span:last-child{display:none}.layer-rail{right:13px;top:90px;width:54px;border-radius:16px;padding:4px;max-height:calc(100dvh - 390px);min-height:180px}.layer-button{font-size:6px;min-height:46px;border-radius:10px}.layer-button svg{width:17px;height:17px}.forecast{left:14px;right:14px;top:auto;bottom:151px;width:auto;border-radius:17px;padding:13px 16px 0}.forecast-top{height:14px}.forecast-top .eyebrow{font-size:6px}.forecast-top .icon-button{width:24px;height:24px;font-size:20px}.mobile-only{display:grid}.location-title{margin-top:2px}.location-title h2{font-size:20px;margin:3px 0}.location-title #locate{margin-right:58px}.condition-row{position:absolute;top:27px;right:19px;margin:0}.temperature{font-size:40px;letter-spacing:-2px}.temperature sup{font-size:18px;top:3px}.condition{font-size:8px;margin-top:2px;max-width:90px;text-align:right}.weather-art{display:none}.point-valid{font-size:7px;margin:9px 0 11px;max-width:65%}.metrics{padding:10px 0;border-bottom:0;gap:20px}.metrics span{font-size:7px;margin-bottom:4px}.metrics strong{font-size:11px}.mini-chart-wrap,.model-footer,.forecast-more{display:none}.forecast.expanded .mini-chart-wrap,.forecast.expanded .model-footer,.forecast.expanded .forecast-more{display:block}.forecast.expanded .forecast-more{display:flex}.forecast.expanded .mini-chart-wrap svg{height:58px}.forecast.expanded .model-footer{margin-inline:-16px}.timeline{left:14px;right:14px;bottom:34px;padding:12px 14px 10px;border-radius:15px}.timeline-heading strong{font-size:10px}.timeline-heading>div>span{font-size:6px}.timeline-heading .play{width:28px;height:28px}.level-label{display:block;padding-left:7px;margin-left:6px}.level-label span{font-size:5px}.level-label select{font-size:8px;width:65px}.now-button{margin-left:auto}.timeline>input{margin:14px 0 10px}.day-tabs button{font-size:7px}.map-tools{right:18px;bottom:350px;width:35px;border-radius:17px}.map-tools button{height:30px;width:30px;font-size:20px}.map-tools button svg{width:17px;height:17px}.legend{left:19px;right:auto;bottom:347px;width:143px;padding:10px 12px;background:#0b202bd9}.legend>div:first-child{font-size:7px;margin-bottom:7px}#legend-ticks{font-size:6px}.map-footer{padding:10px 17px;font-size:6px;gap:14px}.map-footer button{font-size:6px}.loading-chip{top:77px;font-size:8px}.city-label{font-size:8px}.country-label{font-size:8px;letter-spacing:1.5px}.details-dialog{padding:21px}.detail-heading h2{font-size:30px;letter-spacing:-1px}.detail-heading .pill{font-size:8px;padding:9px 11px}.detail-tabs{gap:20px}.detail-tabs button{font-size:9px}.daily-grid{grid-template-columns:repeat(2,1fr)}.search-dialog{margin-top:10vh}.search-input-wrap input{font-size:14px}.search-input-wrap input::placeholder{font-size:10px}.settings-dialog h2,.sources-dialog h2{font-size:25px}.window-card{align-items:flex-start;font-size:10px}.window-card small{font-size:9px}.window-card>span{font-size:8px;white-space:nowrap}.setting{font-size:11px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

@media(min-width:651px) and (max-width:1150px){.layer-rail{max-height:calc(100dvh - 300px)}}
.map-context{text-shadow:0 2px 12px #00121ddd}.intro{text-shadow:0 2px 20px #00121d66}@media(max-width:650px){.map-tools{left:180px;right:auto;bottom:348px;width:108px;height:35px;flex-direction:row;justify-content:center;border-radius:20px;padding:0}.map-tools span{height:15px;width:1px}.map-tools button{height:32px;width:33px}.forecast-top .eyebrow{font-size:7px}.point-valid{font-size:8px}.metrics span{font-size:8px}.metrics strong{font-size:12px}.timeline-heading>div>span{font-size:7px}.day-tabs button{font-size:8px}}
.compare-controls{display:flex;justify-content:space-between;align-items:center;gap:20px}.compare-key{display:flex;gap:20px;font-size:10px;color:#b5cbd0}.compare-key i{display:inline-block;width:16px;height:2px;background:#a6e6d2;vertical-align:middle;margin-right:6px}.compare-key span+span i{background:#c4acfa}.compare-controls button{font-size:10px;color:#8cabb8;padding:8px 12px;border:1px solid transparent;border-radius:20px}.compare-controls button.selected{border-color:#a7ddcb33;background:#a7ddcb0b;color:#c3e6db}.comparison-chart{width:100%;height:auto;margin-top:20px;overflow:visible}.comparison-dates{display:flex;justify-content:space-between;font-size:9px;color:#8ba7b4;margin:0 25px 0 42px}.model-runs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.model-runs>div{padding:16px;border:1px solid var(--line);border-radius:12px}.model-runs strong{font-size:12px;font-weight:500;display:block;color:#badfcf}.model-runs>div+div strong{color:#cbb6f2}.model-runs span{display:block;font-size:10px;color:#92adba;line-height:1.8;margin-top:8px}.solar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:20px;border-top:1px solid var(--line);margin-top:20px}.solar-grid span{font-size:7px;color:#91aeba;letter-spacing:.6px;display:block}.solar-grid strong{font-size:26px;font-weight:400;letter-spacing:-1px;display:block;margin-top:10px}.solar-grid small{font-size:15px}.weather-art.night .sun{background:radial-gradient(circle at 25% 30%,#e1eff2,#7c9fab);box-shadow:0 0 30px #c6e9ef14}.weather-art.night .sun:after{content:'';position:absolute;top:-4px;left:14px;width:35px;height:35px;border-radius:50%;background:#102631}.weather-art.night.rain .sun{opacity:.15}@media(max-width:650px){.compare-controls{align-items:flex-start;gap:15px;flex-direction:column}.compare-key{font-size:9px}.compare-controls button{font-size:9px;padding:7px 10px}.solar-grid{grid-template-columns:1fr 1fr;gap:24px}.solar-grid strong{font-size:24px}.model-runs span{font-size:9px}.model-runs>div{padding:12px}.comparison-dates{margin:0;font-size:8px}}
.specialist-point{padding:11px 0;border-top:1px solid var(--line)}.specialist-point>span{font-size:7px;letter-spacing:1px;color:#90b0bf}.specialist-point strong{font-size:17px;font-weight:450;display:block;color:#bddfd8;margin:5px 0}.specialist-point small{font-size:8px;line-height:1.6;color:#96afbc;display:block}.specialist-point:not(:has(strong)){font-size:10px;line-height:1.6;color:#b0c6cb}#map-credits{font-size:7px;letter-spacing:0;margin-left:10px}#map-credits a{color:#a8c4cd}@media(max-width:650px){.specialist-point{padding:8px 0}.specialist-point strong{font-size:14px;display:inline;margin-left:10px}.specialist-point small{font-size:7px;margin-top:4px}.forecast:has(.specialist-point:not([hidden])) .point-valid{margin-bottom:8px}.map-footer .edition{display:none}#map-credits{font-size:6px;margin-left:auto}}
/* Keep detailed specialist readings reachable on shorter screens. */
@media(min-width:651px){.forecast{max-height:calc(100dvh - 355px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#42606b transparent}}
@media(min-height:950px) and (min-width:651px){.forecast{max-height:calc(100dvh - 420px)}}
@media(max-height:850px) and (min-width:901px){.forecast{max-height:calc(100dvh - 265px)}}
@media(max-width:900px) and (min-width:651px){.forecast{max-height:calc(100dvh - 280px)}}
@media(max-width:650px){.forecast.expanded{max-height:calc(100dvh - 240px);overflow-y:auto;scrollbar-width:thin}}
/* Map-first presentation: text is available on demand, never across the atlas. */
.intro,.map-context,.brand>span:last-child,.live-status,.search-launch span,.search-launch kbd,.layer-button>span,.legend>div:first-child strong,.map-footer>#coords,.map-footer>.edition,.timeline-heading>div>span,.level-label>span{display:none!important}
.topbar{height:76px;padding:0 22px;justify-content:flex-start;gap:10px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{gap:0}.brand-mark{width:38px;height:38px;background:#0b202bcc}.search-launch{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;padding:0;flex-shrink:0}.search-launch svg{width:17px;height:17px}.top-actions{margin-left:auto;gap:9px}.top-actions>.round{background:#0b202bcc;width:38px;height:38px}.forecast{display:none;top:88px;left:22px;bottom:auto;width:282px;max-height:calc(100dvh - 245px);overflow:auto}.forecast.is-open{display:block}.forecast-top #forecast-close{order:5;font-size:23px}.forecast-top #save-place{order:4}.layer-rail{right:20px;top:90px;width:50px;padding:4px;border-radius:18px;max-height:calc(100dvh - 270px);min-height:0;scrollbar-width:none}.layer-button{min-height:42px;padding:9px 0;gap:0}.layer-button svg{width:20px;height:20px}.rail-divider{margin:5px 4px}.map-tools{left:auto;right:25px;bottom:47px;width:40px;height:auto;flex-direction:column;padding:3px;border-radius:20px}.map-tools button{width:32px;height:31px}.map-tools span{width:19px;height:1px}.timeline{left:50%;right:auto;bottom:35px;transform:translateX(-50%);width:min(620px,calc(100vw - 210px));padding:12px 18px;border-radius:18px}.timeline-heading{gap:10px}.timeline-heading strong{font-size:11px;font-variant-numeric:tabular-nums}.timeline-heading .play{width:29px;height:29px}.timeline>input{margin:12px 0 9px}.day-tabs button{font-size:8px}.level-label{display:block;padding-left:8px;margin-left:4px}.level-label select{font-size:9px}.now-button{font-size:8px}.legend{left:22px;right:auto;bottom:48px;width:128px;padding:9px 10px;border-radius:12px}.legend>div:first-child{justify-content:flex-end;font-size:8px;margin-bottom:5px}#legend-ticks{font-size:6px}.map-footer{padding:8px 22px;gap:10px}.map-footer #sources-open{font-size:17px;line-height:17px}#map-credits{font-size:9px}.map-vignette{background:linear-gradient(0deg,#07131b66,transparent 20%,transparent 90%,#07131b66)}
@media(min-width:651px) and (max-width:1000px){.timeline{width:calc(100vw - 260px);left:calc(50% + 42px)}}
@media(max-width:650px){.topbar{height:65px;padding:0 14px;gap:8px}.brand-mark,.search-launch,.top-actions>.round{width:34px;height:34px}.search-launch{order:0}.top-actions{order:0;gap:8px}.layer-rail{right:13px;top:78px;width:46px;max-height:calc(100dvh - 270px)}.layer-button{min-height:40px}.layer-button svg{width:19px;height:19px}.timeline{left:14px;right:14px;transform:none;bottom:30px;width:auto;padding:11px 13px}.timeline-heading strong{font-size:10px}.timeline-heading>div{min-width:0}.legend{left:15px;bottom:155px;width:123px}.map-tools{right:15px;left:auto;bottom:155px;width:108px;height:34px;flex-direction:row;padding:0}.map-tools button{width:33px;height:32px}.map-tools span{width:1px;height:15px}.forecast,.forecast.expanded{top:76px;left:14px;right:74px;bottom:auto;width:auto;max-height:calc(100dvh - 285px);padding:13px 16px 0}.forecast .condition-row{position:static;justify-content:space-between;margin-top:8px}.forecast .temperature{font-size:45px}.forecast .temperature sup{font-size:22px}.forecast .condition{text-align:left;max-width:none}.forecast .location-title #locate{margin-right:0}.forecast .point-valid{max-width:none}.forecast .mini-chart-wrap{display:none}.forecast .forecast-more{display:flex}.forecast .model-footer{display:block}.forecast #forecast-toggle{display:none}.forecast .weather-art{display:block;transform:scale(.8);transform-origin:right center}.forecast .metrics{gap:8px}.map-footer{padding:7px 15px}.loading-chip{top:72px}}
.warning-notice{border-left:2px solid #dcbd88;background:#dcbd880a;padding:15px 18px;font-size:12px;line-height:1.8;color:#dbc7a9;margin:16px 0}.warning-card{border:1px solid #dabb8333;border-radius:14px;padding:20px;margin:15px 0}.warning-card h3{font-size:17px}.warning-card p{font-size:12px;line-height:1.8;white-space:pre-line;color:#bdced0}.warning-card a{font-size:11px}#warnings-open{margin:0 8px 10px 0}
/* Spectrum follows physical values; neutral geography keeps wet and dry areas distinct. */
#weather-field{mix-blend-mode:normal}.legend{width:160px;bottom:148px;background:rgba(20,25,32,.9);border-color:#d1c5a62e}.legend #legend-gradient{height:7px;border-radius:5px}#legend-ticks{display:block;position:relative;height:9px;margin-top:5px}#legend-ticks span{position:absolute;transform:translateX(-50%);font-size:6px;color:#dfded0}.layer-button.active{background:linear-gradient(135deg,#bfe9a129,#d8bd8a19);border-color:#d9eab549}.glass{background:rgba(18,26,34,.88)}.pin{box-shadow:0 0 0 6px #f5f3cf18,0 0 25px #fbefb454}
@media(max-width:650px){.legend{width:145px;bottom:155px}}

/* Geographic names remain above every weather layer, with collision-aware density. */
#map-labels{z-index:4}.city-label{font-size:11px;font-weight:650;letter-spacing:.1px;color:#fff;line-height:18px;text-shadow:-1px -1px 1px #101922,1px -1px 1px #101922,-1px 1px 1px #101922,1px 1px 1px #101922,0 2px 5px #000,0 0 4px #000}.city-label.major-city{font-size:12px;font-weight:750}.city-label:before{width:4px;height:4px;box-shadow:0 0 0 1px #162330,0 1px 3px #000;background:#fff}.country-label{font-size:9px;font-weight:600;letter-spacing:1.5px;color:#f0eee1c9;text-shadow:0 1px 3px #101922,0 0 5px #101922}

.city-label:before{display:none}.city-point{position:absolute;width:4px;height:4px;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 0 1px #162330,0 1px 3px #000}

.legend[role=button]{cursor:pointer}.legend:focus-visible{outline:2px solid var(--mint);outline-offset:4px}#observation-content{font-size:13px;line-height:1.8;color:#b9ccce}.observation-stamp{display:flex;flex-direction:column;padding:17px 0;margin:12px 0;border-block:1px solid var(--line)}.observation-stamp strong{color:#ecf1e7;font-size:18px}.observation-stamp span{font-size:11px;color:#9eb3b6}.provider-legend{display:block;max-width:100%;width:378px;background:white;border-radius:10px;padding:12px;margin:18px 0}#radar-region{display:block;margin:18px 0}

/* Observation workspace: detailed context lives away from the map. */
.storm-dialog{width:min(860px,calc(100vw - 28px));max-width:860px;padding:28px;background:radial-gradient(ellipse at 90% 0,#29443d88,transparent 60%),#101c24}.storm-heading{display:flex;align-items:center;gap:24px;margin:12px 0 30px}.storm-heading h2{font-size:40px;letter-spacing:-2px;font-weight:500;margin:0 0 8px}.storm-heading p{font-size:12px;color:#9ab7bb;margin:0}.storm-orbit{flex:none;width:68px;height:68px;border:1px solid #bde5cc40;border-radius:50%;position:relative;background:conic-gradient(from 20deg,transparent,#b9efc52a,transparent 65%)}.storm-orbit i{position:absolute;inset:13px;border:1px solid #bde5cc40;border-radius:50%}.storm-orbit i+i{inset:27px;background:#d2efd7}.storm-tabs{display:flex;gap:20px;border-bottom:1px solid var(--line);margin-bottom:24px}.storm-tabs button{font-size:12px;padding:12px 0;border-bottom:2px solid transparent;color:#94afb4}.storm-tabs button.selected{border-color:#c6e9c3;color:#e1f1df}.observation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.observation-card{text-align:left;border:1px solid #c9dec21a;border-radius:16px;padding:18px;min-height:245px;display:flex;flex-direction:column;background:linear-gradient(155deg,#c9dec20a,transparent);transition:transform .2s,border-color .2s}.observation-card:hover{transform:translateY(-3px);border-color:#c9dec262;color:inherit}.observation-card-art{height:58px;color:#b8e6cf}.observation-card-art svg{width:38px;height:38px;stroke-width:1}.observation-imerg .observation-card-art{color:#c8dc8b}.observation-radar .observation-card-art{color:#e2bd8f}.observation-sentinel .observation-card-art{color:#b6cbe7}.observation-card-meta{font-size:8px;text-transform:uppercase;letter-spacing:1.2px;color:#98b3b2}.observation-card strong{font-size:17px;font-weight:550;letter-spacing:-.4px;margin:8px 0 10px}.observation-card-copy{font-size:10px;line-height:1.6;color:#9bb2b9}.observation-card-footer{font-size:8px;color:#bfd7ca;border-top:1px solid var(--line);padding-top:14px;margin-top:auto;display:flex;justify-content:space-between}.observation-card-footer b{font-size:14px;font-weight:400}.storm-disclosure{color:#93a9af;font-size:10px;line-height:1.8;margin:22px 0 0}.cyclone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.cyclone-card{padding:20px;border:1px solid var(--line);border-radius:14px}.cyclone-card h3{font-size:17px;font-weight:550;margin:10px 0}.cyclone-card p{font-size:10px;color:#9cb2b8;line-height:1.7}.cyclone-card .pill{font-size:10px;padding:8px 11px;margin:3px}.track-detail{border-top:1px solid var(--line);margin-top:25px;padding-top:25px}.track-detail>h3{font-size:25px;margin:12px 0}.track-detail>p{font-size:12px;color:#a9bcc0}.track-actions{display:flex;gap:10px;margin:16px 0}.track-actions a{text-decoration:none}.track-detail td small{display:block;font-size:8px;color:#9db5b8}.track-key{display:flex;gap:20px;margin:20px 0;font-size:10px;color:#b8ccc7}.track-key i{display:inline-block;width:22px;border-bottom:2px solid #b6f0d9;vertical-align:middle;margin-right:7px}.track-key span+span i{border-bottom:2px dashed #f5cc87}#storm-tracks{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}#storm-chip{position:absolute;left:22px;bottom:210px;z-index:6;border-radius:30px;display:flex;gap:10px;align-items:center;padding:6px 8px 6px 12px}#storm-chip[hidden]{display:none}#track-details{font-size:9px;max-width:220px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#track-clear{font-size:19px;width:23px;height:23px;border-radius:50%}.storm-launch{color:#c9eac7}
@media(max-width:650px){.storm-dialog{padding:20px;max-height:calc(100dvh - 24px)}.storm-heading{gap:15px;margin-bottom:20px}.storm-heading h2{font-size:30px;letter-spacing:-1.4px}.storm-heading p{font-size:10px}.storm-orbit{width:55px;height:55px}.storm-orbit i+i{inset:22px}.observation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.observation-card{padding:13px;min-height:220px}.observation-card-art{height:48px}.observation-card strong{font-size:14px}.observation-card-copy{font-size:9px}.observation-card-meta{font-size:7px}.cyclone-list{grid-template-columns:1fr}#storm-chip{left:15px;bottom:211px}.top-actions{gap:7px}}
@media(prefers-reduced-motion:reduce){.observation-card{transition:none}.observation-card:hover{transform:none}}

#track-details{text-align:left}#track-details small{display:block;color:#a9bdc1;font-size:8px;line-height:1.6;margin-top:3px}
