:root{--ink:#17313a;--muted:#5b7078;--line:#d6e0e3;--paper:#fff;--day:#f3f6f7;--accent:#004e5e;--band-outer:#cfe6e8;--band-middle:#8fc3c8;--band-inner:#4f9aa3;--median:#003a46;--warm:#e8740c;--cold:#0a7f8c;--focus:#0a7f8c;--error:#9c2b1c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--paper);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.45}*{box-sizing:border-box}body{background:var(--paper);margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{max-width:1240px;margin:0 auto;padding:16px}header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 24px;padding-bottom:12px;display:flex}.brand h1{color:var(--accent);margin:0;font-size:1.35rem}.brand p{color:var(--muted);margin:2px 0 0;font-size:.92rem}.search{flex:320px;min-width:0;max-width:480px;position:relative}.search-row{gap:8px;display:flex}.search input{width:100%;min-width:0;font:inherit;border:1px solid #b7c7cc;border-radius:6px;flex:1;padding:8px 12px}button,select{font:inherit}button{border:1px solid var(--accent);background:var(--paper);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:6px;padding:8px 12px}button:disabled{opacity:.6;cursor:progress}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.suggestions{z-index:10;background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:4px 0 0;padding:4px 0;list-style:none;position:absolute;left:0;right:0;box-shadow:0 6px 18px #0028321f}.suggestions li{cursor:pointer;flex-direction:column;padding:6px 12px;display:flex}.suggestions li[aria-selected=true]{background:var(--day)}.suggestions .option-detail,.suggestions .empty{color:var(--muted);font-size:.85rem}.search-note{color:var(--error);margin:4px 0 0;font-size:.85rem}main{padding-top:16px}.intro,.status{color:var(--muted);text-align:center;padding:48px 0}.error{border:1px solid #e6b8b0;border-left:4px solid var(--error);background:#fdf5f3;border-radius:6px;padding:16px}.error p{margin:0 0 8px}.forecast-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;margin-bottom:8px;display:flex}.forecast-head h2{margin:0;font-size:1.25rem}.where{color:var(--muted);margin:2px 0 0;font-size:.88rem}.controls{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;max-width:100%;font-size:.92rem;display:flex}.controls .product{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.controls .product select{text-overflow:ellipsis;min-width:0;max-width:100%}.controls .days input{vertical-align:middle;width:160px;accent-color:var(--accent)}.controls output{font-variant-numeric:tabular-nums;min-width:2ch;display:inline-block}.stale{background:#fff6e5;border:1px solid #f0d49a;border-radius:6px;margin:0 0 8px;padding:8px 12px;font-size:.9rem}.chart{width:100%;min-height:200px;transition:opacity .15s}.chart.updating{opacity:.55}.source{color:var(--muted);margin:4px 0 24px;font-size:.82rem}.meteogram{-webkit-user-select:none;user-select:none;position:relative}.meteogram svg{font-size:11px;display:block;overflow:visible}.meteogram svg:focus-visible{outline-offset:4px}.day{fill:#0000}.day.shaded{fill:var(--day)}.midnight{stroke:var(--line)}.grid line{stroke:var(--line);stroke-dasharray:2 3}.grid text,.axis text{fill:var(--muted)}.band-outer{fill:var(--band-outer)}.band-middle{fill:var(--band-middle)}.band-inner{fill:var(--band-inner)}.median{fill:none;stroke:var(--median);stroke-width:2.25px}.extreme circle{stroke:var(--paper);stroke-width:1.5px}.extreme.max circle{fill:var(--warm)}.extreme.min circle{fill:var(--cold)}.extreme text{fill:#fff;font-size:11px;font-weight:600}.axis line{stroke:#9fb3b9}.axis .day-label{fill:var(--ink);font-size:12px;font-weight:600}.hover-target{fill:#0000;cursor:crosshair;touch-action:pan-y}.crosshair line{stroke:var(--accent);stroke-width:1.25px}.crosshair .window{fill:#004e5e1a}.tooltip{z-index:5;border:1px solid var(--line);pointer-events:none;background:#fffffff5;border-radius:8px;padding:10px 12px;font-size:.84rem;position:absolute;top:8px;box-shadow:0 6px 20px #00283224}.tooltip .when{margin-bottom:6px;font-weight:600}.tooltip dl{margin:0}.tooltip .row{border-top:1px solid #eef3f4;grid-template-columns:1fr auto;gap:0 8px;padding:3px 0;display:grid}.tooltip dt{color:var(--muted)}.tooltip dd{text-align:right;margin:0}.tooltip .spread,.tooltip .class,.tooltip .note{color:var(--muted);font-size:.78rem}.tooltip .note{margin-top:6px}.legend h2{margin:0 0 4px;font-size:1.05rem}.legend .hint{color:var(--muted);max-width:70ch;margin:0 0 12px;font-size:.88rem}.legend-schemes{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.legend-scheme{border:1px solid var(--line);border-radius:8px;margin:0;padding:12px}.legend-scheme figcaption{margin-bottom:8px;font-weight:600}.legend-scheme .unit{color:var(--muted);font-weight:400}.legend-level{border-top:1px solid #eef3f4;grid-template-columns:8.5em 1fr;gap:8px;padding:6px 0;display:grid}.level-name{color:var(--muted);flex-direction:column;padding-top:10px;font-size:.85rem;display:flex}.level-name .level-rule{font-size:.72rem;line-height:1.3}.legend-level ul{flex-wrap:wrap;gap:6px 12px;margin:0;padding:0;list-style:none;display:flex}.legend-level li{align-items:center;gap:6px;font-size:.85rem;display:flex}.legend-level li span{flex-direction:column;display:flex}.legend-level .range{color:var(--muted);font-size:.75rem}@media (width<=600px){.app{padding:12px}.search{flex-basis:100%}.controls .days input{width:110px}.legend-level{grid-template-columns:1fr}.level-name{padding-top:0}}.plot{position:relative}.meteogram .y-axis{position:absolute;top:0;left:0}.y-axis text{fill:var(--muted)}.scroller{overflow:hidden}.scroller.scrolls{overscroll-behavior-x:contain;scrollbar-width:none;overflow:auto hidden}.scroller.scrolls::-webkit-scrollbar{display:none}.scroll-content{position:relative}.fade{pointer-events:none;opacity:0;width:28px;transition:opacity .2s;position:absolute;top:0;bottom:44px}.fade[data-shown=true]{opacity:1}.fade.start{background:linear-gradient(90deg,#17313a29,#0000)}.fade.end{background:linear-gradient(270deg,#17313a29,#0000)}.scroll-indicator{align-items:stretch;gap:6px;margin-top:6px;display:flex}.scroll-indicator .page{border:1px solid var(--line);background:var(--paper);width:34px;color:var(--accent);cursor:pointer;border-radius:6px;flex:none;padding:0;font-size:1.3rem;line-height:1}.scroll-indicator .page:disabled{color:var(--line);cursor:default}.scroll-indicator .track{border:1px solid var(--line);cursor:pointer;touch-action:none;border-radius:6px;flex:1;height:30px;position:relative;overflow:hidden}.map-day{color:var(--muted);text-align:center;white-space:nowrap;border-left:1px solid var(--line);font-size:.72rem;line-height:30px;position:absolute;top:0;bottom:0;overflow:hidden}.map-day:first-child{border-left:none}.map-day.shaded{background:var(--day)}.scroll-indicator .thumb{border:2px solid var(--accent);pointer-events:none;background:#004e5e1f;border-radius:6px;position:absolute;top:0;bottom:0}.column-head{z-index:4;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.column-head .column-name{fill:var(--ink);font-weight:600}.column-head .tick{fill:var(--muted)}.column-body{position:relative}.meteogram.column .axis .day-label{font-size:12px}.meteogram.column .axis .day-date{fill:var(--muted);font-size:11px;font-weight:400}.meteogram.column .hover-target{touch-action:pan-y}.layout-switch{border:1px solid var(--accent);border-radius:6px;display:inline-flex;overflow:hidden}.layout-switch button{background:var(--paper);color:var(--accent);font:inherit;cursor:pointer;border:none;align-items:center;gap:5px;padding:4px 10px;display:inline-flex}.layout-switch button+button{border-left:1px solid var(--accent)}.layout-switch button[aria-pressed=true]{background:var(--accent);color:var(--paper)}.layout-switch svg path{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round}
