:root{color-scheme:light;--page: #f4f4f2;--surface-1: #fcfcfb;--border: #e2e1dc;--grid: #ecebe7;--axis: #c9c8c2;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #7a7974;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--accent: #2a78d6;--warn-bg: #fff4dc;--warn-text: #7a4b00;--bad-bg: #fde7e6;--bad-text: #8f1d1c;--good-text: #146c2e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page: #111110;--surface-1: #1a1a19;--border: #2e2e2c;--grid: #262624;--axis: #45443f;--text-primary: #f0efec;--text-secondary: #c3c2b7;--text-muted: #8f8e86;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--accent: #3987e5;--warn-bg: #3a2c0b;--warn-text: #f3c86b;--bad-bg: #3d1716;--bad-text: #f3a3a2;--good-text: #7fd197}}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text-primary);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}button{border:1px solid var(--border);background:var(--surface-1);border-radius:6px;padding:6px 12px;cursor:pointer}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:disabled{opacity:.55;cursor:default}button.on{border-color:var(--accent);color:var(--accent)}header{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2}header h1{font-size:16px;margin:0}header nav{display:flex;gap:4px}header .who{margin-left:auto;color:var(--text-secondary)}main{max-width:1200px;margin:0 auto;padding:16px}section{margin-bottom:24px}h2{font-size:15px;margin:0 0 10px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px}.row h2{margin:0 auto 0 0}.muted{color:var(--text-muted)}.spaced{margin-top:16px}h2.spaced{margin-top:24px}.login{max-width:340px;margin:12vh auto;background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:24px;display:grid;gap:12px}.login h1{font-size:18px;margin:0}.login input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--page)}.error{background:var(--bad-bg);color:var(--bad-text);border-radius:6px;padding:8px 10px}.notice{background:var(--warn-bg);color:var(--warn-text);border-radius:6px;padding:8px 10px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.tile .label{color:var(--text-secondary);font-size:12px}.tile .value{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}.tile .sub{color:var(--text-muted);font-size:12px}.tile.warn .value:after{content:" ▲";font-size:14px;color:var(--warn-text)}.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:12px;min-width:0}.card h3{font-size:13px;margin:0}.card .hint{color:var(--text-muted);font-size:12px;margin:2px 0 6px}.chart{position:relative}.chart svg{display:block}.chart .grid{stroke:var(--grid)}.chart .axis{stroke:var(--axis)}.chart .reference{stroke:var(--text-muted);stroke-dasharray:4 4}.chart .cursor{stroke:var(--text-muted)}.chart .dot{stroke:var(--surface-1);stroke-width:2}.chart .tick{fill:var(--text-muted);font-size:11px;font-variant-numeric:tabular-nums}.chart .empty{color:var(--text-muted);margin:40px 0;text-align:center}.legend{display:flex;gap:14px;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.legend i,.tip i,.bar i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:-1px}.tip{position:absolute;pointer-events:none;background:var(--surface-1);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12px;box-shadow:0 4px 14px #0000001f;white-space:nowrap;font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;background:var(--surface-1);font-variant-numeric:tabular-nums}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--text-secondary);font-weight:500;font-size:12px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px}.status-done{color:var(--good-text)}.status-failed{color:var(--bad-text)}.status-recording{color:var(--warn-text)}.bars{display:grid;gap:4px;margin:8px 0 12px}.bar{display:grid;grid-template-columns:170px 1fr 56px;gap:8px;align-items:center;font-size:12px}.bar .track{height:10px;background:var(--grid);border-radius:0 4px 4px 0}.bar .fill{height:10px;background:var(--series-1);border-radius:0 4px 4px 0}.bar .pct{text-align:right;font-variant-numeric:tabular-nums}.functions td:nth-child(3),.functions td:nth-child(4){text-align:right;white-space:nowrap}.delta{font-size:12px;white-space:nowrap}.delta.good{color:var(--good-text)}.delta.bad{color:var(--bad-text)}.release-cpu{margin-bottom:10px}.release-cpu h3 code,td code{font-size:12px}.fn-title{font-size:13px;margin:10px 0 4px}.functions code{font-size:11px;color:var(--text-muted);word-break:break-all}.stalls{font-size:12px;color:var(--text-secondary);margin-top:8px}@media(max-width:600px){main{padding:12px}header{flex-wrap:wrap;padding:8px 12px}.charts{grid-template-columns:1fr}.bar{grid-template-columns:110px 1fr 46px}}
