.weather-board{--wx-accent:#69508f;--wx-soft:#f5f2f9;--wx-line:#e5e2e9;--wx-surface:#fff;--wx-text:#302d36;--wx-muted:#76717d;color:var(--wx-text);padding:42px 0 54px}.weather-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px;display:flex}.weather-heading p{font-size:var(--type-caption-size);letter-spacing:.18em;font-weight:var(--weight-bold);color:var(--wx-accent);margin:0 0 12px}.weather-heading h1{font-size:var(--type-page-size);letter-spacing:-.04em;margin:0 0 12px;line-height:1.2}.weather-heading span{font-size:var(--type-body-size);color:var(--wx-muted)}.weather-actions{flex-wrap:wrap;gap:8px;display:flex}.weather-board button,.weather-actions a{font:inherit;font-size:var(--type-control-size);border:1px solid var(--wx-line);background:var(--wx-surface);min-height:42px;color:var(--wx-text);cursor:pointer;border-radius:10px;padding:10px 15px;text-decoration:none}.weather-board button:disabled{opacity:.5;cursor:default}.weather-board button:focus-visible{outline-offset:2px;outline:3px solid #a78ccc}.weather-board input:focus-visible{outline-offset:2px;outline:3px solid #a78ccc}.weather-hour-scroll:focus-visible{outline-offset:2px;outline:3px solid #a78ccc}.weather-board .weather-primary{background:var(--wx-accent);color:#fff;border-color:var(--wx-accent)}.weather-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;display:grid}.weather-card{background:var(--wx-surface);border:1px solid var(--wx-line);border-radius:20px;min-width:0;overflow:hidden;box-shadow:0 8px 28px #28203405}.weather-card>header{justify-content:space-between;align-items:start;gap:8px;padding:24px 24px 0;display:flex}.weather-card header p{font-size:var(--type-table-size);color:var(--wx-muted);margin:0 0 5px}.weather-card h2{font-size:var(--type-section-size);letter-spacing:-.04em;margin:0}.weather-live{font-size:var(--type-caption-size);white-space:nowrap;background:var(--wx-soft);color:var(--wx-accent);border-radius:20px;padding:5px 8px}.weather-current{justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 12px;display:flex}.weather-current strong{font-size:var(--type-hero-size);letter-spacing:-.06em;line-height:1;font-weight:var(--weight-semibold)}.weather-current div>span{font-size:var(--type-body-size);margin-top:12px;display:block}.weather-symbol{color:#bc9149;font-size:64px;line-height:1}.weather-range{color:var(--wx-muted);font-size:var(--type-body-size);padding:0 24px 22px}.weather-range span{margin-left:14px}.weather-range b{color:var(--wx-text);font-weight:var(--weight-semibold)}.weather-metrics{border-top:1px solid var(--wx-line);border-bottom:1px solid var(--wx-line);grid-template-columns:repeat(3,1fr);gap:5px;margin:0 20px;padding:18px 0;display:grid}.weather-metrics dt{font-size:var(--type-caption-size);color:var(--wx-muted);margin-bottom:7px}.weather-metrics dd{font-size:var(--type-section-size);font-weight:var(--weight-semibold);margin:0}.weather-hours{padding:18px 0 0}.weather-hours summary{font-size:var(--type-body-size);font-weight:var(--weight-semibold);cursor:pointer;margin:0 24px 14px}.weather-hour-scroll{max-width:100%;padding-bottom:8px;overflow:auto}.weather-hour-scroll table{border-collapse:collapse;font-size:var(--type-caption-size);white-space:nowrap;width:max-content;min-width:100%}.weather-hour-scroll th,.weather-hour-scroll td{text-align:center;border:0;padding:9px 12px}.weather-hour-scroll th{font-weight:var(--weight-medium);color:var(--wx-muted)}.weather-hour-scroll tr>:first-child{background:var(--wx-surface);text-align:left;padding-left:20px;position:sticky;left:0;box-shadow:2px 0 4px #00000005}.weather-rain{color:#2972bc;font-weight:var(--weight-bold)}.weather-tomorrow{background:var(--wx-soft);font-size:var(--type-table-size);border-radius:10px;flex-wrap:wrap;gap:8px 12px;margin:8px 16px 0;padding:14px 12px;display:flex}.weather-tomorrow>span:last-child{margin-left:auto}.weather-card>footer{font-size:var(--type-caption-size);color:var(--wx-muted);padding:16px 24px;line-height:1.7}.weather-source{font-size:var(--type-caption-size);color:var(--wx-muted);margin-top:22px;line-height:1.8}.weather-source a{color:inherit}.weather-tabs{display:none}.weather-warning{font-size:var(--type-body-size);background:var(--wx-soft);border-radius:8px;padding:12px}.weather-card .weather-warning{margin:12px 16px 0}.weather-wait{min-height:210px;color:var(--wx-muted);font-size:var(--type-body-size);padding:32px 24px}.weather-editor{border:1px solid var(--wx-line);background:var(--wx-surface);border-radius:16px;margin-bottom:24px;padding:24px}.weather-editor-heading{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.weather-editor h2{font-size:var(--type-section-size);margin:0}.weather-editor-heading>span{font-size:var(--type-table-size);color:var(--wx-muted)}.weather-chips{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.weather-chips button{font-size:var(--type-control-size);background:var(--wx-soft);text-align:left}.weather-chips span{margin-left:10px}.weather-editor label{font-size:var(--type-body-size);margin-bottom:8px;display:block}.weather-editor input{box-sizing:border-box;border:1px solid var(--wx-line);width:100%;font:inherit;font-size:var(--type-input-size);background:var(--wx-surface);color:var(--wx-text);border-radius:10px;padding:13px}.weather-results{max-height:260px;overflow:auto}.weather-results>button{text-align:left;border:0;border-bottom:1px solid var(--wx-line);border-radius:0;justify-content:space-between;gap:12px;width:100%;display:flex}.weather-results b{color:var(--wx-accent);white-space:nowrap}.weather-results p{font-size:var(--type-body-size);color:var(--wx-muted)}.weather-editor footer{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}@media (max-width:1100px){.weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.weather-board{padding:28px 0}.weather-heading{margin-bottom:20px;display:block}.weather-heading h1{font-size:var(--type-page-size)}.weather-actions{margin-top:20px}.weather-tabs{gap:7px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow:auto}.weather-tabs button{white-space:nowrap;font-size:var(--type-control-size)}.weather-tabs [aria-selected=true]{background:var(--wx-accent);color:#fff;border-color:var(--wx-accent)}.weather-grid{display:block}.weather-editor{padding:16px}.weather-card>header{padding:20px 20px 0}.weather-current{padding:22px 20px 12px}.weather-current strong{font-size:var(--type-hero-size)}.weather-symbol{font-size:56px}.weather-tomorrow>span:last-child{margin-left:0}}html[data-theme=dark] .weather-board,body[data-theme=dark] .weather-board{--wx-accent:#b69ad9;--wx-soft:#2a2835;--wx-line:#3c3a46;--wx-surface:#23232b;--wx-text:#eeedf3;--wx-muted:#aaa6b5}.weather-board .weather-primary{color:#fff}.portal-page>.weather-board{box-sizing:border-box;width:min(1240px,100% - 64px);margin:0 auto}@media (max-width:900px){.portal-page>.weather-board{width:calc(100% - 36px)}}.weather-grid{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.weather-card{border-color:#d6d2df;border-radius:16px;grid-template-columns:minmax(190px,1fr) minmax(200px,1fr) minmax(300px,1.5fr);display:grid}.weather-card>header{flex-direction:column;grid-area:1/1/3;align-items:flex-start;gap:12px;padding:24px}.weather-card header p{font-size:var(--type-body-size);color:var(--wx-muted)}.weather-card h2{font-size:var(--type-section-size);font-weight:var(--weight-bold);line-height:1.35}.weather-live{font-size:var(--type-caption-size)}.weather-current{grid-area:1/2;justify-content:flex-start;gap:24px;padding:22px 24px 8px}.weather-current strong{font-size:var(--type-hero-size);font-weight:var(--weight-bold)}.weather-current div>span{font-size:var(--type-body-size);margin-top:6px}.weather-symbol{font-size:46px}.weather-range{font-size:var(--type-body-size);grid-area:2/2;padding:0 24px 20px}.weather-metrics{border:0;border-left:1px solid var(--wx-line);grid-area:1/3/3;align-self:center;gap:16px;margin:20px 24px 20px 0;padding:14px 0 14px 24px}.weather-metrics dt{font-size:var(--type-body-size);line-height:1.5}.weather-metrics dd{font-size:var(--type-metric-size);font-weight:var(--weight-bold)}.weather-hours{border-top:1px solid var(--wx-line);grid-column:1/-1;min-width:0;padding:18px 0 0}.weather-hour-scroll{scrollbar-color:#aaa1bb var(--wx-soft);padding-bottom:0}.weather-hour-scroll table{font-size:var(--type-body-size);font-variant-numeric:tabular-nums}.weather-hour-scroll th,.weather-hour-scroll td{border-bottom:1px solid var(--wx-line);box-sizing:border-box;min-width:76px;padding:12px 14px}.weather-hour-scroll thead th{background:var(--wx-soft);color:var(--wx-text);font-weight:var(--weight-bold)}.weather-hour-scroll tbody tr:nth-child(2){font-size:var(--type-section-size);font-weight:var(--weight-bold);background:var(--wx-soft)}.weather-hour-scroll tr>:first-child{min-width:100px;font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:var(--wx-text);background:var(--wx-soft);box-shadow:1px 0 0 var(--wx-line)}.weather-hour-scroll td .weather-symbol{margin-bottom:5px;font-size:25px;display:block}.weather-rain{color:#1765ac}.weather-tomorrow{font-size:var(--type-body-size);grid-column:1/-1;align-items:center;gap:12px 20px;margin:16px 24px 0;padding:14px 16px}.weather-card>footer{font-size:var(--type-caption-size);grid-column:1/-1;padding:12px 24px 18px}.weather-card>.weather-warning,.weather-card>.weather-wait{grid-column:1/-1}@media (max-width:900px){.weather-card{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.weather-metrics{border-left:0;border-top:1px solid var(--wx-line);grid-area:3/1/auto/-1;margin:0 20px;padding:16px 0}.weather-current{justify-content:space-between}.weather-hours{grid-row:4}}@media (max-width:650px){.weather-grid{gap:20px;display:grid}.weather-card>header{gap:10px;padding:20px 16px}.weather-card h2{font-size:var(--type-section-size)}.weather-card header p{font-size:var(--type-table-size)}.weather-current{gap:8px;padding:22px 16px 8px}.weather-current strong{font-size:var(--type-display-size)}.weather-current .weather-symbol{font-size:32px}.weather-range{font-size:var(--type-table-size);padding:0 16px 20px}.weather-range span{margin-left:8px}.weather-metrics{gap:8px}.weather-metrics dt{font-size:var(--type-table-size)}.weather-metrics dd{font-size:var(--type-section-size)}.weather-hours summary{margin-left:16px}.weather-hour-scroll th,.weather-hour-scroll td{min-width:64px;padding:11px 8px}.weather-hour-scroll tr>:first-child{min-width:80px;padding-left:12px}.weather-tomorrow{font-size:var(--type-table-size);gap:8px 12px;margin:14px 12px 0;padding:12px}.weather-card>footer{padding:12px 16px 16px}.weather-update{display:block}}.weather-board{padding-top:26px}.weather-heading{margin-bottom:20px}.weather-heading h1{font-size:var(--type-page-size)}.weather-grid{gap:16px}.weather-card>header{gap:4px;padding:12px 18px}.weather-card h2{font-size:var(--type-section-size)}.weather-card header p{margin-bottom:2px}.weather-live{padding:2px 6px}.weather-current{gap:16px;padding:12px 18px 4px}.weather-current strong{font-size:var(--type-display-size)}.weather-current div>span{font-size:var(--type-body-size);margin-left:12px;display:inline}.weather-current .weather-symbol{font-size:32px}.weather-range{padding:0 18px 10px}.weather-metrics{margin:10px 18px 10px 0;padding:8px 0 8px 18px}.weather-metrics dt{margin-bottom:3px}.weather-metrics dd{font-size:var(--type-section-size)}.weather-hours{padding-top:8px}.weather-hours summary{font-size:var(--type-body-size);margin:0 18px 8px}.weather-hour-scroll th,.weather-hour-scroll td{padding:5px 12px;line-height:1.4}.weather-hour-scroll td .weather-symbol{vertical-align:middle;margin:0 5px 0 0;font-size:19px;display:inline-block}.weather-hour-scroll tbody tr:nth-child(2){font-size:var(--type-section-size)}.weather-tomorrow{gap:8px 16px;margin:8px 18px 0;padding:6px 12px}.weather-card>footer{padding:6px 18px 8px;line-height:1.4}.weather-account{font-size:var(--type-body-size);align-items:center;gap:8px;display:flex}.weather-account button{padding:6px 10px}.weather-login{border:1px solid var(--wx-line);background:var(--wx-soft);border-radius:12px;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;padding:18px;display:flex}.weather-login h2{font-size:var(--type-section-size);flex-basis:100%;margin:0}.weather-login label{font-size:var(--type-body-size);flex:1;gap:6px;min-width:160px;display:grid}.weather-login input{box-sizing:border-box;border:1px solid var(--wx-line);width:100%;font:inherit;background:var(--wx-surface);color:var(--wx-text);border-radius:8px;padding:10px}.weather-login a{font-size:var(--type-body-size);color:var(--wx-accent);padding:12px 0}@media (max-width:900px){.weather-metrics{margin:0 18px;padding:8px 0}.weather-card>header{grid-row:1/3}}@media (max-width:650px){.weather-current{flex-wrap:wrap;gap:4px}.weather-current strong{font-size:var(--type-page-size)}.weather-current div>span{margin-left:6px}.weather-current .weather-symbol{display:none}.weather-range{font-size:var(--type-caption-size);padding-left:12px;padding-right:8px}.weather-card>header{padding:12px}.weather-card h2{font-size:var(--type-section-size)}.weather-current{padding-left:12px;padding-right:8px}.weather-hour-scroll th,.weather-hour-scroll td{padding:5px 8px}.weather-hour-scroll td .weather-symbol{display:none}.weather-tomorrow{margin:8px 12px 0}.weather-update{display:inline}.weather-account{flex-basis:100%}.weather-actions{width:100%}.weather-login label{flex-basis:100%}}@media (min-width:901px){.weather-card>header{gap:2px;padding-top:8px;padding-bottom:8px}.weather-current{padding-top:8px}.weather-range{padding-bottom:8px}.weather-hour-scroll th,.weather-hour-scroll td{padding-top:3px;padding-bottom:3px}.weather-hours{padding-top:6px}.weather-hours summary{margin-bottom:6px}}.portal-page .weather-board{padding:22px 0 18px}.portal-page .weather-heading p,.portal-page .weather-heading>div:first-child>span{display:none}.portal-page .weather-heading h1{font-size:var(--type-section-size);margin:0}.portal-page .weather-heading{margin-bottom:14px}.portal-page .weather-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-page .weather-card{border-radius:12px;display:block}.portal-page .weather-card>header{flex-direction:row;padding:12px 14px 0}.portal-page .weather-card header p{font-size:var(--type-caption-size)}.portal-page .weather-card h2{font-size:var(--type-body-size)}.portal-page .weather-current{justify-content:space-between;padding:10px 14px 6px}.portal-page .weather-current strong{font-size:var(--type-page-size)}.portal-page .weather-range{font-size:var(--type-caption-size);padding:0 14px 10px}.portal-page .weather-metrics,.portal-page .weather-tomorrow,.portal-page .weather-card>footer{display:none}.portal-page .weather-hours{padding:9px 0 0}.portal-page .weather-hours summary{font-size:var(--type-caption-size);margin:0 14px 9px}.portal-page .weather-source{font-size:var(--type-caption-size);margin:10px 0 0}.portal-page .weather-wait{min-height:80px;padding:20px 14px}@media (max-width:650px){.portal-page .weather-grid{scroll-snap-type:x proximity;align-items:flex-start;padding-bottom:6px;display:flex;overflow-x:auto}.portal-page .weather-card{scroll-snap-align:start;flex:0 0 82%}.portal-page .weather-heading{flex-wrap:wrap;gap:10px;display:flex}.portal-page .weather-actions{gap:6px;margin-top:0}.portal-page .weather-actions button{min-height:36px;padding:7px 10px}.portal-page .weather-current .weather-symbol{font-size:28px;display:block}}.portal-page .weather-hours .weather-metrics{border:0;gap:8px;margin:0 14px 12px;padding:8px 0;display:grid}.portal-page .weather-hours .weather-metrics dt{font-size:var(--type-caption-size)}.portal-page .weather-hours .weather-metrics dd{font-size:var(--type-body-size)}.portal-page .weather-hours .weather-tomorrow{font-size:var(--type-caption-size);margin:10px 14px;display:flex}
