.weather-page{--weather-accent:#8accc7}.weather-panel{max-width:1100px}.weather-kicker{font-family:var(--mono);font-size:.74rem;letter-spacing:.13em;color:var(--weather-accent);margin:0 0 12px}.weather-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 0 28px}.weather-hero h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 18px}.weather-intro{color:#acb7c3;max-width:570px;font-size:1.08rem;line-height:1.7;margin:0}.weather-mark{width:150px;flex-shrink:0;color:var(--weather-accent)}.weather-muted,.weather-footer{font-size:.88rem;color:#acb7c3}.weather-muted strong{color:var(--text);font-weight:500}.weather-statusbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:16px 0}.weather-statusbar p{margin:0}.weather-statusbar button{margin-left:auto}.station-status{font-size:.88rem;display:flex;align-items:center;gap:9px}.station-status:before{content:'';display:block;width:8px;height:8px;border-radius:50%;background:#8993a1}.station-status[data-state=live]:before{background:#8accc7;box-shadow:0 0 14px #8accc750}.station-status[data-state=stale]:before,.station-status[data-state=error]:before{background:#e5b36a}.weather-note{color:#c5cfda;background:#ffffff04;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-size:.9rem;margin:0 0 22px}.weather-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.weather-card{border:1px solid #ffffff16;border-radius:18px;background:linear-gradient(140deg,#1d2c3a80,#11192290);padding:24px;min-width:0}.temperature-card{grid-column:span 2;background:radial-gradient(ellipse at top right,#8accc714,transparent 70%),#18233180}.weather-value{font-size:clamp(2.1rem,5vw,3.3rem);line-height:1.15;letter-spacing:-.04em;margin:20px 0}.temperature-card .weather-value{font-size:clamp(3.4rem,8vw,5.3rem);margin:12px 0 22px}.weather-unit{font-size:1rem;letter-spacing:0;color:#acb7c3;margin-left:10px}.temperature-range{display:flex;gap:25px;flex-wrap:wrap;font-size:.9rem;color:#acb7c3}.temperature-range strong{color:var(--text);font-weight:500;margin-left:6px}.weather-history{margin-top:24px}.history-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.history-heading h2{font-size:1.35rem;margin:0}.weather-page button{border:1px solid #ffffff25;background:#ffffff04;color:var(--text);border-radius:9px;padding:9px 13px;font:inherit;font-size:.85rem;cursor:pointer}.weather-page button:hover{background:#ffffff10}.weather-page button:disabled{opacity:.6;cursor:wait}.chart-tabs{display:flex;gap:7px;flex-wrap:wrap}.chart-tabs button[aria-pressed=true]{background:#8accc71c;color:var(--weather-accent);border-color:#8accc777}.chart-empty{min-height:230px;display:grid;place-items:center;text-align:center;color:#acb7c3;padding:25px}#weather-chart{width:100%;height:auto;min-height:180px;margin-top:20px;overflow:visible}#weather-chart[hidden],.weather-page [hidden]{display:none}.weather-footer{border-top:1px solid var(--line);margin-top:30px;padding-top:12px}.weather-footer p{margin:8px 0}.weather-table-wrap{max-height:250px;overflow:auto;margin-top:12px}.weather-page table{width:100%;border-collapse:collapse;font-size:.85rem}.weather-page th,.weather-page td{text-align:left;padding:9px;border-bottom:1px solid var(--line)}.weather-page summary{cursor:pointer;color:var(--weather-accent);font-size:.88rem}.weather-page details{margin-top:16px}@media(max-width:700px){.weather-hero{padding-top:30px;gap:12px}.weather-mark{width:80px}.weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-card{padding:19px}.weather-grid>.weather-card:last-child{grid-column:span 2}.weather-statusbar{gap:10px}.weather-statusbar #updated{flex-basis:100%;order:3}.weather-statusbar button{margin-left:auto}.weather-kicker{font-size:.67rem}.weather-intro{font-size:.98rem}}@media(max-width:390px){.weather-mark{display:none}.weather-card{padding:15px}.weather-unit{font-size:.85rem;margin-left:5px}}

.weather-page .topbar{margin-top:20px}.weather-page .hub-panel{width:100%}.weather-page .weather-statusbar,.weather-page .weather-muted{overflow-wrap:anywhere}@media(max-width:440px){.weather-grid{grid-template-columns:minmax(0,1fr)}.temperature-card,.weather-grid>.weather-card:last-child{grid-column:auto}.weather-history{padding:16px}}
.weather-page button{width:auto;letter-spacing:normal;text-transform:none}.weather-page .hub-shell{display:flex;justify-content:center}.weather-page .weather-panel{max-width:1100px;margin:0 auto}
