:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101b2b;--surface:#1c2d43;--text:#f7faff;--muted:#c1cede;--line:#40556e;--accent:#a9d9ff;--rain:#a9d9ff;--sun:#ffdc83;--warning:#ffd298;font-synthesis:none;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:0 0;border:0}button:disabled{cursor:default;opacity:.5}button,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,.hourly-scroll:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}[hidden]{display:none!important}svg{flex-shrink:0}.icon{vertical-align:middle;stroke-width:1.7px;width:24px;height:24px}.sun-part,.sun,.moon{color:var(--sun)}.rain-part{color:var(--rain)}.muted{color:var(--muted);font-size:18px;line-height:1.5}.dashboard{max-width:1500px;min-height:100dvh;padding:0 max(24px, env(safe-area-inset-right)) 0 max(24px, env(safe-area-inset-left));grid-template-rows:88px minmax(250px,1fr) auto 40px;grid-template-columns:minmax(0,1fr);gap:12px;margin:auto;display:grid}.topbar,.header-actions,.location-button,.date-clock,.section-heading,.current-heading,.refresh-status,.sun-times,.screen-heading,.radar-help{align-items:center;display:flex}.topbar{border-bottom:2px solid var(--line);justify-content:space-between;gap:20px;position:relative}.fullscreen-status{z-index:2;background:var(--surface);border:1px solid var(--warning);border-radius:8px;max-width:440px;padding:12px 16px;font-size:17px;line-height:1.4;position:absolute;top:100%;right:0}.location{min-width:0}.location-button{text-align:left;gap:10px;max-width:100%;min-height:44px;padding:0}.location-button h1{letter-spacing:-.7px;white-space:nowrap;text-overflow:ellipsis;font-size:32px;overflow:hidden}.location-button>.icon{width:18px}.location-sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.header-actions{flex-shrink:0;gap:12px}.nav-button,.back-button,.primary-button{white-space:nowrap;background:#223c59;border:1px solid #607c9e;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:0 18px;font-size:22px;font-weight:600;display:inline-flex}.radar-open{color:#102b45;background:#c7e4ff;border-color:#c7e4ff}.icon-button,.refresh-button{width:48px;height:48px;color:var(--muted);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.conditions{grid-template-rows:40px 1fr;grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}.current-heading{grid-column:1/-1;justify-content:space-between;gap:16px}.current-heading h2,.section-heading h2{font-size:25px}.date-clock{gap:16px}#calendar{color:var(--muted);font-size:19px}#clock{font-variant-numeric:tabular-nums;font-size:29px;font-weight:600}.current-weather{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);align-content:center;gap:24px 40px;min-width:0;display:grid}.temperature{font-size:clamp(100px, calc(42vw / var(--temperature-length,2)), 270px);letter-spacing:-9px;white-space:nowrap;grid-row:span 2;align-self:center;font-weight:600;line-height:1}.temperature>span{vertical-align:top;letter-spacing:-2px;font-size:.6em;line-height:1.4}.current-description{grid-column:2;min-width:0}.current-description h2{align-items:center;gap:16px;margin-bottom:12px;font-size:clamp(32px,4vw,48px);line-height:1.12;display:flex}.current-description h2>.icon{width:52px;height:52px}.current-description p{color:var(--muted);font-size:24px;line-height:1.5}.current-description strong{color:var(--text);font-weight:600}.current-description .observation-source{font-size:18px;line-height:1.4}.metrics{border-top:1px solid var(--line);grid-column:2;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;padding-top:20px;display:grid}.metric-label{color:var(--muted);align-items:center;gap:8px;font-size:22px;display:flex}.metric strong{margin-top:5px;font-size:40px;font-weight:600;display:block}.metric strong small{font-size:22px;font-weight:400}.metric-detail{color:var(--muted);margin-top:3px;font-size:18px}.hourly-section{border-top:2px solid var(--line);min-width:0;padding:22px 0 12px}.section-heading{justify-content:space-between;gap:12px;margin-bottom:24px}.section-heading .forecast-status{text-align:right;flex-shrink:1;max-width:60%}.hourly-scroll{overflow-x:auto}.hourly{grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.hourly>.muted{grid-column:1/-1}.hour{font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:16px;min-width:0;display:flex}.hour-label{flex-direction:column;align-items:center;min-height:44px;line-height:1.2;display:flex}.hour-label>span{white-space:nowrap;font-size:20px;font-weight:600}.hour-label small{color:var(--muted);font-size:14px}.hour-reading{flex-direction:column;align-items:center;gap:16px;display:flex}.hour-reading>.icon{width:40px;height:40px}.hour-reading>strong{font-size:34px;font-weight:600;line-height:1}.hour>small{color:var(--rain);align-items:center;gap:4px;font-size:20px;display:flex}.hour>small .icon{width:17px;height:17px}.footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.refresh-status{gap:8px}.refresh-button{width:44px;height:36px}.refresh-button .icon{width:18px;height:18px}.status-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-dot.fresh{background:#a7e2c4}.status-dot.stale{background:var(--warning)}.sun-times{gap:16px}.sun-times>span{align-items:center;gap:6px;display:flex}.sun-times .icon{color:var(--sun);width:18px;height:18px}.credits{white-space:nowrap;color:var(--muted)}.credits a{color:inherit}.night{filter:brightness(.75)}.noscript{text-align:center;background:#603d23;padding:20px;position:fixed;inset:auto 0 0}dialog{background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:16px;width:min(600px,100% - 32px);max-height:calc(100dvh - 32px);padding:28px;overflow:auto}dialog::backdrop{background:#030914c9}.screen-dialog{width:100%;max-width:none;height:100dvh;max-height:none;padding:max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));border:0;border-radius:0;margin:0}.screen-dialog[open]{flex-direction:column;gap:16px;display:flex;overflow:hidden}.screen-heading{flex-shrink:0;gap:24px;min-height:60px}.screen-heading>div{flex:1;min-width:0}.screen-heading h2{font-size:27px}.screen-heading p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:18px;overflow:hidden}.screen-content{flex:1;min-height:0;overflow:auto}.forecast-status{color:var(--warning);flex-shrink:0;font-size:18px;line-height:1.3}.forecast-columns,.day-card{grid-template-columns:1.05fr 2fr 1.2fr 1fr 1.2fr 18px;align-items:center;gap:16px;display:grid}.forecast-columns{color:var(--muted);padding:12px 18px;font-size:18px}.forecast{gap:7px;display:grid}.day-card{border:1px solid var(--line);text-align:left;background:var(--surface);border-radius:10px;width:100%;min-height:72px;padding:11px 18px}.day-title{font-size:24px;font-weight:600}.day-date{color:var(--muted);margin-top:4px;font-size:16px}.day-condition{align-items:center;gap:14px;font-size:21px;display:flex}.day-condition .icon{width:36px;height:36px}.day-temps{white-space:nowrap;color:var(--sun);align-items:baseline;gap:12px;font-size:31px;font-weight:600;display:flex}.day-temps span{color:var(--accent);font-size:27px}.day-rain{color:var(--rain);font-size:24px}.day-wind{font-size:20px}.day-wind small{color:var(--muted);margin-top:4px;font-size:16px;display:block}.day-card>.icon{width:18px}.forecast-note,.day-note{color:var(--muted);margin-top:16px;font-size:16px;line-height:1.5}#forecast-detail{max-width:900px;margin:16px auto}.day-heading p{color:var(--muted);margin-bottom:6px;font-size:19px}.day-heading h2{font-size:32px}.day-detail-hero{align-items:center;gap:28px;margin:24px 0;display:flex}.day-detail-hero>.icon{width:90px;height:90px}.day-detail-hero h3{margin-bottom:8px;font-size:32px}.day-detail-hero .day-temps{font-size:42px}.day-detail-hero .day-temps span{font-size:36px}.day-details{grid-template-columns:1fr 1fr;gap:0 32px;display:grid}.day-detail{border-top:1px solid var(--line);padding:18px 0}.day-detail>span{color:var(--muted);font-size:19px}.day-detail>strong{margin-top:7px;font-size:28px;font-weight:600;display:block}.radar-areas{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:flex}.radar-areas>span{color:var(--muted);font-size:16px}.radar-map{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex:1;min-height:150px;overflow:hidden}.radar-map iframe{border:0;width:100%;height:100%;display:block}.radar-help{color:var(--muted);flex-shrink:0;justify-content:space-between;gap:20px;font-size:16px;line-height:1.4}.radar-help a{flex-shrink:0;align-items:center;min-height:44px;display:flex}.dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.dialog-heading h2{font-size:30px}.search-form{gap:10px;display:flex}.search-input{border:1px solid var(--line);background:var(--surface);border-radius:8px;flex:1;align-items:center;gap:8px;min-width:0;padding-left:12px;display:flex}.search-input input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;padding:16px 8px;font-size:19px}.primary-button{background:var(--accent);color:var(--bg);font-size:20px}.locate-button{min-height:62px;color:var(--accent);align-items:center;gap:10px;padding:0;font-size:19px;display:flex}.search-results{gap:10px;margin-top:16px;display:grid}.search-result{border:1px solid var(--line);background:var(--surface);text-align:left;border-radius:10px;align-items:center;gap:14px;width:100%;padding:15px;display:flex}.search-result>span{flex:1}.search-result strong{font-size:22px}.search-result small{color:var(--muted);margin-top:5px;font-size:16px;display:block}.setting-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:24px 0;display:flex}.setting-row h3{font-size:23px}.setting-row p{color:var(--muted);margin-top:6px;font-size:17px;line-height:1.5}.unit-switch{border:1px solid var(--line);border-radius:10px;flex-shrink:0;padding:3px;display:flex}.unit-switch button{border-radius:7px;width:52px;min-height:48px;font-size:23px}.unit-switch button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.toggle{appearance:none;cursor:pointer;background:#435774;border-radius:24px;flex-shrink:0;width:60px;height:44px;margin:0;position:relative}.toggle:before{content:"";background:#e0e8f4;border-radius:50%;width:32px;height:32px;position:absolute;top:6px;left:6px}.toggle:checked{background:var(--accent)}.toggle:checked:before{background:var(--bg);transform:translate(16px)}@media (hover:hover){.nav-button:hover,.back-button:hover,.day-card:hover,.search-result:hover{border-color:var(--accent);background:#304964}.radar-open:hover,.primary-button:hover{color:var(--bg);background:#e4f2ff}.icon-button:hover,.refresh-button:hover{background:var(--surface);color:#fff}.location-button:hover,a:hover{color:var(--accent)}}@media (min-width:850px) and (max-height:740px){.dashboard{grid-template-rows:80px minmax(218px,1fr) auto 36px;gap:10px}.conditions{gap:8px}.hourly-section{padding-top:16px}.section-heading{margin-bottom:16px}.hour,.hour-reading{gap:10px}.current-weather{row-gap:16px}.metrics{padding-top:14px}}@media (max-width:1100px){.day-condition{gap:10px;font-size:19px}.forecast-columns,.day-card{gap:12px}}@media (max-width:849px){.dashboard{grid-template-rows:auto auto auto auto;gap:22px;padding:0 18px}.topbar{flex-wrap:wrap;padding:16px 0}.location-button h1{font-size:30px}.header-actions{flex-wrap:wrap;flex-shrink:1;gap:8px}.nav-button,.back-button{padding:0 12px;font-size:19px}.current-heading{flex-wrap:wrap}.current-weather{gap:20px}.temperature{font-size:calc(40vw / var(--temperature-length,2))}.current-description h2{font-size:28px}.current-description p{font-size:22px}.metrics{gap:14px}.metric strong{font-size:30px}.hourly{grid-template-columns:repeat(12,minmax(80px,1fr))}.footer{flex-wrap:wrap;padding-bottom:16px}.sun-times{display:none}.screen-dialog{padding:16px}.screen-heading{gap:14px}.screen-heading h2{font-size:23px}.forecast-columns{display:none}.day-card{grid-template-columns:1fr 1.4fr 1fr;gap:14px}.day-card>.icon{display:none}.day-rain:before{content:"Rain / snow ";color:var(--muted);font-size:15px}.day-wind:before{content:"Wind ";color:var(--muted);font-size:15px}}@media (max-width:600px){.topbar{gap:12px}.location,.header-actions{width:100%}.header-actions .nav-button{font-size:17px}.conditions{grid-template-rows:auto}.current-heading,.date-clock{gap:10px}#calendar{font-size:17px}#clock{font-size:24px}.current-weather{grid-template-columns:minmax(0,1fr);padding:12px 0}.temperature{font-size:calc(320px / var(--temperature-length,2));grid-row:auto}.current-description,.metrics{grid-column:1}.metrics{grid-template-columns:1fr 1fr;padding:16px 0 0}.metric-label{font-size:20px}.metric strong{font-size:28px}.screen-heading{flex-wrap:wrap}.screen-heading>div{flex-basis:100%;order:3}.screen-heading>button:last-child{margin-left:auto}.radar-help{flex-wrap:wrap;gap:0;font-size:14px}.day-condition{flex-direction:column;align-items:flex-start;font-size:16px}.day-temps{gap:6px;font-size:26px}.day-temps span{font-size:23px}.day-details{grid-template-columns:1fr}dialog{padding:20px}.dialog-heading h2{font-size:26px}.setting-row{gap:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
