:root{--paper:#edf0ee;--card:#f7f9f7;--ink:#0e1418;--graphite:#556069;--line:#ccd3ce;--signal:#0bbfaa;--amber:#e0982e;--alert:#d9504c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.5 IBM Plex Sans,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--paper:#0e1418;--card:#0e1b20;--ink:#e7ecea;--graphite:#8fa09e;--line:#1f3038;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0}.app{max-width:1100px;padding:max(12px, env(safe-area-inset-top)) 16px 32px;gap:12px;margin:0 auto;display:grid}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}h1{margin:0;font:700 1.25rem/1.2 Space Grotesk,system-ui,sans-serif}h2{margin:0 0 8px;font:600 .95rem/1.2 Space Grotesk,system-ui,sans-serif}.tag{color:var(--signal);text-transform:uppercase;letter-spacing:.1em;font:500 .7rem/1 ui-monospace,monospace}.controls{flex-wrap:wrap;gap:8px;display:flex}button,.file,select{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:8px;padding:7px 12px}button:disabled{opacity:.5;cursor:default}button.recording{background:var(--alert);color:#fff;border-color:var(--alert)}.file input{display:none}.status{color:var(--graphite);margin:0}.stage{touch-action:none;background:#000;border-radius:10px;position:relative;overflow:hidden}.stage video{object-fit:contain;width:100%;height:auto;max-height:70vh;display:block}.stage canvas{width:100%;height:100%;position:absolute;inset:0}.panels{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px 14px}.metrics{grid-template-columns:auto 1fr;gap:4px 14px;margin:0;display:grid}.metrics dt{color:var(--graphite)}.metrics dd{font-variant-numeric:tabular-nums;margin:0;font-family:ui-monospace,monospace}.loss{margin:0 0 6px;font-family:ui-monospace,monospace}.loss.cut{color:var(--alert);font-weight:600}.warnings{color:var(--amber);margin:0 0 8px;padding-left:1.1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:right;border-bottom:1px solid var(--line);padding:4px 8px}th:first-child,td:first-child{text-align:left}td.excluded{color:var(--graphite);text-decoration:line-through}.muted{color:var(--graphite);text-align:left!important}
