
.creation-segments .document-nav button{display:block;width:100%;text-align:left;padding:13px;margin:4px 0}
.creation-segments button b,.creation-segments button small{display:block}.creation-segments small{margin-top:6px}
.creation-edit-body{display:flex;flex:1;min-height:0;overflow:hidden}.creation-edit-body>#documentScroll{flex:1;min-width:0;min-height:0;padding:12px 16px 36px}
#creationPreview{width:300px;flex:0 0 300px;padding:14px;border-left:1px solid var(--border);overflow:auto;background:#10161d}
#creationPreview video{width:100%;max-height:60vh;background:#000;margin:14px 0}.creation-empty-video{min-height:230px;display:grid;place-items:center;color:var(--muted);text-align:center;background:#090e14;margin:14px 0;padding:20px}
.creation-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}
.creation-tools button{font-size:12px}.creation-tools .generating{background:#234652;color:#91dced;border-color:#396b7c}
#creationEpisode{max-width:360px;font-size:12px;padding:5px 8px;margin-left:8px}
.creation-error{color:#ef9696;white-space:pre-wrap}.creation-edit-body [hidden]{display:none!important}
.creation-edit-body .compact-shot{grid-template-columns:140px minmax(0,1fr);gap:12px;padding:15px 12px}
.creation-edit-body .shot-gutter input{font-size:10px}.creation-edit-body .timeline-shot-actions{max-width:100%}
.creation-edit-body .timeline-scene-group>.timeline-scene-header{margin:18px 12px}
.plan-assets-host .asset-library-page{padding:0;max-width:none}.plan-assets-host .page-heading{margin:0 0 14px;justify-content:flex-end}.plan-assets-host .page-heading>div{display:none}
.plan-assets-host .asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media(max-width:1300px){#creationPreview{width:250px;flex-basis:250px}#creationEpisode{max-width:250px}.creation-tools{flex-wrap:wrap}}
@media(max-width:900px){.creation-edit-body{flex-direction:column;overflow:auto}.creation-edit-body>#documentScroll{flex:0 0 auto;overflow:visible}#creationPreview{width:100%;flex-basis:auto;border-left:0;border-top:1px solid var(--border)}#creationPreview video{max-height:340px}#creationEpisode{max-width:210px}}

#breadcrumbEpisode:has(#creationEpisode){display:inline-flex;align-items:center;gap:10px;min-width:0}
#breadcrumbEpisode #creationEpisode{margin:0;width:auto;max-width:min(500px,40vw);height:34px}
.episode-breadcrumb-divider{color:var(--muted)}

.document-toolbar{flex-wrap:wrap;gap:10px;position:relative;z-index:4}
.document-toolbar .creation-tools{padding:0;border:0;margin-left:auto;flex-shrink:0}
.document-toolbar .creation-tools .row{flex-wrap:wrap;justify-content:flex-end}
#creationGenerateAll{font-size:13px;font-weight:750;padding:9px 16px;box-shadow:0 0 0 2px #d49b462c,0 5px 18px #d49b4633;white-space:nowrap}
#creationGenerateAll:hover:not(:disabled){box-shadow:0 0 0 2px #f5cd9666,0 6px 22px #d49b4655}
.creation-header-status{position:relative;flex:1;min-width:120px;max-width:340px;font-size:12px;color:var(--amber)}
.creation-header-status>summary{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 0}
.creation-status-panel{position:absolute;top:100%;left:0;width:min(700px,75vw);max-height:60vh;overflow:auto;padding:12px;background:#141b23;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0008;z-index:30}
.creation-status-panel .hint{margin:0 0 10px;padding:10px;font-size:12px}
.creation-status-panel #rewriteSummary:empty{display:none}
#creationSegmentTitle{white-space:nowrap}

body:has(.focused-document) #saveState{display:inline;max-width:360px;white-space:normal;font-size:12px}

.creation-segments .outline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-left:12px;padding-right:12px}
.creation-segments .outline-head h3{margin:0;white-space:nowrap}
.creation-segments #creationPlan{padding:7px 9px;font-size:11px;white-space:nowrap;flex-shrink:0}
#docRewrite[hidden]{display:none!important}

.stream-shot{padding:20px 12px;border-bottom:1px solid var(--border)}.stream-shot h3{color:#d8e67b;margin-bottom:12px}.stream-shot p{margin:8px 0;line-height:1.9}.stream-prefix{padding:12px}#fullDocument[hidden]{display:none!important}

/* Formal rows share one layout; streaming retains the source presentation. */
.creation-edit-body .unified-entry{grid-template-columns:126px minmax(0,1fr);padding:22px 16px;gap:18px;min-height:132px}
.unified-entry .entry-duration{display:flex;align-items:center;justify-content:center;gap:5px;margin:0 0 12px;color:var(--muted)}
.creation-edit-body .unified-entry .entry-duration input{width:92px;font-size:14px;text-align:center;padding:7px 4px;font-variant-numeric:tabular-nums}
.unified-entry .compact-title{margin:0 0 10px}.unified-entry .compact-title input{width:100%}
.unified-entry .timeline-shot-actions{gap:6px}.unified-entry .raw-shot-copy{min-height:46px}
.unified-entry .shot-gutter>input[type=hidden]{display:none!important}

/* Selected-row edge actions: no permanent button stack in the duration gutter. */
.unified-entry .entry-edge-actions{display:contents}
.unified-entry .shot-gutter .entry-edge-action{position:absolute;z-index:2;display:grid;place-items:center;width:24px;height:24px;margin:0;padding:0;border:1px solid #756044;border-radius:5px;background:#242322;color:#f4c67f;font:20px/1 var(--font);opacity:0;visibility:hidden;pointer-events:none;box-shadow:none}
.unified-entry .entry-edge-before{left:4px;top:4px}
.unified-entry .entry-edge-after{left:4px;bottom:4px}
.unified-entry .entry-edge-delete{right:5px;top:4px}
.unified-entry:is(.timeline-shot-selected,:focus-within) .shot-gutter .entry-edge-action{opacity:1;visibility:visible;pointer-events:auto}
.unified-entry .shot-gutter .entry-edge-action:hover{background:#3b3021;border-color:#efc17b;color:#ffe3b4}
.unified-entry .shot-gutter .entry-edge-delete{color:#e49b9b;border-color:#68464a;background:#2b2027}
.unified-entry .shot-gutter .entry-edge-delete:hover{color:#ffd2d2;background:#542b34;border-color:#df8282}
.unified-entry .shot-gutter .entry-edge-action:focus-visible{outline:2px solid #f2c47e;outline-offset:1px}
.creation-edit-body .unified-entry{padding-top:30px;padding-bottom:30px}
.unified-entry .entry-duration{justify-content:flex-start;gap:6px;margin:0;border:1px solid #79603b;border-radius:7px;background:#292419;padding:3px 8px;box-sizing:border-box;max-width:100%}
.creation-edit-body .unified-entry .entry-duration input{width:82px;min-width:0;padding:3px 0;border:0;border-radius:0;background:transparent;color:#ffd18a;font:700 17px/1.5 ui-monospace,monospace;font-variant-numeric:tabular-nums;text-align:center;box-shadow:none;appearance:textfield;-moz-appearance:textfield}
.unified-entry .entry-duration input::-webkit-inner-spin-button,.unified-entry .entry-duration input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.unified-entry .entry-duration>span{color:#e5b86e;font:600 12px/1 ui-monospace,monospace}
.unified-entry .entry-duration:focus-within{border-color:#ffd18a;background:#342b1c;box-shadow:0 0 0 2px #e9b76524}
.unified-entry .entry-duration input:focus{outline:none}

/* Boundary insertion buttons straddle the separator, not the row content. */
#fullDocument{overflow:visible}
.creation-edit-body .unified-entry:is(.timeline-shot-selected,:focus-within){content-visibility:visible;contain:none;z-index:3}
.unified-entry .shot-gutter .entry-edge-before,.unified-entry .shot-gutter .entry-edge-after{left:16px;width:26px;height:26px;border-radius:50%;background:#29251e;border-color:#bc9258;font-size:21px}
.unified-entry .entry-edge-before{top:0;transform:translateY(-50%)}
.unified-entry .entry-edge-after{bottom:0;transform:translateY(50%)}
.unified-entry .entry-edge-before::after,.unified-entry .entry-edge-after::after{content:"";position:absolute;left:calc(100% + 5px);top:50%;width:40px;height:1px;background:#bc9258;pointer-events:none}
.unified-entry .entry-save-state{position:absolute;right:38px;top:7px;font-size:11px;pointer-events:none}

/* Draw symbols geometrically: font baselines must not shift + or x. */
.unified-entry .shot-gutter .entry-edge-action{box-sizing:border-box;line-height:0}
.unified-entry .entry-edge-action svg{display:block;width:14px;height:14px;flex:none;margin:0;pointer-events:none}
.unified-entry .entry-edge-before::after,.unified-entry .entry-edge-after::after{display:none}
.unified-entry:is(.timeline-shot-selected,:focus-within)::before,.unified-entry:is(.timeline-shot-selected,:focus-within)::after{content:"";position:absolute;left:48px;right:0;height:1px;background:#bc9258;pointer-events:none;z-index:1}
.unified-entry:is(.timeline-shot-selected,:focus-within)::before{top:0}
.unified-entry:is(.timeline-shot-selected,:focus-within)::after{bottom:0}
.unified-entry{cursor:grab}.unified-entry .raw-shot-copy,.unified-entry input{cursor:text}.unified-entry button{cursor:pointer}
.entry-sorting,.entry-sorting *{cursor:grabbing!important;user-select:none!important}
.entry-moving{opacity:.45}
.entry-sorting .entry-edge-actions{visibility:hidden}
.entry-drop-line{height:3px;background:#ffd18a;box-shadow:0 0 5px #e9b76580;z-index:1000;pointer-events:none}

/* Fixed-size duration box: global label-input top margins must not shift digits. */
.unified-entry .entry-duration{position:relative;width:112px;height:44px;display:flex;align-items:center;justify-content:center;padding:0 19px;gap:0}
.creation-edit-body .unified-entry .entry-duration input{width:100%;height:42px;margin:0;padding:0;line-height:42px;text-align:center;display:block}
.unified-entry .entry-duration>span{position:absolute;right:8px;top:50%;transform:translateY(-50%);margin:0;line-height:1}
.unified-entry .entry-edge-delete{right:10px;top:9px}
/* A single integer-pixel border avoids competing, fractionally aligned lines.
   Only this segment's visible rows are painted, so auto containment is unnecessary. */
.creation-edit-body .unified-entry{content-visibility:visible;contain:none;contain-intrinsic-size:none;border-top:1px solid transparent;border-bottom:1px solid #1d2530}
.creation-edit-body .unified-entry:is(.timeline-shot-selected,:focus-within){border-top-color:#bc9258;border-bottom-color:#bc9258}
.unified-entry:is(.timeline-shot-selected,:focus-within)::before,.unified-entry:is(.timeline-shot-selected,:focus-within)::after{display:none}
.unified-entry .entry-edge-before{top:-.5px}.unified-entry .entry-edge-after{bottom:-.5px}
.entry-sorting .entry-edge-action{visibility:hidden!important}
#creationDurationWarning{flex:1;min-width:180px;min-height:38px;padding:7px 10px;font-size:13px;line-height:24px;font-weight:600;border:1px solid transparent;border-radius:6px;white-space:nowrap;text-align:center}
#creationDurationWarning.is-warning{color:#ffd0c8;background:#482723;border-color:#ad6253}
.document-toolbar:has(#creationDurationWarning.is-warning) .creation-header-status{max-width:160px}
@media(max-width:1300px){#creationDurationWarning{font-size:12px;min-width:120px;white-space:normal;line-height:18px}}

.document-toolbar #creationDurationWarning{flex:0 1 auto;width:max-content;max-width:440px;min-width:0;margin-left:auto}
.document-toolbar #creationDurationWarning:empty{display:none}
.creation-segments #creationAddSegment{padding:6px 8px;font-size:11px;white-space:nowrap;flex-shrink:0}
.creation-segments [data-creation-segment].segment-drop-target{position:relative;background:#3b3021;border-color:#ffd18a;box-shadow:inset 0 0 0 2px #ffd18a}
.creation-segments [data-creation-segment].segment-drop-target::after{content:"松开移入此片段";position:absolute;bottom:2px;right:6px;display:block;background:#3b3021;color:#ffd18a;font-size:11px}

.creation-segments .outline-head{flex-wrap:wrap;justify-content:flex-start;gap:6px}
.creation-segments .outline-head h3{flex:1 0 100%}
.creation-segments #creationDeleteSegment{padding:6px 8px;font-size:11px;white-space:nowrap;color:#e49b9b}
.document-toolbar #creationSegmentTitle{width:160px;min-width:60px;max-width:240px;font-weight:650;font-size:14px;background:transparent;border:1px solid transparent;padding:5px 7px;color:var(--text);margin:0}
.document-toolbar #creationSegmentTitle:hover{border-color:#435467}
.document-toolbar #creationSegmentTitle:focus{border-color:#bc9258;background:#17212c}
.creation-segments [data-creation-segment] b{overflow-wrap:anywhere}

/* Empty rewrite action occupies the editor, not a bordered placeholder card. */
.creation-edit-body>#documentScroll:has(#startCurrentRewrite){display:flex;flex-direction:column;padding:0}
#documentScroll #fullDocument:has(#startCurrentRewrite){flex:1;min-height:0;display:flex;border:0;border-radius:0;background:transparent;box-shadow:none}
#fullDocument:has(#startCurrentRewrite)>.empty{flex:1;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;background:transparent;box-shadow:none;margin:0;padding:24px;min-height:0}
@media(max-width:900px){.creation-edit-body>#documentScroll:has(#startCurrentRewrite){min-height:55vh}}

#creationMissingImages{flex:1;min-width:220px;max-width:740px;padding:8px 12px;border:1px solid #955b45;border-radius:6px;background:#40251f;color:#ffd0ac;font-size:12px;line-height:1.5}
#creationMissingImages[hidden]{display:none!important}#creationMissingImages>span{display:block;max-height:54px;overflow:auto}#creationMissingImages>div{display:flex;gap:8px;margin-top:5px}#creationMissingImages button{padding:4px 8px;font-size:12px}

#topRewriteStatus{flex:0 1 auto;min-width:100px;max-width:none;margin-right:12px;align-self:center;color:#a5adb8}
#topRewriteStatus>summary{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.5}
#topRewriteStatus .creation-status-panel{left:auto;right:0}

/* A slow, subtle pulse lasts for the entire queued/running video task. */
.creation-segments [data-creation-segment].segment-video-generating{animation:segment-video-breathe 3.6s ease-in-out infinite}
@keyframes segment-video-breathe{
  0%,100%{box-shadow:inset 0 0 0 1px #efbf7214;background-color:#292419}
  50%{box-shadow:inset 0 0 0 1px #efbf7259;background-color:#383021}
}
@media(prefers-reduced-motion:reduce){.creation-segments [data-creation-segment].segment-video-generating{animation:none;box-shadow:inset 0 0 0 1px #efbf7240}}

#creationPreview .preview-drag-handle{gap:10px;flex-shrink:0}
#creationPreview .preview-actions{display:flex;gap:8px;flex-wrap:wrap}
#creationPreview .preview-actions button{font-size:13px}
#creationPreview .preview-actions [aria-pressed=true]{border-color:#e6bc77;background:#342d21;color:#ffd18a}
#creationPreview .preview-resize{display:none}
#creationPreview.preview-floating{position:fixed;z-index:45;min-width:0;display:flex;flex-direction:column;border:1px solid #566473;border-radius:12px;box-shadow:0 16px 48px #0009;padding:12px;overflow:hidden}
#creationPreview.preview-floating .preview-drag-handle{cursor:move;touch-action:none;user-select:none}
#creationPreview.preview-floating video{display:block;flex:1;min-height:0;width:100%;object-fit:contain;max-height:none;margin:10px 0}
#creationPreview.preview-floating>p{margin:4px 0;font-size:12px;flex-shrink:0}
#creationPreview.preview-floating .preview-actions{flex-shrink:0;padding-right:20px}
#creationPreview.preview-floating .preview-resize{display:block;position:absolute;right:2px;bottom:2px;width:20px;height:20px;padding:0;border:0;border-radius:0;background:linear-gradient(135deg,transparent 50%,#8295aa 51%,#8295aa 56%,transparent 57%,transparent 68%,#8295aa 69%,#8295aa 74%,transparent 75%);cursor:nwse-resize;touch-action:none}
.creation-edit-body .unified-entry.playback-current{background:#16282d;box-shadow:inset 4px 0 #72cdc5}

/* Preview actions share the draggable header, with no bottom action bar. */
#creationPreview .preview-drag-handle{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#creationPreview .preview-drag-handle>b{white-space:nowrap;margin-right:auto}
#creationPreview .preview-drag-handle .preview-actions{padding:0;gap:6px;flex-wrap:nowrap}
#creationPreview .preview-drag-handle .preview-actions button{padding:5px 9px;white-space:nowrap}
#creationPreview #creationVideoVersion{flex:1 1 215px;min-width:215px;max-width:100%;font-size:13px;padding:6px 8px;margin:0}
#creationPreview>p:empty{display:none}

/* One compact toolbar; dock/float uses an accessible icon instead of text. */
#creationPreview{container-type:inline-size}
#creationPreview .preview-drag-handle{flex-wrap:nowrap;gap:6px}
#creationPreview .preview-drag-handle>b{order:0;flex:none;font-size:12px;margin-right:0}
#creationPreview #creationVideoVersion{order:1;flex:1 1 200px;min-width:0;width:0;font-size:12px;padding:6px 4px;height:32px}
#creationPreview .preview-drag-handle .preview-actions{order:2;flex:none;gap:4px}
#creationPreview .preview-drag-handle .preview-actions button{height:32px;font-size:12px;padding:4px 7px}
#creationPreview .preview-drag-handle #previewFloat{display:grid;place-items:center;width:30px;padding:0}
@container(max-width:350px){#creationPreview .preview-drag-handle>b{display:none}}

/* The frame itself is draggable; interactive content keeps native behavior. */
#creationPreview.preview-floating{cursor:move;touch-action:none}
#creationPreview.preview-floating video,#creationPreview.preview-floating select{cursor:auto;touch-action:auto}
#creationPreview.preview-floating button{touch-action:auto}
#creationPreview.preview-floating .preview-resize{touch-action:none}

/* The compact floating preview never reserves a docked sidebar. */
#creationPreview.preview-floating .creation-empty-video{flex:1;min-height:0;margin:8px 0;padding:12px}
#creationPreview.preview-floating>.creation-error{max-height:60px;overflow:auto}

.creation-edit-body .unified-entry:is(.timeline-shot-selected,.playback-current){background:#16282d;box-shadow:inset 4px 0 #72cdc5;border-top-color:#72cdc5;border-bottom-color:#72cdc5}

#creationChangeNotice{flex:1;min-width:180px;max-width:740px;margin-left:auto;padding:6px 10px;color:var(--amber,#efbd70);font-size:12px;line-height:1.6;max-height:76px;overflow:auto}
#creationChangeNotice[hidden]{display:none!important}

#creationPreview.preview-floating .preview-edge{position:absolute;z-index:5;touch-action:none;user-select:none}
#creationPreview .preview-edge-n,#creationPreview .preview-edge-s{left:16px;right:16px;height:8px;cursor:ns-resize}
#creationPreview .preview-edge-n{top:0}#creationPreview .preview-edge-s{bottom:0}
#creationPreview .preview-edge-e,#creationPreview .preview-edge-w{top:16px;bottom:16px;width:8px;cursor:ew-resize}
#creationPreview .preview-edge-e{right:0}#creationPreview .preview-edge-w{left:0}
#creationPreview .preview-edge-ne,#creationPreview .preview-edge-nw,#creationPreview .preview-edge-sw{width:16px;height:16px}
#creationPreview .preview-edge-ne{right:0;top:0;cursor:nesw-resize}
#creationPreview .preview-edge-nw{left:0;top:0;cursor:nwse-resize}
#creationPreview .preview-edge-sw{left:0;bottom:0;cursor:nesw-resize}
#creationPreview.preview-floating .preview-resize{z-index:6}
