:root,html[data-theme=light]{--bg:#f4f5f9;--surface:#fff;--surface-2:#eef0f6;--text:#181b24;--muted:#5a6172;--border:#e2e5ee;--border-strong:#c9cede;--accent:#4f46e5;--accent-soft:#eceafd;--accent-contrast:#fff;--prose:#4338ca;--code:#0f766e;--c-16gb:#b45309;--c-32gb:#4f46e5;--c-128gb:#0f766e;--c-256gb:#be185d;--grid-line:#e9ebf3;--axis-line:#c3c8d6;--shadow:0 1px 2px #10141f0d, 0 4px 16px #10141f0f;--tip-bg:#1a1f2b;--tip-text:#f0f2f7;--tip-muted:#aab2c4;--tip-border:#3a4152}html[data-theme=dark]{--bg:#0d1017;--surface:#151923;--surface-2:#1b202c;--text:#edeff5;--muted:#a3abbf;--border:#262c3a;--border-strong:#394154;--accent:#6d64f0;--accent-soft:#262442;--accent-contrast:#fff;--prose:#8b93ff;--code:#2fd4bd;--c-16gb:#f5a623;--c-32gb:#8b93ff;--c-128gb:#2fd4bd;--c-256gb:#f472b6;--grid-line:#212734;--axis-line:#3a4152;--shadow:0 1px 2px #00000059, 0 4px 16px #0000004d;--tip-bg:#1a1f2b;--tip-text:#f0f2f7;--tip-muted:#aab2c4;--tip-border:#3a4152}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}#app{max-width:1280px;margin:0 auto;padding:18px 24px 32px}h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}h2{letter-spacing:-.01em;margin:0;font-size:14.5px;font-weight:650}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 0 16px;display:flex}.brand{align-items:center;gap:12px;display:flex}.logo{place-items:center;display:grid}.brand-text .sub{color:var(--muted);margin:1px 0 0;font-size:12.5px}.topbar-right{align-items:center;gap:10px;display:flex}.filter{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:flex}.filter button{appearance:none;color:var(--muted);font:inherit;cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:0;border-radius:7px;min-width:74px;padding:6px 12px;font-size:12.5px;font-weight:600;transition:background .12s,color .12s}.filter button:hover{color:var(--text);background:var(--surface-2)}.filter button.active{background:var(--accent);color:var(--accent-contrast)}.filter button:focus-visible,.icon-btn:focus-visible,th:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn{appearance:none;background:var(--surface);width:36px;height:36px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:10px;place-items:center;transition:color .12s,border-color .12s;display:grid}.icon-btn:hover{color:var(--text);border-color:var(--border-strong)}html[data-theme=dark] #iconSun,html[data-theme=light] #iconMoon{display:none}.kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px;display:grid}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:14px}.kpi{padding:14px 18px 12px}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:12px;font-weight:600}.kpi-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:4px 0 2px;font-size:30px;font-weight:700;line-height:1.1}.kpi-value.accent-prose{color:var(--prose)}.kpi-value.accent-code{color:var(--code)}.kpi-sub{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;min-height:17px;margin:0;font-size:12px;overflow:hidden}.charts{grid-template-columns:repeat(12,1fr);gap:14px;margin-bottom:14px;display:grid}.span7{grid-column:span 7}.span5{grid-column:span 5}.span12{grid-column:span 12}.chart-card{flex-direction:column;padding:16px 18px 14px;display:flex}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.card-sub{color:var(--muted);margin:2px 0 0;font-size:12px}.chart-body{flex:1;min-height:264px;position:relative}.chart-body.tall{min-height:400px}.chart-body svg{display:block}.legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legend-row{justify-content:center;margin-top:8px}.legend-item{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.legend-swatch.round{border-radius:50%}.grid-line{stroke:var(--grid-line);stroke-width:1px}.axis-line{stroke:var(--axis-line);stroke-width:1px}.diag{stroke:var(--muted);stroke-width:1.2px;stroke-dasharray:5 4;opacity:.85}.tick-label{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:10.5px}.unit-label{fill:var(--muted);font-size:10.5px;font-weight:600}.axis-title{fill:var(--muted);font-size:11px;font-weight:600}.bar-value{fill:var(--text);font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:600}.machine-label{fill:var(--text);font-size:11px;font-weight:600}.bar{transition:opacity .1s}.bar.dim{opacity:.35}.dot{stroke:var(--surface);stroke-width:1.5px;transition:r .1s}.run-label-model{fill:var(--text);font-size:11px;font-weight:650}.run-label-recipe{fill:var(--muted);font-size:10.5px}.table-card{padding:16px 18px 8px}.table-wrap{max-height:420px;margin:0 -6px;padding:0 6px 8px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12.8px}thead th{background:var(--surface);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;text-align:left;border-bottom:1px solid var(--border-strong);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;z-index:1;padding:8px 10px;font-size:11.5px;font-weight:650;position:sticky;top:0}thead th.num,tbody td.num{text-align:right;font-variant-numeric:tabular-nums}thead th:first-child{cursor:default}thead th .sort-arrow{margin-left:4px;font-size:9px}tbody td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:8px 10px}tbody tr:hover td{background:var(--surface-2)}td.model-cell{font-weight:650}td .recipe-cell{color:var(--muted);font-size:12px}td.num.val-prose{color:var(--prose);font-weight:650}td.num.val-code{color:var(--code);font-weight:650}td.num.best{font-weight:750}.class-badge{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.class-badge .legend-swatch{width:8px;height:8px}#tooltip{z-index:50;background:var(--tip-bg);max-width:320px;color:var(--tip-text);border:1px solid var(--tip-border);pointer-events:none;border-radius:9px;padding:9px 12px;font-size:12px;position:fixed;box-shadow:0 6px 24px #00000059}#tooltip .tip-title{margin-bottom:5px;font-size:12.5px;font-weight:700}#tooltip .tip-row{color:var(--tip-muted);align-items:center;gap:7px;margin-top:3px;display:flex}#tooltip .tip-row b{color:var(--tip-text);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}#tooltip .tip-swatch{border-radius:2px;flex:none;width:8px;height:8px;display:inline-block}#tooltip .tip-sub{color:var(--tip-muted);max-width:260px;margin-top:4px;font-size:11.5px}@media (width<=1080px){.span7,.span5{grid-column:span 12}.kpis{grid-template-columns:repeat(2,1fr)}}
