.trim{max-width:1248px;margin:0 auto;padding:40px 24px 0}.intro{max-width:640px;margin-bottom:32px}.intro h1{color:var(--text);letter-spacing:-.01em;margin:0 0 8px;font-size:32px;font-weight:500;line-height:1.15}.intro p{color:var(--text-2);margin:0;font-size:16px;line-height:24px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.upload-zone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-panel);background:var(--surface);text-align:center;cursor:pointer;min-height:360px;transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);place-items:center;padding:48px 24px;display:grid}.upload-zone:hover{border-color:var(--accent)}.upload-zone.dragover{border-color:var(--accent);background:var(--accent-soft)}.upload-zone.loading{cursor:progress}#uploadContent,#engineLoading{width:100%}.upload-body{flex-direction:column;align-items:center;display:flex}.upload-title{color:var(--text);margin:24px 0 4px;font-size:18px;font-weight:500;line-height:24px}.upload-hint{color:var(--text-2);margin:0 0 20px;font-size:14px;line-height:20px}.upload-body>:last-child{margin-bottom:0}.strip{background:var(--raised);width:288px;height:56px;box-shadow:inset 0 0 0 1px var(--line);border-radius:10px;gap:4px;padding:4px;display:flex}.strip-part{background:var(--accent-strong);color:#ffffffe6;font:500 11px/1 var(--font-mono);border-radius:6px;flex:1;align-items:flex-end;padding:0 8px 6px;display:flex}.spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}#engineLoading h2{color:var(--text);margin:0;font-size:18px;font-weight:500;line-height:24px}#engineLoading h2+p{max-width:440px;color:var(--text-2);margin:0;font-size:14px;line-height:20px}.editor{display:none}.editor-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px;display:grid}.stage,.inspector{gap:16px;min-width:0;display:grid}.video-frame{border-radius:var(--radius-panel);background:#000;justify-content:center;display:flex;overflow:hidden}#videoPreview{object-fit:contain;width:100%;height:auto;max-height:min(56vh,520px);display:block}.panel{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-small);padding:20px}.panel-head{justify-content:space-between;align-items:center;gap:12px;min-height:28px;margin-bottom:12px;display:flex}.panel h2{color:var(--text);align-items:baseline;gap:8px;margin:0;font-size:15px;font-weight:500;line-height:20px;display:flex}.panel-meta{color:var(--text-3);margin:0;font-size:12px;line-height:16px}.panel-note{color:var(--text-3);margin:12px 0 0;font-size:13px;line-height:20px}.count{color:var(--text-3);font:400 12px/16px var(--font-mono);font-variant-numeric:tabular-nums}.timeline{--lane-height:48px;--lane-gap:4px;--lane-pad:4px;height:calc(var(--lanes,1) * var(--lane-height) + (var(--lanes,1) - 1) * var(--lane-gap) + 2 * var(--lane-pad));background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;counter-reset:part;border-radius:10px;margin:28px 0;position:relative}.timeline-track{border-radius:inherit;background:repeating-linear-gradient(90deg, var(--line) 0 1px, transparent 1px 10%);pointer-events:none;position:absolute;inset:0}.segment{top:calc(var(--lane-pad) + var(--lane,0) * (var(--lane-height) + var(--lane-gap)));height:var(--lane-height);background:var(--accent-strong);color:#fff;cursor:pointer;transition:background-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);border-radius:6px;position:absolute;box-shadow:inset 0 0 0 2px #ffffff59;container-type:inline-size}.segment:not(.preview){counter-increment:part}.segment:hover{background:var(--accent-hover)}.segment.selected{z-index:2;background:var(--accent-strong);box-shadow:inset 0 0 0 2px #fff}.segment.preview{background:var(--accent-soft);box-shadow:none;outline:1.5px dashed var(--accent);outline-offset:-1.5px}.segment-content{z-index:5;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0 12px;overflow:hidden}.segment:not(.preview) .segment-content:before{content:counter(part, decimal-leading-zero);color:#fff;font:500 12px/16px var(--font-mono)}@container (width<=40px){.segment-content:before{display:none}}.segment-duration{color:#ffffffe0;font:400 11px/14px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.segment-handle{z-index:15;opacity:0;cursor:ew-resize;pointer-events:auto;width:8px;transition:opacity var(--fast) var(--ease);position:absolute;top:0;bottom:0}.segment-handle.start{left:0}.segment-handle.end{right:0}.segment-handle:after{content:"";background:#fff;border-radius:1px;width:2px;height:16px;margin:-8px 0 0 -1px;position:absolute;top:50%;left:50%}.segment:hover .segment-handle,.segment.selected .segment-handle{opacity:1}.segment-label{z-index:30;border-radius:var(--radius-tag);background:var(--text);color:var(--bg);font:400 11px/16px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;padding:2px 6px;display:none;position:absolute}.segment-label.start{top:calc(-28px - var(--lane,0) * (var(--lane-height) + var(--lane-gap)));left:0}.segment-label.end{bottom:calc(-28px - (var(--lanes,1) - 1 - var(--lane,0)) * (var(--lane-height) + var(--lane-gap)));right:0}.segment.selected .segment-label,.segment:hover .segment-label{display:block}.playhead{z-index:10;background:var(--text);pointer-events:none;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-6px;bottom:-6px}.timeline-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.action-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preview-time{color:var(--text-2);margin:0 0 0 4px;font-size:13px;line-height:20px}.btn{border-radius:var(--radius-control);height:36px;color:var(--text);font:500 14px/20px var(--font-ui);white-space:nowrap;cursor:pointer;user-select:none;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 16px;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn .icon{flex:none}.btn-primary{background:var(--accent-strong);color:var(--on-accent);box-shadow:var(--highlight)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary,.btn-success{border-color:var(--line);background:var(--raised);color:var(--text)}.btn-secondary:hover:not(:disabled),.btn-success:hover:not(:disabled){border-color:var(--line-strong)}.btn-secondary .icon,.btn-ghost{color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--raised);color:var(--text)}.btn-sm,.btn-small{height:28px;padding:0 10px;font-size:13px}.btn-block{width:100%}#clearSegmentsBtn:hover:not(:disabled){color:var(--danger)}.split-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.split-buttons .btn{padding:0 12px}.segments-list{counter-reset:part;gap:2px;max-height:320px;display:grid;overflow-y:auto}.segments-list:empty:before{content:"No parts yet. Add a part or split the video.";color:var(--text-3);padding:12px 8px;font-size:13px;line-height:20px;display:block}.segment-item{border-radius:var(--radius-control);cursor:pointer;counter-increment:part;min-height:48px;transition:background-color var(--fast) var(--ease);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 4px 4px 8px;display:grid}.segment-item:before{content:counter(part, decimal-leading-zero);color:var(--text-3);font:500 12px/16px var(--font-mono)}.segment-item:hover{background:var(--raised)}.segment-item.selected{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line-strong)}.segment-item.selected:before{color:var(--accent-text)}.segment-times{color:var(--text);font:400 13px/20px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.segment-times+div{line-height:16px;color:var(--text-3)!important;margin-top:0!important;font-size:12px!important}.segment-item .btn-danger{width:32px;height:32px;color:var(--text-3);padding:0;font-size:0}.segment-item .btn-danger:before{content:"";background:currentColor;width:16px;height:16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E") 50%/16px 16px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6'/%3E%3Cpath d='M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E") 50%/16px 16px no-repeat}.segment-item .btn-danger:hover{background:var(--surface);color:var(--danger)}.list-total{color:var(--text-3);justify-content:space-between;margin:8px 0 0;padding:0 8px;font-size:12px;line-height:16px;display:flex}.list-total .mono{color:var(--text-2)}.add-part{margin-top:12px}.part-editor{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.parts-panel:not(:has(.segment-item.selected)) .part-editor{display:none}.time-input{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field{gap:4px;display:grid}.field-label{color:var(--text-3);font-size:12px;line-height:16px}.field-control{align-items:center;display:flex;position:relative}.field-control input{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--raised);width:100%;height:36px;color:var(--text);font:400 14px/20px var(--font-mono);font-variant-numeric:tabular-nums;transition:border-color var(--fast) var(--ease);padding:0 28px 0 12px}.field-control input:hover{border-color:var(--line-strong)}.field-control input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.field-unit{color:var(--text-3);font:400 12px/16px var(--font-mono);pointer-events:none;position:absolute;right:12px}.field-note{color:var(--text-3);margin:8px 0 12px;font-size:12px;line-height:16px}.part-editor-actions{gap:8px;display:flex}#addSegmentBtn{flex:1}.choice{border:0;min-width:0;margin:0 0 16px;padding:0}.choice legend{color:var(--text-3);margin-bottom:8px;padding:0;font-size:12px;line-height:16px}.choice-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice-option{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);cursor:pointer;transition:border-color var(--fast) var(--ease), background-color var(--fast) var(--ease);gap:2px;padding:8px 12px;display:grid;position:relative}.choice-option input{opacity:0;pointer-events:none;width:1px;height:1px;margin:0;position:absolute}.choice-title{color:var(--text);font-size:14px;font-weight:500;line-height:20px}.choice-meta{color:var(--text-3);font-size:12px;line-height:16px}.choice-option:hover{border-color:var(--line-strong)}.choice-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.choice-option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.choice-option:has(input:disabled){cursor:not-allowed}.progress-container{margin-top:16px;display:none}.progress-bar{background:var(--raised);border-radius:2px;height:4px;overflow:hidden}.progress-fill{background:var(--accent);width:0;height:100%}.progress-title{color:var(--text);margin:0 0 8px;font-size:13px;font-weight:500;line-height:20px}.progress-text{color:var(--text-2);font:400 12px/16px var(--font-mono);font-variant-numeric:tabular-nums;margin:8px 0 0}.segment-progress-list{gap:8px;max-height:280px;margin-bottom:12px;display:grid;overflow-y:auto}.segment-progress-header{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px;display:flex}.segment-progress-title{color:var(--text-2);font:400 12px/16px var(--font-mono);font-variant-numeric:tabular-nums}.segment-progress-status{color:var(--text-3);font-size:12px;line-height:16px}.segment-progress-status.processing{color:var(--accent-text)}.segment-progress-status.completed{color:var(--positive)}.segment-progress-status.error{color:var(--danger)}.segment-progress-bar{background:var(--raised);border-radius:1px;height:2px;overflow:hidden}.segment-progress-fill{background:var(--accent);height:100%}.progress-overall{border-top:1px solid var(--line);padding-top:12px}.export-result{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.result-title{color:var(--text);margin:0 0 12px;font-size:15px;font-weight:500;line-height:20px}.result-video{border-radius:var(--radius-card);background:#000;width:100%;max-height:320px;display:block}.result-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.result-actions .btn{flex:auto}.download-text .icon,.share-text .icon{vertical-align:-3px;margin-right:8px;display:inline-block}.result-note{color:var(--text-2);margin:12px 0 0;font-size:13px;line-height:20px}.segment-results{gap:8px;max-height:480px;display:grid;overflow-y:auto}.segment-result-item{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:128px minmax(0,1fr);grid-template-areas:"video header""video actions";align-items:center;gap:4px 12px;padding:8px;display:grid}.segment-result-video{aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:4px;grid-area:video;width:128px}.segment-result-header{grid-area:header;align-self:end;gap:0;min-width:0;display:grid}.segment-result-title{color:var(--text);font-size:13px;font-weight:500;line-height:20px}.segment-result-info{color:var(--text-3);font:400 12px/16px var(--font-mono);font-variant-numeric:tabular-nums}.segment-result-actions{grid-area:actions;align-self:start}.export-warning{line-height:20px;border:1px solid var(--line)!important;border-radius:var(--radius-control)!important;background:var(--raised)!important;color:var(--text-2)!important;margin:0 0 12px!important;padding:8px 12px!important;font-size:13px!important}body>a[download]{border-radius:var(--radius-card)!important;background:var(--accent-strong)!important;box-shadow:var(--shadow-float)!important;font:500 16px/24px var(--font-ui)!important;animation:none!important}.split-dialog{border:1px solid var(--line);background:var(--surface);width:min(440px,100vw - 32px);max-width:none;max-height:min(720px,100dvh - 48px);color:var(--text);box-shadow:var(--shadow-float);border-radius:20px;margin:auto;padding:20px;overflow-y:auto}.split-dialog::backdrop{background:#0000007a}.split-dialog-content{gap:20px;display:grid}.split-dialog-header{grid-template-columns:36px 1fr 36px;align-items:center;gap:12px;display:grid}.split-dialog-header h2{text-align:center;margin:0;font-size:17px;font-weight:500;line-height:24px}.icon-btn{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--raised);width:36px;height:36px;color:var(--text);cursor:pointer;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease), transform var(--fast) var(--ease);place-items:center;display:grid}.icon-btn:hover:not(:disabled){border-color:var(--line-strong)}.icon-btn:active:not(:disabled){transform:scale(.97)}.icon-btn-primary{background:var(--accent-strong);color:var(--on-accent);border-color:#0000}.icon-btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:#0000}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.split-dialog-summary{min-height:48px;color:var(--text);text-align:center;text-wrap:balance;margin:0;font-size:15px;line-height:24px}.split-field{justify-items:center;gap:12px;display:grid}.split-field[hidden],.split-dialog-error[hidden]{display:none}.split-field>label{color:var(--text-2);font-size:13px;line-height:20px}.split-stepper{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow var(--fast) var(--ease);border-radius:14px;align-items:center;gap:8px;padding:8px;display:flex}.split-stepper:focus-within{box-shadow:inset 0 0 0 1px var(--accent), 0 0 0 3px var(--accent-soft)}.split-stepper:has(input[aria-invalid=true]){box-shadow:inset 0 0 0 1px var(--danger)}.split-step{border:1px solid var(--line);background:var(--surface);width:44px;height:44px;color:var(--text);cursor:pointer;transition:border-color var(--fast) var(--ease), transform var(--fast) var(--ease);border-radius:6px;place-items:center;display:grid}.split-step:hover{border-color:var(--line-strong)}.split-step:active{transform:scale(.97)}.split-stepper input{width:120px;color:var(--text);text-align:center;font:400 40px/48px var(--font-ui);font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield;background:0 0;border:0;outline:0;padding:0}.split-stepper input::-webkit-inner-spin-button,.split-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.split-unit{color:var(--text-3);margin-left:-8px;font-size:14px}.split-dialog-error{color:var(--danger);text-align:center;margin:0;font-size:13px;line-height:20px}.split-dialog-note{color:var(--text-3);text-align:center;margin:0;font-size:13px;line-height:20px}@media (width<=600px){.split-dialog{width:100%;max-height:min(82dvh,680px);padding:20px 16px max(24px, env(safe-area-inset-bottom));border-bottom:0;border-radius:20px 20px 0 0;margin:0;position:fixed;inset:auto 0 0}}@media (prefers-reduced-motion:no-preference){.split-dialog[open]{animation:sheet-in var(--enter) var(--ease)}@keyframes sheet-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}}@media (width<=1023px){.editor-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){.trim{padding:24px 16px 0}.intro{margin-bottom:24px}.intro h1{font-size:28px}.intro p{font-size:15px;line-height:22px}.upload-zone{min-height:300px;padding:40px 16px}.panel{padding:16px}.video-frame{border-radius:var(--radius-card)}.timeline{--lane-height:64px}.segment-handle{width:min(20px,50%)}.segment-handle:after{height:24px;margin-top:-12px}.action-group{width:100%}.action-group .btn{flex:auto}}@media (pointer:coarse){.btn{height:44px}.btn-sm,.btn-small{height:40px}.field-control input{height:44px;font-size:16px}.segment-item .btn-danger{width:40px;height:40px}.choice-option{padding:12px}}
