:root{--bg:#0a0a14;--panel:#0f0f1c;--panel-2:#14142440;--border:#1f1f3a;--border-hi:#2d2d52;--text:#e6e6f0;--muted:#7a7a99;--orange:#ff9a3c;--purple:#b16cff;--cyan:#3cf0ff;--green:#2dffa6;--red:#ff3b5c;--r:6px;--r-lg:10px;--tb-h:46px}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:"JetBrains Mono","Roboto Mono",ui-monospace,"SF Mono",Menlo,monospace;font-size:13px;overflow:hidden}.brand,.tb{display:flex}.tb{position:fixed;inset:0 0 auto 0;height:var(--tb-h);align-items:center;gap:10px;padding:0 16px;background:linear-gradient(180deg,#12121f,var(--panel));border-bottom:1px solid var(--border);z-index:100;user-select:none}.brand{align-items:baseline;gap:9px}.bmark{color:var(--orange);font-size:17px;line-height:1;text-shadow:0 0 12px var(--orange)}.bname{font-weight:700;letter-spacing:3px;font-size:15px;background:linear-gradient(90deg,var(--orange),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent}.bver,.sulink{color:var(--muted);font-size:10px;letter-spacing:1px}.sulink{text-decoration:none;padding:2px 6px;border-radius:3px;transition:color .2s,background .2s}.sulink:hover{color:var(--text);text-decoration:none}.sp{flex:1}.dvd,.sulink:hover{background:var(--border)}.dvd{width:1px;height:20px}.stat{font-size:11px;color:var(--muted);letter-spacing:.5px;white-space:nowrap}.btn,.stat b{color:var(--cyan);font-weight:600}.btn{font-family:inherit;font-size:11px;letter-spacing:1px;padding:7px 15px;border-radius:var(--r);cursor:pointer;background:var(--panel);color:var(--text);border:1px solid var(--border-hi);transition:all .16s ease}.btn:hover:not(:disabled){border-color:var(--orange);color:var(--orange);box-shadow:0 0 14px #ff9a3c33}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.on{background:#ff9a3c1a;border-color:var(--orange);color:var(--orange)}.btn.rec{border-color:var(--red);color:var(--red)}.btn.rec:hover:not(:disabled){border-color:var(--red);color:var(--red);box-shadow:0 0 14px #ff3b5c33}.btn.sm{padding:5px 10px;font-size:10px}.col,.wrap{gap:14px;overflow:hidden}.wrap{position:fixed;inset:var(--tb-h)0 0 0;display:grid;grid-template-columns:minmax(420px,1.35fr) minmax(340px,1fr);padding:14px}.col{flex-direction:column;min-height:0}.col.right{overflow-y:auto}.col,.panel,.ph{display:flex}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;flex-direction:column;min-height:0}.panel.grow{flex:1}.ph{align-items:center;gap:8px;padding:9px 13px;background:var(--panel-2);border-bottom:1px solid var(--border);font-size:10px;letter-spacing:2px;font-weight:700;color:var(--muted);text-transform:uppercase;flex-shrink:0}.ph .dot{width:6px;height:6px;border-radius:50%;background:var(--purple);box-shadow:0 0 8px var(--purple)}.ph .sp2{flex:1}.pb{padding:12px 13px;overflow-y:auto;min-height:0}.pb.tight{padding:0}.stage,.stage-msg{display:flex;align-items:center;justify-content:center}.stage{position:relative;flex:1;min-height:260px;background:#06060d;overflow:hidden}#video{display:none}#overlay{width:100%;height:100%;display:block;object-fit:contain}.stage-msg{position:absolute;inset:0;flex-direction:column;gap:10px;text-align:center;padding:24px;pointer-events:none}.stage-msg .ico{font-size:34px;opacity:.5}.grp-h,.stage-msg .ttl{font-size:13px;letter-spacing:2px;font-weight:700;color:var(--muted)}.stage-msg .sub{font-size:11px;color:#5a5a78;max-width:380px;line-height:1.6}.stage-msg.err .ttl{color:var(--red)}.stage-msg.hidden{display:none}.grp-h{padding:8px 13px 5px;font-size:9px;color:var(--orange);border-top:1px solid var(--border);background:#0d0d18;position:sticky;top:0;z-index:2}.grp-h:first-child{border-top:none}.grp-h .n{color:var(--muted);font-weight:400;margin-left:6px;letter-spacing:0}.kv,.src{align-items:center}.src{display:grid;grid-template-columns:118px 1fr 34px;gap:9px;padding:3px 13px}.src:hover{background:#ffffff06}.src .lb{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.src .tr{height:7px;background:#ffffff0d;border-radius:4px;overflow:hidden;position:relative}.src .bar{position:absolute;inset:0 auto 0 0;width:0%;background:linear-gradient(90deg,var(--purple),var(--orange));border-radius:4px;transition:width .05s linear}.src.evt .bar{background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .04s linear}.src.evt.hot .lb{color:var(--cyan)}.src .vl{font-size:9px;color:#55556e;text-align:right;font-variant-numeric:tabular-nums}.src.act .lb{color:var(--text)}.src.act .vl{color:var(--orange)}.kv{display:flex;justify-content:space-between;padding:5px 0;font-size:11px}.kv+.kv{border-top:1px solid #ffffff08}.kv .k,.pill{color:var(--muted);letter-spacing:.5px}.kv .v{color:var(--text);font-variant-numeric:tabular-nums}.kv .v.ok,.pill.live{color:var(--green)}.kv .v.warn{color:var(--orange)}.kv .v.off{color:#55556e}.pill{display:inline-block;padding:2px 8px;border-radius:10px;font-size:9px;letter-spacing:1px;font-weight:700;background:#ffffff0d;margin:2px 3px 2px 0}.pill.live{background:#2dffa61a}.fx-row{display:grid;grid-template-columns:74px 1fr 32px;align-items:center;gap:9px;padding:4px 0}.fx-row .lb{font-size:10px;color:var(--muted);letter-spacing:.5px}.fx-row .vl{font-size:9px;color:#55556e;text-align:right;font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;border-radius:2px;background:#ffffff14;outline:0;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 8px #ff9a3c88;cursor:pointer}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--orange);box-shadow:0 0 8px #ff9a3c88;cursor:pointer}.warn-box{margin-top:10px;padding:8px 10px;background:#ff9a3c12;border:1px solid #ff9a3c33;border-radius:var(--r);font-size:10px;color:var(--orange);line-height:1.55}.hint{font-size:10px;color:#55556e;line-height:1.6;margin-top:9px}.hint code{color:var(--cyan);background:#ffffff0a;padding:1px 4px;border-radius:3px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-hi)}@media (max-width:900px){.wrap{grid-template-columns:1fr;overflow-y:auto}}