@layer lab{.vega-ctl input[type=text],.vega-ctl input[type=number]{flex:1;min-width:120px}.vega-legend .dot.bal{background:#0e7e95;border-color:#0a4f63}.vega-legend .dot.broken{background:#d93025;border-color:#aa2236}.vega-legend .dot.hot{background:#0e7e95;border-width:3px;border-color:#ffac33}.vega-legend .bfbadge{font-family:var(--mono);color:#0a4f63;background:#d7f0f6;border-radius:5px;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.vega-legend .bfbadge.bad{color:#fff;background:#d93025}table.stats{border-collapse:separate;border-spacing:0;font-family:var(--mono);border:1px solid var(--line-strong);border-radius:12px;margin:6px 0;font-size:12.5px;overflow:hidden}table.stats th,table.stats td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;padding:6px 14px}table.stats tr:last-child td{border-bottom:none}table.stats th:last-child,table.stats td:last-child{border-right:none}table.stats th{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}table.stats td.num{color:var(--accent);font-weight:600}.chips{flex-wrap:wrap;gap:6px;display:flex}.opchip{font-family:var(--mono);border:1px solid var(--line);color:var(--ink-soft);background:#fff;border-radius:999px;padding:3px 10px;font-size:11px}.opchip.rotate{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}.opchip.descend{border-color:var(--line-strong);background:var(--panel);color:var(--ink-soft)}.opchip.retrace{background:var(--warn-soft);color:#b84800;border-color:#ffc9a3}.invariants{gap:4px;margin:8px 0;display:grid}.vega-lab>.invariants,.vega-lab>table.stats{margin-left:16px;margin-right:16px}.vega-lab>table.stats:last-child{margin-bottom:14px}.invariants .row{font-family:var(--mono);border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:8px;padding:5px 12px;font-size:12px;display:flex}.invariants .row .mark{font-weight:600}.invariants .row.pass{background:var(--accent-soft);border-color:#b6e7f1}.invariants .row.pass .mark{color:var(--accent)}.invariants .row.fail{background:var(--bad-soft);border-color:#f9c0c5}.invariants .row.fail .mark{color:var(--bad)}.invariants .row .name{color:var(--ink-soft)}.stepmeta{font-family:var(--mono);color:var(--muted);font-size:11px}.casebtns{flex-wrap:wrap;gap:9px;display:flex}.two-up{grid-template-columns:1fr 1fr;gap:14px;display:grid}}
