:root,[data-theme=dark]{--bg: #080c14;--panel: #111a2b;--panel-2: #0d1523;--text: #e6ebf5;--muted: #8b96ad;--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .2);--accent: #5cc8ff;--accent-2: #ffb454;--ok: #41d18b;--bad: #ff6b6b;--shadow: 0 10px 30px rgba(0, 0, 0, .35);color-scheme:dark}[data-theme=light]{--bg: #eef2f8;--panel: #ffffff;--panel-2: #f7f9fd;--text: #1c2333;--muted: #5b667c;--line: rgba(20, 30, 60, .12);--line-strong: rgba(20, 30, 60, .22);--accent: #1f6fd0;--accent-2: #c46d00;--ok: #12895a;--bad: #c22b2b;--shadow: 0 10px 24px rgba(20, 30, 60, .1);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:14px/1.55 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#app{display:flex;flex-direction:column;gap:14px;width:100%;min-width:0;min-height:100dvh;padding:16px}.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.brand{display:flex;align-items:center;gap:10px}.brand h1{margin:0;font-size:15px;font-weight:600;letter-spacing:.01em}.brand-dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(140deg,var(--accent),var(--accent-2))}.topbar-actions{display:flex;align-items:center;gap:8px}.btn{padding:6px 12px;font:inherit;font-size:13px;color:var(--text);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;transition:border-color .12s ease,color .12s ease,background .12s ease}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-icon{min-width:34px;padding:6px 8px;font-size:14px;line-height:1}.panel{padding:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.panel-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.panel-head-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;flex:1 1 auto}.btn-collapse{flex:0 0 auto;padding:1px 8px 3px;font-size:12px;line-height:1.2;color:var(--muted)}.btn-collapse:hover{color:var(--accent)}.panel-collapsible>.panel-head{flex-wrap:nowrap;align-items:flex-start}.panel[data-collapsed=true]>.panel-head{margin-bottom:0}.panel[data-collapsed=true] .collapsible{display:none}.panel[data-collapsed=true] .btn-collapse{transform:rotate(-90deg)}.panel-head h2{margin:0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.muted{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.card{padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.card-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.card-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.card-value{margin-top:6px;font-size:26px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.card-unit{margin-left:3px;font-size:14px;font-weight:400;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.stat{padding:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px}.stat-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:8px}.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-variant-numeric:tabular-nums}.stat-row+.stat-row{margin-top:2px}.stat-key{font-size:12px;color:var(--muted)}.stat-value{font-size:15px;font-weight:600}.stat-value.min{color:var(--accent)}.stat-value.max{color:var(--accent-2)}.preset-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px}.presets{display:flex;flex-wrap:wrap;gap:6px}.year-select{padding:5px 9px;font:inherit;font-size:12px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;max-width:15rem}.year-select:hover{color:var(--text);border-color:var(--accent)}.year-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.year-select option{color:var(--text);background:var(--panel)}.preset{padding:5px 11px;font:inherit;font-size:12px;color:var(--muted);background:transparent;border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.preset:hover{color:var(--text);border-color:var(--accent)}.preset[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent);font-weight:600}.preset:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:var(--muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:14px;height:3px;border-radius:2px}.legend-swatch.dashed{background-image:linear-gradient(to right,currentColor 0 60%,transparent 60% 100%);background-size:6px 3px;background-repeat:repeat-x}.panel-chart{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.chart-host{width:100%;flex:1 1 260px;min-height:260px}.chart-host .u-over{cursor:crosshair}.hint{margin:8px 0 0;font-size:12px}.error{margin:0;padding:10px 14px;color:var(--bad);background:var(--panel);border:1px solid var(--bad);border-radius:10px}.footer{font-size:12px;text-align:center;padding-bottom:8px}@media (max-width: 560px){#app{padding:10px;gap:10px}.card-value{font-size:22px}}.uplot,.uplot *,.uplot *:before,.uplot *:after{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5;width:min-content}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;position:relative;width:100%;height:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012;position:absolute;pointer-events:none}.u-cursor-x,.u-cursor-y{position:absolute;left:0;top:0;pointer-events:none;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{height:100%;border-right:1px dashed #607D8B}.u-hz .u-cursor-y,.u-vt .u-cursor-x{width:100%;border-bottom:1px dashed #607D8B}.u-cursor-pt{position:absolute;top:0;left:0;border-radius:50%;border:0 solid;pointer-events:none;will-change:transform;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
