:root{color-scheme:dark;--bg: #101216;--panel: #191d24;--border: #2b3242;--text: #dfe4ee;--muted: #8b93a7;--accent: #4d9fff;--rec: #e5484d;--ok: #46a758;--cue: #f5c518}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.4 system-ui,Segoe UI,sans-serif;overflow:auto;-webkit-user-select:none;user-select:none}.operator{display:grid;grid-template-rows:auto 1fr auto;height:100vh;height:100dvh;min-width:720px;gap:8px;padding:8px}.channelgrid{display:flex;gap:8px}.chtile{position:relative;width:200px;aspect-ratio:16/9;background:#000;border:2px solid var(--border);border-radius:4px;cursor:pointer;overflow:hidden;flex-shrink:0}.chtile.selected{border-color:var(--accent)}.chtile img{width:100%;height:100%;object-fit:cover;display:block}.chtile .chlabel{position:absolute;top:4px;left:6px;font-weight:700;font-size:12px;text-shadow:0 0 4px #000,0 0 4px #000}.chtile .recdot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:50%;background:var(--rec);box-shadow:0 0 5px var(--rec)}.chtile .idle{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted)}.main{display:grid;grid-template-columns:1fr auto 280px;gap:8px;min-height:0}.tbarcol{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:8px 6px;width:84px;min-height:0}.takebtns{display:flex;flex-direction:column;gap:4px;width:100%}.takebtns button{background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:8px 0;font:inherit;font-size:11px;font-weight:800;letter-spacing:1px;cursor:pointer}.takebtns button:hover{border-color:var(--accent)}.main.nomv{grid-template-columns:auto 1fr}.main.nomv .monitor{display:none}.main.nomv .sidepanel{display:grid;grid-template-columns:1fr 1fr;gap:8px}.monitor .mvbtns{position:absolute;top:6px;right:6px;display:flex;gap:4px;z-index:2}.monitor .mvbtns button{background:#141820cc;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:12px;cursor:pointer}.monitor .mvbtns button:hover{color:var(--text);border-color:var(--accent)}.mvshowbtn{margin-left:8px;padding:2px 8px;font-size:10px;font-weight:700;background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer}.mvpopout{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center}.mvpopout img{max-width:100vw;max-height:100vh}.mvpopout .noplayer{color:#778}.staterow .listentoggle{display:inline-flex;gap:3px;align-items:center;margin-left:8px}.staterow .listentoggle .hint{font-size:9px;color:var(--muted)}.staterow .listentoggle button{padding:2px 7px;font-size:10px;font-weight:700;background:#262c38;border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer}.staterow .listentoggle button.on{border-color:var(--accent);color:var(--accent)}button.audioset{color:var(--accent)}.prsel{width:100%;margin-top:4px;background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:5px 2px;font:inherit;font-size:11px;font-weight:700}.tbarwrap{flex:1;min-height:0;width:100%;position:relative;display:flex;justify-content:center}.tbar{flex:1;min-height:0;writing-mode:vertical-lr;direction:rtl;width:44px;accent-color:var(--accent)}.tbarwrap .tick{position:absolute;left:50%;width:36px;margin-left:-18px;border-top:1px solid #4d5a72;pointer-events:none}.tbarwrap .t25{top:calc((100% - 16px)*.75 + 8px)}.tbarwrap .t50{top:calc((100% - 16px)/2 + 8px)}.tbarwrap .t75{top:calc((100% - 16px)/4 + 8px)}.tbarcol .speedval{font-family:ui-monospace,Consolas,monospace;font-weight:700;font-size:14px}.monitor{position:relative;background:#000;border:1px solid var(--border);border-radius:6px;display:grid;place-items:center;overflow:hidden}.monitor img{max-width:100%;max-height:100%}.monitor .overlay{position:absolute;left:12px;bottom:10px;font-family:ui-monospace,Consolas,monospace;font-size:22px;font-weight:700;text-shadow:0 0 6px #000,0 0 6px #000}.monitor .staterow{position:absolute;right:12px;bottom:10px;display:flex;gap:8px;align-items:center;font-size:15px;font-weight:700;text-shadow:0 0 6px #000,0 0 6px #000}.monitor .noplayer{color:var(--muted);font-size:15px}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:10px;background:#262c38;color:var(--muted)}.badge.live{background:var(--rec);color:#fff}.badge.playing{background:var(--ok);color:#fff}.badge.cued{background:var(--cue);color:#000}.badge.dropbadge{background:#5a2328;color:#ffb3b8}.cuepanel{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:6px;min-height:0}.cuepanel h2{margin:0 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.cuepanel.dragover{border-color:var(--accent, #4a9eff);border-style:dashed}.dropzone{border:1px dashed var(--accent, #4a9eff);border-radius:6px;padding:10px;text-align:center;color:var(--muted);font-size:12px}.cuelist{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:4px}.cueitem{display:flex;gap:6px;align-items:center;background:#20252f;border-radius:4px;padding:4px 6px}.cueitem .tc{font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--cue);cursor:pointer}.cueitem input{flex:1;min-width:40px;background:transparent;border:none;color:var(--text);font:inherit;outline:none;border-bottom:1px dashed transparent}.cueitem input:focus{border-bottom-color:var(--muted)}.cueitem button{background:none;border:none;color:var(--muted);cursor:pointer;padding:0 2px}.cueitem button:hover{color:var(--rec)}.bottom{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:8px}.transport{display:flex;gap:8px;align-items:center}.transport button{background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;min-width:46px}.transport button:hover{border-color:var(--accent)}.transport button.active{background:var(--accent);border-color:var(--accent);color:#fff}.transport button.livebtn.on{background:var(--rec);border-color:var(--rec);color:#fff}.transport button.markbtn.in.set{background:var(--ok);border-color:var(--ok);color:#fff}.transport button.markbtn.out.set{background:var(--rec);border-color:var(--rec);color:#fff}.transport button.markbtn.g{background:var(--ok);border-color:var(--ok);color:#fff}.transport button.markbtn.y{background:var(--cue);border-color:var(--cue);color:#000}.transport button.markbtn.r{background:var(--rec);border-color:var(--rec);color:#fff}.transport button.closeclip{border-color:var(--cue);color:var(--cue)}.transport button.closeclip:hover{background:var(--cue);color:#000}.transport button.saveangle{border-color:var(--ok);color:var(--ok)}.transport button.saveangle:hover{background:var(--ok);color:#000}.entry.plcurrent{outline:2px solid var(--accent);outline-offset:-2px}.plsub{font-size:11px;color:var(--muted);font-family:ui-monospace,Consolas,monospace;padding:0 0 2px 2px}.transport .spacer{flex:1}.transport .pos{font-family:ui-monospace,Consolas,monospace;font-size:20px;font-weight:700;min-width:150px;text-align:right}.transport .pos.clickable{cursor:text}.transport input.posedit{width:150px;min-width:0;padding:0 4px;background:#262c38;color:var(--text);border:1px solid var(--accent);border-radius:5px}.transport select,.transport input[type=text]{background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:6px 8px;font:inherit}.speedrow{display:flex;gap:10px;align-items:center}.speedrow input[type=range]{flex:1;accent-color:var(--accent)}.speedrow .speedval{font-family:ui-monospace,Consolas,monospace;font-weight:700;min-width:52px}.detents{display:flex;gap:4px}.detents button{background:#20252f;border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.detents button:hover{color:var(--text);border-color:var(--accent)}.timeline{position:relative}.timeline canvas{width:100%;height:110px;display:block;border-radius:4px;cursor:crosshair}.tlcontrols{display:flex;gap:4px;position:absolute;top:4px;right:6px}.tlcontrols button{background:#14171ccc;border:1px solid var(--border);color:var(--muted);border-radius:4px;padding:2px 8px;font-size:11px;cursor:pointer}.tlcontrols button.on{color:var(--text);border-color:var(--accent)}.hint{color:var(--muted);font-size:11px}.sidepanel{display:flex;flex-direction:column;gap:8px;min-height:0}.sidepanel .cuepanel{flex:1}.cuepanel h2{display:flex;gap:6px;align-items:center}.cuepanel h2 select,.cuepanel h2 button{background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:11px;cursor:pointer}.cuepanel h2 .playbtn{background:var(--ok);border-color:var(--ok);color:#fff}.cuepanel h2 .cuebtn{background:#20252f;border-color:var(--cue);color:var(--cue)}.tlcontrols .pltlname{background:#14171ccc;border:1px solid var(--cue);color:var(--cue);border-radius:4px;padding:2px 8px;font-size:11px}.clipfilter{width:90px;padding:2px 6px;font-size:11px;background:#20252f;color:var(--text);border:1px solid var(--border);border-radius:4px}.pltabs{display:flex;gap:3px;flex-wrap:wrap}.pltabs button{background:#20252f;color:var(--muted);border:1px solid var(--border);border-radius:4px 4px 0 0;padding:3px 10px;font-size:11px;cursor:pointer;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pltabs button.on{background:#262c38;color:var(--text);border-color:var(--accent)}.entry.clickable{cursor:pointer}.entry.clickable:hover{outline:1px solid var(--border)}.entry.clickable input{flex:0 1 38%;min-width:60px}.entry.clickable .row{cursor:grab}.dropline{height:13px;padding:5px 0;box-sizing:border-box;background:var(--accent);background-clip:content-box;border-radius:2px;margin:-4px 2px}.entry .numbadge{cursor:pointer}.entry .numbadge:hover{color:var(--accent)}.entry .draghandle{color:var(--muted);cursor:grab;font-size:12px;letter-spacing:-2px}.entry.draggable{cursor:grab}.markrow{display:flex;gap:6px;align-items:center}.markrow .mark{font-family:ui-monospace,Consolas,monospace;font-size:11px;padding:3px 6px;border-radius:4px;background:#20252f;color:var(--muted)}.markrow .mark.set{color:#fff;background:var(--ok)}.markrow .mark.out.set{background:var(--rec)}.markrow button{background:var(--accent);border:none;color:#fff;border-radius:4px;padding:3px 8px;font-size:11px;cursor:pointer}.markrow button:disabled{opacity:.4;cursor:default}.entry{background:#20252f;border-radius:4px;padding:5px 6px;display:flex;flex-direction:column;gap:3px}.entry.loaded{outline:1px solid var(--cue)}.entry input{flex:1;min-width:40px;background:transparent;border:none;color:var(--text);font:inherit;outline:none;border-bottom:1px dashed transparent}.entry input:focus{border-bottom-color:var(--muted)}.entry .tc{cursor:pointer}.entry .tc:hover{color:#fff}.entry .row{display:flex;gap:4px;align-items:center;margin:0}.entry .row .spacer{flex:1}.entry select{background:#262c38;color:var(--text);border:1px solid var(--border);border-radius:4px;padding:1px 4px;font-size:11px}.entry button{background:none;border:1px solid var(--border);color:var(--muted);border-radius:3px;padding:0 5px;font-size:11px;cursor:pointer}.entry button:hover{color:var(--text);border-color:var(--accent)}.entry .nudges{flex-wrap:wrap}.entry .tc{font-family:ui-monospace,Consolas,monospace;font-size:11px;color:var(--cue)}.errorbox{background:var(--rec);color:#fff;border-radius:6px;padding:8px 14px;align-self:center;font-weight:600}.topbar{display:flex;gap:12px;align-items:center}.ctrltoggle{display:flex;gap:4px}.ctrltoggle button{font-size:16px;font-weight:800;letter-spacing:1px;padding:10px 22px;border-radius:6px;cursor:pointer;background:#20252f;color:var(--muted);border:2px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:0}.ctrltoggle button small{font-size:10px;font-weight:400;opacity:.8}.ctrltoggle .pgm.on{background:var(--rec);border-color:var(--rec);color:#fff}.ctrltoggle .pvw.on{background:var(--ok);border-color:var(--ok);color:#fff}.ctrltoggle .pvwengage.on{background:var(--rec);border-color:var(--rec);color:#fff}.modesel{background:#20252f;color:var(--text);border:2px solid var(--border);border-radius:6px;padding:10px 8px;font:inherit;font-weight:700;cursor:pointer}.chbtns{display:flex;gap:4px;flex-wrap:wrap}.chbtn{position:relative;background:#20252f;color:var(--text);border:2px solid var(--border);border-radius:6px;padding:10px 14px;font-weight:700;cursor:pointer}.chbtn:disabled{opacity:.35;cursor:default}.chbtn.selected{border-color:var(--accent)}.chbtn.onair{background:#2b3242}.chbtn .recdot{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--rec)}.ctrlbadge{font-weight:800;letter-spacing:1px;padding:6px 10px;border-radius:5px;background:#20252f;color:var(--muted)}.ctrlbadge.pgm{background:var(--rec);color:#fff}.ctrlbadge.pvw{background:var(--ok);color:#fff}.ctrlbadge.both{background:var(--accent);color:#fff}kbd{background:#262c38;border:1px solid var(--border);border-radius:3px;padding:0 4px;font-family:inherit;font-size:11px}.pltabs .cleartab{color:var(--muted)}.pltabs .cleartab:hover{color:#fff;background:var(--rec);border-color:var(--rec)}.stepbtn{background:#20252f;border:1px solid var(--border);color:var(--muted);border-radius:5px;padding:3px 6px;cursor:pointer;font-size:11px;margin-top:4px}.stepbtn.on{background:var(--accent);border-color:var(--accent);color:#fff}.jlchelpbtn{background:#20252f;border:1px solid var(--border);color:var(--muted);border-radius:5px;padding:4px 8px;cursor:pointer;font-size:11px}.jlchelpbtn:hover{color:var(--text)}.jlchelp{max-width:1100px;margin:0 auto;padding:20px 24px 40px;-webkit-user-select:text;user-select:text}.jlchelp h1{font-size:20px;margin:0 0 4px}.jlchelp .intro{color:var(--muted);margin:0 0 16px}.jlchelp .cols{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}.jlchelp section{flex:1 1 320px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.jlchelp h2{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin:0 0 8px}.jlchelp table{border-collapse:collapse;width:100%}.jlchelp td{padding:6px 8px;vertical-align:top;border-top:1px solid var(--border)}.jlchelp tr:first-child td{border-top:0}.jlchelp td.btn{white-space:nowrap;font-weight:700;color:var(--cue);width:1%;font-family:ui-monospace,Consolas,monospace;font-size:12px}.jlchelp .jlcshift{color:var(--rec);font-weight:800}.jlchelp .detail{color:var(--muted);margin-top:2px}.jlchelp .foot{color:var(--muted);margin-top:16px}@media print{.jlchelp{color:#000}.jlchelp section{border-color:#999;background:#fff}.jlchelp .detail,.jlchelp .intro,.jlchelp .foot{color:#444}}@media(max-width:1280px){.operator{gap:6px;padding:6px}.main{grid-template-columns:1fr auto 210px}.tbarcol{width:64px;padding:6px 4px}.takebtns button{padding:6px 0;font-size:10px;letter-spacing:.5px}.tbar{width:36px}.ctrltoggle button{font-size:13px;padding:7px 14px}.modesel{padding:7px 6px;font-size:12px}.chbtn{padding:7px 10px}.transport button{padding:6px 8px;min-width:34px}.transport .pos{font-size:15px;min-width:105px}.transport .hint{display:none}.timeline canvas{height:90px}.staterow span:last-child{display:none}}@media(max-width:900px){.main{grid-template-columns:1fr auto 180px}.ctrlbadge{display:none}.timeline canvas{height:72px}.transport{flex-wrap:wrap}}
