:root{font-family:Microsoft YaHei UI,Segoe UI,sans-serif;color:#e8eaed;background:#101214;font-synthesis:none;text-rendering:optimizeLegibility;--bg: #101214;--sidebar: #0b0d0f;--panel: #171a1e;--panel-raised: #1c2025;--field: #111417;--line: #2a2f35;--line-strong: #3a4149;--text: #e8eaed;--muted: #929aa4;--subtle: #626a73;--blue: #4d8dff;--blue-hover: #68a0ff;--cyan: #31c6c8;--green: #43c97b;--amber: #e4a84a;--red: #e36565;--hook: #f0a94b;--middle: #3fbca7;--cta: #e36777;--shadow: 0 16px 40px rgba(0, 0, 0, .24)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,video:focus-visible{outline:2px solid rgba(77,141,255,.8);outline-offset:1px}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3a4047;border:2px solid transparent;background-clip:padding-box;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#505861;border:2px solid transparent;background-clip:padding-box}.app-loading,.login-page{height:100%;display:grid;place-items:center;background:#101214;color:var(--muted)}.app-loading{display:flex;gap:12px}.startup-error{min-height:100%;display:grid;place-items:center;padding:20px;background:#101214;color:var(--muted)}.startup-error-panel{width:min(460px,calc(100vw - 40px));padding:32px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px}.startup-error-panel h1{margin:20px 0 8px;color:var(--text);font-size:20px}.startup-error-panel p{margin:0 0 10px;line-height:1.6;font-size:12px}.startup-error-panel .button{margin-top:12px}.startup-error-hint{color:var(--subtle)}.login-panel{width:min(390px,calc(100vw - 40px));padding:34px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;display:flex;flex-direction:column}.login-panel h1{margin:20px 0 4px;font-size:21px;letter-spacing:0}.login-panel p{margin:0 0 26px;color:var(--muted);font-size:13px}.login-panel input{margin-bottom:14px}.login-button{margin-top:8px;width:100%;justify-content:center}.brand-mark{width:44px;height:44px;background:var(--blue);color:#fff;display:grid;place-items:center;border-radius:7px}.brand-mark.small{width:34px;height:34px;flex:0 0 34px}.form-error{color:#ff9191;font-size:12px;margin:0 0 4px}.field-label{color:var(--muted);font-size:12px;margin-bottom:7px}.app-shell{width:100%;height:100%;display:grid;grid-template-columns:224px minmax(0,1fr);background:var(--bg)}.sidebar{min-width:0;background:var(--sidebar);border-right:1px solid #22262a;display:flex;flex-direction:column;padding:18px 12px 12px}.sidebar-brand{height:54px;display:flex;align-items:center;gap:11px;padding:0 7px 14px;border-bottom:1px solid #202429}.sidebar-brand strong,.sidebar-brand small{display:block}.sidebar-brand strong{font-size:14px}.sidebar-brand small{margin-top:3px;font-size:8px;color:var(--subtle);font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:4px;padding-top:16px}.nav-item{width:100%;height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;border:1px solid transparent;border-radius:6px;background:transparent;color:#9ca4ae;cursor:pointer;text-align:left}.nav-item:hover{background:#171a1e;color:var(--text)}.nav-item.active{background:#1b2637;border-color:#2a4165;color:#f4f7fb;box-shadow:inset 3px 0 var(--blue)}.nav-item b{margin-left:auto;min-width:20px;height:20px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:10px;font-size:10px}.sidebar-footer{margin-top:auto;display:grid;grid-template-columns:8px minmax(0,1fr) 32px;align-items:center;gap:9px;padding:12px 6px 2px;border-top:1px solid #202429}.sidebar-footer strong,.sidebar-footer small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer strong{font-size:12px}.sidebar-footer small{color:var(--muted);font-size:10px;margin-top:3px}.status-dot{width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 8px #43c97b80}.workspace-shell{min-width:0;height:100%;overflow:hidden}.page-slot{display:none;width:100%;height:100%}.page-slot.active{display:block}.page{height:100%;display:flex;flex-direction:column;padding:0 20px 16px;overflow:hidden}.page-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex:0 0 auto;border-bottom:1px solid #24292e}.page-header>div:first-child span{display:block;color:var(--blue);font-size:9px;font-weight:800;margin-bottom:5px}.page-header h1{margin:0;font-size:21px;font-weight:650}.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.header-status{max-width:340px;color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:7px}.preset-toolbar{display:inline-flex;align-items:center;gap:6px;min-width:0}.preset-toolbar .select-wrap{width:118px}.preset-toolbar select{height:29px;padding-left:7px;font-size:9px}.preset-toolbar .select-wrap>svg{top:7px}.panel{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:6px;overflow:hidden}.panel-header{min-height:48px;flex:0 0 auto;padding:0 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#191d21;border-bottom:1px solid var(--line)}.panel-header>div:first-child{min-width:0;display:flex;align-items:baseline;gap:8px}.panel-header h2{margin:0;font-size:13px;font-weight:650;white-space:nowrap}.panel-header span{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-actions{display:flex;align-items:center;gap:6px;min-width:0}.button,.icon-button,.text-button{border:0;cursor:pointer;transition:background-color .14s,border-color .14s,color .14s,opacity .14s}.button{height:36px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border-radius:5px;border:1px solid var(--line-strong);white-space:nowrap;font-size:12px;font-weight:600}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:var(--blue-hover);border-color:var(--blue-hover)}.button.secondary{background:#22272d}.button.secondary:hover{background:#2a3037;border-color:#505861}.button.ghost{background:transparent;border-color:transparent;color:var(--muted)}.button.ghost:hover{color:var(--text);background:#252a30}.button.compact,.upload-actions.compact .button{height:30px;padding:0 9px;font-size:11px}.button:disabled{opacity:.38;cursor:not-allowed}.icon-button{width:32px;height:32px;flex:0 0 32px;display:inline-grid;place-items:center;border-radius:5px;background:transparent;color:var(--muted)}.icon-button:hover{color:var(--text);background:#2a3037}.icon-button.danger:hover{color:#ff8585;background:#e365651f}.text-button{padding:0;background:transparent;color:var(--muted);font-size:10px}.text-button:hover{color:var(--blue-hover)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}input:not([type=range]),select{width:100%;height:36px;border:1px solid var(--line-strong);border-radius:5px;background:var(--field);color:var(--text);padding:0 10px}input:not([type=range]):hover,select:hover{border-color:#59626c}input:not([type=range]):focus,select:focus{border-color:var(--blue)}select:disabled{opacity:.62;cursor:not-allowed}input[type=number]{font-variant-numeric:tabular-nums}input[type=range]{accent-color:var(--blue)}.select-wrap{width:100%;position:relative;display:block}.select-wrap select{appearance:none;padding-right:30px}.select-wrap>svg{position:absolute;right:9px;top:10px;color:var(--muted);pointer-events:none}.form-field{min-width:0;display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px}.form-field>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.padded{padding:14px}.check-control{display:inline-flex;align-items:center;gap:8px;color:#c8cdd3;font-size:11px;cursor:pointer}.check-control input{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}.check-box{width:17px;height:17px;flex:0 0 17px;display:grid;place-items:center;border:1px solid #4b535d;border-radius:4px;background:var(--field);color:transparent}.check-control input:checked+.check-box{background:var(--blue);border-color:var(--blue);color:#fff}.rule-checks{display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;padding-top:2px}.upload-actions{display:flex;align-items:center;gap:6px;min-width:0}.upload-status{max-width:140px;color:var(--muted);font-size:10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.empty-state{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--subtle);font-size:11px}.empty-state.tall{min-height:260px}.asset-list-wrap{min-height:0;flex:1;display:flex;flex-direction:column}.asset-bulk-toolbar{min-height:38px;flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:4px 10px;border-bottom:1px solid var(--line);background:#15191d}.asset-select-all,.asset-select{display:inline-flex;align-items:center;cursor:pointer}.asset-select-all{gap:6px;color:var(--muted);font-size:10px}.asset-select-all input,.asset-select input{width:15px;height:15px;margin:0;accent-color:var(--blue);cursor:pointer}.asset-selection-count{color:var(--subtle);font-size:9px;white-space:nowrap}.asset-bulk-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.asset-list{min-height:0;flex:1;overflow:auto;padding:7px;display:flex;flex-direction:column;gap:5px}.asset-row{min-height:76px;display:grid;grid-template-columns:96px minmax(0,1fr) 30px;gap:9px;align-items:center;padding:6px;border:1px solid transparent;background:#14171a;border-radius:5px;cursor:pointer}.asset-row.selectable{grid-template-columns:22px 96px minmax(0,1fr) 30px}.asset-select{justify-content:center}.asset-row:hover{background:#1d2126;border-color:#313840}.asset-row.selected{background:#1a2638;border-color:#315990}.asset-thumb{width:96px;aspect-ratio:16 / 9;position:relative;background:#090a0c;overflow:hidden;border-radius:4px}.asset-thumb img{width:100%;height:100%;display:block;object-fit:contain}.asset-thumb>span{position:absolute;inset:auto 5px 5px auto;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#050709bf;color:#fff}.asset-info{min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:4px}.asset-info strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600}.asset-info small{color:var(--muted);font-size:9px}.asset-list.dense .asset-row{min-height:57px;grid-template-columns:72px minmax(0,1fr) 28px;padding:4px}.asset-list.dense .asset-row.selectable{grid-template-columns:22px 72px minmax(0,1fr) 28px}.asset-list.dense .asset-thumb{width:72px}.asset-list.dense .asset-info small:last-child{display:none}.cut-workspace{flex:1;min-height:0;display:grid;grid-template-columns:minmax(230px,280px) minmax(480px,1fr) minmax(350px,430px);gap:12px;padding-top:12px}.source-panel .asset-list,.segments-panel .segment-list{flex:1}.segment-add-bar{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:9px 10px;border-bottom:1px solid var(--line)}.button.segment-add{height:31px;padding:0 7px;background:transparent}.button.segment-add.hook{border-color:#f0a94b73;color:#f3bc73}.button.segment-add.middle{border-color:#3fbca773;color:#6bd3c1}.button.segment-add.cta{border-color:#e3677773;color:#ee8f9c}.segment-list{min-height:0;overflow:auto;padding:9px}.segment-group{margin-bottom:10px;border-top:2px solid var(--segment-color)}.segment-group.hook{--segment-color: var(--hook)}.segment-group.middle{--segment-color: var(--middle)}.segment-group.cta{--segment-color: var(--cta)}.segment-group-head{min-height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 2px;border-bottom:1px solid #2b3036}.segment-group-head strong{color:var(--segment-color);font-size:11px}.segment-group-head span,.segment-group-empty{color:var(--subtle);font-size:9px}.segment-group-rows{padding-top:8px}.segment-group-rows .segment-row:last-child{margin-bottom:0}.segment-group-empty{min-height:34px;display:flex;align-items:center;padding:0 11px;background:#121518}.segment-row{--segment-color: var(--blue);padding:11px;margin-bottom:8px;background:#14171a;border:1px solid #2b3036;border-left:3px solid var(--segment-color);border-radius:5px}.segment-row.hook{--segment-color: var(--hook)}.segment-row.middle{--segment-color: var(--middle)}.segment-row.cta{--segment-color: var(--cta)}.segment-row-head{display:flex;align-items:center;justify-content:space-between}.segment-row-head>div{display:flex;align-items:center;gap:8px}.segment-row-head strong{font-size:11px}.segment-kind{padding:3px 6px;color:var(--segment-color);background:color-mix(in srgb,var(--segment-color) 12%,transparent);border-radius:3px;font-size:9px;font-weight:700}.dual-range{position:relative;height:34px;margin:7px 0 2px}.range-rail{position:absolute;left:2px;right:2px;top:15px;height:5px;border-radius:3px;background:linear-gradient(to right,#30363c 0 var(--range-start),var(--segment-color) var(--range-start) var(--range-end),#30363c var(--range-end) 100%)}.dual-range input[type=range]{position:absolute;inset:0;width:100%;height:34px;margin:0;appearance:none;background:transparent;pointer-events:none}.dual-range input[type=range]::-webkit-slider-runnable-track{height:5px;background:transparent}.dual-range input[type=range]::-webkit-slider-thumb{appearance:none;pointer-events:auto;width:17px;height:24px;margin-top:-10px;border:2px solid var(--segment-color);border-radius:4px;background:#f2f4f6;box-shadow:0 2px 6px #00000059;cursor:ew-resize}.segment-times{display:grid;grid-template-columns:126px 1fr 126px;align-items:end;gap:9px}.segment-times label{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:5px;color:var(--muted);font-size:9px}.segment-times input{height:30px;padding:0 7px;font-size:11px}.segment-duration{justify-self:center;align-self:center;color:var(--segment-color);font-size:9px}.segment-actions{display:flex;justify-content:space-between;margin-top:8px}.preview-panel .video-stage{flex:1}.video-stage{min-height:240px;position:relative;display:flex;flex-direction:column;align-items:stretch;background:#080a0c;overflow:hidden}.video-stage-media{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#070809}.video-stage-media video{width:100%;height:100%;display:block;object-fit:contain;background:#070809}.source-processing-video,.overlay-preview-video,.overlay-preview-background{object-view-box:var(--source-view-box, inset(0))}.source-processing-preview{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}.video-stage-media .source-processing-preview{bottom:38px}.source-mask-preview{position:absolute;display:block;border:1px dashed rgba(255,255,255,.62);box-shadow:inset 0 0 0 1px #00000052}.source-mask-preview.blur{background:#1114172e;-webkit-backdrop-filter:blur(var(--mask-blur, 5px));backdrop-filter:blur(var(--mask-blur, 5px))}.source-crop-preview-badge{position:absolute;top:7px;left:7px;padding:3px 6px;border:1px solid rgba(77,141,255,.7);border-radius:4px;color:#eaf1ff;background:#0d1624d1;font-size:9px;line-height:1.2}.storyboard-strip{flex:0 0 auto;display:flex;align-items:center;gap:6px;padding:7px 9px;border-top:1px solid var(--line);background:#0f1215;overflow:hidden}.storyboard-frame{flex:0 0 58px;height:34px;padding:0;border:1px solid #2b3137;border-radius:4px;background:#090b0d;overflow:hidden;cursor:pointer}.storyboard-frame:hover{border-color:var(--blue)}.storyboard-frame img{width:100%;height:100%;display:block;object-fit:cover}.storyboard-hint{margin-left:auto;color:var(--muted);font-size:9px;white-space:nowrap}.video-empty{display:flex;flex-direction:column;align-items:center;gap:9px;color:var(--subtle);font-size:11px}.playhead-bar,.output-meta{min-height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.playhead-bar strong{color:var(--text);font-variant-numeric:tabular-nums;font-size:12px}.schedule-strip{margin-top:10px;padding:10px 12px;display:grid;grid-template-columns:minmax(190px,1fr) minmax(170px,1fr) minmax(220px,1fr) auto;align-items:end;gap:10px;border:1px solid #315990;background:#172235;border-radius:6px}.quick-schedule-assets{grid-column:1 / -1;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-schedule-assets .schedule-materials-section{display:contents}.quick-schedule-assets .schedule-section-title{display:none}.quick-schedule-assets .schedule-materials-grid{display:contents;padding:0}.quick-schedule-assets .schedule-asset-picker{background:#121c2b;border-color:#31506d}.assembly-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(300px,360px) minmax(620px,1fr);gap:12px;padding-top:12px}.pool-stack{min-height:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:9px}.pool-panel .asset-list{flex:1}.pool-hook{border-top-color:#f0a94bb3}.pool-middle{border-top-color:#3fbca7b3}.pool-cta{border-top-color:#e36777b3}.assembly-settings,.mix-settings{min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:2px}.capacity-box{margin:1px 14px 14px;min-height:65px;display:grid;grid-template-columns:32px repeat(3,1fr);align-items:center;gap:12px;padding:10px 13px;background:#121518;border:1px solid #30363d;border-radius:5px}.capacity-box.valid{border-color:#43c97b61}.capacity-box>svg{color:var(--cyan)}.capacity-box div{padding-left:12px;border-left:1px solid #2d3339}.capacity-box span,.capacity-box strong{display:block}.capacity-box span{color:var(--muted);font-size:9px}.capacity-box strong{margin-top:4px;font-size:17px;font-variant-numeric:tabular-nums}.capacity-feedback{margin:-5px 14px 14px;display:grid;gap:5px;padding:10px 12px;border:1px solid rgba(231,171,74,.35);background:#e7ab4a14;color:#d7b77f;font-size:10px}.capacity-feedback strong{color:#f0c97e;font-size:11px}.task-footnote{flex:0 0 auto;min-height:30px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px}.assembly-settings>.panel:last-child,.mix-settings>.panel:last-child{min-height:0;flex:1 1 0}.overlay-editor{min-height:0;flex:1 1 auto;display:grid;grid-template-columns:minmax(260px,42%) minmax(330px,1fr)}.overlay-stage-wrap{min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;padding:12px;border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.overlay-stage{position:relative;width:min(100%,var(--overlay-stage-max-width, 520px));max-width:100%;max-height:var(--overlay-stage-max-height, 520px);flex:0 0 auto;margin:0 auto;overflow:hidden;isolation:isolate;background:#080a0c;border:1px solid #32383f}.overlay-preview-video,.overlay-preview-background{position:absolute;inset:0;width:100%;height:100%;display:block}.overlay-preview-video{z-index:1;object-fit:contain;background:#080a0c}.overlay-stage.fit-cover .overlay-preview-video{object-fit:cover}.overlay-stage.fit-contain .overlay-preview-video,.overlay-stage.fit-blur_fill .overlay-preview-video{object-fit:contain}.overlay-preview-background{z-index:0;object-fit:cover;filter:blur(18px);transform:scale(1.08);opacity:.78}.overlay-stage-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--subtle);font-size:11px}.overlay-draggable{position:absolute;z-index:3;left:calc(100% * var(--overlay-x));top:calc(100% * var(--overlay-y));transform:translate(calc(-100% * var(--overlay-x)),calc(-100% * var(--overlay-y)));cursor:move;touch-action:none;border:1px dashed rgba(255,255,255,.7);-webkit-user-select:none;user-select:none}.overlay-draggable:focus-visible{outline:2px solid var(--blue-hover);outline-offset:2px}.overlay-animation-surface{position:relative;width:100%;transform-origin:center;will-change:transform,opacity}.overlay-animation-surface>img,.overlay-animation-surface>video{width:100%;height:auto;max-height:100%;display:block;object-fit:contain;pointer-events:none;transform-origin:center}.overlay-draggable>span{position:absolute;right:-1px;bottom:-1px;width:22px;height:22px;display:grid;place-items:center;background:var(--blue);color:#fff}.overlay-animation-surface.animation-pulse,.overlay-animation-surface.animation-pulse_float{animation:pulse 1.6s ease-in-out infinite}.overlay-animation-surface.animation-float,.overlay-animation-surface.animation-pulse_float{animation:float 2.4s ease-in-out infinite}.overlay-animation-surface.animation-fade{animation:fade 2.2s ease-in-out infinite}.overlay-animation-surface.animation-slide{animation:overlay-slide-in .48s cubic-bezier(.22,.78,.28,1) both}.overlay-animation-surface.animation-pop{animation:overlay-pop-in .46s cubic-bezier(.22,.78,.28,1) both}.overlay-animation-surface.animation-bounce{animation:overlay-drop-bounce .62s cubic-bezier(.22,.78,.28,1) both}.overlay-animation-surface.animation-swing{transform-origin:50% 0;animation:overlay-swing 3.6s ease-in-out infinite}.overlay-animation-surface.animation-slide,.overlay-animation-surface.animation-pop,.overlay-animation-surface.animation-bounce,.overlay-animation-surface.animation-swing,.overlay-animation-surface.animation-pulse,.overlay-animation-surface.animation-pulse_float,.overlay-animation-surface.animation-float,.overlay-animation-surface.animation-fade{animation-play-state:var(--overlay-animation-play-state, running)}.overlay-animation-surface.preview-idle,.overlay-animation-surface.preview-idle>img,.overlay-animation-surface.preview-idle>video{animation:none!important;transform:none!important;opacity:1!important;margin-top:0!important}@keyframes pulse{50%{transform:scale(1.04)}}@keyframes float{50%{margin-top:4px}}@keyframes fade{0%,to{opacity:.45}20%,80%{opacity:1}}@keyframes overlay-slide-in{0%{transform:translate3d(var(--overlay-slide-x),var(--overlay-slide-y),0);opacity:0}88%{transform:translateZ(0);opacity:1}to{transform:translateZ(0);opacity:1}}@keyframes overlay-pop-in{0%{transform:scale(var(--overlay-pop-start));opacity:0}70%{transform:scale(var(--overlay-pop-overshoot));opacity:1}to{transform:scale(1);opacity:1}}@keyframes overlay-drop-bounce{0%{transform:translate3d(0,var(--overlay-bounce-start),0);opacity:0}64%{transform:translateZ(0);opacity:1}77%{transform:translate3d(0,var(--overlay-bounce-overshoot),0);opacity:1}90%{transform:translate3d(0,-1%,0);opacity:1}to{transform:translateZ(0);opacity:1}}@keyframes overlay-swing{0%,to{transform:rotate(calc(var(--overlay-swing-angle) * -1))}50%{transform:rotate(var(--overlay-swing-angle))}}.position-presets{width:min(100%,var(--overlay-stage-max-width, 430px));display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:7px}.position-presets button{height:25px;border:1px solid #333940;border-radius:4px;background:#15191d;color:var(--muted);font-size:9px;cursor:pointer}.position-presets button:hover,.position-presets button.active{color:#fff;border-color:var(--blue);background:#1b2a42}.overlay-preview-controls{width:min(100%,var(--overlay-stage-max-width, 430px));min-height:38px;display:flex;align-items:center;gap:7px;padding:6px 0 0}.overlay-preview-controls>span{min-width:70px;color:var(--muted);font-size:9px;text-align:right;font-variant-numeric:tabular-nums}.overlay-preview-scrubber{min-width:60px;flex:1}.overlay-preview-hint{width:min(100%,var(--overlay-stage-max-width, 430px));min-height:24px;padding-top:6px;color:var(--subtle);font-size:9px}.overlay-controls{min-width:0;min-height:0;padding:12px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.overlay-enable-row{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.overlay-selection-label{min-width:0;flex:1;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-controls input[type=range]{width:100%;height:28px;margin:0}.overlay-size-control{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:4px}.overlay-size-control .icon-button{width:32px;height:30px;border:1px solid var(--line-strong);background:#22272d}.overlay-size-control .icon-button:hover{border-color:#59626c}.overlay-library{margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}.overlay-library-actions{min-height:32px;display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.overlay-grid{max-height:160px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:6px;margin-top:9px}.overlay-card{min-width:0;height:80px;position:relative;border:1px solid var(--line);background:#111417;border-radius:4px;color:var(--muted);overflow:hidden}.overlay-card.selected{border-color:var(--blue);background:#1a2638}.overlay-card.previewed{border-color:var(--cyan);box-shadow:inset 0 0 0 1px #31c6c873}.overlay-card-preview{width:100%;height:100%;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:5px;border:0;background:transparent;color:inherit;cursor:pointer}.overlay-card-preview:hover{background:#4d8dff1a;color:var(--text)}.overlay-card-preview img{width:100%;height:48px;object-fit:contain}.overlay-card-preview span{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:8px}.overlay-card-preview>svg{position:absolute;left:4px;top:4px;color:var(--cyan)}.overlay-card .icon-button{position:absolute;top:2px;width:18px;height:18px;min-width:18px;border-radius:3px;background:#2d3339}.overlay-card .overlay-candidate-toggle{right:23px;color:var(--blue-hover)}.overlay-card .overlay-card-delete{right:2px;color:var(--muted)}.overlay-card .icon-button:hover{background:#3a424b;color:var(--text)}.overlay-card .overlay-card-delete:hover{color:#ff8585}.cleanup-editor{flex:0 0 auto;border-top:1px solid var(--line);background:#15181c}.overlay-controls .cleanup-editor{margin:12px -12px -12px}.cleanup-editor summary{min-height:37px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;color:#cdd2d8;cursor:pointer;list-style:none}.cleanup-editor summary::-webkit-details-marker{display:none}.cleanup-editor summary span{display:inline-flex;align-items:center;gap:7px;font-size:11px}.cleanup-editor summary small{color:var(--muted);font-size:9px}.cleanup-body{max-height:310px;overflow:auto;padding:0 12px 12px;border-top:1px solid var(--line)}.cleanup-section-head,.mask-region-head{min-height:38px;display:flex;align-items:center;justify-content:space-between}.cleanup-section-head strong,.mask-region-head span{font-size:10px}.mask-region{margin-top:7px;padding:0 9px 9px;background:#111417;border:1px solid var(--line);border-radius:5px}.cleanup-editor input,.cleanup-editor select{height:30px;padding-inline:7px;font-size:10px}.cleanup-editor .select-wrap>svg{top:7px}.mix-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(250px,320px) minmax(660px,1fr);gap:12px;padding-top:12px}.mix-source-panel .asset-list{flex:1}.segmented-control{display:grid;grid-template-columns:repeat(2,1fr);padding:12px 14px 2px}.segmented-control button{height:35px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line-strong);background:#121518;color:var(--muted);cursor:pointer}.segmented-control button:first-child{border-radius:5px 0 0 5px}.segmented-control button:last-child{border-radius:0 5px 5px 0;border-left:0}.segmented-control button.active{color:#fff;background:#203252;border-color:#376ab0}.jobs-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(310px,380px) minmax(280px,340px) minmax(380px,1fr);gap:12px;padding-top:12px}.job-list-panel .job-list,.output-list-panel .asset-list{flex:1}.job-list{min-height:0;overflow:auto;padding:7px}.job-row{width:100%;min-height:64px;display:grid;grid-template-columns:30px minmax(0,1fr) 42px;align-items:center;gap:8px;margin-bottom:5px;padding:7px;border:1px solid transparent;background:#14171a;border-radius:5px;text-align:left;cursor:pointer}.job-row:hover{background:#1d2126;border-color:#313840}.job-row.selected{background:#1a2638;border-color:#315990}.job-status-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:5px;background:#262c32;color:var(--muted)}.job-status-icon.running{color:var(--blue);background:#4d8dff1f}.job-status-icon.completed{color:var(--green);background:#43c97b1f}.job-status-icon.failed{color:var(--red);background:#e365651f}.job-main{min-width:0}.job-main strong,.job-main small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.job-main strong{font-size:11px}.job-main small{color:var(--muted);font-size:9px;margin:4px 0 6px}.job-main i{display:block;height:3px;background:#2d3339;overflow:hidden}.job-main i b{display:block;height:100%;background:var(--blue)}.job-count{color:var(--muted);font-size:9px;text-align:right;font-variant-numeric:tabular-nums}.output-preview-panel .video-stage{flex:1}.output-list-panel .panel-actions .select-wrap{width:96px}.output-list-panel .panel-actions select{height:29px;padding-left:7px;font-size:9px}.output-list-panel .panel-actions .select-wrap>svg{top:7px}.cut-download-actions{display:inline-flex;align-items:center;gap:4px}.cut-download-actions .button{height:29px;padding-inline:7px;font-size:9px}.output-meta{justify-content:flex-start;gap:18px}.output-meta span{display:flex;align-items:center;gap:5px}.output-quality{display:flex;flex-wrap:wrap;gap:7px 13px;margin:10px;padding:10px 12px;border:1px solid var(--line);background:#15191d;color:var(--muted);font-size:10px}.output-quality strong{color:var(--text)}.output-quality.pass{border-color:#43c97b52}.output-quality.review{border-color:#e7ab4a61}.output-quality.fail{border-color:#e365656b}.output-quality em{color:#f0b1a9;font-style:normal}.job-error{margin:10px;padding:9px;color:#ff9a9a;background:#e365651a;border:1px solid rgba(227,101,101,.25);border-radius:5px;font-size:10px;white-space:pre-wrap}.schedules-page>.panel{flex:1;margin-top:12px}.schedules-page>.schedule-editor-panel{flex:0 0 auto;max-height:min(620px,calc(100vh - 210px));overflow:auto}.schedule-form{min-width:0}.schedule-form-head{min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--line);background:#15191d}.schedule-form-intro{display:flex;align-items:center;gap:9px;min-width:0;color:var(--cyan)}.schedule-form-intro>div{min-width:0}.schedule-form-intro strong,.schedule-form-intro span{display:block}.schedule-form-intro strong{color:var(--text);font-size:11px}.schedule-form-intro span{margin-top:3px;color:var(--muted);font-size:9px}.schedule-form-status{max-width:240px;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-form-main{align-items:end}.schedule-mode-explain{grid-column:span 2;align-self:center;color:var(--muted);font-size:10px;line-height:1.5}.schedule-enabled{align-self:end;min-height:36px;display:flex;align-items:center}.schedule-materials-section{border-top:1px solid var(--line)}.schedule-materials-grid{display:grid;gap:10px;padding:12px 14px 14px}.schedule-materials-grid.assembly{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-asset-picker{min-width:0;padding:8px;background:#111417;border:1px solid var(--line);border-radius:5px}.schedule-asset-picker.readonly{border-color:#31506d}.schedule-asset-picker-head,.schedule-asset-picker-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.schedule-asset-picker-head strong{font-size:10px}.schedule-asset-picker-head span,.schedule-asset-picker-actions span{color:var(--muted);font-size:9px}.schedule-asset-picker-actions{min-height:24px;justify-content:flex-end}.schedule-asset-picker-actions .text-button{font-size:9px}.schedule-asset-picker-actions .text-button:disabled{opacity:.36;cursor:not-allowed}.schedule-asset-grid{max-height:146px;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:5px;overflow:auto}.schedule-asset-option{min-width:0;height:57px;display:grid;grid-template-columns:16px 58px minmax(0,1fr);align-items:center;gap:6px;padding:4px;border:1px solid #292f35;border-radius:4px;background:#15191d;cursor:pointer}.schedule-asset-option:hover,.schedule-asset-option.selected{border-color:#315990;background:#1a2638}.schedule-asset-option input{width:14px;height:14px;margin:0;accent-color:var(--blue)}.schedule-asset-option img{width:58px;height:43px;display:block;object-fit:contain;background:#090b0d;border-radius:3px}.schedule-asset-option span{min-width:0;color:#c8cdd3;font-size:8px;line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.schedule-asset-option input:disabled{opacity:.75}.schedule-asset-empty{min-height:67px;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--subtle);font-size:9px}.schedule-config-section{border-top:1px solid var(--line)}.schedule-section-title{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;background:#191d21}.schedule-section-title strong{font-size:11px}.schedule-section-title span{color:var(--muted);font-size:9px}.schedule-rule-grid{padding-bottom:8px}.schedule-mode-control{max-width:340px;padding-top:10px}.schedule-audio-check{min-height:36px;display:flex;align-items:center}.schedule-form-note{padding:0 14px 12px;color:var(--subtle);font-size:9px}.schedule-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--line)}.mix-schedule-editor{margin-top:12px;flex:0 0 auto;max-height:min(620px,calc(100vh - 210px));overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:6px}.schedule-list{padding:8px;overflow:auto}.schedule-row{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) 220px 34px 34px 34px;align-items:center;gap:10px;padding:8px 10px;margin-bottom:6px;background:#14171a;border:1px solid #292f35;border-radius:5px}.schedule-state{width:34px;height:34px;display:grid;place-items:center;color:var(--muted);background:#252a30;border-radius:5px}.schedule-state.active{color:var(--green);background:#43c97b1f}.schedule-main{min-width:0}.schedule-row-title{display:flex;align-items:center;gap:7px;min-width:0}.schedule-row strong,.schedule-row small{display:block}.schedule-row strong{font-size:12px}.schedule-row small,.schedule-row time{color:var(--muted);font-size:10px;margin-top:4px}.schedule-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-row .schedule-assets{color:var(--subtle);font-size:9px}.schedule-badge{flex:0 0 auto;padding:3px 5px;color:var(--muted);background:#252a30;border-radius:3px;font-size:8px}.schedule-badge.active{color:var(--green);background:#43c97b1f}.schedule-row time{text-align:right;font-variant-numeric:tabular-nums}@media(max-width:1450px){.app-shell{grid-template-columns:196px minmax(0,1fr)}.cut-workspace{grid-template-columns:225px minmax(440px,1fr) 340px}.asset-row{grid-template-columns:80px minmax(0,1fr) 28px}.asset-thumb{width:80px}.segment-times{grid-template-columns:116px 1fr 116px}.jobs-layout{grid-template-columns:320px 280px minmax(340px,1fr)}}@media(max-width:1180px){.app-shell{grid-template-columns:62px minmax(0,1fr)}.sidebar{padding:14px 8px 10px}.sidebar-brand{justify-content:center;padding-inline:0}.sidebar-brand>span:last-child,.nav-item span,.sidebar-footer>div{display:none}.nav-item{justify-content:center;padding:0}.nav-item b{position:absolute;margin:-27px 0 0 27px}.sidebar-footer{grid-template-columns:1fr;justify-items:center}.sidebar-footer .icon-button{display:none}.cut-workspace{grid-template-columns:220px minmax(450px,1fr)}.preview-panel{grid-column:2;min-height:390px}.segments-panel{grid-row:span 2}.assembly-grid{grid-template-columns:285px minmax(560px,1fr)}.schedule-strip{grid-template-columns:1fr 1fr}.schedule-strip .button{grid-column:1 / -1}.overlay-editor{grid-template-columns:minmax(230px,38%) minmax(310px,1fr)}.jobs-layout{grid-template-columns:300px minmax(300px,1fr)}.output-preview-panel{grid-column:2;min-height:430px}.output-list-panel{grid-row:span 2}}@media(max-width:920px){.app-shell{grid-template-columns:58px minmax(0,1fr)}.page{padding-inline:12px}.page{overflow:auto}.page-header{position:sticky;top:0;z-index:8;background:var(--bg)}.header-status{display:none}.cut-workspace,.assembly-grid,.mix-grid,.jobs-layout{flex:none;height:auto;min-height:calc(100vh - 100px);grid-template-columns:1fr;overflow:visible}.source-panel,.mix-source-panel{min-height:390px}.segments-panel,.preview-panel,.output-list-panel,.output-preview-panel{grid-column:1;grid-row:auto;min-height:460px}.pool-stack{height:720px}.assembly-settings,.mix-settings{overflow:visible}.panel-header{align-items:flex-start;padding-block:9px}.panel-header>div:first-child{align-self:center}.panel-actions{flex-wrap:wrap;justify-content:flex-end}.page-header{min-height:auto;padding-block:12px;flex-wrap:wrap}.page-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.form-grid.two,.form-grid.three,.form-grid.four,.schedule-strip{grid-template-columns:1fr}.schedule-strip .button{grid-column:auto;width:100%}.overlay-editor{grid-template-columns:1fr}.overlay-stage-wrap{border-right:0;border-bottom:1px solid var(--line)}.segment-times{grid-template-columns:minmax(0,1fr) minmax(72px,.8fr) minmax(0,1fr)}.segment-actions{flex-wrap:wrap;gap:8px 14px}.schedule-form-main,.schedule-rule-grid{grid-template-columns:1fr 1fr}.schedule-mode-explain{grid-column:1 / -1}.schedule-materials-grid.assembly{grid-template-columns:1fr}.schedule-row{grid-template-columns:34px minmax(0,1fr) 34px 34px 34px}.schedule-row time{grid-column:2;grid-row:2;text-align:left}}@media(max-width:600px){.sidebar{padding-inline:6px}.page{padding-inline:8px}.page-header h1{font-size:19px}.button{max-width:100%}.page-actions .button{flex:1 1 auto}.panel-header{gap:6px}.panel-header>div:first-child{max-width:46%}.panel-actions{max-width:54%}.panel-actions .upload-actions,.cut-download-actions{flex-wrap:wrap;justify-content:flex-end}.segment-add-bar{grid-template-columns:1fr}.segment-times{grid-template-columns:1fr 1fr}.segment-duration{grid-column:1 / -1;grid-row:1;justify-self:start}.schedule-row{grid-template-columns:34px minmax(0,1fr) 32px 32px 32px}.schedule-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
