.ensemble-forecast[hidden]{display:none}
.ensemble-product-status{margin:.15rem 0 .75rem;padding:.68rem .78rem;border:1px solid #c9d8cf;border-left:4px solid #78947f;background:#f2f6f1;color:#40534a;font-size:.75rem;line-height:1.45}
.ensemble-product-status[data-state="loading"]{color:#5b655f}
.ensemble-product-status[data-state="lkg"],.ensemble-product-status[data-state="error"]{border-color:#e1c48f;border-left-color:#b87428;background:#fff0d5;color:#754b18}
.ensemble-product-status[data-state="unavailable"]{border-color:#d6d2c8;border-left-color:#8b918c;background:#f5f4f0;color:#626a66}
.ensemble-forecast{
  position:relative;
  min-width:0;
  margin-top:1rem;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:2px;
  background:var(--card);
  box-shadow:0 4px 18px #26372e0b;
}
.ensemble-header{display:flex;align-items:start;justify-content:space-between;gap:.8rem 1.4rem}
.ensemble-heading{flex:0 0 auto}
.ensemble-heading h3{margin:0;color:var(--forest-deep);font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;font-weight:600}
.ensemble-legend{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.35rem .9rem;color:#526569;font-size:.7rem}
.ensemble-legend-item{display:inline-flex;align-items:center;white-space:nowrap}
.ensemble-legend-sample{display:inline-block;width:21px;height:3px;margin-right:.3rem;background:#667;vertical-align:middle}
.ensemble-wind-rose-sample{display:inline-block;position:relative;width:16px;height:16px;margin-right:.45rem;border:1px solid #9eb4aa;border-radius:50%;background:radial-gradient(circle at center,#b87428 0 1.5px,transparent 1.8px),linear-gradient(90deg,transparent 46%,#315e52 47% 53%,transparent 54%),linear-gradient(0deg,transparent 46%,#315e52 47% 53%,transparent 54%);vertical-align:middle}
.ensemble-wind-rose-sample::before,.ensemble-wind-rose-sample::after{position:absolute;inset:1px 7px;background:#78998c;content:"";transform:rotate(45deg);transform-origin:center}
.ensemble-wind-rose-sample::after{transform:rotate(-45deg)}
.ensemble-scope-summary{margin:.62rem 0 0;padding:.42rem .58rem;border-left:3px solid #78947f;background:#f2f6f1;color:#40534a;font-size:.71rem;font-weight:700;line-height:1.4}
.ensemble-scope-summary[hidden]{display:none}
.ensemble-interaction-help,.ensemble-fallback-summary{margin:.65rem 0 0;font-size:.73rem;line-height:1.45}
.ensemble-interaction-help{color:#5b655f}
.ensemble-fallback-summary{padding:.48rem .62rem;border:1px solid #e1c48f;background:#fff0d5;color:#754b18}
.ensemble-member-controls{display:grid;grid-template-columns:auto minmax(12rem,1fr) auto auto;align-items:center;gap:.42rem .55rem;margin:.65rem 0 0;padding:.55rem .62rem;border:1px solid #d8d3c7;background:#fffefa;color:#46554e;font-size:.72rem}
.ensemble-member-picker-label{font-weight:750}
.ensemble-member-picker{min-width:0;max-width:100%;padding:.38rem .45rem;border:1px solid #aaa397;border-radius:2px;background:#fff;color:#263c34;font:inherit}
.ensemble-member-action,.ensemble-member-chip{border:1px solid #87938d;border-radius:2px;background:#fff;color:#29483c;font:inherit;font-weight:700;cursor:pointer}
.ensemble-member-action{padding:.4rem .58rem;white-space:nowrap}
.ensemble-member-action:disabled{cursor:not-allowed;opacity:.48}
.ensemble-member-action:focus-visible,.ensemble-member-picker:focus-visible,.ensemble-member-chip:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.ensemble-hidden-summary{grid-column:1/2;color:#5b655f;white-space:nowrap}
.ensemble-hidden-members{grid-column:2/-1;display:flex;align-items:center;flex-wrap:wrap;gap:.3rem;min-width:0}
.ensemble-member-chip{position:relative;padding:.28rem .45rem .28rem .78rem}
.ensemble-member-chip::before{position:absolute;inset:.22rem auto .22rem .28rem;width:3px;background:var(--member-color,#65736b);content:""}
.ensemble-time-window{margin:.8rem 0 .5rem;color:#46554e;font-size:.75rem}
.ensemble-plots-scroll{max-width:100%;overflow-x:auto}
.ensemble-plots{display:grid;gap:.72rem}
.ensemble-panel{min-width:0}
.ensemble-panel:focus{outline:none}
.ensemble-panel:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.ensemble-panel-title{margin:0 0 .18rem 64px;color:#31473e;font-size:.77rem;font-weight:750}
.ensemble-canvas-wrap{position:relative;min-width:0}
.ensemble-canvas{display:block;width:100%;max-width:100%;touch-action:pan-x pan-y pinch-zoom}
.ensemble-cursor{position:absolute;z-index:2;width:1px;border-left:1px solid #173f32;background:#ffffff70;pointer-events:none;transform:translateX(-.5px)}
.ensemble-tooltip{position:absolute;z-index:5;pointer-events:none;max-width:min(360px,calc(100% - 8px));padding:.58rem .68rem;border-radius:3px;background:#102f36f2;color:#fff;font-size:.69rem;line-height:1.42;box-shadow:0 5px 18px #0003}
.ensemble-tooltip-title,.ensemble-tooltip-row{display:block}
.ensemble-tooltip-title{margin-bottom:.22rem;color:#fff}
.ensemble-tooltip-row{color:#d9e8e7}
.ensemble-tooltip-member{margin:.2rem 0;color:#fff4bd;font-weight:750}
.ensemble-tooltip-wind-rose{margin-top:.26rem;color:#d9f2e5;font-weight:700}
.ensemble-tooltip-hidden{margin-top:.2rem;color:#bde8d3}
.ensemble-accessible-data{margin-top:.9rem;padding:.7rem .2rem 0;border-top:1px solid var(--line);font-size:.75rem}
.ensemble-accessible-data summary{cursor:pointer;color:var(--forest);font-weight:750}
.ensemble-summary-table th,.ensemble-summary-table td{text-align:right}
.ensemble-summary-table th:first-child,.ensemble-summary-table td:first-child,.ensemble-summary-table th:nth-child(2),.ensemble-summary-table td:nth-child(2){text-align:left}
.ensemble-error{margin:0;padding:1rem;border-left:3px solid #b87428;background:#fff0d5;color:#754b18}

@media(max-width:760px){
  .ensemble-header{display:block}
  .ensemble-legend{justify-content:flex-start;margin-top:.65rem}
  .ensemble-member-controls{grid-template-columns:auto minmax(8rem,1fr) auto}
  .ensemble-member-restore-all{grid-column:3}
  .ensemble-hidden-summary{grid-column:1/2}
  .ensemble-hidden-members{grid-column:2/-1}
}
@media(max-width:600px){
  .ensemble-forecast{padding:.6rem}
  .ensemble-legend{gap:.28rem .65rem}
  .ensemble-member-controls{display:flex;align-items:stretch;flex-wrap:wrap;padding:.48rem}
  .ensemble-member-picker-label{width:100%}
  .ensemble-member-picker{flex:1 1 100%;width:100%}
  .ensemble-member-action{flex:1 1 auto;white-space:normal}
  .ensemble-hidden-summary{width:100%;white-space:normal}
  .ensemble-hidden-members{width:100%}
  .ensemble-panel-title{margin-left:56px;font-size:.72rem}
  .ensemble-tooltip{font-size:.66rem}
}
@media(prefers-reduced-motion:reduce){
  .ensemble-cursor{transition:none}
}
