.dashboard-view{background:#f3f6fa;color:#1b3044}.dashboard-view .site-header{flex-wrap:wrap;gap:20px;padding-block:18px}.dashboard-view .header-actions,.dashboard-view .site-header nav{flex-wrap:wrap}.dashboard-page{padding:30px 0}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.dashboard-eyebrow{font-size:.65rem;font-weight:750;letter-spacing:.15em;color:#52788c;margin:0 0 8px}.dashboard-page h1{font-size:clamp(1.8rem,3.3vw,2.7rem);letter-spacing:-.045em;line-height:1.2;margin:0 0 8px}.dashboard-subtitle{margin:0;color:#687e8f;font-size:.9rem}.reading-stamp{text-align:right;display:grid;gap:8px;font-size:.75rem;color:#687e8f}.station-status{justify-self:end;display:inline-flex;align-items:center;gap:7px;background:#e4f4ec;color:#236749;padding:6px 12px;border-radius:99px;font-weight:650}.station-status:before{content:'';height:6px;width:6px;border-radius:50%;background:currentColor}.is-stale .station-status{background:#fff0d5;color:#865c15}.station-notice{padding:17px 20px;border:1px solid #e6c688;border-radius:12px;background:#fff7e7;margin-bottom:22px;color:#76531c;font-size:.85rem}.station-notice[hidden]{display:none}.station-notice p{margin:5px 0 0}.dashboard-primary{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:20px}.weather-card{background:white;border:1px solid #dee7ef;border-radius:17px;padding:22px;box-shadow:0 5px 20px #1630440b;min-width:0;border-top:4px solid var(--card-accent,#6e96b1)}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#62788c;font-size:.66rem;font-weight:750;letter-spacing:.1em;min-height:35px}.weather-icon{height:36px;width:36px;color:var(--card-accent);flex-shrink:0}.dashboard-number{font-size:clamp(2rem,3.3vw,3.1rem);font-weight:750;line-height:1.25;letter-spacing:-.05em;margin:17px 0 8px;font-variant-numeric:tabular-nums}.dashboard-number>span{font-size:.85rem;letter-spacing:0;margin-left:6px;font-weight:500;color:#647b8e}.card-state{font-size:.77rem;line-height:1.5;color:#536e83;margin:8px 0 14px;min-height:24px}.card-footnote{color:#788b9a;font-size:.65rem;line-height:1.6;margin:15px 0 0}.temperature-card{--card-accent:#c76c46;background:linear-gradient(130deg,#fff9f2,white 75%)}.thermal-frost{--card-accent:#4b76b9}.thermal-cool{--card-accent:#389bc0}.thermal-mild{--card-accent:#399b91}.thermal-warm{--card-accent:#cf843a}.thermal-hot{--card-accent:#ce633d}.thermal-very-hot{--card-accent:#c74650}.temperature-display{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 12px 0}.temperature-display .dashboard-number{font-size:clamp(3rem,4.7vw,4.8rem);color:var(--card-accent);margin:5px 0}.temperature-display .dashboard-number>span{font-size:1.3rem;color:var(--card-accent)}.soft-chip{color:var(--card-accent);background:#ffffffb3;border:1px solid #e7e6e4;padding:5px 9px;letter-spacing:0;border-radius:99px;font-size:.65rem}.thermometer{height:92px;width:34px;position:relative}.thermometer-tube{position:absolute;top:0;left:9px;width:16px;height:72px;border:2px solid var(--card-accent);border-radius:10px;background:white;overflow:hidden}.thermometer-tube>span{position:absolute;bottom:0;left:2px;right:2px;background:var(--card-accent);border-radius:8px 8px 0 0}.thermometer-bulb{position:absolute;bottom:0;left:3px;width:28px;height:28px;border:3px solid white;box-shadow:0 0 0 2px var(--card-accent);border-radius:50%;background:var(--card-accent)}.thermal-scale,.uv-scale{display:flex;gap:4px;height:5px;border-radius:8px;overflow:hidden}.thermal-scale span,.uv-scale span{flex:1}.thermal-scale span:nth-child(1){background:#4b76b9}.thermal-scale span:nth-child(2){background:#389bc0}.thermal-scale span:nth-child(3){background:#399b91}.thermal-scale span:nth-child(4){background:#cf843a}.thermal-scale span:nth-child(5){background:#c74650}.temperature-extremes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.temperature-extremes>div{display:grid;gap:4px}.extreme-label{font-size:.7rem;color:#718397}.temperature-extremes strong{font-size:1.15rem;color:#c66b43}.temperature-extremes>div:nth-child(2) strong{color:#337cae}.temperature-extremes small{font-size:.68rem;color:#8a9ba8}.wind-card{--card-accent:#27968e}.beaufort-ladder{display:flex;align-items:flex-end;gap:4px;margin:17px 0 19px;height:96px}.beaufort-step{flex:1;min-width:0;text-align:center}.beaufort-step>span{display:block;border-radius:4px 4px 2px 2px;background:#e9f0f1}.beaufort-step.passed>span{background:#9bd5ce}.beaufort-step.active>span{background:#258e88;box-shadow:0 0 0 2px white,0 0 0 3px #258e88}.beaufort-step small{font-size:.57rem;color:#748b95}.beaufort-step.active small{font-weight:800;color:#20746f}.wind-details{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e8eef2;padding-top:16px;font-size:.66rem;color:#718597}.wind-details strong{display:block;color:#294c62;font-size:.86rem;margin-top:4px}.rain-card{--card-accent:#448abc;background:linear-gradient(140deg,white,#f1f8fc)}.rain-landscape{height:75px;position:relative;overflow:hidden;margin:10px 0 17px;border-radius:10px;background:linear-gradient(#f1f8fc,#e5f2fb)}.cloud-one,.cloud-two{position:absolute;background:#d1e4f0;width:54px;height:18px;border-radius:30px;top:20px;left:35px}.cloud-two{width:38px;left:auto;right:35px;top:14px}.ground{position:absolute;bottom:0;height:15px;left:0;right:0;background:#d0ddd9}.puddle{position:absolute;bottom:9px;width:70px;height:8px;border-radius:50%;left:calc(50% - 35px);background:#83bbd7;display:none}.rain-wet .puddle,.rain-rain .puddle{display:block}.rain-dry .ground{background:#e2dfc9}.rain-unknown .rain-landscape{opacity:.45}.rain-details{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.68rem;color:#6b8295}.rain-details strong{color:#326a93;font-size:.85rem}.dashboard-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}.dashboard-secondary .dashboard-number{font-size:clamp(1.8rem,2.6vw,2.5rem)}.humidity-card{--card-accent:#398ac1}.humidity-layout{display:flex;align-items:center;justify-content:space-between}.humidity-drop{position:relative;overflow:hidden;width:34px;height:45px;clip-path:polygon(50% 0,95% 60%,100% 80%,90% 95%,65% 100%,35% 100%,10% 95%,0 80%,5% 60%);background:#e7f1f9}.humidity-drop span{position:absolute;bottom:0;left:0;right:0;background:#71b5dc}.pressure-card{--card-accent:#8b78b5}.pressure-card .dashboard-number{color:#655085}.solar-card{--card-accent:#d8a234}.solar-values{display:flex;justify-content:space-between;align-items:center;gap:10px}.solar-values small{font-size:.64rem;color:#7b8c96}.uv-value{display:grid;text-align:center;border-radius:12px;padding:8px 12px;background:#eaf5e8;color:#347740;min-width:66px}.uv-value strong{font-size:1.6rem}.uv-value small{color:inherit}.uv-moderate{background:#fff7d5;color:#886e10}.uv-high{background:#fff0df;color:#b16a1f}.uv-very-high{background:#fde8e8;color:#b33a3a}.uv-extreme{background:#f0e7f7;color:#793e99}.uv-unknown{background:#eff1f4;color:#788897}.uv-scale{margin-top:20px}.uv-scale span:nth-child(1){background:#61a754}.uv-scale span:nth-child(2){background:#e1bf43}.uv-scale span:nth-child(3){background:#e79444}.uv-scale span:nth-child(4){background:#d95d5a}.uv-scale span:nth-child(5){background:#9661b3}.dashboard-forecast{display:flex;justify-content:space-between;gap:24px;align-items:center;background:#eaf2f7;border:1px solid #dce8f0;border-radius:13px;padding:19px 22px;margin-top:22px}.dashboard-forecast p{margin:5px 0;font-size:.88rem}.dashboard-forecast small{font-size:.68rem;color:#708596}.dashboard-forecast a{font-size:.79rem;white-space:nowrap;color:#286586;text-decoration:none;font-weight:650}.dashboard-view .astronomy-now{margin-top:22px}.dashboard-view .astronomy-now .metric{border-radius:16px;box-shadow:none;padding:20px;border:1px solid #dfe7ef}.dashboard-view .astronomy-now .metric>p{font-size:.75rem}.dashboard-view .astronomy-now .metric strong{font-size:1.1rem}.dashboard-view footer{margin-top:20px;font-size:.8rem}.dashboard-empty{padding:50px 0}.dashboard-view a:focus-visible{outline:3px solid #e3ad46;outline-offset:4px}.is-stale .dashboard-primary,.is-stale .dashboard-secondary{filter:saturate(.65)}.is-stale .rain-visual,.is-stale .rain-landscape{opacity:.35}.is-stale .rain-landscape .puddle{display:none}.dashboard-view:not(.is-stale) .rain-rain .falling-drops{animation:rain-fall 1.6s ease-in-out infinite}.dashboard-view:not(.is-stale) .wind-card .weather-icon{animation:wind-drift 4s ease-in-out infinite}@keyframes rain-fall{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(3px);opacity:1}}@keyframes wind-drift{50%{transform:translateX(3px)}}@media(prefers-reduced-motion:reduce){.dashboard-view *{animation:none!important;transition:none!important}}@media(max-width:1050px){.dashboard-primary{gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-secondary{gap:14px}.weather-card{padding:18px}.dashboard-view .header-actions{justify-content:flex-start}.solar-values{flex-wrap:wrap}}@media(max-width:760px){.dashboard-primary,.dashboard-secondary{grid-template-columns:1fr}.dashboard-heading{align-items:flex-start}.dashboard-page{padding-top:18px}.weather-card{padding:22px}.temperature-display .dashboard-number{font-size:4.6rem}.dashboard-number{font-size:3rem}.reading-stamp{font-size:.62rem}.dashboard-forecast{flex-direction:column;align-items:flex-start;gap:14px}.dashboard-view .site-header{gap:18px}.dashboard-view .header-actions{width:100%}.dashboard-view .site-header nav{gap:12px}.dashboard-view footer{flex-wrap:wrap}.dashboard-view .astronomy-now{grid-template-columns:1fr}.dashboard-heading{gap:12px}.dashboard-page h1{font-size:1.8rem}}

.sky-now{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.sky-card{--sky-accent:#b38a36;background:white;border:1px solid #dfe7ef;border-top:4px solid var(--sky-accent);border-radius:16px;padding:20px}.moon-sky{--sky-accent:#8b78b5}.sky-card>header{display:flex;justify-content:space-between;align-items:center}.sky-card h2{font-size:1.15rem;margin:0}.sky-now-time{font-size:.75rem;color:#788f9f}.sky-card-body{display:flex;align-items:center;gap:12px}.sky-compass{width:58%;max-width:280px;height:auto;flex-shrink:0}.sky-card .sky-orbit{fill:none;stroke:var(--sky-accent);stroke-width:1.8;stroke-dasharray:3 4;opacity:.7}.sky-hour{fill:var(--sky-accent)}.sky-hour.below{opacity:.35}.sky-cardinal{font-size:12px;font-weight:750;fill:#58748d}.sky-hour-label{font-size:9px;fill:#688297;paint-order:stroke;stroke:white;stroke-width:2;stroke-linejoin:round}.sky-now-ray{stroke:var(--sky-accent);stroke-width:1.5}.sky-now-halo{fill:white;stroke:var(--sky-accent);stroke-width:1.5}.sky-data{font-size:.72rem;color:#718698;min-width:0}.sky-data p{margin:6px 0}.sky-data .sky-angle{font-size:1.8rem;font-weight:750;color:var(--sky-accent);letter-spacing:-.04em}.sky-data strong{font-size:1.1rem;color:#405f79}.sky-data a{color:#716397;font-size:.73rem}.sky-legend,.sky-explanation{font-size:.66rem;line-height:1.6;color:#8093a2}.sky-explanation{margin:12px 0}.is-stale .sky-now{filter:none}@media(max-width:1000px){.sky-now{grid-template-columns:1fr}}@media(max-width:400px){.sky-card{padding:15px}.sky-data .sky-angle{font-size:1.4rem}}

.source-language-note{display:block;font-size:.66rem;color:#788e9e;margin-top:6px}
