:root{--bg:#0b0d10;--panel:#14181d;--line:#232a32;--text:#dde3ea;--dim:#7d8792;--accent:#4ade80;--accent-dim:#1c7a45;--warn:#fbbf24;--danger:#f87171;--ear:#60a5fa;--mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--mono);-webkit-font-smoothing:antialiased;margin:0;font-size:13px}#app{flex-direction:column;height:100%;display:flex}.topbar{border-bottom:1px solid var(--line);background:var(--panel);align-items:baseline;gap:12px;padding:10px 16px;display:flex}.topbar h1{letter-spacing:.14em;text-transform:lowercase;color:var(--accent);margin:0;font-size:15px}.tagline{color:var(--dim)}.rec-indicator{color:var(--danger);letter-spacing:.1em;margin-left:auto;font-weight:700;animation:1.6s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}.layout{background:var(--line);flex:1;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:1px;min-height:0;display:grid}.stage,.panel{background:var(--bg);min-width:0;padding:14px;overflow-y:auto}.video-wrap{aspect-ratio:16/9;border:1px solid var(--line);background:#000;border-radius:6px;position:relative;overflow:hidden}.video-wrap video,.video-wrap canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.stage-status{color:var(--dim);pointer-events:none;text-align:center;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.stage-status[hidden]{display:none}.controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}button{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:5px;padding:6px 11px}button:hover:not(:disabled){border-color:var(--accent-dim)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{border-color:var(--accent-dim);color:var(--accent)}button.armed{border-color:var(--danger);color:var(--danger)}label.field{color:var(--dim);align-items:center;gap:6px;display:inline-flex}select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:5px 7px}.hint{width:100%;color:var(--dim);line-height:1.6}kbd{background:var(--panel);border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;padding:0 5px;font-family:inherit;font-size:11px}.readouts{background:var(--line);border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1px;display:grid;overflow:hidden}.stat{background:var(--panel);padding:8px 10px}.stat-label{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.stat-value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:17px}.stat-value.good{color:var(--accent)}.stat-value.warn{color:var(--warn)}.stat-value.bad{color:var(--danger)}.chart{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin-top:12px;padding:8px 4px 4px}.log{border:1px solid var(--line);background:var(--panel);border-radius:6px;height:190px;margin-top:12px;padding:8px 10px;font-size:11.5px;line-height:1.65;overflow-y:auto}.log-row{gap:10px;display:flex}.log-t{color:var(--dim);font-variant-numeric:tabular-nums;min-width:58px}.log-blink{color:var(--accent)}.log-partial{color:var(--warn)}.log-alert{color:var(--danger)}.log-info{color:var(--dim)}.chart .u-legend{font-size:11px}@media (max-width:900px){.layout{grid-template-columns:1fr}}.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}
