/* Reserve space before the forecast arrives; opened details may grow naturally. */
iframe.xionia-reserved-widget{min-height:400px;}
@media(max-width:760px){iframe.xionia-reserved-widget{min-height:460px;}}
@media(max-width:450px){iframe.xionia-reserved-widget{min-height:480px;}}
@media(max-width:360px){iframe.xionia-reserved-widget{min-height:520px;}}
body[data-widget="true"]{min-height:396px;}
@media(max-width:760px){body[data-widget="true"]{min-height:456px;}}
@media(max-width:450px){body[data-widget="true"]{min-height:476px;}}
@media(max-width:360px){body[data-widget="true"]{min-height:516px;}}
#retry-city[hidden],#retry-forecast[hidden],#retry[hidden]{display:none!important;}

/* 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}

/* A visible control is independent of the operating system's auto-hidden scrollbars. */
html body .xs-table-shell{position:relative;min-width:0;max-width:100%;width:100%;margin:0;--xs-paper:var(--xm-paper,var(--panel,#f3f8fc));--xs-ink:var(--xm-ink,#193e57);--xs-edge:var(--xm-line,#afc7d8);--xs-rail:#bccfdc;--xs-accent:#176d9b}
html body.xionia-dark .xs-table-shell,html body[data-widget-theme=dark] .xs-table-shell{--xs-paper:var(--xm-paper,#153346);--xs-ink:var(--xm-ink,#e7f4fc);--xs-edge:var(--xm-line,#526f83);--xs-rail:#587689;--xs-accent:#89d3fa}
html body .xs-table-bar{box-sizing:border-box;position:relative;top:auto;z-index:1;display:flex;align-items:center;gap:8px;width:100%;min-height:52px;margin:0 0 6px;padding:4px 8px;border:1px solid var(--xs-edge);border-radius:11px;background:var(--xs-paper);color:var(--xs-ink);box-shadow:0 3px 10px #123b5114;font:600 12px/1.3 system-ui,sans-serif;text-align:start}
html body .xs-table-bar[hidden]{display:none!important}
html body .xs-table-bar .xs-table-hint{flex:none;padding:0 3px;white-space:nowrap;color:inherit;font:inherit}
html body .xs-table-bar button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;width:44px;min-height:44px;height:44px;margin:0;padding:10px;border:1px solid var(--xs-edge);border-radius:9px;background:transparent;color:var(--xs-ink);cursor:pointer;touch-action:manipulation;box-shadow:none}
html body .xs-table-bar button svg{display:block;width:22px;height:22px;flex:none}
html body .xs-table-bar button:hover:not(:disabled){background:color-mix(in srgb,var(--xs-accent) 12%,var(--xs-paper))}
html body .xs-table-bar button:disabled{opacity:.35;cursor:default}
html body .xs-table-bar .xs-table-position{flex:0 0 36px;text-align:end;font:500 11px/1.3 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:inherit}
html body .xs-table-bar input.xs-table-range{box-sizing:border-box;display:block;flex:1 1 0%;width:0;min-width:50px;max-width:none;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;appearance:none;-webkit-appearance:none;cursor:ew-resize;touch-action:pan-y;color:var(--xs-accent);opacity:1;direction:ltr}
html body .xs-table-bar input.xs-table-range::-webkit-slider-runnable-track{height:10px;border:0;border-radius:999px;background:linear-gradient(to right,var(--xs-accent) 0 var(--xs-progress,0%),var(--xs-rail) var(--xs-progress,0%) 100%)}
html body .xs-table-bar input.xs-table-range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:32px;height:24px;margin-top:-7px;border:2px solid var(--xs-paper);border-radius:8px;background:var(--xs-accent);box-shadow:0 0 0 1px var(--xs-accent);cursor:grab}
html body .xs-table-bar input.xs-table-range::-moz-range-track{height:10px;border:0;border-radius:999px;background:var(--xs-rail)}
html body .xs-table-bar input.xs-table-range::-moz-range-progress{height:10px;border-radius:999px;background:var(--xs-accent)}
html body .xs-table-bar input.xs-table-range::-moz-range-thumb{width:28px;height:20px;border:2px solid var(--xs-paper);border-radius:8px;background:var(--xs-accent);box-shadow:0 0 0 1px var(--xs-accent);cursor:grab}
html body .xs-table-bar button:focus-visible,html body .xs-table-bar input.xs-table-range:focus-visible{outline:3px solid #c88b16;outline-offset:2px}
html body .xs-table-viewport{overflow-x:auto!important;scrollbar-width:auto!important;scrollbar-color:var(--xs-accent) var(--xs-rail)!important;scrollbar-gutter:stable;max-width:100%;min-width:0;overscroll-behavior-x:contain}
html body .xs-table-viewport::-webkit-scrollbar{display:block;height:14px;width:14px}
html body .xs-table-viewport::-webkit-scrollbar-track{background:var(--xs-rail);border-radius:999px}
html body .xs-table-viewport::-webkit-scrollbar-thumb{background:var(--xs-accent);border:3px solid var(--xs-rail);border-radius:999px;min-width:32px}
@media(max-width:480px){html body .xs-table-bar{gap:5px;padding:4px 5px}html body .xs-table-bar .xs-table-hint{display:none}html body .xs-table-bar .xs-table-position{flex-basis:30px;font-size:10px}}
@media(forced-colors:active){html body .xs-table-bar{border-color:ButtonText}html body .xs-table-bar input.xs-table-range{appearance:auto;-webkit-appearance:auto;forced-color-adjust:auto}html body .xs-table-bar button{border-color:ButtonText}}
@media print{html body .xs-table-bar{display:none!important}}

html body .xs-table-bar:not([hidden])+.xs-table-viewport{margin-top:0}

/* Station home: no additional bars in legacy text/layout tables. */
html body.xionia-home .xs-table-bar{display:none!important}

/* Shared table/chart controls: one compact row, always outside the data. */
html body .xm-chart-scroll-bar{margin:6px 0;padding:2px 5px;min-height:48px;gap:6px;--xs-paper:var(--xm-soft,#eaf1f6);--xs-ink:var(--xm-ink,#193e57);--xs-edge:var(--xm-line,#afc7d8);--xs-rail:var(--xm-line,#bccfdc);--xs-accent:var(--xm-muted,#176d9b)}
html body .xm-chart-scroll-bar>span{flex:0 0 30px;width:30px;font:11px/1.3 system-ui,sans-serif;text-align:end;font-variant-numeric:tabular-nums}
html body .xm-chart-scroll-bar button{font-size:24px;line-height:1;padding:4px}
html body .xs-table-bar{overscroll-behavior:contain}
html body .xs-table-viewport,.xm-scene-scroll,.xe-plot-panel .xc-plot,.xm-chart-details .xc-plot{touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
@media(max-width:700px){html body .xs-table-bar{min-height:48px;gap:5px;padding:2px 5px;border-radius:9px;box-shadow:none}html body .xs-table-bar .xs-table-hint{display:none}html body .xs-table-bar button{flex-basis:44px}html body .xs-table-bar .xs-table-position{flex-basis:28px}html body .xs-table-bar input.xs-table-range::-webkit-slider-runnable-track{height:7px}html body .xs-table-bar input.xs-table-range::-webkit-slider-thumb{margin-top:-8px}html body .xs-table-bar input.xs-table-range::-moz-range-track,html body .xs-table-bar input.xs-table-range::-moz-range-progress{height:7px}}

/* Wide tables: keep the row label in view on desktop and phone. */
html body .xs-table-viewport table{border-collapse:separate;border-spacing:0}
html body .xs-table-viewport :is(th,td):first-child{position:sticky;left:0;z-index:1;background:var(--xs-paper);background-clip:padding-box;box-shadow:1px 0 0 var(--xs-edge)}
html body .xs-table-viewport thead th:first-child{z-index:2}
html body .xs-table-viewport:focus-visible{outline:2px solid var(--xs-accent);outline-offset:2px}
html body #forecast-location-map{scroll-margin-top:calc(var(--xn-header-height,0px) + 12px)}
@media(max-width:700px){html body .xs-table-viewport :is(th,td):first-child{max-width:132px;overflow-wrap:anywhere}html body #forecast-location-map #greece-map{height:clamp(280px,48vh,430px);min-height:280px}html body #forecast-location-map .greece-controls{gap:6px;flex-wrap:wrap}html body #forecast-location-map .greece-controls select,html body #forecast-location-map .greece-controls button{min-height:44px;max-width:100%}}

/* The default forecast is below the overview map, without a duplicate floating card. */
html body .xionia-map-overview .xionia-map-selection{display:none}
@media(max-width:700px){html body .xionia-map-selection{max-width:min(190px,55vw);font-size:12px;padding:7px}html body .xionia-map-selection .map-selection-name{overflow-wrap:anywhere}}

/* Mouse drag begins only after a horizontal gesture; touch and controls stay native. */
@media(pointer:fine){html body .xs-mouse-scroll{cursor:grab}html body .xs-mouse-scroll :is(a,button,input,select,textarea,summary){cursor:auto}}
html body .xs-mouse-dragging,html body .xs-mouse-dragging *{cursor:grabbing!important;user-select:none!important}

