:root{color-scheme:light;--surface: #fcfcfb;--surface-raised: #ffffff;--border: #e4e3df;--grid: #ecebe7;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #6f6e69;--series-1: #2a78d6;--series-2: #eb6834;--band: rgba(82, 81, 78, .12);--band-center: #8a8984;font-family:system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.45}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--surface: #1a1a19;--surface-raised: #222220;--border: #383835;--grid: #2c2c2a;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #9a9990;--series-1: #3987e5;--series-2: #d95926;--band: rgba(195, 194, 183, .14);--band-center: #8a8984}}:root[data-theme=dark]{color-scheme:dark;--surface: #1a1a19;--surface-raised: #222220;--border: #383835;--grid: #2c2c2a;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #9a9990;--series-1: #3987e5;--series-2: #d95926;--band: rgba(195, 194, 183, .14);--band-center: #8a8984}*{box-sizing:border-box}body{margin:0;background:var(--surface);color:var(--text-primary)}main{max-width:960px;margin:0 auto;padding:24px 16px 64px}h1{font-size:1.5rem;margin:0}h2{font-size:1.15rem;margin:40px 0 4px}h3{font-size:1rem;margin:24px 0 4px}.note{color:var(--text-secondary);font-size:.9rem;margin:4px 0 12px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-top:20px}.tile{background:var(--surface-raised);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.tile-name{color:var(--text-secondary);font-size:.85rem}.tile-value{font-size:1.75rem;font-weight:600;font-variant-numeric:tabular-nums}.tile-text{font-weight:600;margin-top:4px}.chart{margin:16px 0 24px}.chart figcaption{font-weight:600;font-size:.95rem}.chart-plot{position:relative;overflow-x:auto}.chart svg{display:block;width:100%;min-width:560px;height:auto}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .zero{stroke:var(--text-muted);stroke-width:1}.chart .axis{fill:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .end-label{fill:var(--text-secondary);font-size:12px;font-variant-numeric:tabular-nums}.chart .line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart .dot{stroke:var(--surface);stroke-width:2}.chart .band{fill:var(--band)}.chart .band-center{fill:none;stroke:var(--band-center);stroke-width:1}.chart .crosshair{stroke:var(--text-muted);stroke-width:1}.legend{display:flex;gap:16px;list-style:none;padding:0;margin:4px 0;font-size:.85rem;color:var(--text-secondary)}.key{display:inline-block;width:12px;margin-right:6px;vertical-align:middle}.key-line{height:2px}.key-bar{height:10px;border-radius:2px}.key-band{height:10px;background:var(--band);border-top:1px solid var(--band-center)}.tooltip{position:absolute;top:0;transform:translate(-50%);pointer-events:none;background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:.8rem;white-space:nowrap;box-shadow:0 2px 8px #0000001f;font-variant-numeric:tabular-nums}.tooltip-date{color:var(--text-secondary);margin-bottom:2px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem}th,td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--grid);white-space:nowrap}th:first-child{text-align:left}thead th{color:var(--text-secondary);font-weight:500}.table-scroll{overflow-x:auto}form{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:8px 0}label{display:flex;flex-direction:column;font-size:.85rem;color:var(--text-secondary);gap:4px}input,button{font:inherit;padding:6px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface-raised);color:var(--text-primary)}button{cursor:pointer}button:disabled{cursor:progress;opacity:.7}.sync{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.sync [role=status]{color:var(--text-secondary)}.spinner{display:inline-block;width:.9em;height:.9em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-.1em;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}button[type=submit]{background:var(--series-1);border-color:var(--series-1);color:#fff}ul{padding-left:0;list-style:none}li{margin:4px 0}.value{font-size:1.25rem;font-weight:600}
