:root{--bg:#07090d;--panel:#0e1117;--panel-2:#131722;--raised:#191e2b;--raised-2:#212839;--line:#222a3a;--line-2:#2d3649;--text:#e8ebf2;--text-2:#b8c0cf;--muted:#7f899c;--dim:#566074;--accent:#3d7bff;--accent-2:#00d2ff;--accent-soft:#3d7bff29;--hot:#ff3b5c;--warn:#ffb020;--ok:#2bd47d;--info:#7aa7ff;--radius:8px;--radius-sm:6px;--font:"Inter Tight", ui-sans-serif, system-ui, -apple-system, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--shadow:0 10px 40px #0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.35;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border:2px solid var(--panel);background:#232a3a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#2f384d}.app{grid-template-rows:50px minmax(0, 1fr) 6px var(--tl-h,330px);height:100%;display:grid}.main{grid-template-columns:var(--left-w,318px) minmax(0, 1fr) var(--right-w,356px);min-height:0;display:grid}.splitter{background:var(--bg);cursor:row-resize;position:relative}.splitter:after{content:"";background:var(--line-2);border-radius:2px;width:40px;height:2px;margin-left:-20px;position:absolute;top:2px;left:50%}.splitter:hover:after{background:var(--accent)}.topbar{border-bottom:1px solid var(--line);background:linear-gradient(#0f131b,#0b0e14);align-items:center;gap:14px;padding:0 14px;display:flex}.brand{letter-spacing:.18em;align-items:center;gap:9px;font-size:12.5px;font-weight:800;display:flex}.brand svg{display:block}.brand small{letter-spacing:.02em;color:var(--muted);font-size:11.5px;font-weight:500}.proj-name{min-width:120px;max-width:260px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 8px;font-weight:600}.proj-name:hover{border-color:var(--line)}.proj-name:focus{border-color:var(--accent);background:var(--panel);outline:none}.topbar .sep{background:var(--line);width:1px;height:22px}.topbar .grow{flex:1}.save-state{color:var(--dim);align-items:center;gap:6px;font-size:11.5px;display:flex}.save-state i{background:var(--ok);border-radius:50%;width:6px;height:6px;display:inline-block}.save-state.saving i{background:var(--warn)}.score-pill{background:var(--panel-2);border:1px solid var(--line);cursor:pointer;border-radius:99px;align-items:center;gap:8px;padding:4px 10px 4px 4px;display:flex}.score-pill:hover{border-color:var(--line-2)}.score-pill b{font-size:12px}.score-pill span{color:var(--muted);font-size:11.5px}.btn{border-radius:var(--radius-sm);background:var(--raised);border:1px solid var(--line-2);height:30px;color:var(--text);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--raised-2);border-color:#3a4560}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:#fff;border-color:#5b8fff;box-shadow:0 0 0 1px #3d7bff4d,0 6px 20px #3d7bff40}.btn.primary:hover{background:#4f88ff}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--raised);color:var(--text)}.btn.sm{height:26px;padding:0 9px;font-size:12px}.btn.xs{border-radius:5px;height:22px;padding:0 7px;font-size:11px}.btn.block{width:100%}.btn.danger:hover{border-color:var(--hot);color:#ff8098}.btn.on{background:var(--accent-soft);color:#cfe0ff;border-color:#3d7bff8c}.ibtn{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-2);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.ibtn:hover{background:var(--raised);color:var(--text)}.ibtn.on{background:var(--accent-soft);color:#cfe0ff;border-color:#3d7bff73}.ibtn:disabled{opacity:.35;cursor:default}.ibtn.sm{width:24px;height:24px}.seg{background:var(--panel);border:1px solid var(--line);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.seg button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:5px;padding:4px 9px;font-size:11.5px;font-weight:600}.seg button:hover{color:var(--text)}.seg button.on{background:var(--raised-2);color:var(--text);box-shadow:inset 0 1px #ffffff0a}.seg.wrap{flex-wrap:wrap}.panel{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;min-width:0;min-height:0;display:flex}.panel.right{border-right:0;border-left:1px solid var(--line)}.tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:2px;padding:8px 8px 0;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex-direction:column;flex:1;align-items:center;gap:3px;margin-bottom:-1px;padding:6px 2px 7px;font-size:10.5px;font-weight:600;display:flex}.tabs button:hover{color:var(--text-2)}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.tabs.text button{flex-direction:row;justify-content:center;gap:6px;padding:7px 4px 9px;font-size:12px}.scroll{flex:1;min-height:0;overflow:hidden auto}.pad{padding:12px}.stack{flex-direction:column;gap:10px;display:flex}.row{align-items:center;gap:8px;display:flex}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:11.5px}.mono{font-family:var(--mono)}.h{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;font-size:11px;font-weight:700}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.card.tight{padding:10px}.divider{background:var(--line);height:1px;margin:4px 0}.field{grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:26px;display:grid}.field>label{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.field .val{font-family:var(--mono);color:var(--muted);text-align:right;min-width:38px;font-size:11px}.input,.select,textarea.input{border:1px solid var(--line-2);background:var(--bg);width:100%;height:28px;color:var(--text);border-radius:6px;padding:0 8px}textarea.input{resize:vertical;-webkit-user-select:text;user-select:text;height:auto;min-height:58px;padding:7px 8px;line-height:1.35}.input:focus,.select:focus{border-color:var(--accent);outline:none}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 13px) 12px,calc(100% - 9px) 12px;background-repeat:no-repeat;background-size:4px 4px;padding-right:22px}.range{appearance:none;background:0 0;width:100%;height:18px}.range::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--accent) var(--p,50%), #252d3f var(--p,50%));border-radius:4px;height:4px}.range::-webkit-slider-thumb{-webkit-appearance:none;background:#e8ebf2;border-radius:50%;width:13px;height:13px;margin-top:-4.5px;box-shadow:0 0 0 3px #3d7bff40}.range:hover::-webkit-slider-thumb{box-shadow:0 0 0 4px #3d7bff59}.toggle{background:#2a3247;border:0;border-radius:99px;flex-shrink:0;width:30px;height:17px;padding:0;transition:background .15s;position:relative}.toggle:after{content:"";background:#cfd5e2;border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle.on{background:var(--accent)}.toggle.on:after{background:#fff;transform:translate(13px)}.check{cursor:pointer;color:var(--text-2);align-items:center;gap:8px;font-size:12.5px;display:flex}.check input{accent-color:var(--accent);width:14px;height:14px}.chip{border:1px solid var(--line-2);height:24px;color:var(--text-2);white-space:nowrap;background:0 0;border-radius:99px;align-items:center;gap:6px;padding:0 9px;font-size:11.5px;font-weight:600;display:inline-flex}.chip:hover{color:var(--text);border-color:#3a4560}.chip.on{background:var(--raised-2);color:var(--text);border-color:#45516d}.chip i{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.chip em{color:var(--dim);font-style:normal;font-weight:500}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.kbd{font-family:var(--mono);border:1px solid var(--line-2);color:var(--muted);background:var(--panel);border-radius:4px;padding:1px 5px;font-size:10.5px}.lib-tools{border-bottom:1px solid var(--line);flex-direction:column;gap:9px;padding:10px 12px;display:flex}.lib-filters{scrollbar-width:none;gap:5px;padding-bottom:2px;display:flex;overflow-x:auto}.lib-filters::-webkit-scrollbar{display:none}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:9px;padding:12px;display:grid}.mcard{background:var(--panel-2);border:1px solid var(--line);cursor:grab;border-radius:7px;transition:border-color .12s,transform .12s;position:relative;overflow:hidden}.mcard:hover{border-color:#3a4560}.mcard.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.mcard.used .mthumb:after{content:"UTILISÉ";letter-spacing:.08em;color:#9fb4d8;background:#000000b3;border-radius:3px;padding:2px 5px;font-size:8.5px;font-weight:800;position:absolute;bottom:5px;left:5px}.mthumb{aspect-ratio:16/9;background:#0b0d12 50%/cover no-repeat;position:relative}.mthumb .dur{font-family:var(--mono);background:#000000b8;border-radius:3px;padding:1px 5px;font-size:10px;position:absolute;bottom:5px;right:5px}.mthumb .cat{width:3px;position:absolute;top:0;bottom:0;left:0}.mthumb .energy{background:#ffffff14;height:2px;position:absolute;bottom:0;left:0;right:0}.mthumb .energy b{background:linear-gradient(90deg,#3d7bff,#ff3b5c);height:100%;display:block}.mthumb .busy{color:var(--muted);background:#07090d99;place-items:center;font-size:10.5px;display:grid;position:absolute;inset:0}.mmeta{flex-direction:column;gap:3px;padding:6px 7px 7px;display:flex}.mmeta .name{white-space:nowrap;text-overflow:ellipsis;color:var(--text-2);font-size:11.5px;font-weight:600;overflow:hidden}.mmeta .sub{color:var(--muted);align-items:center;gap:5px;font-size:10.5px;display:flex}.stars{gap:1px;display:inline-flex}.stars button{color:#3a4357;background:0 0;border:0;padding:0;font-size:11px;line-height:1}.stars button.on{color:#ffc21a}.dropzone{border:1.5px dashed var(--line-2);text-align:center;background:radial-gradient(at top,#3d7bff14,#0000 70%);border-radius:12px;flex-direction:column;align-items:center;gap:10px;margin:14px;padding:26px 18px;display:flex}.dropzone h3{margin:0;font-size:15px}.dropzone p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.progress{background:#1d2433;border-radius:3px;height:3px;overflow:hidden}.progress b{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .2s;display:block}.viewer{background:#050608;flex-direction:column;min-width:0;min-height:0;display:flex}.viewer-tabs{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:10px;padding:6px 10px;display:flex}.stage{flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.stage-frame{background:#000;position:relative;box-shadow:0 0 0 1px #1a1f2b,0 20px 60px #0009}.stage-frame canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.safe{pointer-events:none;position:absolute;inset:0}.safe .zone{background:#ff3b5c1f;border:1px dashed #ff3b5c80;position:absolute}.transport{border-top:1px solid var(--line);background:var(--panel);align-items:center;gap:12px;padding:8px 12px;display:flex}.timecode{font-family:var(--mono);letter-spacing:.02em;min-width:92px;font-size:15px;font-weight:600}.beatpos{font-family:var(--mono);color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.beatlights{gap:4px;display:flex}.beatlights i{background:#1f2636;border-radius:2px;width:8px;height:8px;display:block}.beatlights i.on{background:var(--accent);box-shadow:0 0 8px var(--accent)}.beatlights i.on.down{background:var(--accent-2);box-shadow:0 0 10px var(--accent-2)}.sec-chip{letter-spacing:.06em;border:1px solid;border-radius:99px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.play-btn{background:var(--text);color:#07090d;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.play-btn:hover{background:#fff}.source{flex-direction:column;height:100%;display:flex}.source video{object-fit:contain;background:#000;width:100%;height:100%}.scrub{border-top:1px solid var(--line);cursor:pointer;background:#0b0e14;height:46px;position:relative}.scrub canvas{width:100%;height:100%;position:absolute;inset:0}.scrub .mk{pointer-events:none;width:2px;position:absolute;top:0;bottom:0}.scrub .mk span{letter-spacing:.05em;white-space:nowrap;font-size:9.5px;font-weight:800;position:absolute;top:2px;left:4px}.tl{background:var(--panel);border-top:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.tl-bar{border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex}.tl-body{flex:1;grid-template-columns:118px minmax(0,1fr);min-height:0;display:grid}.tl-heads{border-right:1px solid var(--line);background:var(--panel);flex-direction:column;display:flex;overflow:hidden}.tl-head{color:var(--muted);border-bottom:1px solid #171c27;align-items:center;gap:7px;padding:0 10px;font-size:11px;font-weight:600;display:flex}.tl-head svg{opacity:.8}.tl-scroll{min-height:0;position:relative;overflow:auto hidden}.tl-inner{height:100%;position:relative}.tl-sticky{z-index:0;width:100%;height:0;position:sticky;top:0;left:0}.tl-sticky canvas{pointer-events:none;position:absolute;top:0;left:0}.tl-lane{border-bottom:1px solid #171c27;position:absolute;left:0;right:0}.tl-ruler{cursor:ew-resize}.tl-item{cursor:grab;z-index:2;white-space:nowrap;border:1px solid #ffffff14;border-radius:5px;align-items:center;gap:5px;padding:0 6px;font-size:11px;font-weight:600;display:flex;position:absolute;top:3px;bottom:3px;overflow:hidden}.tl-item.sel{z-index:3;box-shadow:0 0 0 1.5px #fff,0 0 0 3px #3d7bff99}.tl-item .edge{cursor:ew-resize;z-index:2;width:7px;position:absolute;top:0;bottom:0}.tl-item .edge.l{left:0}.tl-item .edge.r{right:0}.tl-item .edge:hover{background:#ffffff40}.tl-clip{background:#1b2130;align-items:stretch;padding:0}.tl-clip .film{opacity:.85;background-repeat:repeat-x;background-size:auto 100%;position:absolute;inset:0}.tl-clip .shade{background:linear-gradient(#0000008c,#0000 40%,#00000080);position:absolute;inset:0}.tl-clip .bar{height:3px;position:absolute;top:0;left:0;right:0}.tl-clip .lbl{text-shadow:0 1px 2px #000;text-overflow:ellipsis;flex:1;padding:6px 7px 0;font-size:10.5px;position:relative;overflow:hidden}.tl-clip .badges{gap:3px;display:flex;position:absolute;bottom:4px;left:6px}.tl-clip .badges span{color:#dbe5ff;letter-spacing:.03em;background:#000000a6;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:800}.tl-clip .hit{border-left:5px solid #0000;border-right:5px solid #0000;border-bottom:8px solid var(--warn);z-index:1;width:0;height:0;position:absolute;bottom:0;transform:translate(-5px)}.tl-clip .hit.on{border-bottom-color:var(--ok)}.tl-clip .frozen{background:repeating-linear-gradient(135deg,#ff3b5c59 0 4px,#0000 4px 8px);position:absolute;top:0;bottom:0;right:0}.tl-trans{border:2px solid var(--panel);z-index:4;cursor:pointer;background:#e8ebf2;border-radius:2px;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;transform:rotate(45deg)}.tl-slot{white-space:nowrap;z-index:1;cursor:pointer;border:1.5px dashed;border-radius:5px;flex-direction:column;justify-content:center;padding:0 7px;font-size:10.5px;font-weight:700;display:flex;position:absolute;top:4px;bottom:4px;overflow:hidden}.tl-slot small{opacity:.7;text-overflow:ellipsis;font-size:10px;font-weight:500;overflow:hidden}.tl-slot.over{border-style:solid;background:#3d7bff2e!important}.tl-slot.sel{box-shadow:0 0 0 1.5px #fff}.tl-sec{letter-spacing:.08em;white-space:nowrap;cursor:pointer;border-radius:4px;align-items:center;padding:0 7px;font-size:10px;font-weight:800;display:flex;position:absolute;top:2px;bottom:2px;overflow:hidden}.tl-sec.sel{box-shadow:0 0 0 1.5px #fff}.tl-sec .bd{cursor:ew-resize;width:6px;position:absolute;top:0;bottom:0;left:-3px}.tl-mfx{letter-spacing:.04em;white-space:nowrap;cursor:grab;z-index:3;color:#06080c;border-radius:4px;align-items:center;height:16px;padding:0 5px;font-size:9.5px;font-weight:800;display:flex;position:absolute;top:3px;overflow:hidden}.tl-mfx.sel{box-shadow:0 0 0 1.5px #fff}.tl-marker{z-index:2;pointer-events:none;background:#ffc21a;width:1px;position:absolute;top:0;bottom:0}.tl-marker:before{content:"";border:4px solid #0000;border-top:6px solid #ffc21a;position:absolute;top:0;left:-4px}.tl-playhead{z-index:10;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.tl-playhead:before{content:"";background:#fff;width:2px;position:absolute;top:0;bottom:0;left:-1px;box-shadow:0 0 6px #ffffff80}.tl-playhead:after{content:"";border:6px solid #0000;border-top:8px solid #fff;position:absolute;top:0;left:-6px}.tl-snap{background:var(--accent-2);width:1px;box-shadow:0 0 6px var(--accent-2);z-index:9;pointer-events:none;display:none;position:absolute;top:0;bottom:0}.tl-drop-ghost{border:1.5px solid var(--accent);z-index:5;pointer-events:none;background:#3d7bff4d;border-radius:5px;position:absolute;top:4px;bottom:4px}.tl-empty{color:var(--dim);pointer-events:none;white-space:nowrap;font-size:11.5px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.score-head{align-items:center;gap:14px;display:flex}.ring{flex-shrink:0;width:64px;height:64px;position:relative}.ring b{place-items:center;font-size:19px;font-weight:800;display:grid;position:absolute;inset:0}.check-row{border-bottom:1px solid #1a2030;grid-template-columns:16px minmax(0,1fr) auto;align-items:start;gap:9px;padding:9px 0;display:grid}.check-row:last-child{border-bottom:0}.check-row .t{font-size:12.5px;font-weight:650}.check-row .d{color:var(--muted);margin-top:2px;font-size:11.5px;line-height:1.4}.check-row .acts{gap:4px;display:flex}.lvl{border-radius:50%;place-items:center;width:16px;height:16px;margin-top:1px;display:grid}.tpl-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.tpl{text-align:left;border:1px solid var(--line-2);background:var(--panel);border-radius:8px;flex-direction:column;gap:4px;min-height:76px;padding:9px;display:flex}.tpl:hover{border-color:#3a4560}.tpl.on{border-color:var(--accent);background:linear-gradient(#3d7bff1f,#0000)}.tpl b{font-size:12.5px}.tpl span{color:var(--muted);font-size:11px;line-height:1.35}.advice{grid-template-columns:74px minmax(0,1fr);gap:6px 10px;font-size:12px;display:grid}.advice dt{color:var(--muted);padding-top:1px;font-size:11px;font-weight:600}.advice dd{color:var(--text-2);margin:0;line-height:1.45}.insp-head{align-items:center;gap:10px;display:flex}.insp-head .th{aspect-ratio:16/9;border:1px solid var(--line);background:#000 50%/cover;border-radius:5px;flex-shrink:0;width:78px}.insp-head .nm{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.group{border-bottom:1px solid #1a2030;flex-direction:column;gap:8px;padding:12px 0;display:flex}.group:last-child{border-bottom:0}.group>.h{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.tgrid{grid-template-columns:repeat(4,1fr);gap:5px;display:grid}.tgrid button{border:1px solid var(--line-2);background:var(--panel);height:40px;color:var(--text-2);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10.5px;font-weight:600;display:flex}.tgrid button:hover{color:var(--text);border-color:#3a4560}.tgrid button.on{border-color:var(--accent);background:var(--accent-soft);color:#dbe7ff}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatches button{border:2px solid var(--panel);width:22px;height:22px;box-shadow:0 0 0 1px var(--line-2);border-radius:50%}.swatches button.on{box-shadow:0 0 0 2px var(--accent)}.posgrid{grid-template-columns:repeat(3,20px);gap:3px;display:grid}.posgrid button{border:1px solid var(--line-2);background:var(--panel);border-radius:3px;width:20px;height:14px;padding:0}.posgrid button.on{background:var(--accent);border-color:var(--accent)}.suggest{grid-template-columns:1fr 1fr;gap:7px;display:grid}.suggest button{border:1px solid var(--line-2);background:var(--panel);text-align:left;border-radius:6px;padding:0;overflow:hidden}.suggest button:hover{border-color:var(--accent)}.suggest .im{aspect-ratio:16/9;background:#000 50%/cover;position:relative}.suggest .im i{width:3px;position:absolute;top:0;bottom:0;left:0}.suggest .nm{white-space:nowrap;text-overflow:ellipsis;color:var(--text-2);padding:4px 6px;font-size:10.5px;overflow:hidden}.tiles{grid-template-columns:1fr 1fr;gap:7px;display:grid}.tile{border:1px solid var(--line);background:var(--panel-2);cursor:grab;text-align:left;border-radius:7px;align-items:center;gap:9px;min-width:0;padding:8px 9px;display:flex}.tile:hover{border-color:#3a4560}.tile .ic{border-radius:6px;flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.tile b{white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.tile span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;display:block;overflow:hidden}.looks{grid-template-columns:1fr 1fr;gap:8px;display:grid}.look{border:1px solid var(--line);background:var(--panel-2);text-align:left;border-radius:8px;padding:0;overflow:hidden}.look:hover{border-color:#3a4560}.look.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.look .sw{height:44px}.look b{padding:6px 8px 0;font-size:12px;display:block}.look span{color:var(--muted);padding:2px 8px 8px;font-size:10.5px;line-height:1.35;display:block}.textpreset{border:1px solid var(--line);background:var(--panel-2);cursor:grab;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:10px 11px;display:flex}.textpreset:hover{border-color:#3a4560}.textpreset .sample{white-space:nowrap;text-overflow:ellipsis;font-size:20px;line-height:1;overflow:hidden}.guide h2{margin:0 0 6px;font-size:15px}.guide .mission{background:linear-gradient(135deg,#3d7bff24,#00d2ff0a);border:1px solid #3d7bff4d;border-radius:10px;padding:12px}.guide .mission p{color:var(--text-2);margin:0 0 8px;font-size:12.5px;line-height:1.5}.guide ul{color:var(--text-2);margin:0;padding-left:16px;font-size:12px;line-height:1.5}.guide details{border-bottom:1px solid #1a2030;padding:10px 0}.guide summary{cursor:pointer;justify-content:space-between;font-size:13px;font-weight:700;list-style:none;display:flex}.guide summary::-webkit-details-marker{display:none}.guide .intro{color:var(--muted);margin:8px 0;font-size:12px;line-height:1.5}.guide .pr{border-left:2px solid var(--line-2);margin:10px 0 0;padding-left:10px}.guide .pr b{font-size:12.5px;display:block}.guide .pr .th{color:var(--text-2);margin:3px 0 5px;font-size:12px;font-style:italic}.guide .pr .tool{color:var(--accent-2);margin-top:6px;font-size:11px}.toast{left:50%;bottom:calc(var(--tl-h,330px) + 74px);border:1px solid var(--line-2);box-shadow:var(--shadow);z-index:100;background:#1a2030;border-radius:9px;align-items:center;gap:8px;max-width:560px;padding:9px 14px;font-size:12.5px;font-weight:600;animation:.18s ease-out toastIn;display:flex;position:fixed;transform:translate(-50%)}.toast.ok{border-color:#2bd47d80}.toast.warn{border-color:#ffb02099}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}}.banner{background:#ffb0201f;border-bottom:1px solid #ffb02059;align-items:center;gap:10px;padding:8px 14px;font-size:12.5px;display:flex}.drop-overlay{z-index:200;pointer-events:none;background:#05070cd1;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay div{border:2px dashed var(--accent);text-align:center;background:#3d7bff14;border-radius:18px;padding:40px 60px}.drop-overlay h2{margin:0 0 6px}.modal-back{z-index:150;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#030509b3;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line-2);width:min(560px,100vw - 32px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;max-height:calc(100vh - 40px);padding:18px;display:flex;overflow:auto}.modal h2{margin:0;font-size:17px}.welcome{z-index:5;background:radial-gradient(at 50% 30%,#3d7bff1f,#0000 60%),#050608;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.welcome .box{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:560px;display:flex}.welcome h1{letter-spacing:-.01em;margin:0;font-size:26px}.welcome p{color:var(--text-2);margin:0;line-height:1.55}.steps{text-align:left;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.steps div{border:1px solid var(--line);background:#0e1117cc;border-radius:10px;padding:10px}.steps b{margin-bottom:3px;font-size:12px;display:block}.steps span{color:var(--muted);font-size:11.5px;line-height:1.4;display:block}.steps i{color:var(--accent-2);font-style:normal;font-family:var(--mono);font-size:11px}.meter{background:#1a2030;border-radius:3px;height:6px;overflow:hidden}.meter b{background:linear-gradient(90deg, var(--ok) 70%, var(--warn) 85%, var(--hot));height:100%;transition:width 60ms;display:block}.empty-note{color:var(--muted);text-align:center;padding:14px;font-size:12px;line-height:1.5}.lyrics{flex-direction:column;flex:1;min-height:0;display:flex}.lyrics-actions{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--panel-2);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:5px;padding:8px 12px;display:flex}.lyrics-list{flex:1;min-height:0;padding:4px 6px;overflow-y:auto}.lyr{cursor:pointer;border-radius:6px;grid-template-columns:38px 1fr;align-items:baseline;gap:8px;padding:5px 6px;font-size:12.5px;line-height:1.4;display:grid}.lyr:hover{background:var(--raised)}.lyr .mono{font-size:10.5px}.lyr .txt{color:var(--text-2)}.lyr .txt.fixed{color:var(--text);font-style:italic}.lyr.now .txt{color:#fff}.lyr.now{box-shadow:inset 2px 0 0 var(--accent-2)}.lyr.sel{background:var(--accent-soft)}.lyr .input{height:26px;font-size:12.5px}.bar{background:#232b3c;border-radius:4px;height:5px;overflow:hidden}.bar i{background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .2s;display:block}.tl-lyr{cursor:pointer;color:#bfefff;white-space:nowrap;background:#00d2ff17;border-left:2px solid #00d2ff8c;border-radius:4px;font-size:10.5px;position:absolute;top:3px;bottom:3px;overflow:hidden}.tl-lyr:hover{background:#00d2ff2e}.tl-lyr i{text-overflow:ellipsis;font-style:normal;position:absolute;top:50%;left:5px;right:4px;overflow:hidden;transform:translateY(-50%)}.tl-lyr span{border-left:1px solid #00d2ff59;padding-left:2px;position:absolute;top:50%;transform:translateY(-50%)}.tl-seam{z-index:2;pointer-events:auto;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.tl-seam.invisible{background:repeating-linear-gradient(180deg, var(--ok) 0 4px, transparent 4px 7px)}.tl-seam.coupe{background:repeating-linear-gradient(180deg, var(--warn) 0 4px, transparent 4px 7px)}.modal.montage{width:min(1180px,100vw - 32px)}.mt-strip{flex-direction:column;gap:6px;display:flex}.mt-scroll{border:1px solid var(--line);background:#0a0d13;border-radius:8px;overflow:auto hidden}.mt-secs{height:20px;position:relative}.mt-sec{letter-spacing:.08em;white-space:nowrap;cursor:pointer;background:#ffffff08;border-left:2px solid;border-radius:3px;padding:3px 5px;font-size:9.5px;font-weight:800;position:absolute;top:2px;bottom:2px;overflow:hidden}.mt-sec:hover{background:#ffffff17}.mt-wave{cursor:crosshair;height:96px;position:relative}.mt-wave canvas{position:absolute;top:0;left:0}.mt-pass{pointer-events:none;background:#3d7bff38;border:1px solid #5b8fffd9;border-radius:4px;position:absolute;top:0;bottom:0}.mt-pass b{color:#dbe6ff;font-size:11px;font-family:var(--mono);position:absolute;top:3px;left:4px}.mt-pass i{cursor:ew-resize;pointer-events:auto;width:8px;position:absolute;top:0;bottom:0}.mt-pass i.l{left:-4px}.mt-pass i.r{right:-4px}.mt-pass i:hover{background:#ffffff4d}.mt-cut{pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.mt-cut.out{background:var(--hot)}.mt-cut.in{background:var(--ok)}.mt-drag{border:1px dashed var(--accent-2);pointer-events:none;background:#00d2ff2e;position:absolute;top:0;bottom:0}.mt-head{pointer-events:none;background:#fff;width:2px;display:none;position:absolute;top:0;bottom:0;left:0;box-shadow:0 0 6px #ffffffb3}.mt-lyrics{border-top:1px solid var(--line);height:26px;position:relative}.mt-line{color:#a9dceb;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#00d2ff14;border-left:2px solid #00d2ff73;border-radius:3px;padding:3px 4px;font-size:10px;position:absolute;top:3px;bottom:3px;overflow:hidden}.mt-line:hover{color:#fff;background:#00d2ff33}.mt-line.on{color:#fff;background:#3d7bff4d;border-left-color:#8fb3ff}.mt-list{flex-direction:column;gap:4px;max-height:210px;display:flex;overflow-y:auto}.mt-row{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;align-items:center;gap:10px;padding:5px 8px;display:flex}.mt-row .txt{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mt-out{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.mt-outwave{cursor:pointer;height:44px;position:relative}.mt-outwave canvas{width:100%;height:44px;display:block}.mt-seam{pointer-events:none;border-radius:2px;width:3px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.mt-seam.invisible{background:var(--ok)}.mt-seam.coupe{background:var(--warn)}.btn.seam-invisible{color:#9ff0c4;border-color:#2bd47d80}.btn.seam-coupe{color:#ffd58a;border-color:#ffb02080}
