.ski-history-snow {
    color: var(--ski-module-text, #172f46);
    background: var(--ski-module-bg, #fff);
}
.ski-history-snow .ski-history-summary { gap: .5rem 1rem; padding-block: .65rem !important; }
.ski-history-snow .ski-history-summary > div { flex: 1 1 0; }
.ski-history-snow .ski-legend { gap: .25rem .75rem; margin-block: .35rem .5rem; }
.ski-history-snow .ski-series-toggle {
    display: inline-flex; align-items: center; gap: .4rem; border: 0;
    color: inherit; padding: .2rem .1rem; font-size: .8125rem; text-align: left;
}
.ski-series-toggle:hover { background: var(--ski-module-panel, #f1f7fc); }
.ski-series-toggle[aria-pressed="false"] { text-decoration: line-through; opacity: .6; }
.ski-combined-key { width: 1.5rem; flex: 0 0 1.5rem; border-top: 3px solid var(--ski-series-color); }
.ski-combined-bar-key { height: .7rem; border: 0; background: var(--ski-series-color); }
.ski-combined-season::before { content: " · "; }
.ski-combined-plot { height: clamp(280px, calc(100dvh - 440px), 650px); }
.ski-combined-plot svg { width: 100%; height: 100%; display: block; touch-action: pan-y; }
.ski-combined-plot svg:focus-visible { outline: 2px solid #0079b8; outline-offset: 2px; }
.ski-combined-plot text { fill: currentColor; font: 12px var(--body-font-family, sans-serif); }
.ski-combined-grid { stroke: #d4e3ef; stroke-width: 1; }
.ski-combined-line { fill: none; stroke-width: 2.5; stroke-linejoin: round; }
.ski-combined-bar { fill-opacity: .8; }
.ski-combined-cursor { stroke: #172f46; stroke-width: 1; pointer-events: none; }
.ski-combined-values { height: 3em; overflow: auto; color: #284f6d; overflow-wrap: anywhere; }
.ski-history-snow > details { border: 1px solid #d4e3ef; background: #f1f7fc; margin-top: .5rem !important; }
.ski-history-snow > details > summary { width: 100%; padding: .65rem .8rem; }
.ski-history-snow > details > .table-responsive { padding: 0 .8rem; }
.bms-module-fullscreen .ski-combined-plot { height: clamp(300px, calc(100dvh - 410px), 1100px); }
@media (max-width: 600px) {
    .ski-history-snow { padding: .65rem !important; }
    .ski-history-snow .ski-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin-bottom: .65rem !important; }
    .ski-history-snow .ski-filters > div { flex: 1 1 0; }
    .ski-history-snow .ski-filters > button { grid-column: 1 / -1; width: auto; justify-self: end; }
    .ski-history-snow .ski-filters .form-select { font-size: .875rem; }
    .ski-history-snow .ski-history-summary { font-size: .8125rem; gap: .5rem; }
    .ski-history-snow .ski-history-summary dt { font-size: .75rem; }
    .ski-combined-plot { height: clamp(240px, calc(100dvh - 480px), 480px); }
    .ski-history-snow .ski-legend { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .5rem; }
    .ski-history-snow .ski-series-toggle { font-size: .75rem; min-height: 44px; line-height: 1.3; }
    .ski-combined-key { width: 1rem; flex-basis: 1rem; }
    .ski-combined-season { display: block; }
    .ski-combined-season::before { content: none; }
}
