:root{color-scheme:dark;--bg:#101217;--panel:#161a21;--line:#292d35;--text:#f1f3f5;--dim:#8b93a1;--ok:#7dd3a4;--warn:#f2c94c;--bad:#f87171;--accent:#5eb1ff;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-family:system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);margin:0;overflow:hidden}h1{white-space:nowrap;margin:0;font-size:.9rem;font-weight:600}h2{color:var(--dim);margin:0 0 10px;font-size:.8rem;font-weight:600}input,select,button{font:inherit;color:var(--text);background:#1d222b;border:1px solid #363b45;border-radius:5px;padding:6px 10px;font-size:.8rem}input{min-width:0;font-family:var(--mono);flex:1}button{cursor:pointer}button:hover{border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.back{color:var(--dim);white-space:nowrap;background:#1d222b;border:1px solid #363b45;border-radius:5px;padding:5px 10px;font-size:.8rem;text-decoration:none}.back:hover{color:var(--text);border-color:var(--accent)}.app{flex-direction:column;height:100dvh;display:flex}.topbar{border-bottom:1px solid var(--line);background:#12151b;flex-wrap:nowrap;flex:none;align-items:center;gap:10px;min-height:52px;padding:6px 16px;display:flex}.topbar input,.topbar select,.topbar button{padding:6px 9px;font-size:.75rem}.src{flex:auto;gap:8px;min-width:0;display:flex}.topbar #fileSelect{flex:0 170px;min-width:105px}.topbar #src{flex:200px;min-width:80px}.status{color:var(--ok);white-space:nowrap;font-size:.75rem}.status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status.error{color:var(--bad)}.workspace{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-height:0;padding:16px;display:grid}.stage{flex-direction:column;gap:12px;min-width:0;min-height:0;display:flex;overflow:hidden}.pinned{flex:none;gap:8px;min-height:0;display:grid}.vwrap{min-width:0;position:relative}video{aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:8px;width:100%;height:auto;max-height:calc(100dvh - 205px);display:block}.vbadge{font:.7rem var(--mono);pointer-events:none;background:#000000b3;border-radius:4px;padding:2px 8px;position:absolute;top:10px;left:10px}.caption{display:none}.vitals{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.vital-secondary{display:none}.vital{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:6px 10px}.vital span{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-size:.62rem;display:block}.vital b{font:600 .88rem var(--mono);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin-top:1px;display:block;overflow:hidden}.vital[data-tone=ok] b{color:var(--ok)}.vital[data-tone=warn] b{color:var(--warn)}.k-ok{color:var(--ok)}.k-warn{color:var(--warn)}.k-acc{color:var(--accent)}.tlcard h2{margin:0 0 3px}.tlcard .tlinfo{font:.72rem var(--mono);color:var(--dim);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}#tl{flex:none;height:32px}.last-event-host{flex:1 1 0;min-width:0;min-height:0;display:flex}.last-event-host .les{background:var(--panel);border:1px solid var(--line);min-width:0;min-height:0;color:var(--text);font-family:var(--mono);border-radius:8px;flex:auto;align-items:center;gap:12px;padding:8px 12px;font-size:.75rem;display:flex}.last-event-host .les-dot{background:var(--dim)}.last-event-host .les[data-sev=warn] .les-dot{background:var(--warn)}.last-event-host .les[data-sev=error] .les-dot{background:var(--bad)}.last-event-host .les[data-sev=error] .les-msg{color:var(--bad)}.last-event-host .les-badge[data-attn=true]{color:var(--warn)}.last-event-host .les-line{flex:auto;min-width:0}.last-event-host .les-msg{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}@media (width<=900px){.last-event-host{flex:none;min-height:52px}.last-event-host .les{min-height:52px}}.side{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.tabbar{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;display:flex}[role=tablist]{scrollbar-width:none;flex:auto;gap:2px;min-width:0;display:flex;overflow:auto hidden}[role=tablist]::-webkit-scrollbar{display:none}.tab{color:var(--dim);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;margin-bottom:0;padding:8px 7px}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.log-alert{color:var(--warn);font:600 .7rem var(--mono)}.log-alert[hidden]{display:none}.tabbar label.split,.win{color:var(--dim);white-space:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:.75rem;display:flex}.tabbar label.split select,.win select{padding:3px 8px}#panes{flex:1;grid-template-rows:minmax(0,1fr);gap:12px;min-width:0;min-height:0;display:grid}#panes.split{grid-template-rows:minmax(0,1.6fr) minmax(0,1fr)}.panel{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:auto}.panel[hidden]{display:none}.panel[data-slot=primary]{order:1}.panel[data-slot=secondary]{order:2}.panel .scroll{flex:1;min-height:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:0;padding:14px}.bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.bar h2{margin:0}canvas{width:100%;display:block}#panel-chart{gap:10px;overflow:hidden}.chart-card{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.chartbox{flex:1;min-height:0;position:relative}.chartbox canvas{height:100%;position:absolute;inset:0}.legend{color:var(--dim);flex-wrap:wrap;gap:14px;margin-bottom:8px;font-size:.72rem;display:flex}.legend i{vertical-align:middle;width:10px;height:3px;margin-right:5px;display:inline-block}.kpis{flex:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}#panel-segments{overflow:hidden}#panel-segments .scroll{overflow:auto}dl{grid-template-columns:max-content 1fr;gap:5px 16px;margin:0;font-size:.8rem;display:grid}dt{color:var(--dim)}dd{font-family:var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.74rem}th{text-align:left;color:var(--dim);background:var(--panel);padding:4px 10px 6px 0;font-weight:500;position:sticky;top:0}td{border-top:1px solid var(--line);padding:3px 10px 3px 0}#levels tr[data-i]{cursor:pointer}#levels tr[data-i]:hover td{background:#1d222b}tr.cur td{color:var(--ok)}tr.slow td{color:var(--warn)}.log-panel{gap:10px;overflow:hidden}.log-toolbar{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.log-toolbar h2{white-space:nowrap;margin:0 6px 0 0}.log-toolbar input{flex:135px;min-width:90px}.log-actions{flex:none;align-items:center;gap:6px;display:flex}.log-toolbar button,.log-toolbar input{padding:5px 7px;font-size:.72rem}#log{min-height:0;font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;flex:auto;font-size:.72rem;line-height:1.5;overflow:auto}.l.abr{color:var(--accent)}.l.media{color:var(--dim)}.l.warn{color:var(--warn)}.l.err{color:var(--bad)}.l.hide{display:none}@media (width>=901px) and (height<=690px){.workspace{gap:12px;padding:10px 16px}.stage{gap:8px;overflow:hidden}.pinned{gap:6px}.chart-card{overflow:hidden}.card{padding:10px}.tlcard{padding:7px 10px}.legend{gap:8px;font-size:.68rem}}@media (width<=900px){body{overflow:auto}.app{height:auto;min-height:100dvh;display:block}.topbar{flex-wrap:wrap}.src{flex-wrap:wrap;flex:520px}.workspace{padding:10px;display:block}.stage{overflow:visible}.pinned{z-index:5;background:var(--bg);padding-bottom:8px;position:sticky;top:0}video{aspect-ratio:16/9;height:auto;max-height:38vh}.vitals{grid-template-columns:repeat(3,minmax(0,1fr))}.tlcard{flex:none;margin-top:12px}.side{margin-top:12px}#panes,#panes.split{flex-direction:column;display:flex}.panel{overflow:visible}.chart-card{flex:none;overflow:visible}.chartbox{flex:none;height:240px}.kpis{grid-template-columns:repeat(auto-fit,minmax(84px,1fr))}.log-actions{flex-wrap:wrap}.log-panel{min-height:270px}#log{min-height:190px}}
