:root{font-family:Montserrat,Arial,sans-serif;font-synthesis:none;color:#182245;background:#f7f8fb;--bg:#f7f8fb;--surface:#fff;--text:#182245;--muted:#8a91a6;--muted-dark:#667088;--line:#e9edf4;--primary:#4c5cc8;--ink:#26305a;--shadow:0 12px 40px rgba(43,54,103,.045);--soft:#eef0ff;--soft-ink:#4a50a3;--focus:#ffb33f}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;min-width:320px;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;z-index:100;top:-60px;left:12px;background:#fff;padding:12px;border-radius:8px}.skip-link:focus{top:10px}.app-shell{max-width:1464px;margin:0 auto;padding:0 58px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:107px;position:relative;z-index:30}.brand{display:flex;align-items:center;gap:11px;flex:none;color:var(--text);text-decoration:none}.brand-mark{display:flex;width:45px;height:45px}.brand-mark svg{width:100%;height:100%}.brand-name{font-size:18px;line-height:.94;font-weight:900;letter-spacing:-1.05px}.brand-name>span:last-child{font-weight:800}.brand-comma,.brand-dot{color:#f7a834}.main-nav{display:flex;align-items:center;gap:33px;padding-left:75px}.main-nav a{text-decoration:none;color:var(--muted-dark);font-size:12px;white-space:nowrap;font-weight:700;padding:14px 0;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:#4658c1}.header-tools{display:flex;align-items:center;gap:13px}.location-button,.icon-button,.refresh-button{border:1px solid var(--line);background:var(--surface);color:var(--text)}.location-button{border-radius:30px;height:44px;display:flex;align-items:center;gap:10px;padding:0 15px;font-size:12px;font-weight:750;white-space:nowrap;max-width:250px}.location-button #headerLocation{overflow:hidden;text-overflow:ellipsis}.location-button .i:first-child{color:#5564c2}.location-button .chevron{margin-left:3px;color:var(--muted)}.icon-button{display:flex;align-items:center;justify-content:center;border-radius:50%;height:44px;width:44px}.icon-button:hover,.location-button:hover,.refresh-button:hover{border-color:#bac4ec;background:var(--soft)}.i{display:inline-flex;align-items:center;justify-content:center;line-height:1;vertical-align:middle;flex-shrink:0}.i svg{width:100%;height:100%}.i:not(.summary-icon){width:17px;height:17px}.location-popover{position:absolute;z-index:50;top:86px;right:max(58px,calc((100vw - 1348px)/2));background:var(--surface);color:var(--text);width:min(430px,calc(100vw - 32px));padding:18px;border-radius:20px;border:1px solid var(--line);box-shadow:0 25px 90px rgba(30,38,85,.18)}.location-popover[hidden]{display:none}.popover-head{display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:15px;margin:0 0 13px}.small-icon{border:0;background:transparent;color:var(--muted-dark);width:32px;height:32px;display:grid;place-items:center}.search-field{display:flex;align-items:center;gap:10px;border:1.5px solid #dfe4f0;background:var(--bg);border-radius:12px;padding:0 13px;height:49px;color:var(--muted-dark)}.search-field:focus-within{border-color:#6878d5}.search-field input{min-width:0;flex:1;border:0;background:none;outline:none;color:var(--text);font-size:12px}.search-field input::placeholder{color:#9aa2b4}.search-shortcut{font-size:10px;font-weight:900;color:#a4abc0}.results-list{max-height:290px;overflow-y:auto;padding:8px 0 4px}.result-option,.location-action{width:100%;display:flex;gap:10px;align-items:center;text-align:left;padding:11px;border:0;border-radius:10px;background:none;color:var(--text);font-size:12px;font-weight:650}.result-option:hover,.location-action:hover{background:var(--soft)}.result-option .i{color:#6875cd}.result-option small{margin-left:auto;font-size:10px;color:var(--muted);font-weight:600;text-align:right}.results-empty{padding:16px 10px;color:var(--muted-dark);font-size:12px}.location-footer{border-top:1px solid var(--line);padding-top:8px}.location-action{color:#5262c7;font-weight:750}.location-footer #geolocationStatus{display:block;font-size:11px;color:var(--muted-dark);padding-left:10px}.announcement{margin-top:3px;min-height:48px;border:1px solid #e6eaf6;background:#f0f2fc;border-radius:10px;display:flex;justify-content:space-between;align-items:center;padding:10px 17px;gap:15px;font-size:11px;font-weight:500;color:#616c91}.announcement strong{font-weight:800;color:#42518a}.announcement-left{display:flex;align-items:center;gap:7px}.announcement-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6575d6;margin-right:5px;box-shadow:0 0 0 4px #dce2ff}.announcement a{color:#4658ad;text-decoration:none;font-weight:800;white-space:nowrap}.announcement a:hover{text-decoration:underline}.announcement a .i{width:13px;height:13px;margin-left:3px}.intro-section{padding:41px 0 31px}.eyebrow,.section-kicker,.card-kicker{letter-spacing:1.7px;text-transform:uppercase;font-size:10px;font-weight:900;color:#5d70c8}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow-dot{width:8px;height:8px;background:#ffb245;border-radius:50%}.intro-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.intro-row h1{font-size:clamp(31px,3.5vw,52px);letter-spacing:-2.7px;line-height:1.09;margin:13px 0 11px;font-weight:900;color:var(--text)}.intro-row h1 span{color:#6473d4}.intro-row p{color:var(--muted-dark);font-size:13px;margin:0;font-weight:550}.intro-actions{padding-bottom:8px}.refresh-button{display:flex;align-items:center;justify-content:center;gap:8px;border-radius:22px;padding:12px 18px;font-size:11px;font-weight:800;white-space:nowrap}.refresh-button .i{width:14px;height:14px;color:#6676bf}.refresh-button.loading .i{animation:rotate 1.4s linear infinite}@keyframes rotate{to{transform:rotate(360deg)}}.error-banner{display:flex;align-items:center;gap:15px;margin-bottom:18px;padding:14px 16px;border:1px solid #f1bac1;background:#fff1f0;color:#853a43;border-radius:12px}.error-banner[hidden]{display:none}.error-banner .i{width:23px;height:23px}.error-banner div{flex:1}.error-banner strong{font-size:12px}.error-banner p{margin:2px 0 0;font-size:11px}.error-banner button{border:0;background:#8f3c48;color:#fff;border-radius:8px;font-weight:800;font-size:11px;padding:10px 14px}.hero-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.95fr);gap:20px;min-height:469px}.hero-card{border-radius:23px;min-height:469px;position:relative;overflow:hidden;background:linear-gradient(116deg,#5a79cb 1%,#718fdd 47%,#b3bef1 100%);color:white;box-shadow:0 18px 40px rgba(73,93,183,.17)}.weather-scene.night{background:linear-gradient(115deg,#111b40,#29316d 55%,#51588c)}.weather-scene.rainy{background:linear-gradient(115deg,#456c98,#688dab 52%,#a4bbcc)}.weather-scene.cloudy{background:linear-gradient(115deg,#667db1,#8ba0c1 54%,#b2c1d4)}.scene-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none}.sun-glow{position:absolute;width:370px;height:370px;border-radius:50%;right:-48px;top:30px;background:radial-gradient(circle,rgba(255,235,180,.42),transparent 65%)}.sun-disc{position:absolute;width:157px;height:157px;right:114px;top:104px;border-radius:50%;background:linear-gradient(120deg,#ffe5a0,#fff2c8);box-shadow:0 0 60px rgba(255,230,158,.5)}.cloud{position:absolute;height:75px;background:rgba(255,255,255,.32);filter:blur(17px);border-radius:100px;transform:rotate(-8deg)}.cloud-one{right:-42px;top:224px;width:380px}.cloud-two{right:212px;top:176px;width:185px;opacity:.7}.hill{position:absolute;bottom:-78px;right:-65px;border-radius:50% 50% 0 0;transform:rotate(-5deg)}.hill-back{width:630px;height:220px;background:linear-gradient(175deg,#8798c8,#7b8cbd);opacity:.64}.hill-front{width:580px;height:168px;bottom:-88px;right:-90px;background:linear-gradient(175deg,#607cbb,#3e66ab);opacity:.74}.night .sun-disc{background:linear-gradient(110deg,#d9e5f7,#eff3ff);box-shadow:0 0 70px rgba(195,213,243,.4)}.night .sun-glow{background:radial-gradient(circle,rgba(154,177,241,.2),transparent 65%)}.night .hill-back{background:#3d467d}.night .hill-front{background:#222e6d}.rainy .sun-disc,.cloudy .sun-disc{opacity:.55}.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;min-height:469px;padding:28px 31px 26px}.hero-topline{display:flex;justify-content:space-between;align-items:center;gap:16px}.glass-pill{display:inline-flex;gap:7px;align-items:center;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.25);padding:10px 13px;border-radius:21px;font-size:11px;font-weight:800;backdrop-filter:blur(8px)}.glass-pill .i{width:13px;height:13px}.hero-updated{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:650;color:#eef1ff}.online-indicator{width:7px;height:7px;border-radius:50%;background:#d0ffb3;box-shadow:0 0 0 4px rgba(208,255,179,.14)}.hero-middle{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:15px}.hero-salutation{font-size:12px;font-weight:750;margin:0 0 7px;color:#f0f2ff}.hero-middle h2{font-size:clamp(25px,2.5vw,35px);line-height:1.17;font-weight:850;letter-spacing:-1.1px;margin:0 0 13px;max-width:360px;text-shadow:0 1px 0 rgba(0,0,0,.05)}.hero-main-temp{display:flex;align-items:center;gap:0}.hero-main-temp #mainTemp{font-size:99px;font-weight:650;letter-spacing:-9px;line-height:1}.hero-main-temp .degree{font-size:69px;line-height:1;align-self:flex-start;margin-left:3px;margin-top:0;font-weight:400}.hero-condition{font-size:12px;font-weight:750;max-width:100px;line-height:1.5;margin-left:13px;margin-top:28px}.hero-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hero-metric{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.13);border-radius:12px;padding:14px 12px;backdrop-filter:blur(8px)}.metric-icon{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.15)}.metric-copy{display:flex;flex-direction:column;min-width:0}.metric-caption{font-size:9px;color:#ebefff;font-weight:600;white-space:nowrap}.metric-copy strong{font-size:13px;white-space:nowrap;font-weight:850}.today-aside{display:grid;grid-template-rows:1fr 1fr;gap:19px;min-width:0}.soft-card,.detail-card{border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow);padding:24px 26px}.summary-card{position:relative;overflow:hidden;background:#fffaf0;border:1px solid #f8efda}.summary-card:after{content:"";position:absolute;right:-65px;bottom:-100px;width:200px;height:200px;border-radius:50%;background:#fff1d4;opacity:.6}.summary-card .card-kicker{display:flex;align-items:center;gap:8px;color:#cb8b2c;letter-spacing:1.2px}.summary-card .card-kicker .i{width:16px;height:16px}.summary-card h2{font-size:22px;line-height:1.22;letter-spacing:-.8px;font-weight:900;color:#35334b;margin:19px 0 9px;max-width:270px}.summary-card p{font-size:12px;line-height:1.72;font-weight:550;max-width:300px;color:#777187;margin:0}.summary-bottom{position:absolute;bottom:21px;left:26px;right:24px;display:flex;align-items:center;gap:9px;font-size:10px;color:#b6a08b;font-weight:650}.summary-icon{width:23px;height:23px;color:#f0a83b}.detail-card{padding:21px 24px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:17px}.card-heading h3{font-size:16px;letter-spacing:-.4px;margin:0;font-weight:850}.detail-tag{color:#a8b0c2;background:var(--bg);border-radius:6px;padding:6px;font-size:8px;font-weight:900;letter-spacing:.8px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 10px}.detail-item{display:flex;align-items:center;gap:11px}.detail-item>.i{width:22px;height:22px;color:#7885d5}.detail-item div{display:flex;flex-direction:column}.detail-item div span{font-size:10px;color:var(--muted-dark);font-weight:600}.detail-item strong{font-size:13px;margin-top:1px;font-weight:850;color:var(--text)}.section-gap{margin-top:59px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-kicker{margin-bottom:6px}.section-heading h2,.panel-heading h2{margin:0;font-size:27px;font-weight:900;line-height:1.27;letter-spacing:-1.2px;color:var(--text)}.section-heading p{margin:7px 0 0;color:var(--muted-dark);font-size:12px;font-weight:550}.segmented{display:flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:22px;padding:4px;background:var(--surface)}.segment{border:0;background:transparent;color:var(--muted-dark);border-radius:17px;padding:9px 14px;font-size:10px;font-weight:800;white-space:nowrap}.segment.active{background:#606fd0;color:#fff;box-shadow:0 2px 8px rgba(88,103,196,.14)}.forecast-chart-card,.info-panel{border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}.forecast-chart-card{padding:22px 27px 18px}.chart-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:8px}.chart-top div{display:flex;flex-direction:column;gap:3px}.chart-top div span{color:var(--muted-dark);font-size:11px;font-weight:650}.chart-top strong{font-size:25px;line-height:1.25;letter-spacing:-.9px;font-weight:900}.chart-note{font-size:10px;color:var(--muted);font-weight:600;padding-top:4px}.mobile-swipe-hint{display:none}.chart-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#d9dff0 transparent}.chart-content{min-width:920px}.hourly-svg{width:100%;height:169px;display:block;overflow:visible}.hourly-icons{display:grid;grid-template-columns:repeat(12,1fr);gap:0;margin-top:3px}.hour-point{display:flex;align-items:center;flex-direction:column;gap:6px;font-size:10px;font-weight:700;color:var(--muted-dark);padding:2px 2px 0}.hour-point .i{width:22px;height:22px;color:#7888bd}.hour-point strong{font-weight:850;color:var(--text);font-size:11px}.hour-point .pop{font-size:9px;color:#8a9fca}.bottom-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(350px,.88fr);gap:21px;margin-top:53px;align-items:stretch}.info-panel{padding:26px 28px 23px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-heading h2{font-size:24px}.panel-note{font-size:10px;color:#a4aabb;white-space:nowrap;font-weight:650}.daily-list{display:flex;flex-direction:column}.daily-row{width:100%;display:grid;grid-template-columns:89px 28px minmax(76px,1fr) 54px minmax(75px,105px) 76px;align-items:center;gap:8px;padding:12px 10px;border:0;border-top:1px solid var(--line);background:transparent;text-align:left;color:var(--text);border-radius:0;transition:background .2s}.daily-row:first-child{border-top:0}.daily-row:hover,.daily-row.selected{background:#f5f6ff}.daily-day{font-size:11px;font-weight:850;white-space:nowrap}.daily-row .i{width:22px;height:22px;color:#8899c2}.daily-description{font-size:10px;color:var(--muted-dark);font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.daily-rain{display:flex;align-items:center;gap:3px;font-size:10px;font-weight:800;color:#668dcc}.daily-rain .i{width:11px;height:11px;color:#86a7df}.range-track{height:5px;background:#e8eaf3;border-radius:99px;position:relative;overflow:hidden}.range-fill{height:100%;background:linear-gradient(90deg,#87a6ec,#f8c56f);border-radius:99px;position:absolute}.daily-temps{display:flex;justify-content:space-between;align-items:center;gap:3px;font-size:11px;font-weight:850}.daily-temps .low{color:#a4aac0}.placeholder-row{font-size:12px;color:var(--muted);padding:45px 12px}.selected-day{border-top:1px solid var(--line);margin-top:7px;padding:16px 12px 0;font-size:11px;color:var(--muted-dark);line-height:1.7}.selected-day[hidden]{display:none}.selected-day strong{display:block;color:var(--text);margin-bottom:2px;font-size:12px}.planner-card{background:#f1f3ff;border-color:#e7eaff;position:relative;overflow:hidden}.planner-card:after{content:"";position:absolute;right:-115px;top:-125px;width:290px;height:290px;border-radius:50%;border:50px solid rgba(217,223,255,.23);pointer-events:none}.planner-card>*{position:relative;z-index:1}.planner-sparkle{width:28px!important;height:28px!important;color:#8793dc}.planner-intro{font-size:12px;line-height:1.72;color:#737a9b;margin:0 0 18px;max-width:360px;font-weight:550}.activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.activity-button{border:1px solid #e1e6f8;background:#fff;border-radius:11px;color:#59617f;text-align:left;display:flex;align-items:center;gap:9px;font-weight:800;font-size:10px;padding:12px;min-height:47px;transition:all .2s}.activity-button:hover{border-color:#bac6ed}.activity-button.active{background:#5b6bd0;border-color:#5b6bd0;color:#fff;box-shadow:0 5px 14px rgba(83,101,199,.15)}.activity-emoji{font-size:17px}.advice-result{margin-top:20px;background:#fff;border:1px solid #e8ebff;padding:19px 20px 15px;border-radius:13px}.advice-top{display:flex;align-items:center;justify-content:space-between;gap:7px}.advice-label{display:flex;align-items:center;gap:6px;font-size:9px;letter-spacing:1px;font-weight:900;color:#6575cc}.advice-label .i{width:13px;height:13px}.advice-rating{font-size:8px;border-radius:7px;padding:6px 7px;background:#e9f8ee;color:#2b9768;font-weight:900;letter-spacing:.5px;text-align:center}.advice-result h3{font-size:18px;letter-spacing:-.6px;line-height:1.3;margin:13px 0 8px;font-weight:900;color:#26335b}.advice-result p{font-size:11px;color:#7a829c;line-height:1.7;margin:0;min-height:46px;font-weight:570}.advice-footnote{display:flex;align-items:start;gap:5px;color:#9aa3bb;font-weight:600;margin-top:15px;font-size:9px}.advice-footnote .i{width:12px;height:12px}.planner-bottom{display:flex;align-items:center;gap:8px;font-size:10px;color:#929ac6;margin-top:18px;font-weight:700}.planner-bottom .i{width:14px;height:14px;color:#aab3e9}.warning-section{display:flex;align-items:center;gap:18px;border:1px solid #e5e8ed;background:#f1f3f8;border-radius:16px;margin:40px 0 54px;padding:23px 25px}.warning-icon{display:grid;place-items:center;background:#fff;border:1px solid #e6eaf3;border-radius:12px;width:46px;height:46px;color:#5568a5;flex-shrink:0}.warning-icon .i{width:23px;height:23px}.warning-copy{flex:1;min-width:0}.warning-copy h2{font-size:13px;margin:0 0 4px;font-weight:850}.warning-copy p{font-size:10px;color:#7b8398;line-height:1.6;margin:0;max-width:680px}.warning-link{font-size:10px;font-weight:850;color:#5163b4;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:7px}.warning-link:hover{text-decoration:underline}.warning-link .i{width:14px;height:14px}.site-footer{border-top:1px solid var(--line);padding:30px 0 42px;display:flex;align-items:flex-start;gap:27px}.footer-brand{font-size:14px;font-weight:900;letter-spacing:-.6px;white-space:nowrap}.footer-mark{color:#f0ac3b;font-size:19px}.foot-dot{color:#f4a544}.footer-meta{flex:1}.footer-meta p{font-size:10px;color:#9aa1b2;margin:0 0 5px;line-height:1.6;font-weight:550}.footer-meta a{color:#586dc8}.footer-made{font-size:10px;color:#abb1bf;white-space:nowrap;font-weight:700}.footer-made span{color:#f2b04f;margin-left:3px}
/* dark */
body.dark{--bg:#0f1527;--surface:#1b2541;--text:#eaf0ff;--muted:#929fbb;--muted-dark:#acb7cf;--line:#2c3856;--soft:#26335a;--soft-ink:#ced5ff;background:var(--bg)}body.dark .announcement{background:#1c294b;border-color:#2b3a64;color:#abb7d8}body.dark .announcement strong{color:#d4dffc}body.dark .announcement a{color:#b9c8ff}body.dark .intro-row h1 span{color:#95a5ff}body.dark .summary-card{background:#292a44;border-color:#373750}body.dark .summary-card:after{background:#4a4055}body.dark .summary-card h2{color:#fff1ec}body.dark .summary-card p{color:#c1b4c0}body.dark .detail-tag{color:#a0abc5}body.dark .segment.active{background:#7582e3}body.dark .daily-row.selected,body.dark .daily-row:hover{background:#283657}body.dark .range-track{background:#3d4660}body.dark .planner-card{background:#202d4e;border-color:#35436a}body.dark .planner-card:after{border-color:rgba(130,146,220,.06)}body.dark .planner-intro{color:#b1bcdb}body.dark .activity-button{background:#2b395b;border-color:#3a4c75;color:#d4ddf3}body.dark .activity-button.active{background:#6678d9;border-color:#6678d9;color:white}body.dark .advice-result{background:#1b2643;border-color:#3b4770}body.dark .advice-result h3{color:#f1f4ff}body.dark .advice-result p{color:#bbc5e0}body.dark .advice-rating{background:#223f3f;color:#8ed6b6}body.dark .warning-section{background:#1a2540;border-color:#2d3a59}body.dark .warning-icon{background:#28365b;border-color:#334168;color:#b1c0ee}body.dark .warning-link{color:#bbc8ff}body.dark .search-field{border-color:#3b4a6c}body.dark .error-banner{background:#442c37;border-color:#8b5964;color:#ffe6e7}
@media(max-width:1250px){.app-shell{padding:0 36px}.main-nav{padding-left:12px;gap:20px}.hero-layout{grid-template-columns:minmax(0,1.4fr) minmax(290px,.95fr)}.hero-middle h2{font-size:29px}.hero-metric{gap:6px;padding:11px 7px}.metric-copy strong{font-size:12px}.summary-card h2{font-size:20px}.daily-row{grid-template-columns:78px 25px minmax(53px,1fr) 43px 71px 66px;gap:5px}.location-popover{right:36px}}
@media(max-width:1050px){.topbar{flex-wrap:wrap;min-height:113px;padding:15px 0;row-gap:5px}.main-nav{order:3;width:100%;padding-left:0;justify-content:center;gap:45px}.hero-layout{grid-template-columns:1fr;min-height:0}.hero-card,.hero-inner{min-height:450px}.today-aside{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:18px}.soft-card,.detail-card{min-height:240px}.bottom-layout{grid-template-columns:1fr 1fr}.info-panel{padding:22px 18px}.panel-heading h2{font-size:22px}.daily-row{grid-template-columns:68px 22px minmax(36px,1fr) 39px 45px 58px;gap:3px;padding:12px 2px}.daily-description{font-size:9px}.daily-temps{font-size:10px}.activity-grid{grid-template-columns:1fr}.location-popover{top:70px}}
@media(max-width:760px){.app-shell{padding:0 18px}.topbar{min-height:94px;gap:7px;padding:16px 0 5px}.brand-mark{width:37px;height:37px}.brand-name{font-size:15px}.header-tools{margin-left:auto;gap:7px}.location-button{max-width:156px;height:39px;font-size:10px;padding:0 10px;gap:6px}.location-button .chevron{display:none}.icon-button{width:39px;height:39px}.main-nav{gap:0;justify-content:space-between;overflow:auto;white-space:nowrap;padding-bottom:0;scrollbar-width:none}.main-nav a{font-size:10px;padding:12px 3px}.location-popover{top:66px;right:16px}.announcement{margin-top:8px;align-items:start;gap:9px;padding:11px 12px}.announcement-left{align-items:flex-start}.announcement-secondary{display:none}.announcement a{font-size:9px}.announcement strong{font-size:10px}.announcement a .i{display:none}.intro-section{padding:31px 0 23px}.intro-row{align-items:flex-start}.intro-row h1{font-size:clamp(29px,7vw,42px);letter-spacing:-1.6px}.intro-row p{font-size:11px;line-height:1.7;max-width:280px}.intro-actions{align-self:flex-start;margin-top:20px}.refresh-button{font-size:0;border-radius:50%;width:38px;height:38px;padding:0}.refresh-button .i{width:18px;height:18px}.hero-card,.hero-inner{min-height:455px}.hero-card{border-radius:18px}.hero-inner{padding:21px 18px 19px}.hero-updated{font-size:9px}.glass-pill{padding:8px 10px;font-size:10px}.hero-middle{padding-top:16px}.hero-middle h2{font-size:28px}.hero-main-temp #mainTemp{font-size:84px;letter-spacing:-6px}.hero-main-temp .degree{font-size:57px}.sun-disc{right:25px;top:120px;width:126px;height:126px}.sun-glow{right:-120px}.cloud-one{right:-180px}.hero-bottom{gap:6px}.hero-metric{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:10px 9px}.metric-icon{width:29px;height:29px}.metric-caption{font-size:9px}.metric-copy strong{font-size:11px}.today-aside{grid-template-columns:1fr;gap:13px}.soft-card,.detail-card{min-height:0;padding:21px}.summary-card{min-height:210px}.summary-card h2{font-size:23px;margin:16px 0 6px}.summary-bottom{bottom:19px;left:21px}.detail-card{padding:19px 21px}.detail-grid{gap:20px 12px}.section-gap{margin-top:42px}.section-heading{align-items:start;flex-direction:column;gap:16px}.section-heading h2,.panel-heading h2{font-size:23px}.segmented{width:100%;justify-content:space-between}.segment{width:50%;font-size:10px}.forecast-chart-card{padding:17px 15px}.chart-note{font-size:9px;max-width:130px;text-align:right}.chart-content{min-width:890px}.mobile-swipe-hint{display:block;font-size:10px;color:var(--muted-dark);font-weight:700;text-align:right;margin:0 2px 8px}.chart-top strong{font-size:23px}.bottom-layout{grid-template-columns:1fr;margin-top:37px;gap:18px}.info-panel{padding:21px 18px}.daily-row{grid-template-columns:72px 24px minmax(55px,1fr) 44px minmax(40px,64px) 58px;gap:4px;padding:11px 4px}.daily-description{font-size:10px}.daily-temps{font-size:10px}.activity-grid{grid-template-columns:1fr 1fr}.activity-button{min-height:48px;padding:8px;font-size:10px}.panel-note{font-size:9px}.warning-section{align-items:flex-start;flex-wrap:wrap;padding:18px;margin:32px 0}.warning-copy{flex:1;min-width:200px}.warning-link{margin-left:63px}.site-footer{flex-wrap:wrap;gap:14px;padding:25px 0}.footer-meta{order:3;flex-basis:100%}.footer-made{margin-left:auto;font-size:9px}}
@media(max-width:410px){.main-nav a{font-size:9px}.brand-mark{width:33px;height:33px}.brand-name{font-size:13px}.location-button{max-width:123px}.intro-row h1{font-size:30px}.hero-updated{max-width:130px;text-align:right}.hero-middle h2{font-size:25px}.hero-bottom{gap:5px}.metric-caption{font-size:8px}.metric-copy strong{font-size:10px}.metric-icon{width:25px;height:25px}.daily-row{grid-template-columns:60px 22px minmax(42px,1fr) 40px 43px 50px;gap:2px}.daily-day{font-size:10px}.daily-description{font-size:9px}.daily-temps{font-size:9px}.daily-rain{font-size:9px}.panel-heading h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* Weather, actually. v2: daylight strip, accessible interactive radar map and subtle atmospherics. */
.main-nav { padding-left: 20px; gap: 25px; }
.daylight-card {margin-top: 20px;display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.5fr);align-items:center;gap:36px;padding:24px 30px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 25px rgba(39,57,110,.035)}
.daylight-card-title{display:flex;align-items:center;gap:15px}
.daylight-icon{width:49px;height:49px;flex-shrink:0;display:grid;place-items:center;color:#d49b41;background:linear-gradient(140deg,#fff9e9,#fff0cb);border-radius:15px}
.daylight-icon .i{width:24px;height:24px}
.daylight-card-title h2{font-size:15px;letter-spacing:-.45px;margin:0 0 4px;font-weight:850}
.daylight-card-title p{font-size:10px;color:var(--muted-dark);margin:0;line-height:1.5}
.daylight-visual{min-width:0}
.daylight-times,.daylight-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted-dark);font-weight:700}
.daylight-caption{margin-top:10px;font-size:9px;font-weight:650;color:var(--muted)}
.daylight-progress{height:9px;border-radius:99px;background:linear-gradient(90deg,#f9d3a2,#e6e9f7);margin:13px 2px 0;position:relative;overflow:visible}
.daylight-fill{background:linear-gradient(90deg,#f7a75a,#fbc75e);width:0;height:100%;border-radius:inherit;transition:width .6s ease}
.daylight-sun{position:absolute;top:50%;transform:translate(-50%,-50%);left:0%;color:#f1a738;background:#fff7d4;width:22px;height:22px;display:grid;place-items:center;border:2px solid white;box-shadow:0 2px 10px rgba(170,109,32,.15);border-radius:50%;font-size:14px;transition:left .6s ease}
.map-section{scroll-margin-top:35px}
.map-section-heading{margin-bottom:23px}
.map-head-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.live-indicator{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#2d8e70;font-size:9px;font-weight:900;letter-spacing:.9px}
.live-indicator>span{width:7px;height:7px;background:#42af85;border-radius:50%;box-shadow:0 0 0 4px rgba(66,175,133,.13)}
.map-recentre{display:flex;gap:8px;align-items:center;padding:11px 14px;background:var(--surface);border:1px solid var(--line);color:var(--text);font-size:10px;font-weight:800;border-radius:12px}
.map-recentre:hover{border-color:#adb9ea}
.map-recentre .i{width:15px;height:15px;color:#6477c5}
.map-panel{border:1px solid var(--line);background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:0 10px 40px rgba(41,52,105,.045)}
.map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 19px}
.map-tabs{display:flex;align-items:center;gap:6px;background:var(--bg);padding:5px;border:1px solid var(--line);border-radius:12px}
.map-tab{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:transparent;color:var(--muted-dark);font-size:11px;font-weight:800;border:0;border-radius:9px;min-height:38px}
.map-tab.active{background:#5f6fd0;color:white;box-shadow:0 4px 14px rgba(83,101,199,.16)}
.map-tab .i{width:15px;height:15px}
.map-status{font-size:10px;font-weight:750;color:#697ba3;text-align:right}
.map-status[data-kind="error"]{color:#b45a65}
.map-viewport{height:470px;position:relative;background:linear-gradient(160deg,#e1eaf4,#caddea);overflow:hidden}
.australia-map{position:absolute;inset:0;z-index:1}
.map-viewport .leaflet-container{font-family:Montserrat,Arial,sans-serif;background:#d8e5ed}
.map-viewport .leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.92)!important}
.map-viewport .leaflet-control-zoom a{color:#5565bb}
.map-viewport .leaflet-pane.leaflet-marker-pane{z-index:700}
.map-hint{position:absolute;top:16px;left:16px;z-index:750;font-size:10px;background:rgba(255,255,255,.93);color:#586981;font-weight:750;padding:11px 14px;border-radius:9px;box-shadow:0 4px 20px rgba(24,45,78,.11);pointer-events:none;max-width:calc(100% - 32px)}
.map-key{position:absolute;left:16px;bottom:19px;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:9px;background:rgba(255,255,255,.94);font-size:9px;color:#566781;font-weight:800;z-index:750;box-shadow:0 4px 15px rgba(28,46,80,.12)}
.map-key[hidden]{display:none}
.radar-gradient{width:108px;height:9px;border-radius:99px;background:linear-gradient(to right,#d0e4ff,#89b5eb,#496ed6,#1f3287);border:1px solid #c5d6ef}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;z-index:850;padding:20px;text-align:center;background:linear-gradient(135deg,#d3e1f2,#c8d2ee)}
.map-fallback[hidden]{display:none}
.map-fallback .i{width:50px;height:50px;color:#5e72ba}
.map-fallback strong{font-size:20px;color:#283657}
.map-fallback p{max-width:350px;font-size:12px;color:#64708e;margin:0}
.map-fallback button{font-size:11px;border:0;background:#5f6fd0;color:#fff;font-weight:850;border-radius:10px;padding:11px 17px}
.weather-marker-shell{background:none;border:0;white-space:nowrap}
.city-marker{position:relative;transform:translateY(-10px);display:flex;gap:3px;align-items:center;justify-content:center;flex-direction:column;min-width:94px;min-height:36px;width:max-content;padding:7px 11px;border-radius:11px;border:2px solid white;background:rgba(32,53,110,.91);box-shadow:0 3px 17px rgba(14,24,62,.28);color:white;cursor:pointer;transition:background .2s,transform .2s}
.city-marker:after{position:absolute;content:"";bottom:-8px;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#20356e}
.city-marker .city-name{font-size:10px;font-weight:900;line-height:1.1;letter-spacing:-.1px}
.city-marker strong{font-size:22px;font-weight:850;line-height:1.1;letter-spacing:-.5px}
.city-marker-temp{min-height:64px;background:#4f61c6;box-shadow:0 5px 22px rgba(14,24,62,.25)}
.city-marker-current{outline:3px solid #ffdb8e;outline-offset:2px}
.city-hot{background:#d47845}
.city-cool{background:#507db7}
.city-marker:hover{transform:translateY(-13px);background:#394ba3}
.map-timeline{padding:18px 23px 13px;border-bottom:1px solid var(--line)}
.map-timeline[hidden]{display:none}
.timeline-header{display:flex;align-items:center;justify-content:space-between;gap:20px}
.timeline-header>div:first-child{display:flex;flex-direction:column;gap:5px}
.timeline-header strong{font-size:12px;color:var(--text);font-weight:850}
.timeline-header span{font-size:10px;color:var(--muted-dark)}
.timeline-actions{display:flex;gap:7px;align-items:center}
.timeline-actions button{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:9px 11px;background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--text);font-size:10px;font-weight:800}
.timeline-actions button:hover:not(:disabled){border-color:#a7b6ec}
.timeline-actions .i,.timeline-actions svg{width:15px;height:15px}
.timeline-actions .play-toggle{background:#5f6fd0;color:white;border-color:#5f6fd0;padding:9px 15px}
.radar-slider{width:100%;accent-color:#5e6dca;cursor:pointer;margin:24px 0 5px}
.radar-slider:disabled{cursor:not-allowed;opacity:.4}
.timeline-ends{display:flex;align-items:center;justify-content:space-between;font-size:9px;font-weight:700;color:var(--muted)}
.map-bottom{padding:14px 23px;display:flex;justify-content:space-between;gap:20px;align-items:center;background:var(--bg)}
.map-bottom p{color:var(--muted-dark);font-size:9px;line-height:1.6;margin:0;max-width:720px}
.map-bottom p:last-child{text-align:right;max-width:340px}
.map-bottom a{color:#6174ca;font-weight:850}
.map-bottom .i{width:12px;height:12px;margin-right:4px;vertical-align:middle}
/* Deliberately slow, subtle ambience. No strobing. */
.scene-atmosphere .cloud-one{animation:slow-cloud 23s ease-in-out infinite alternate}
.scene-atmosphere .cloud-two{animation:slow-cloud 18s ease-in-out infinite alternate-reverse}
.scene-atmosphere .sun-glow{animation:slow-glow 14s ease-in-out infinite alternate}
.weather-scene.rainy .scene-atmosphere:after{content:"";position:absolute;inset:-40px 0;background-image:repeating-linear-gradient(109deg,transparent 0 52px,rgba(255,255,255,.13) 54px 56px,transparent 59px 83px);background-size:210px 290px;opacity:.36;animation:rain-drift 9s linear infinite}
.weather-scene.night .scene-atmosphere:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#ffffffaa .8px,transparent 1px);background-size:44px 44px;opacity:.25;mask-image:linear-gradient(to bottom,#000,transparent 90%)}
@keyframes slow-cloud{from{translate:-24px 0}to{translate:28px 0}}
@keyframes slow-glow{from{opacity:.6;scale:.96}to{opacity:1;scale:1.05}}
@keyframes rain-drift{from{background-position:0 -100px}to{background-position:-90px 260px}}
body.dark .daylight-card{background:#1b2541}
body.dark .daylight-icon{background:#493b3e}
body.dark .map-panel{background:var(--surface)}
body.dark .map-tabs{background:#131d35}
body.dark .map-tab.active{background:#7382e4}
body.dark .map-bottom{background:#131e36}
body.dark .map-recentre{background:var(--surface)}
body.dark .timeline-actions button{background:#1b2948}
body.dark .timeline-actions .play-toggle{background:#697add}
body.dark .map-hint,body.dark .map-key{color:#26365b}
@media(max-width:1050px){.main-nav{padding-left:0;gap:33px}.daylight-card{grid-template-columns:1fr 1.4fr;gap:18px}.map-viewport{height:410px}}
@media(max-width:760px){.main-nav{justify-content:flex-start;gap:19px;overflow-x:auto}.main-nav a{padding:13px 1px;font-size:10px;flex:0 0 auto}.daylight-card{grid-template-columns:1fr;gap:24px;padding:21px 20px}.map-section{margin-top:43px}.map-section-heading{align-items:flex-start;gap:16px}.map-head-tools{justify-content:flex-start}.map-viewport{height:430px}.map-toolbar{flex-wrap:wrap;padding:12px}.map-tabs{width:100%}.map-tab{flex:1;padding:10px 8px;font-size:10px}.map-status{width:100%;text-align:left;padding:0 5px 2px}.map-hint{font-size:9px;top:12px;left:12px;padding:9px 10px;max-width:calc(100% - 24px)}.city-marker{padding:5px 7px;min-width:68px}.city-marker .city-name{font-size:9px}.city-marker-temp strong{font-size:17px}.city-marker-temp{min-height:52px}.map-key{left:12px;bottom:12px;padding:9px}.radar-gradient{width:58px}.map-timeline{padding:16px 13px 12px}.timeline-header{flex-wrap:wrap;gap:13px}.timeline-actions{width:100%;justify-content:space-between}.timeline-actions button{flex:1}.radar-slider{margin:20px 0 5px}.map-bottom{padding:14px;flex-direction:column;align-items:start;gap:8px}.map-bottom p:last-child{text-align:left}.daylight-card-title h2{font-size:14px}}
@media(max-width:410px){.main-nav{gap:13px}.map-tab{font-size:9px}.map-viewport{height:390px}.map-hint{display:none}.map-section-heading h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.scene-atmosphere .cloud,.scene-atmosphere .sun-glow,.weather-scene.rainy .scene-atmosphere:after{animation:none!important}.city-marker{transition:none!important}.daylight-fill,.daylight-sun{transition:none!important}}

.weather-scene.night.rainy{background:linear-gradient(115deg,#141b35,#354b72 55%,#596f8e)}

/* v3.0 — favourites, forecast insights, local radar focus and mobile-first navigation */
.save-location{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;padding:13px 15px;min-height:42px;font-weight:800;font-size:11px;cursor:pointer;transition:background .2s,border-color .2s}
.save-location:hover,.save-location.is-saved{border-color:#c4acee;background:#eee9fc;color:#6659b9}
.save-location .i{width:17px;height:17px;display:inline-flex;align-items:center}.save-location.is-saved .i svg{fill:#a288df}
.intro-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.places-panel{margin:-2px 0 23px;padding:22px 23px 20px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 7px 20px rgba(35,42,90,.03);scroll-margin-top:20px}
.places-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.places-heading h2{font-size:14px;margin:3px 0 0;letter-spacing:-.32px;font-weight:850}.places-overline{font-size:9px;font-weight:850;letter-spacing:1.2px;color:#8a81c6}.places-caption{font-size:10px;color:var(--muted-dark);font-weight:700}.places-scroller{display:flex;align-items:stretch;gap:9px;overflow-x:auto;scrollbar-width:thin;padding:3px 0 4px}.places-loading,.places-empty{font-size:11px;font-weight:650;color:var(--muted-dark);align-self:center;line-height:1.5;white-space:nowrap}.place-chip{display:flex;align-items:stretch;min-width:148px;max-width:230px;border:1px solid var(--line);background:var(--bg);border-radius:12px;overflow:hidden;flex-shrink:0;transition:border-color .2s,background .2s}.place-chip-current{border-color:#988aeb;background:#f0edff}.place-chip .place-go{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--text);text-align:left;padding:10px 8px 10px 12px;flex:1;min-width:0;font-weight:800;font-size:11px;cursor:pointer}.place-go>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-go small{display:block;font-size:9px;font-weight:700;color:var(--muted-dark)}.place-chip .place-go .i{color:#8075ca;width:15px;height:15px;flex-shrink:0}.place-chip .place-remove{border:0;background:transparent;color:var(--muted-dark);padding:0 8px;cursor:pointer;align-self:stretch;display:grid;place-items:center}.place-remove svg{width:14px;height:14px}.place-remove:hover{background:#ffe8ee;color:#a84165}.places-add{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #b5b7db;background:transparent;color:#7775b8;border-radius:12px;padding:11px 16px;font-size:10px;font-weight:850;cursor:pointer;min-height:46px;white-space:nowrap}.places-add:hover{background:#f3f1fc}.places-add .i{width:15px;height:15px}.saved-suggestion-footer{padding:9px 13px;font-size:10px;color:var(--muted-dark);font-weight:750}
.quick-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:19px}.quick-insight{border:1px solid var(--line);background:var(--surface);border-radius:17px;padding:20px 18px;display:flex;align-items:flex-start;gap:13px;min-height:114px;min-width:0}.insight-ic{height:38px;width:38px;min-width:38px;border-radius:12px;display:grid;place-items:center}.insight-ic .i{width:19px;height:19px;display:grid;place-items:center}.rain-ic{background:#e6efff;color:#6c84ca}.uv-ic{background:#fff5d8;color:#c1932c}.weekend-ic{background:#f0eafd;color:#8564b8}.quick-insight>div{min-width:0}.insight-label{display:block;font-size:9px;color:#868cac;font-weight:900;letter-spacing:1px;margin:0 0 7px}.quick-insight strong{display:block;font-size:14px;font-weight:850;letter-spacing:-.2px;line-height:1.25;color:var(--text)}.quick-insight p{font-size:10px;color:var(--muted-dark);font-weight:600;line-height:1.55;margin:6px 0 0}
.map-focusbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 19px;border-top:1px solid var(--line)}.map-focus-buttons{display:flex;align-items:center;gap:5px;background:var(--bg);border-radius:11px;padding:4px}.focus-option{display:flex;align-items:center;gap:7px;border:0;border-radius:8px;padding:9px 13px;color:var(--muted-dark);background:transparent;font-size:10px;font-weight:850;cursor:pointer}.focus-option.active{background:#eae8ff;color:#605bbb}.focus-option .i{width:15px;height:15px}.map-focus-caption{color:var(--muted-dark);font-size:10px;font-weight:650;flex:1;text-align:center}.map-update{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:10px 12px;color:var(--muted-dark);font-size:10px;font-weight:800;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.map-update .i{width:14px;height:14px}.map-update:hover{border-color:#9aa6db}.map-location-chip{position:absolute;right:16px;top:15px;z-index:750;max-width:160px;border-radius:9px;background:rgba(32,51,99,.94);color:#fff;font-size:10px;font-weight:800;padding:10px 13px;box-shadow:0 5px 18px rgba(10,20,50,.21);pointer-events:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favourite-pin-shell{border:0;background:none}.favourite-pin{display:block;border-radius:11px;border:2px solid #fff;background:rgba(93,74,158,.94);color:white;font:800 11px Montserrat,Arial,sans-serif;text-align:center;white-space:nowrap;padding:7px;overflow:hidden;text-overflow:ellipsis;box-shadow:0 5px 14px #101e3a44}.favourite-pin span{color:#ffd781}
.radar-settings{display:flex;align-items:center;gap:14px;padding:14px 24px;border-bottom:1px solid var(--line)}.radar-settings[hidden]{display:none}.radar-settings label{display:flex;gap:5px;align-items:center;white-space:nowrap;color:var(--muted-dark);font-size:10px;font-weight:850}.radar-settings output{color:#636ec4}.radar-settings input{width:140px;accent-color:#7477c9;cursor:pointer}.radar-description{margin-left:auto;color:var(--muted);font-weight:650;font-size:10px}.radar-latest{border:0;background:none;color:#7280c5;font-size:10px;font-weight:850;text-decoration:underline;cursor:pointer;padding:4px 0}
.mobile-dock{display:none}
body.dark .save-location.is-saved,body.dark .place-chip-current,body.dark .focus-option.active{background:#3a345f;border-color:#7162aa;color:#ded7ff}body.dark .places-add:hover{background:#313553}body.dark .place-chip .place-remove:hover{background:#402c44}body.dark .map-update{background:var(--surface)}body.dark .radar-settings{border-color:var(--line)}
@media(max-width:1080px){.quick-insight{padding:16px 13px;gap:9px}.insight-ic{width:32px;height:32px;min-width:32px}.quick-insight strong{font-size:12px}.map-focus-caption{text-align:left}}
@media(max-width:760px){.main-nav{display:none!important}.topbar{min-height:69px;padding:12px 0 10px}.announcement{margin-top:13px}.intro-section{padding-top:25px}.intro-row{align-items:flex-start;gap:8px}.intro-actions{justify-content:flex-end;align-self:center;gap:6px;flex-wrap:nowrap}.save-location{height:38px;width:38px;min-height:38px;padding:0;justify-content:center;border-radius:50%}.save-location #saveLocationLabel{display:none}.save-location .i{width:19px;height:19px}.places-panel{padding:15px 13px;margin-bottom:17px;border-radius:15px}.places-heading{align-items:flex-start;gap:4px}.places-heading h2{font-size:12px}.places-caption{font-size:9px;text-align:right;max-width:145px}.places-overline{font-size:8px}.quick-insights{display:flex;overflow-x:auto;scroll-snap-type:x proximity;gap:10px;margin-top:15px;padding-bottom:4px}.quick-insight{min-width:min(78vw,270px);max-width:280px;scroll-snap-align:start;padding:15px 14px;min-height:105px}.quick-insight strong{font-size:13px}.map-focusbar{padding:11px 12px;gap:7px}.map-focus-buttons{width:100%;justify-content:stretch}.focus-option{flex:1;justify-content:center;min-height:36px}.map-focus-caption{font-size:9px;text-align:left}.map-update{font-size:9px;padding:9px}.map-location-chip{top:12px;right:12px;font-size:9px;padding:9px 10px;max-width:135px}.radar-settings{padding:13px 15px;gap:9px;flex-wrap:wrap}.radar-settings input{flex:1;max-width:170px}.radar-description{flex-basis:100%;margin-left:0;font-size:9px}.map-hint{max-width:45%;font-size:9px}.warning-section{margin-bottom:30px}.site-footer{padding-bottom:110px}.mobile-dock{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:grid;grid-template-columns:repeat(5,1fr);gap:1px;border-top:1px solid var(--line);background:var(--surface);padding:9px max(10px,env(safe-area-inset-right)) max(9px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));box-shadow:0 -6px 24px rgba(10,19,49,.15)}.mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-decoration:none;color:var(--muted-dark);font-size:9px;font-weight:800;padding:3px 2px;min-height:43px;border-radius:10px;touch-action:manipulation}.mobile-dock a .i{width:19px;height:19px;display:grid;place-items:center}.mobile-dock a.dock-current,.mobile-dock a:focus-visible{color:#7270d0;background:var(--bg)}.mobile-dock a:hover{color:#7270d0}#today,#map,#hourly,#outlook,#planner,#saved{scroll-margin-top:20px}}
@media(max-width:420px){.intro-row h1{font-size:29px}.places-heading{flex-direction:column}.places-caption{text-align:left;max-width:unset}.map-focus-caption{max-width:52%}.map-hint{display:none}.radar-settings input{max-width:130px}}
@media(prefers-reduced-motion:reduce){.save-location,.place-chip{transition:none}}

/* Weather, actually. v3.1: stronger legibility, more usable radar, tighter mobile navigation. */
.location-privacy{font-size:10px;line-height:1.55;color:var(--muted-dark);margin:0;padding:0 18px 14px;max-width:520px}
.radar-help{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:13px 15px;background:#f0f4ff;border:1px solid #dce5fc;border-radius:12px;color:#394d80;font-size:12px;font-weight:650;line-height:1.5}
.radar-help[hidden]{display:none}.radar-help .i{width:18px;height:18px;flex:none}.radar-help span:nth-child(2){flex:1}.radar-help a{color:#475cc3;font-weight:850;white-space:nowrap}
.map-viewport{height:510px}.map-hint{font-size:11px}.map-status{font-size:12px}
.map-section-heading p,.section-heading p{font-size:13px;line-height:1.6}
.map-tab,.focus-option,.map-recentre{font-size:12px}
.map-timeline{padding-top:20px}.map-bottom p{font-size:11px}.map-focus-caption{font-size:12px}
.radar-settings label,.radar-settings .radar-description{font-size:11px}
.city-marker{font-size:11px}.map-location-chip{font-size:11px}
body.dark .radar-help{background:#243356;border-color:#3a4a77;color:#d8e1ff}body.dark .radar-help a{color:#aab9ff}
@media(max-width:1050px){.map-viewport{height:450px}}
@media(max-width:760px){.map-viewport{height:410px}.radar-help{align-items:flex-start;flex-wrap:wrap}.map-status{font-size:11px}.map-tab,.focus-option{font-size:11px}.map-focus-caption{font-size:11px;max-width:100%}.map-bottom p{font-size:10px}.map-section-heading p{font-size:12px}.map-hint{font-size:10px}}
@media(max-width:410px){.map-viewport{height:380px}.radar-help{font-size:11px}.map-focus-caption{max-width:100%}}
/* Everyday forecast typography adjustments for readability. */
@media(min-width:1060px){
 .daily-day,.daily-temps{font-size:12px}
 .daily-description,.daily-rain{font-size:11px}
 .chart-note,.hour-point{font-size:12px}
 .timeline-header strong{font-size:14px}
 .timeline-header span,.timeline-ends{font-size:11px}
 .map-toolbar{padding:16px 20px}
}
@media(max-width:760px){
 .daily-day{font-size:11px}
 .daily-rain,.daily-temps{font-size:10px}
 .hour-point{font-size:11px}
 .timeline-header strong{font-size:13px}
 .timeline-header span{font-size:11px}
}

/* v3.1.2: one gentle location action inside the header popover. No banner. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.location-popover{padding:19px 19px 16px}
.location-detect{border:1px solid #dce3fb;background:linear-gradient(100deg,#f3f5ff,#f8f9ff);color:var(--text);width:100%;display:flex;align-items:center;gap:12px;text-align:left;border-radius:13px;padding:12px;min-height:62px;margin-top:12px;transition:border-color .15s,background .15s}
.location-detect:hover{border-color:#b3bff4;background:var(--soft)}
.location-detect-icon{width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;background:#e3e9ff;color:#596dcc;border-radius:10px}
.location-detect-icon .i{width:18px;height:18px}
.location-detect-copy{display:flex;flex:1;flex-direction:column;gap:1px}
.location-detect-copy strong{font-size:12px;font-weight:850}
.location-detect-copy small{font-size:10px;font-weight:600;color:var(--muted-dark)}
.location-detect-chevron{width:15px;height:15px;color:#8e99cc}
.location-detect.is-locating .location-detect-icon .i{animation:rotate 1.4s linear infinite}
.location-status{margin:8px 3px 0;font-size:11px;line-height:1.55;color:var(--muted-dark)}
.location-status[hidden]{display:none}
.location-status[data-tone="error"]{color:#b65a6c}
.location-results-label{font-size:10px;letter-spacing:.7px;text-transform:uppercase;font-weight:850;color:var(--muted-dark);padding:15px 5px 1px}
.location-popover .results-list{max-height:248px;padding-top:5px}
.location-popover .results-empty:first-child{padding:5px 10px 9px!important}
.location-extras{display:flex;align-items:start;justify-content:space-between;gap:13px;border-top:1px solid var(--line);padding:12px 3px 0}
.location-extras span{max-width:220px;font-size:9px;line-height:1.5;color:var(--muted-dark)}
.edit-place-label{font-size:10px;font-weight:750;color:#6475ce;white-space:nowrap;background:none;border:0;padding:2px 0;text-decoration:underline;text-underline-offset:3px}
.location-rename-form{padding:12px 2px 2px}
.location-rename-form[hidden]{display:none}
.location-rename-form label{display:block;font-size:11px;font-weight:800;color:var(--text);margin-bottom:7px}
.location-rename-controls{display:flex;align-items:center;gap:7px}
.location-rename-controls input{width:100%;min-width:0;flex:1;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:8px;padding:10px;font-size:11px}
.location-rename-controls button{border:1px solid #6677d3;background:#6677d3;color:white;border-radius:8px;min-height:36px;padding:7px 11px;font-weight:750;font-size:11px}
.location-rename-controls button.secondary{background:var(--surface);color:var(--muted-dark);border-color:var(--line)}
.location-rename-form small{display:block;margin-top:8px;color:var(--muted-dark);font-size:9px;line-height:1.6}
body.dark .location-detect{background:#27335a;border-color:#384771}
body.dark .location-detect-icon{background:#364778;color:#cad4ff}
@media(max-width:420px){.location-popover{padding:15px;right:12px}.location-extras{flex-direction:column;gap:6px}.location-extras span{max-width:unset}}
@media(prefers-reduced-motion:reduce){.location-detect{transition:none}}

/* v3.1.3: audit fixes, compact and accessible recovery controls */
.map-data-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.city-retry{font:inherit;font-size:11px;font-weight:800;border:1px solid var(--line);color:var(--text);background:var(--bg);border-radius:9px;padding:9px 12px;cursor:pointer}
.city-retry[hidden]{display:none}
.city-retry:hover{border-color:#7b8bdd}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ec9b2b;outline-offset:3px}
@media(max-width:600px){.map-data-tools{width:100%;justify-content:flex-start}.city-retry{min-height:38px}.map-status{text-align:left}}

/* === v3.2: map clarity and collision-free city chips === */
.map-viewport{height:540px;background:#d7e4eb}
.map-viewport .weather-base-tiles{filter:grayscale(.24) saturate(.62) contrast(.95) brightness(1.045)}
.map-toolbar{padding:17px 21px}
.map-tab{font-size:12px;min-height:42px}
.map-status{font-size:11px;line-height:1.5}
.map-hint{font-size:11px;max-width:min(55%,380px);line-height:1.4}
.map-location-chip{max-width:230px;font-size:10px;padding:9px 12px;background:rgba(28,47,90,.9)}
.map-key{flex-direction:column;align-items:stretch;gap:6px;padding:12px 14px;min-width:208px;border-radius:12px;font-size:10px}
.map-key .radar-key-title{font-size:10px;letter-spacing:.1px;color:#213863;font-weight:850}
.radar-key-row{display:flex;align-items:center;gap:9px}
.radar-gradient{height:11px;width:105px;background:linear-gradient(90deg,#d3eaff,#88b9ec,#3c75d6,#2d4599);border:1px solid rgba(50,83,155,.2)}
.weather-marker-shell.weather-marker-v32{background:transparent;border:0;overflow:visible}
.map-city-anchor{position:absolute;left:0;top:0;display:block;width:0;height:0;overflow:visible}
.map-city-point{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border:2px solid white;border-radius:50%;background:#2e559b;box-shadow:0 2px 10px rgba(16,34,82,.28);transition:transform .12s,background .12s}
.map-city-anchor.is-forecast .map-city-point{width:17px;height:17px;left:-8.5px;top:-8.5px;background:#7567d6;box-shadow:0 0 0 4px rgba(255,255,255,.88),0 0 0 7px rgba(110,92,219,.30)}
.map-city-anchor.is-inspected .map-city-point{background:#f09531;box-shadow:0 0 0 4px #fff,0 0 0 7px #e5a440}
.weather-marker-v32:hover .map-city-point{transform:scale(1.25)}
.map-city-bubble{position:absolute;left:var(--bubble-x);top:var(--bubble-y);height:33px;width:94px;background:rgba(255,255,255,.97);border:1px solid rgba(67,87,137,.25);border-radius:11px;box-shadow:0 3px 16px rgba(19,37,72,.19);display:flex;align-items:center;justify-content:center;gap:5px;color:#20345b;font-weight:800;padding:4px;line-height:1;pointer-events:none}
.map-bubble-city{font-size:9px;letter-spacing:-.1px;white-space:nowrap}
.map-city-bubble strong{font-size:15px;letter-spacing:-.35px;white-space:nowrap;color:#5368c9}
.map-city-anchor.is-inspected .map-city-bubble{border-color:#c78f34;box-shadow:0 0 0 2px rgba(238,179,80,.22),0 3px 16px rgba(19,37,72,.15)}
.map-city-detail{position:absolute;right:15px;top:57px;z-index:770;min-width:214px;max-width:240px;background:rgba(255,255,255,.97);border:1px solid #e0e6f0;border-radius:15px;padding:16px;box-shadow:0 14px 40px rgba(17,35,75,.21);color:#1d2f56}
.map-city-detail[hidden]{display:none}
.map-detail-kicker{display:block;color:#6072a9;letter-spacing:1px;font-size:9px;font-weight:850;margin-bottom:8px}
.map-detail-main{display:flex;align-items:baseline;gap:12px;justify-content:space-between;padding-right:8px}
.map-detail-main strong{font-size:16px;line-height:1.2}
.map-detail-main span{font-size:24px;font-weight:900;color:#5b67cb}
.map-city-detail p{font-size:10px;line-height:1.5;color:#6b7a91;margin:8px 0 14px}
.map-detail-close{position:absolute;right:8px;top:6px;border:0;background:transparent;font-size:20px;color:#687694;padding:4px 9px;cursor:pointer}
#mapCityForecast{background:#606fd0;color:white;padding:11px 12px;border-radius:9px;border:0;min-height:38px;font-weight:800;font-size:11px;cursor:pointer;width:100%}
.city-strip{display:flex;gap:8px;overflow-x:auto;padding:13px 17px;background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:thin}
.city-strip[hidden]{display:none}
.city-strip-option{flex:1 0 99px;min-width:98px;display:flex;align-items:center;gap:5px;flex-direction:column;padding:10px 9px;min-height:62px;border:1px solid var(--line);background:var(--bg);border-radius:12px;color:var(--text);cursor:pointer;transition:background .15s,border .15s}
.city-strip-option span{font-size:10px;font-weight:800;white-space:nowrap}
.city-strip-option strong{font-size:18px;line-height:1.2;font-weight:900;color:#6373ce}
.city-strip-option:hover,.city-strip-option.is-active{border-color:#7782d6;background:#eeeeff}
.map-timeline{padding:20px 23px 16px}
.timeline-header strong{font-size:15px;line-height:1.35}
.timeline-header span{font-size:11px;line-height:1.5}
.timeline-actions button{min-height:42px;min-width:44px;font-size:12px}
.timeline-actions .play-toggle{min-width:95px}
.timeline-actions button:disabled,.radar-latest:disabled{opacity:.5;cursor:default}
.radar-slider{margin:23px 0 12px;height:10px;cursor:pointer}
.timeline-ends{font-size:11px;gap:12px;line-height:1.4}
.radar-latest{font-size:11px;text-decoration:none;background:#eef0ff;color:#5363ba;padding:9px 11px;border-radius:9px}
.radar-settings label,.radar-settings .radar-description{font-size:11px}
.map-bottom{gap:18px}
.map-bottom p{font-size:10px;line-height:1.5}
.map-bottom p strong{color:inherit}
.map-focus-caption{font-size:11px}
.favourite-pin{font-size:10px;padding:6px 8px;border-radius:10px}
body.dark .map-city-bubble{background:rgba(34,47,76,.97);color:#f1f4fd;border-color:#7280a2}
body.dark .map-city-bubble strong{color:#bfc9ff}
body.dark .map-city-detail{background:rgba(29,39,67,.97);border-color:#425379;color:white}
body.dark .map-detail-main span{color:#c4cbff}
body.dark .map-city-detail p,body.dark .map-detail-kicker{color:#c0c9df}
body.dark .city-strip-option{background:#222d4d}
body.dark .city-strip-option.is-active{background:#353962}
@media(max-width:1050px){.map-viewport{height:465px}.map-timeline{padding:16px 18px}}
@media(max-width:760px){.map-viewport{height:440px}.map-hint{max-width:45%;font-size:9px;line-height:1.4;padding:8px}.map-toolbar{padding:12px}.map-tab{font-size:11px}.map-city-bubble{width:50px;height:28px;display:flex;flex-direction:row}.map-bubble-city{display:none}.map-city-bubble strong{font-size:15px}.map-key{bottom:12px;left:10px;min-width:0;padding:9px 10px}.radar-key-title{font-size:9px!important}.radar-gradient{width:66px}.radar-key-row{gap:5px;font-size:9px}.map-location-chip{font-size:9px;max-width:160px}.map-city-detail{min-width:0;width:min(230px,calc(100% - 24px));top:53px;right:12px;padding:13px}.map-detail-main strong{font-size:14px}.map-detail-main span{font-size:21px}.map-timeline{padding:15px 13px}.timeline-header strong{font-size:13px}.timeline-ends{font-size:10px;flex-wrap:wrap}.radar-latest{padding:7px 9px}.city-strip{padding:11px;gap:7px}.city-strip-option{min-width:92px;flex-basis:92px}.map-focus-caption{font-size:10px}.map-bottom p{font-size:10px}}
@media(max-width:420px){.map-viewport{height:390px}.map-hint{display:none}.map-city-detail{top:auto;bottom:55px;right:10px;max-width:210px}.map-key{bottom:10px;max-width:155px}.map-location-chip{max-width:175px}.map-viewport .leaflet-control-attribution{font-size:8px!important}}

/* v3.2.1: one-tap city selection and unmistakable local forecast context */
.forecast-for{display:inline-flex;align-items:center;gap:7px;margin-top:10px;padding:7px 12px;border:1px solid #dce2fa;background:#eff1ff;color:#5364b7;border-radius:100px;font-size:11px;font-weight:650;line-height:1.3;max-width:100%;}
.forecast-for strong{font-weight:900;color:#334b9c;overflow-wrap:anywhere}
.forecast-for .i{height:14px;width:14px;flex:0 0 14px;display:inline-grid;place-items:center}
.forecast-for .i svg{width:14px;height:14px}
#hourlyHeading,#outlookHeading{text-wrap:balance}
.map-forecast-links{display:flex;gap:7px;margin-top:13px}
.map-forecast-links a{display:flex;flex:1;align-items:center;justify-content:center;border-radius:9px;background:#606fd0;color:#fff;text-decoration:none;padding:10px 6px;font-weight:850;font-size:11px;min-height:42px;white-space:nowrap}
.map-forecast-links a:nth-child(2){background:#edf0fc;color:#4154a4}
.map-forecast-links a:hover,.map-forecast-links a:focus-visible{filter:brightness(.94);outline-offset:2px}
.city-strip-option em{font-size:9px;font-style:normal;color:#405aab;font-weight:850;line-height:1.1;white-space:nowrap}
.city-strip-option.is-active{background:#edf0ff;border-color:#626ed3;box-shadow:inset 0 0 0 1px #626ed3}
body.dark .forecast-for{background:#30395d;border-color:#536194;color:#d3dbff}
body.dark .forecast-for strong{color:#edf0ff}
body.dark .city-strip-option.is-active{background:#3c4671;border-color:#a5aff7}
body.dark .city-strip-option em{color:#d1d8ff}
body.dark .map-forecast-links a:nth-child(2){background:#414d7b;color:#f0f1ff}
@media(max-width:760px){.forecast-for{font-size:10px;margin-top:8px}.map-forecast-links a{font-size:11px}.city-strip-option{min-height:72px}}
@media(prefers-reduced-motion:reduce){.map-forecast-links a{transition:none}}

/* Home is always the default; explored cities are temporary. */
.back-to-my-weather{appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid #d7ddf1;background:#eef0ff;color:#354c9a;border-radius:999px;padding:9px 12px;font-family:inherit;font-weight:800;font-size:12px;white-space:nowrap;cursor:pointer}
.back-to-my-weather .i{display:inline-flex;width:15px;height:15px}
.back-to-my-weather .i svg{width:15px;height:15px}
.back-to-my-weather:hover{background:#e4e8ff}
.home-return-menu,.home-set-menu{font:inherit;font-size:12px;font-weight:750;cursor:pointer;border:1px solid #d8dff4;background:#eef1ff;color:#3d54a3;border-radius:12px;padding:10px 14px;width:100%;margin:8px 0;text-align:left}
.home-set-menu{background:#fff;border-color:#d9deeb;color:#4c5873}
.dark .back-to-my-weather,.dark .home-return-menu{background:#2c3358;color:#f2f4ff;border-color:#4d5782}
.dark .home-set-menu{background:#222b45;color:#e1e7fa;border-color:#505a7a}
[hidden]{display:none!important}
@media(max-width:660px){.back-to-my-weather{font-size:11px;padding:8px 10px;gap:4px}}

/* Weather, actually. v3.3 | immersive, original radar experience */
.map-fullscreen-cta,.map-fullscreen-toggle,.immersive-location-btn{
  border:1px solid #dce3f5;background:#fff;color:#293e80;display:inline-flex;
  align-items:center;justify-content:center;gap:9px;border-radius:12px;
  min-height:42px;padding:10px 15px;font:800 11px Montserrat,Arial,sans-serif;
  box-shadow:0 3px 12px rgba(35,55,101,.045)
}
.map-fullscreen-cta:hover,.map-fullscreen-toggle:hover{background:#eef1ff;border-color:#b5c1f0}
.map-fullscreen-cta .i,.map-fullscreen-toggle .i,.immersive-location-btn .i{width:16px;height:16px}
.map-data-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.immersive-brand,.immersive-location-btn,.immersive-timeline-heading,.radar-time-marks{display:none}
.map-fullscreen-toggle{min-height:38px;padding:8px 12px;font-size:10px}
body.dark .map-fullscreen-cta,body.dark .map-fullscreen-toggle{background:#293557;color:#e9edff;border-color:#4d597c}
/* Freeze the document underneath the map while it is open. */
body.radar-immersive-open{overflow:hidden!important}
body.radar-immersive-open .mobile-dock{visibility:hidden}
.map-panel.is-immersive{
  position:fixed!important;inset:0!important;z-index:9000!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  height:100dvh!important;width:100vw!important;max-width:none!important;overflow:hidden!important;
  background:#142542!important;color:#f8faff!important;box-shadow:none!important;
  isolation:isolate
}
.map-panel.is-immersive .map-viewport{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  border:0;overflow:hidden;background:#11243d
}
.map-panel.is-immersive .map-viewport .leaflet-container{background:#14283f}
.map-panel.is-immersive .weather-base-tiles{filter:saturate(.68) brightness(.79) contrast(1.11)}
.map-panel.is-immersive .map-toolbar{
  position:absolute!important;top:calc(12px + env(safe-area-inset-top,0px));left:14px;right:14px;z-index:970;
  border:1px solid rgba(255,255,255,.14);border-radius:17px;
  background:rgba(13,28,52,.94)!important;color:#fff!important;
  box-shadow:0 12px 30px rgba(0,0,0,.19);padding:10px 12px;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  gap:12px
}
.map-panel.is-immersive .immersive-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;color:#fff;font-size:13px;font-weight:900;letter-spacing:-.65px;line-height:1.04}
.immersive-brand-mark{display:grid;place-items:center;width:39px;height:39px;font-size:28px;color:#ffc26d;background:rgba(255,185,101,.13);border:1px solid rgba(255,193,114,.23);border-radius:12px}
.immersive-brand-dot{color:#ffc26d}
.immersive-brand small{display:block;font-size:8px;font-weight:800;letter-spacing:1.2px;color:#b5c8ef;margin-top:5px}
.map-panel.is-immersive .map-tabs{background:rgba(255,255,255,.075)!important;border:1px solid rgba(255,255,255,.08);border-radius:12px;gap:4px;padding:4px}
.map-panel.is-immersive .map-tab{color:#cdd9f4!important;min-height:43px;font-size:11px;padding:9px 13px}
.map-panel.is-immersive .map-tab.active{background:#7481e9!important;color:#fff!important;box-shadow:0 5px 15px rgba(58,70,160,.33)}
.map-panel.is-immersive .map-data-tools{margin-left:auto;flex:0 1 auto}
.map-panel.is-immersive .map-status{color:#adc3df!important;max-width:155px;font-size:10px;line-height:1.35;text-align:right}
.map-panel.is-immersive .map-status[data-kind="error"]{color:#ffbbc8!important}
.map-panel.is-immersive .map-fullscreen-toggle{background:#fbfcff!important;border-color:#fff!important;color:#1b2b55!important;min-height:43px;font-size:11px;box-shadow:none}
.map-panel.is-immersive .map-fullscreen-toggle:hover{background:#e9eeff!important}
.map-panel.is-immersive .map-focusbar{
  position:absolute!important;top:calc(93px + env(safe-area-inset-top,0px));left:14px;right:auto;
  z-index:960;display:flex;align-items:center;gap:8px;width:auto;max-width:calc(100% - 28px);
  border:0!important;background:transparent!important;padding:0!important;
  box-shadow:none!important
}
.map-panel.is-immersive .map-focus-buttons{border:1px solid rgba(255,255,255,.13);background:rgba(11,25,46,.92);border-radius:12px;padding:4px;display:flex;gap:3px;backdrop-filter:blur(12px)}
.map-panel.is-immersive .focus-option{color:#d5e0f4;background:transparent;min-height:40px;border-radius:9px;font-size:11px}
.map-panel.is-immersive .focus-option.active{background:#7382e5;color:#fff}
.map-panel.is-immersive .map-focus-caption,.map-panel.is-immersive #radarReload{display:none!important}
.map-panel.is-immersive .immersive-location-btn{display:inline-flex;min-height:49px;background:rgba(12,28,52,.93);color:#eff4ff;border:1px solid rgba(255,255,255,.14);font-size:11px;padding:10px 14px}
.map-panel.is-immersive .immersive-location-btn:hover{background:#3c5291}
.map-panel.is-immersive .map-hint{display:none}
.map-panel.is-immersive .map-location-chip{
  top:calc(155px + env(safe-area-inset-top,0px));left:14px;right:auto;bottom:auto;
  max-width:min(290px,calc(100% - 36px));background:rgba(13,27,48,.88);color:#fff;
  box-shadow:0 7px 23px rgba(0,0,0,.19);border:1px solid rgba(255,255,255,.1);
  border-radius:11px;padding:10px 13px;font-size:11px
}
.map-panel.is-immersive .map-key{
  left:15px;bottom:calc(212px + env(safe-area-inset-bottom,0px));
  background:rgba(13,27,48,.9)!important;color:#e8f1ff!important;
  border:1px solid rgba(255,255,255,.15)!important;border-radius:12px;min-width:216px;
  font-size:11px;padding:12px 15px;gap:7px;box-shadow:0 9px 27px rgba(0,0,0,.19)
}
.map-panel.is-immersive .map-key .radar-key-title{color:#edf3ff!important;font-size:11px!important}
.map-panel.is-immersive .radar-gradient{background:linear-gradient(90deg,#cae9ff,#8bcaff,#5b94eb,#4667c7,#253c91);width:115px;height:12px}
.map-panel.is-immersive .map-timeline{
  position:absolute!important;z-index:960;bottom:calc(18px + env(safe-area-inset-bottom,0px));
  left:50%;transform:translateX(-50%);width:min(860px,calc(100% - 32px));
  border:1px solid rgba(255,255,255,.17)!important;border-radius:20px;
  color:#f5f8ff!important;background:rgba(14,26,48,.95)!important;
  box-shadow:0 16px 60px rgba(0,0,0,.28);padding:17px 20px 15px!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
}
.map-panel.is-immersive .immersive-timeline-heading{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.1px;font-weight:900;color:#d4e1ff;padding-bottom:10px}
.immersive-live-dot{width:7px;height:7px;border-radius:50%;background:#99d8fd;box-shadow:0 0 0 3px rgba(124,185,249,.15)}
.imm-history-note{margin-left:auto;color:#8eabd5;font-size:9px;letter-spacing:.85px}
.map-panel.is-immersive .timeline-header strong{color:#fff!important;font-size:16px}
.map-panel.is-immersive .timeline-header span{color:#b0bdd7!important;font-size:11px}
.map-panel.is-immersive .timeline-actions button{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.13);width:44px;height:43px}
.map-panel.is-immersive .timeline-actions .play-toggle{width:109px;background:#7a89ef;border-color:#7a89ef;font-size:12px;color:#fff}
.map-panel.is-immersive .radar-time-marks{display:flex;justify-content:space-between;font-size:10px;color:#98add1;margin-top:15px;font-weight:650}
.map-panel.is-immersive .radar-slider{height:9px;margin:7px 0 13px;accent-color:#97a7ff}
.map-panel.is-immersive .timeline-ends{color:#a6b6d4;font-size:10px;gap:10px}
.map-panel.is-immersive .radar-latest{background:#32456e!important;color:#fff!important;border:1px solid #576a9d;min-height:37px;font-weight:850}
.map-panel.is-immersive .radar-settings{
  position:absolute!important;z-index:950;bottom:calc(206px + env(safe-area-inset-bottom,0px));right:16px;
  display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.12);
  border-radius:11px;padding:7px 13px;background:rgba(12,25,47,.88)!important;
  color:#fff!important;font-size:10px;box-shadow:0 6px 22px rgba(0,0,0,.13)
}
.map-panel.is-immersive .radar-settings[hidden]{display:none!important}
.map-panel.is-immersive .radar-settings label{color:#e9efff!important;white-space:nowrap}
.map-panel.is-immersive .radar-settings input{width:86px}
.map-panel.is-immersive .radar-settings .radar-description{display:none}
.map-panel.is-immersive .map-bottom{display:none!important}
.map-panel.is-immersive .map-viewport .leaflet-control-attribution{font-size:9px!important;background:rgba(12,25,48,.77)!important;color:#e9efff!important;border-radius:7px 0 0 0}
.map-panel.is-immersive .map-viewport .leaflet-control-attribution a{color:#c5d5ff!important}
.map-panel.is-immersive .map-viewport .leaflet-control-zoom{margin-bottom:calc(207px + env(safe-area-inset-bottom,0px));margin-right:18px}
.map-panel.is-immersive .map-viewport .leaflet-control-zoom a{background:#152847;color:#eaf0ff;border-color:#405679}
.map-panel.is-immersive .map-city-detail{
  right:18px;top:calc(160px + env(safe-area-inset-top,0px));bottom:auto;
  min-width:230px;max-width:270px;border-radius:16px;
  background:rgba(17,35,61,.95)!important;border:1px solid rgba(255,255,255,.18)!important;color:white!important;
  padding:20px;box-shadow:0 15px 48px rgba(0,0,0,.22)
}
.map-panel.is-immersive .map-detail-main span{color:#d1ddff}
.map-panel.is-immersive .map-city-detail p{color:#d2ddf1;font-size:11px}
.map-panel.is-immersive .map-detail-kicker{color:#b9c8f2}
.map-panel.is-immersive .map-detail-close{color:#f3f6ff}
.map-panel.is-immersive .map-forecast-links a:nth-child(2){background:#324978;color:#fff}
.map-panel.is-immersive .city-strip{
  position:absolute!important;z-index:960;left:16px;right:16px;
  bottom:calc(20px + env(safe-area-inset-bottom,0px));background:rgba(12,25,46,.94)!important;
  border:1px solid rgba(255,255,255,.17);border-radius:17px;padding:12px;
  box-shadow:0 11px 40px rgba(0,0,0,.22);gap:9px
}
.map-panel.is-immersive .city-strip[hidden]{display:none!important}
.map-panel.is-immersive .city-strip-option{background:#1a3153;color:#e5eeff;border-color:#3a5076;min-width:106px}
.map-panel.is-immersive .city-strip-option strong{color:#bacaff}
.map-panel.is-immersive .city-strip-option.is-active{background:#4a56a2;border-color:#c4ccff}
.map-panel.is-immersive .city-strip-option.is-active strong{color:#fff}
@media(max-width:850px){
  .map-panel.is-immersive .map-toolbar{top:calc(7px + env(safe-area-inset-top,0px));left:8px;right:8px;padding:8px;gap:6px;flex-wrap:nowrap}
  .map-panel.is-immersive .immersive-brand{display:none}
  .map-panel.is-immersive .map-tabs{flex:1;min-width:0;width:auto}
  .map-panel.is-immersive .map-tab{padding:9px 7px;min-width:0;font-size:10px;flex:1}
  .map-panel.is-immersive .map-data-tools{min-width:0;flex:0 0 auto;width:auto}
  .map-panel.is-immersive .map-status{display:none}
  .map-panel.is-immersive .map-fullscreen-toggle{padding:9px 11px;min-height:43px}
  .map-panel.is-immersive #mapFullscreenText{display:none}
  .map-panel.is-immersive .map-focusbar{top:calc(76px + env(safe-area-inset-top,0px));left:9px;right:9px;max-width:calc(100% - 18px);justify-content:space-between}
  .map-panel.is-immersive .map-location-chip{top:calc(140px + env(safe-area-inset-top,0px));left:9px}
  .map-panel.is-immersive .map-city-detail{top:auto;bottom:calc(123px + env(safe-area-inset-bottom,0px));left:9px;right:9px;min-width:0;max-width:360px;padding:14px}
  .map-panel.is-immersive .map-timeline{width:calc(100% - 16px);left:8px;transform:none;bottom:calc(8px + env(safe-area-inset-bottom,0px));padding:12px 14px 12px!important;border-radius:16px}
  .map-panel.is-immersive .timeline-header strong{font-size:14px}
  .map-panel.is-immersive .timeline-header span{font-size:9px}
  .map-panel.is-immersive .timeline-actions button{min-width:36px;width:37px;height:39px;padding:8px}
  .map-panel.is-immersive .timeline-actions .play-toggle{width:68px;min-width:68px;padding:8px;font-size:10px}
  .map-panel.is-immersive .imm-history-note{font-size:8px}
  .map-panel.is-immersive .radar-key-row{font-size:9px}
  .map-panel.is-immersive .map-key{bottom:calc(207px + env(safe-area-inset-bottom,0px));left:9px;min-width:0;padding:9px}
  .map-panel.is-immersive .map-key .radar-key-title{display:none}
  .map-panel.is-immersive .radar-gradient{width:76px}
  .map-panel.is-immersive .radar-settings{right:9px;bottom:calc(207px + env(safe-area-inset-bottom,0px));padding:7px 8px}
  .map-panel.is-immersive .radar-settings input{width:55px}
  .map-panel.is-immersive .map-viewport .leaflet-control-zoom{margin-bottom:calc(248px + env(safe-area-inset-bottom,0px));margin-right:10px}
  .map-panel.is-immersive .city-strip{bottom:calc(8px + env(safe-area-inset-bottom,0px));left:8px;right:8px}
}
@media(max-width:410px){
  .map-panel.is-immersive .map-tab{font-size:9px;gap:4px}
  .map-panel.is-immersive .map-tab .i{width:13px;height:13px}
  .map-panel.is-immersive .focus-option{font-size:10px;padding:8px}
  .map-panel.is-immersive .immersive-location-btn{padding:8px;font-size:10px;min-height:43px}
  .map-panel.is-immersive .map-location-chip{max-width:165px;font-size:9px}
  .map-panel.is-immersive .map-key{bottom:calc(203px + env(safe-area-inset-bottom,0px))}
  .map-panel.is-immersive .radar-settings{bottom:calc(203px + env(safe-area-inset-bottom,0px))}
  .map-panel.is-immersive .timeline-header strong{font-size:12px}
  .map-panel.is-immersive .timeline-actions{gap:3px}
  .map-panel.is-immersive .timeline-actions button{min-width:30px;width:31px}
  .map-panel.is-immersive .timeline-actions .play-toggle{width:57px;min-width:57px}
}
@media(prefers-reduced-motion:reduce){.map-panel.is-immersive *{animation:none!important;transition:none!important}}
/* Final v3.3 refinements: legible, accessible compact controls and visible credits. */
.map-panel.is-immersive .map-bottom{
  display:flex!important;position:absolute!important;z-index:925;
  top:calc(205px + env(safe-area-inset-top,0px));left:14px;right:auto;bottom:auto;
  padding:6px 10px!important;background:rgba(13,27,49,.84)!important;
  border:1px solid rgba(255,255,255,.11);border-radius:8px;max-width:min(425px,calc(100% - 28px));
  backdrop-filter:blur(8px)
}
.map-panel.is-immersive .map-bottom p:first-child{display:none!important}
.map-panel.is-immersive .map-bottom p:last-child{display:block!important;max-width:none;text-align:left!important;color:#e4eeff!important;font-size:9px!important;line-height:1.5}
.map-panel.is-immersive .map-bottom a{color:#b8c6ff!important}
@media(max-width:850px){
  .map-panel.is-immersive .map-focusbar{flex-wrap:nowrap!important}
  .map-panel.is-immersive .map-focus-buttons{width:auto!important;flex:1 1 auto;min-width:0}
  .map-panel.is-immersive .focus-option{flex:1;min-width:0;padding:8px 6px;white-space:nowrap}
  .map-panel.is-immersive .immersive-location-btn{flex:0 0 auto}
  .map-panel.is-immersive .map-bottom{top:calc(181px + env(safe-area-inset-top,0px));left:9px;max-width:min(335px,calc(100% - 18px))}
  .map-panel.is-immersive .map-fullscreen-toggle{min-width:43px!important;width:43px!important;padding:7px!important;display:grid;place-items:center}
  .map-panel.is-immersive .map-fullscreen-toggle .i{display:none!important}
  .map-panel.is-immersive .map-fullscreen-toggle:after{content:'×';display:block;font:500 28px/1 Arial,sans-serif;color:#20335f}
}
@media(max-width:410px){
  .map-panel.is-immersive .focus-option .i{width:12px;height:12px}
  .map-panel.is-immersive .immersive-location-btn .i{width:13px;height:13px}
  .map-panel.is-immersive .map-bottom p:last-child{font-size:8px!important}
  .map-panel.is-immersive .map-bottom{top:calc(185px + env(safe-area-inset-top,0px))}
}
@media(max-height:540px) and (orientation:landscape){
 .map-panel.is-immersive .map-toolbar{top:4px;padding:5px}
 .map-panel.is-immersive .map-focusbar{top:62px}
 .map-panel.is-immersive .map-location-chip{top:112px}
 .map-panel.is-immersive .map-bottom{top:148px}
 .map-panel.is-immersive .map-timeline{bottom:4px;padding:8px 14px!important}
 .map-panel.is-immersive .immersive-timeline-heading{padding-bottom:4px}
 .map-panel.is-immersive .radar-time-marks{margin-top:7px}
 .map-panel.is-immersive .radar-slider{margin:5px 0}
 .map-panel.is-immersive .map-key,.map-panel.is-immersive .radar-settings{bottom:145px}
 .map-panel.is-immersive .map-viewport .leaflet-control-zoom{margin-bottom:145px}
}

/* External comparison link: opens Zoom Earth; no third-party imagery embedded. */
.zoom-earth-out{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;text-decoration:none;font-size:12px;font-weight:700;padding:9px 11px;border:1px solid rgba(104,130,165,.35);border-radius:10px;background:rgba(255,255,255,.94);color:#24416a;box-shadow:0 2px 8px rgba(27,51,84,.08)}
.zoom-earth-out:hover,.zoom-earth-out:focus-visible{background:#e9f1ff;outline-offset:2px}
.zoom-earth-out .i{width:15px;height:15px}
@media(max-width:640px){.zoom-earth-out{font-size:11px;padding:8px 9px}}
