/* Weather symbols have their own dimensions; legacy chart sizing must not reach them. */
.xm-meteogram .xm-readout-time{--xw-icon-size:64px}
.xm-meteogram .xm-hour{--xw-icon-size:40px}
.xm-meteogram td{--xw-icon-size:28px}
#temperature-chart svg.xw-weather-svg,.xm-meteogram svg.xw-weather-svg{display:inline-block;width:var(--xw-icon-size,40px);height:var(--xw-icon-size,40px);min-width:0;min-height:0;max-width:var(--xw-icon-size,40px);max-height:var(--xw-icon-size,40px);flex:0 0 var(--xw-icon-size,40px);vertical-align:middle}
.xm-meteogram .xm-weather-icon{display:flex;align-items:center;justify-content:center;min-width:0}
.xm-meteogram .xm-hour{overflow:hidden}
.xm-meteogram .xm-controls{margin:14px 0 10px;padding:11px;gap:10px}
.xm-meteogram .xm-header{padding-bottom:12px;gap:12px}
.xm-meteogram .xm-readout{padding:13px;margin:12px 0;gap:14px}
.xm-meteogram .xm-models{margin:12px 0 8px}
.xm-meteogram .xm-day-nav{margin:10px 0 8px}
.xm-meteogram .xm-day-nav button{min-height:44px}
.xionia-forecast-jumps,.xionia-satellite-jumps{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0;padding:10px 0;border-block:1px solid #819caa45;font:600 13px/1.5 system-ui,sans-serif;text-align:start}
.xionia-forecast-jumps a,.xionia-satellite-jumps a{display:inline-flex;align-items:center;min-height:40px;padding:6px 11px;border:1px solid #819caa55;border-radius:9px;color:inherit;text-decoration:none}
.xionia-forecast-jumps a:hover,.xionia-satellite-jumps a:hover{background:#819caa18}
.xionia-charts-heading{font:700 23px/1.3 system-ui,sans-serif;text-align:start;margin:20px 0 10px}
[data-forecast-meteogram]:empty{display:none}
/* Compact information on forecast pages. The station homepage keeps its existing layout. */
html body[data-xionia-forecast-layout="compact"] .xf-day{padding:13px 12px}
html body[data-xionia-forecast-layout="compact"] .xf-day-heading{min-height:54px;gap:3px}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-condition{min-height:56px;margin:4px 0 9px}
html body[data-xionia-forecast-layout="compact"] .xf-condition .xw-weather-svg{width:48px;height:48px;flex-basis:48px}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-temperatures{padding-bottom:9px;margin-bottom:9px}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-precipitation{margin-bottom:9px}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-metrics{gap:4px 8px;margin-bottom:8px}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-coverage{margin-bottom:5px}
html body[data-xionia-forecast-layout="compact"] .xionia-alerts{padding:14px;margin-block:14px;gap:6px 16px}
html body[data-xionia-forecast-layout="compact"] .xionia-alerts h2{font-size:21px;line-height:1.3}
html body[data-xionia-forecast-layout="compact"] .xionia-alerts p{margin-block:6px;font-size:13px;line-height:1.55}
html body[data-xionia-forecast-layout="compact"] .xionia-alerts>.weather-alert-grid{margin:5px 0}
html body[data-xionia-forecast-layout="compact"] .xionia-alerts>.xionia-fire-panel{padding-left:14px}
html body[data-xionia-forecast-layout="compact"] :is(.xionia-model-guide,.xionia-source-guide){margin-block:14px;padding:14px}
html body[data-xionia-forecast-layout="compact"] :is(.xionia-model-guide,.xionia-source-guide)>h2{font-size:20px;margin:0 0 4px;text-align:start}
.xionia-guide-details>summary{cursor:pointer;min-height:44px;padding:10px 0;font:600 13px/1.6 system-ui,sans-serif;text-align:start}
.xionia-guide-details[open]>summary{margin-bottom:8px}
html body[data-xionia-forecast-layout="compact"] .xionia-guide-details :is(.model-guide-grid,.xionia-source-guide-grid){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.xionia-added-satellite .xionia-satellite-help{font:14px/1.65 system-ui,sans-serif;text-align:start}
.xionia-added-satellite iframe{scroll-margin-top:90px}
@media(max-width:700px){html body[data-xionia-forecast-layout="compact"] .xionia-guide-details :is(.model-guide-grid,.xionia-source-guide-grid){grid-template-columns:repeat(2,minmax(0,1fr))}.xionia-forecast-jumps,.xionia-satellite-jumps{gap:6px}.xionia-forecast-jumps a,.xionia-satellite-jumps a{font-size:12px}}
@media(max-width:600px){.xm-meteogram .xm-readout-time{--xw-icon-size:50px}html body[data-xionia-forecast-layout="compact"] .xionia-alerts>.xionia-fire-panel{padding-left:0}.xm-meteogram .xm-share-actions{gap:5px}.xm-meteogram .xm-share-actions button{min-height:40px}}
@media(max-width:420px){html body[data-xionia-forecast-layout="compact"] .xionia-guide-details :is(.model-guide-grid,.xionia-source-guide-grid){grid-template-columns:minmax(0,1fr)}}
.xionia-replaced-charts{display:none!important}
.xionia-forecast-analysis{margin:14px 0;padding:0 14px;border:1px solid #819caa55;border-radius:12px;text-align:start}
.xionia-forecast-analysis>summary{cursor:pointer;padding:15px 0;min-height:48px;line-height:1.5}
.xionia-forecast-analysis>summary strong{font-size:18px}
.xionia-forecast-analysis>summary span{display:block;font-size:13px;margin:4px 0 0;color:inherit;opacity:.85}
.xionia-forecast-analysis[open]>summary{border-bottom:1px solid #819caa45;margin-bottom:12px}
.xionia-location-map{margin-block:22px;text-align:start}
.xionia-live-links,.xionia-forecast-help{font:14px/1.7 system-ui,sans-serif;text-align:start;max-width:none;width:100%;box-sizing:border-box}
.xionia-live-links{border-inline-start:3px solid #5796a6;padding:12px 16px;margin:20px 0;background:#819caa0c}
.xionia-live-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.xionia-nav-section{font-weight:750;font-size:12px;padding:12px 14px 5px;opacity:.8;text-transform:none}
.xionia-hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}
.xionia-hub-card{padding:20px;border:1px solid var(--line,#819caa55);border-radius:14px;background:var(--panel,transparent);text-align:start;min-width:0}
.xionia-hub-card h2,.xionia-hub-card h3{margin:0 0 10px;font-size:20px;text-align:start}
.xionia-hub-card p{margin:8px 0;font-size:14px;line-height:1.65}
.xionia-hub-card a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.xionia-hub-card:hover{border-color:#5796a6}
.xionia-hub-intro{text-align:start;max-width:none}
.xionia-hub-intro p{max-width:none}
.xionia-forecast-jumps a:focus-visible,.xionia-hub-card a:focus-visible,.xionia-forecast-analysis summary:focus-visible{outline:3px solid #419dbe;outline-offset:3px}
@media(max-width:850px){.xionia-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.xionia-hub-grid{grid-template-columns:1fr}.xionia-forecast-analysis>summary strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
/* Legacy page rules also reached nested card headers and definition lists. */
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-day-heading{box-sizing:border-box;width:100%;max-width:none;margin:0!important;padding:0!important;border:0;box-shadow:none;background:transparent;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:54px}
html body[data-xionia-forecast-layout="compact"] .xf-day :is(dt,dd){padding:0!important;margin:0!important;border:0;letter-spacing:normal}
html body[data-xionia-forecast-layout="compact"] .xf-day :is(.xf-temperatures,.xf-precipitation){grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-temperatures dd{font-size:27px!important;line-height:1.2;white-space:nowrap;text-align:start}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-temperatures dt{font-size:11px!important;line-height:1.4;min-height:0;margin-bottom:4px!important}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-precipitation>div{padding:7px 8px}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-precipitation dt{font-size:11px!important;min-height:0;line-height:1.4}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-precipitation dd{font-size:14px!important;line-height:1.45;text-align:start}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-metrics{grid-template-columns:minmax(0,1fr) auto!important;gap:4px 8px!important}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-metrics dt{font-size:12px!important;line-height:1.5}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-metrics dd{font-size:13px!important;line-height:1.5;text-align:end}
html body[data-xionia-forecast-layout="compact"] .xf-day .xf-wind-coverage>summary{font-size:11px;line-height:1.45;min-height:32px;padding:5px 0}
