:root{--bg:#f5f3ee;--card:#fff;--text:#1f2328;--muted:#6b6f76;--line:#e7e4dc;--accent:#3b6fd8;--accent-soft:#e8effc;--good:#1f8a4c;--good-bg:#e3f4ea;--ok:#5c8a1f;--ok-bg:#eef5df;--weak:#9a6b00;--weak-bg:#fbf1d6;--bad:#b42318;--bad-bg:#fbe5e3;--neutral:#4b5563;--neutral-bg:#eef0f3;--series-1:#2a78d6;--series-2:#eb6834;--grid:#ecebe6;--axis:#8a8d93;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#15171a;--card:#1e2125;--text:#e8e9eb;--muted:#9aa0a8;--line:#2d3137;--accent:#7aa2f7;--accent-soft:#23304a;--good:#5fd08e;--good-bg:#1b3326;--ok:#a8d067;--ok-bg:#28321b;--weak:#e8c062;--weak-bg:#3a3019;--bad:#f2867c;--bad-bg:#3d1f1d;--neutral:#c3c8cf;--neutral-bg:#2a2e34;--series-1:#3987e5;--series-2:#d95926;--grid:#2b2f35;--axis:#80868f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{overscroll-behavior-x:none;touch-action:pan-x pan-y;overflow-x:clip}body{background:var(--bg);min-height:100dvh;color:var(--text);flex-direction:column;margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.page{flex:1}.wrap{max-width:960px;margin:0 auto;padding:20px 16px 48px}h1{letter-spacing:-.01em;margin:0;font-size:26px}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 12px;font-size:13px;font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}button,.btn{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;border-radius:9px;padding:6px 12px;text-decoration:none;display:inline-block}button:disabled{opacity:.6;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.refreshBtn{text-align:center;min-width:2.4em}.refreshBtn:disabled{opacity:1}.spinner{vertical-align:-.15em;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:1em;height:1em;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}.alert{background:var(--weak-bg);color:var(--weak);border-radius:10px;margin-top:14px;padding:10px 14px}
