@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--bg:#191a1d;--panel:#222327;--panel2:#2a2b30;--line:#35373d;--line2:#43454c;--text:#dcdad3;--dim:#8f9098;--faint:#5d5f66;--voice:#e2a94f;--amb:#4fb3a3;--sfx:#9d8ae0;--music:#d4809e;--ok:#7fc27a;--warn:#e0b94f;--bad:#d9736a;--solo:#e6c14a;--mute:#e5534b;--mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;--sans:"IBM Plex Sans KR", "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{color:var(--text);font:13px/1.45 var(--sans);-webkit-user-select:none;user-select:none;background:#141517;flex-direction:column;height:100vh;margin:0;display:flex;overflow:hidden}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}#root{flex-direction:column;flex:1;min-height:0;display:flex}button{font:inherit;color:inherit;border:1px solid var(--line2);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px}button:hover{background:var(--panel2)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible{outline:2px solid var(--amb);outline-offset:1px}select,input[type=number]{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line2);border-radius:3px;padding:2px 4px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--dim);font-size:10px}.pill{border:1px solid var(--line2);color:var(--dim);border-radius:10px;padding:2px 8px;font-size:11px}.pill.draft{border-color:var(--warn);color:var(--warn)}.top{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:14px;padding:8px 14px;display:flex}.top .drawer{padding:3px 8px;font-size:12px}.top .name{font-size:14px;font-weight:600}.top .sp{flex:1}.primary{background:var(--amb);border-color:var(--amb);color:#0f1d1b;font-weight:600}.main{background:#141517;flex:1;grid-template-columns:280px 1fr;gap:10px;min-height:0;padding:10px;transition:grid-template-columns .2s;display:grid}.main.closed{grid-template-columns:36px 1fr}.main.closed .assets>:not(.rail){display:none}.rail{flex-direction:column;align-items:center;gap:10px;height:100%;padding:10px 0;display:none}.main.closed .rail{display:flex}.rail .v{writing-mode:vertical-rl;color:var(--dim);letter-spacing:.1em;font-size:11px}.rail button{padding:2px 6px}.assets{border:1px solid var(--line);background:var(--panel);border-radius:6px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.assets .hd{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 10px;display:flex}.assets .hd .x{margin-left:auto;padding:1px 7px;font-size:12px}.assets .hd b{font-size:12px}.note{color:var(--dim);font-size:10px;line-height:1.4}.right{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex}.sessionRow{flex:1;gap:10px;min-width:0;min-height:0;display:flex}.session{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.sessionScroll{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:auto}.playing-panel{border:1px solid var(--line);background:var(--panel);border-radius:6px;flex-direction:column;flex:0 0 220px;min-height:0;display:flex;overflow:hidden}.pp-head{border-bottom:1px solid var(--line);background:var(--panel2);align-items:center;gap:8px;padding:8px 10px;display:flex}.pp-head b{font-size:12px}.pp-stopall{margin-left:auto;padding:1px 7px;font-size:11px}.pp-list{flex-direction:column;flex:1;gap:4px;padding:6px;display:flex;overflow:auto}.pp-empty{color:var(--dim);text-align:center;padding:8px 4px;font-size:11px}.pp-item{background:var(--bg);cursor:pointer;border:1px solid #0000;border-radius:3px;align-items:center;gap:6px;height:28px;padding:0 6px;display:flex}.pp-item:hover{border-color:var(--line2)}.pp-dot{border-radius:2px;flex:none;width:8px;height:8px}.pp-id{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.pp-bus{color:var(--dim);font-size:10px}.pp-x{border:none;flex:none;padding:0 5px;font-size:12px;line-height:1}.pp-x:hover{background:var(--line2);border-radius:2px}.grid{background:var(--bg);flex:1;grid-template-columns:repeat(4,200px);gap:8px;min-height:0;padding:8px;display:grid}.col{background:var(--panel);border:1px solid var(--line);border-radius:5px;flex-direction:column;display:flex;overflow:hidden}.colhead{border-bottom:1px solid var(--line);background:var(--panel2);align-items:center;gap:8px;padding:8px 10px;display:flex}.colhead .dot{border-radius:2px;width:9px;height:9px}.colhead .rule{color:var(--dim);white-space:nowrap;margin-left:auto;font-size:10px}.cells{flex-direction:column;gap:4px;padding:6px;display:flex;overflow:auto}.cue{background:var(--bg);cursor:pointer;border:1px solid #0000;border-radius:3px;align-items:center;gap:8px;height:34px;padding:0 8px 0 6px;display:flex;position:relative;overflow:hidden}.cue:hover{border-color:var(--line2)}.cue.sel{border-color:var(--text)}.cue.dragover{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 18%, var(--bg))}.cue .tri{border-left:8px solid var(--dim);border-top:5px solid #0000;border-bottom:5px solid #0000;flex:none;width:0;height:0}.cue.playing .tri{background:linear-gradient(90deg, var(--c) 0 3px, transparent 3px 5px, var(--c) 5px);border-top:0;border-bottom:0;border-left-color:#0000;width:8px;height:10px}.cue .nm{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.cue .meta{color:var(--dim);font-size:10px;font-family:var(--mono)}.cue .bar{background:var(--c);width:3px;position:absolute;top:0;bottom:0;left:0}.cue.playing{background:color-mix(in srgb, var(--c) 20%, var(--bg))}.add{border:1px dashed var(--line2);color:var(--dim);text-align:center;border-radius:3px;justify-content:center;align-items:center;height:30px;font-size:11px;display:flex}.strips{background:var(--bg);grid-template-columns:repeat(4,200px);gap:8px;padding:0 8px 8px;display:grid}.strip{background:var(--panel);border:1px solid var(--line);border-radius:5px;grid-template-columns:auto 1fr;align-items:start;gap:4px 10px;min-height:130px;padding:8px;display:grid}.fader{grid-row:1/3;gap:6px;height:110px;display:flex}.track{cursor:ns-resize;touch-action:none;background:#111;border-radius:3px;width:6px;position:relative}.track .knob{background:#d8d6cf;border-radius:2px;width:20px;height:9px;position:absolute;left:-7px;box-shadow:0 1px 2px #000}.meter{background:#111;border-radius:3px;width:6px;position:relative;overflow:hidden}.meter .lv{background:linear-gradient(0deg, var(--ok), var(--ok) 70%, var(--warn) 85%, var(--bad));position:absolute;bottom:0;left:0;right:0}.meter .duck{border-top:2px solid var(--amb);position:absolute;left:0;right:0}.strip .val{font-family:var(--mono);cursor:text;border-radius:3px;margin:-1px -3px;padding:1px 3px;font-size:14px}.strip .val:hover{background:var(--panel2)}.strip .val-input{font-family:var(--mono);background:var(--bg);width:64px;color:inherit;border:1px solid var(--amb);border-radius:3px;padding:0 3px;font-size:14px}.strip .kv{color:var(--dim);grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;font-size:11px;display:grid}.strip .kv b{font-family:var(--mono);color:var(--text);font-weight:500}.sm{gap:4px;display:flex}.sm button{padding:1px 7px;font-size:11px}.sm button.solo-on{background:var(--solo);border-color:var(--solo);color:#221a02}.sm button.mute-on{background:var(--mute);border-color:var(--mute);color:#2a0705}.sm button.solo-dim{opacity:.45}.strip.dimmed>:not(.sm){opacity:.5}.clip{border:1px solid var(--line);background:var(--panel);border-radius:6px;grid-template-columns:220px 1fr 300px;height:250px;min-height:0;display:grid;overflow:hidden}.clip section{border-right:1px solid var(--line);align-content:start;gap:6px;min-width:0;padding:12px 14px;display:grid}.clip section:last-child{border-right:0}.clip h2{font-size:13px;font-weight:600;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.ov{z-index:10;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line2);border-radius:8px;gap:12px;width:520px;max-width:92vw;max-height:86vh;padding:16px 18px;display:grid;overflow:auto}.modal h2{margin:0;font-size:14px}.modal .sub{color:var(--dim);font-size:12px}.diff{gap:10px;font-size:12px;display:grid}.diff h4{color:var(--dim);letter-spacing:.05em;text-transform:uppercase;margin:0 0 4px;font-size:11px;font-weight:500}.diff ul{gap:3px;margin:0;padding:0;list-style:none;display:grid}.diff li{font-family:var(--mono);align-items:baseline;gap:8px;font-size:11px;display:flex}.diff li .tag{font-family:var(--sans);border:1px solid var(--line2);color:var(--dim);border-radius:8px;flex:none;padding:0 6px;font-size:10px}.diff li .tag.add{border-color:var(--ok);color:var(--ok)}.diff li .tag.chg{border-color:var(--warn);color:var(--warn)}.diff li span.d{color:var(--dim)}.modal .row{justify-content:flex-end;gap:8px;display:flex}.foot{border-top:1px solid var(--line);color:var(--dim);background:var(--panel);gap:18px;padding:6px 14px;font-size:11px;display:flex}.foot kbd{font-family:var(--mono);border:1px solid var(--line2);color:var(--text);border-radius:3px;padding:0 4px}.top .lbl.unsaved{color:var(--bad)}.assets .pill{font-family:var(--mono);color:var(--dim);border:1px solid var(--line);white-space:nowrap;border-radius:10px;padding:1px 6px;font-size:10px}.assets .drop{border:1px dashed var(--line2);text-align:center;color:var(--dim);cursor:pointer;border-radius:3px;margin:6px;padding:10px;font-size:11px}.assets .drop.over{border-color:var(--ok);color:var(--text);background:var(--panel2)}.assets .alist{flex-direction:column;flex:1;gap:1px;min-height:60px;padding:4px 6px;display:flex;overflow:auto}.assets .alist.over{background:var(--panel2);outline:1px dashed var(--ok);outline-offset:-2px}.assets .newfolder{gap:4px;padding:4px 6px;display:flex}.assets .newfolder input{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:3px;flex:1;padding:2px 6px;font-size:11px}.assets .newfolder-toggle{align-self:flex-start;margin:2px 6px 4px;padding:2px 8px;font-size:10px}.fold{padding:4px 6px;padding-left:calc(6px + var(--depth,0) * 16px);cursor:pointer;color:var(--text);-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;gap:6px;font-size:11px;display:flex}.fold:hover{background:var(--panel2)}.fold.sel{background:var(--panel2);outline:1px solid var(--line2)}.fold.over{background:var(--panel2);outline:1px dashed var(--ok)}.fold .tw{width:10px;color:var(--dim);text-align:center;flex:none;font-size:9px;transition:transform .12s}.fold.open .tw{transform:rotate(90deg)}.fold .ico{border:1px solid var(--dim);border-radius:2px;flex:none;width:13px;height:10px;position:relative}.fold .ico:before{content:"";border:1px solid var(--dim);background:var(--panel);border-bottom:0;border-radius:2px 2px 0 0;width:6px;height:3px;position:absolute;top:-3px;left:-1px}.fold .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fold .cnt{font-family:var(--mono);color:var(--dim);margin-left:auto;font-size:10px}.fold .del{color:var(--dim);margin-left:4px;padding:0 4px;font-size:9px}.fold .del:hover{color:var(--bad)}.asset{padding:4px 7px 4px 0;padding-left:calc(6px + var(--depth,0) * 16px + 16px);cursor:pointer;border:1px solid #0000;border-radius:3px;grid-template-columns:14px 1fr auto;align-items:center;gap:3px 8px;display:grid;position:relative}.asset:hover{background:var(--panel2)}.asset.sel{border-color:var(--text);background:var(--panel2)}.asset .st{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px}.asset .st.ok{background:var(--ok)}.asset .st.busy{background:var(--warn);animation:1s infinite assetblink}.asset .st.raw{border:1px solid var(--dim);background:0 0}.asset .st.err{background:var(--bad)}@keyframes assetblink{50%{opacity:.35}}.asset .fn{font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.asset .sz{font-family:var(--mono);color:var(--dim);white-space:nowrap;font-size:10px}.asset .menu{color:var(--dim);opacity:0;padding:0 4px;font-size:12px;position:absolute;top:4px;right:4px}.asset:hover .menu{opacity:1}.asset .menu:hover{color:var(--text)}.assets .conv{border-top:1px solid var(--line);flex:none;gap:8px;padding:10px;display:grid}.assets .conv h3{font-size:11px;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:500;overflow:hidden}.assets .conv .cmp{color:var(--dim);grid-template-columns:auto 1fr 1fr;align-items:baseline;gap:2px 10px;font-size:11px;display:grid}.assets .conv .cmp .h{color:var(--dim);font-size:10px}.assets .conv .cmp b{color:var(--text);font-family:var(--mono);font-weight:500}.assets .conv .field{gap:4px;display:grid}.assets .conv .lbl{color:var(--dim);font-size:10px}.assets .conv .br{gap:4px;display:flex}.assets .conv .br span{border:1px solid var(--line);font-family:var(--mono);cursor:pointer;color:var(--dim);border-radius:3px;padding:3px 9px;font-size:11px}.assets .conv .br span.on{border-color:var(--text);color:var(--text);background:var(--panel2)}.assets .conv .note{color:var(--dim);font-size:10px;line-height:1.5}.assets .conv button{justify-self:start;padding:4px 10px;font-size:11px}.assets .conv button:disabled{opacity:.4;cursor:not-allowed}.assets .conv .err{color:var(--bad);font-size:10px}.rail .cnt{font-family:var(--mono);color:var(--warn);font-size:10px}.idbox{align-items:center;gap:6px;min-width:0;display:flex}.idbox input{font:600 13px var(--mono);background:var(--bg);color:var(--text);border:1px solid var(--line2);border-radius:3px;flex:1;min-width:0;padding:3px 7px}.idbox input::placeholder{color:var(--dim);font-weight:500}.idhint{color:var(--dim);font-size:10px}.seg{border:1px solid var(--line2);border-radius:3px;display:flex;overflow:hidden}.seg span{text-align:center;color:var(--dim);cursor:pointer;flex:1;padding:3px 0;font-size:11px}.seg span.on{background:var(--c);color:#111;font-weight:600}.playlist{gap:3px;min-width:0;display:grid;overflow:hidden auto}.playlist div{min-width:0;font-family:var(--mono);background:var(--bg);border-radius:3px;justify-content:space-between;align-items:center;padding:3px 7px;font-size:11px;display:flex}.playlist div span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.playlist small{color:var(--dim)}.cliplen{flex-shrink:0;align-items:center;gap:6px;display:flex}.playlist button.x{color:var(--dim);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11px;line-height:1}.playlist button.x:hover{color:var(--bad)}.cliprow{border:1px dashed var(--line2);border-radius:4px;min-width:0;padding:2px;overflow:hidden}.cliprow.over{border-color:var(--ok);background:color-mix(in srgb, var(--ok) 12%, transparent)}.deleteRow{margin-top:auto}button.danger{border:1px solid var(--bad);width:100%;color:var(--bad);cursor:pointer;background:0 0;border-radius:3px;padding:3px 6px;font-size:11px}button.danger:hover{background:color-mix(in srgb, var(--bad) 12%, transparent)}.wavewrap{cursor:default;position:relative}canvas.wave{background:var(--bg);border-radius:3px;width:100%;height:150px;display:block}.hoverguide{background:color-mix(in srgb, var(--text) 35%, transparent);pointer-events:none;z-index:5;width:1px;margin-left:-1px;position:absolute;top:0;bottom:0}.loopzone{pointer-events:none;z-index:1;position:absolute;top:0;bottom:0;overflow:hidden}.loopzone.repeat{background:color-mix(in srgb, var(--amb) 14%, transparent);border-top:2px solid var(--amb);border-bottom:2px solid var(--amb)}.loopzone.dead{background:repeating-linear-gradient(45deg,#0000008c 0 6px,#000000b8 6px 12px)}.zlbl{font-size:9px;font-family:var(--mono);white-space:nowrap;background:#00000080;border-radius:2px;padding:1px 4px;position:absolute;top:2px;left:4px}.loopzone.repeat .zlbl{color:var(--amb)}.loophandle{cursor:ew-resize;z-index:6;width:14px;margin-left:-7px;position:absolute;top:0;bottom:0}.loophandle:before{content:"";background:var(--amb);width:2px;position:absolute;top:0;bottom:0;left:6px}.loophandle:after{content:"";background:var(--amb);width:8px;height:8px;position:absolute;top:0;left:3px}.playhead{background:var(--text);pointer-events:none;z-index:7;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.fade{pointer-events:none;z-index:2;background:linear-gradient(90deg,#191a1dcc,#0000);position:absolute;top:0;bottom:0}.fade.out{background:linear-gradient(270deg,#191a1dcc,#0000)}.fade .h{cursor:ew-resize;pointer-events:auto;z-index:8;width:14px;height:14px;position:absolute;top:2px}.fade .h:before{content:"";border:1px solid var(--text);background:var(--panel);border-radius:50%;width:8px;height:8px;position:absolute;top:3px}.fade.in .h{right:-7px}.fade.in .h:before{right:3px}.fade.out .h{left:-7px}.fade.out .h:before{left:3px}.times{color:var(--dim);font-size:10px;font-family:var(--mono);justify-content:space-between;display:flex}.fields1{flex-direction:column;gap:4px;min-width:0;display:flex}.frow{justify-content:space-between;align-items:center;gap:10px;min-height:18px;display:flex}.flabel{color:var(--dim);white-space:nowrap;flex-shrink:0;font-size:12px}.fdiv{background:var(--line2);height:1px;margin:1px 0}.fval{min-width:92px;font-family:var(--mono);background:var(--panel2);border:1px solid var(--line2);color:var(--text);border-radius:3px;justify-content:flex-end;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;display:flex}.fval.disabled{color:var(--dim);border-style:dashed}.fnum{cursor:pointer;text-align:right;min-width:3.5em}.fval.disabled .fnum{cursor:default}.funit{color:var(--dim);flex-shrink:0;font-size:11px}.numedit{font-family:var(--mono);color:var(--text);text-align:right;background:0 0;border:none;outline:none;width:3.5em;min-width:0;padding:0;font-size:12px;font-weight:500}.frow input[type=checkbox]{width:15px;height:15px;accent-color:var(--amb);cursor:pointer}.listen{background:var(--bg);width:100%;height:100%;color:var(--text);flex-direction:column;display:flex;overflow:hidden}.listen .ptop{color:var(--dim);align-items:center;gap:8px;padding:14px 14px 0;font-size:12px;display:flex}.listen .ptop b{color:var(--text);font-size:14px}.listen .ptop button{margin-left:auto;padding:4px 10px;font-size:14px}.listen .tabs{gap:4px;padding:12px 12px 0;display:flex}.listen .tabs button{border-color:var(--line);color:var(--dim);border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 0;font-size:13px;display:flex}.listen .tabs button i{background:var(--c);border-radius:2px;width:18px;height:3px;display:block}.listen .tabs button.on{background:var(--panel2);color:var(--text);border-color:var(--c)}.listen .ptrack{flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow:auto}.listen .ptrack .rule{color:var(--dim);padding:0 2px 2px;font-size:11px}.listen .bigcue{background:var(--panel);border:1px solid var(--line);cursor:pointer;height:60px;font-family:var(--mono);text-align:left;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:12px;width:100%;padding:0 14px;font-size:15px;display:flex;position:relative;overflow:hidden}.listen .bigcue .bar{background:var(--c);width:4px;position:absolute;top:0;bottom:0;left:0}.listen .bigcue .tri{border-left:12px solid var(--dim);border-top:7px solid #0000;border-bottom:7px solid #0000;flex:none;width:0;height:0}.listen .bigcue.playing{background:color-mix(in srgb, var(--c) 22%, var(--panel))}.listen .bigcue.playing .tri{background:linear-gradient(90deg, var(--c) 0 4px, transparent 4px 8px, var(--c) 8px);border:0;width:12px;height:14px}.listen .bigcue .meta{color:var(--dim);margin-left:auto;font-size:12px}.listen .pbus{border-top:1px solid var(--line);background:var(--panel);grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:12px 14px;display:grid}.listen .pbus .hm{background:#111;border-radius:5px;grid-column:1/3;height:10px;position:relative;overflow:hidden}.listen .pbus .hm .lv{background:linear-gradient(90deg, var(--ok) 70%, var(--warn) 85%, var(--bad));position:absolute;top:0;bottom:0;left:0}.listen .pbus .hm .duck{border-left:2px solid var(--amb);position:absolute;top:0;bottom:0}.listen .pbus .v{font-family:var(--mono);font-size:18px}.listen .pbus .k{color:var(--dim);font-size:12px}.listen .pbus .k b{font-family:var(--mono);color:var(--text);font-weight:500}.listen .pfoot{color:var(--dim);justify-content:space-between;padding:8px 14px 14px;font-size:10px;display:flex}
