.longfilm-capability { padding:12px 16px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--muted); font-size:12px; }
.longfilm-capability.error { color:var(--danger); }
.longfilm-layout { display:grid; grid-template-columns:340px minmax(0,1fr); gap:18px; align-items:start; }
.longfilm-setup,.longfilm-editor { min-width:0; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.longfilm-setup > label { display:grid; gap:7px; margin:15px 0; font-size:12px; color:var(--muted); }
.longfilm-setup textarea { resize:vertical; font-size:13px; line-height:1.65; }
.longfilm-form-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.longfilm-form-row label { display:grid; gap:7px; font-size:12px; color:var(--muted); }
.longfilm-material-heading,.longfilm-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; margin:20px 0 12px; }
.longfilm-heading:first-child { margin-top:0; }
.longfilm-heading h2,.longfilm-setup h2 { margin:3px 0; font-size:18px; }
.longfilm-assets { display:grid; gap:6px; max-height:320px; overflow:auto; }
.longfilm-asset { display:grid; grid-template-columns:18px 42px minmax(0,1fr) auto; gap:8px; align-items:center; padding:7px; border:1px solid var(--line); border-radius:6px; font-size:11px; }
.longfilm-asset .asset-library-thumb { width:42px; height:42px; }
.longfilm-asset span { overflow-wrap:anywhere; }
.longfilm-toolbar { display:flex; flex-wrap:wrap; gap:8px; padding-block:14px; border-block:1px solid var(--line); }
.longfilm-toolbar .button { min-height:34px; font-size:11px; }
.longfilm-segments { display:grid; gap:12px; margin-top:16px; }
.longfilm-segment { min-width:0; padding:14px; border:1px solid var(--line); border-radius:8px; }
.longfilm-segment.is-current { border-color:var(--accent); }
.longfilm-segment-head { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.longfilm-segment-head h3 { margin:0; font-size:14px; }
.longfilm-segment textarea { width:100%; min-height:120px; margin-top:10px; resize:vertical; font-size:12px; line-height:1.7; }
.longfilm-segment .director-actions { margin-top:8px; }
.longfilm-segment video,.longfilm-output video { width:100%; max-height:420px; background:var(--canvas); border-radius:7px; }
.longfilm-empty { padding:50px 25px; text-align:center; color:var(--muted); font-size:13px; border:1px dashed var(--line); border-radius:8px; }
.longfilm-output { margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
.longfilm-history { margin-top:20px; padding-top:14px; border-top:1px solid var(--line); font-size:12px; }
#longfilm-history-list { display:grid; gap:6px; max-height:280px; overflow:auto; }
#longfilm-create { width:100%; margin-top:12px; }
@media(max-width:1050px) { .longfilm-layout { grid-template-columns:290px minmax(0,1fr); } }
@media(max-width:760px) { .longfilm-layout { grid-template-columns:minmax(0,1fr); } .longfilm-setup,.longfilm-editor { padding:15px; } .longfilm-toolbar .button { flex:1; min-width:130px; } }

.longfilm-parameters { margin-top:14px; font-size:12px; color:var(--muted); }
.longfilm-parameters summary { cursor:pointer; margin-bottom:10px; }

.longfilm-form-row[hidden] { display:none; }

.longfilm-layout input[type="checkbox"] { width:16px; height:16px; min-height:16px; padding:0; margin:0; flex:0 0 16px; }
.longfilm-setup > label > span { display:flex; align-items:center; gap:8px; }

.longfilm-binding { grid-column:1/-1; display:grid; gap:6px; font-size:11px; color:var(--muted); }
.longfilm-upload { display:grid; gap:9px; margin:12px 0; padding:12px; border:1px dashed var(--line); border-radius:8px; font-size:12px; }
.longfilm-upload.is-dragging { border-color:var(--accent); background:var(--accent-soft); }
.longfilm-segment .longfilm-form-row { margin-top:14px; }
.longfilm-cast { margin-top:18px; padding:12px; border:1px solid var(--line); border-radius:8px; }
.longfilm-cast summary { cursor:pointer; font-size:13px; }
.longfilm-cast-row { padding-top:12px; overflow-wrap:anywhere; }
.longfilm-prompt-dialog { width:min(1000px,95vw); max-width:none; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--ink); padding:22px; }
.longfilm-prompt-dialog::backdrop { background:rgba(0,0,0,.45); }
.longfilm-prompt-dialog textarea { width:100%; height:65vh; font-size:15px; line-height:1.8; resize:vertical; }
#longfilm-save-setup { width:100%; }
#longfilm-rewrite-prompts { vertical-align:middle; }
.longfilm-refinement-dialog { width:min(1280px,96vw); max-width:none; height:min(920px,92dvh); max-height:92dvh; padding:24px; overflow:auto; border:1px solid var(--line); border-radius:14px; background:var(--surface); color:var(--ink); }
.longfilm-refinement-dialog::backdrop { background:rgba(0,0,0,.5); }
.longfilm-refinement-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.longfilm-refinement-columns section { min-width:0; }
.longfilm-refinement-dialog .director-chat { min-height:160px; max-height:360px; overflow:auto; margin:12px 0; }
.longfilm-refinement-dialog textarea { width:100%; resize:vertical; }
.longfilm-refinement-dialog details { margin-block:12px; }
.longfilm-refinement-dialog h3 { font-size:14px; }
@media(max-width:800px) { .longfilm-refinement-columns { grid-template-columns:1fr; } .longfilm-refinement-dialog { padding:15px; } }

/* 对齐四栏创作流程：素材、故事与分段、当前段编辑、生成与成片。 */
.h3-shell .longfilm-project-bar {display:flex;gap:16px;align-items:end;flex-wrap:wrap;padding:14px 16px;margin:14px 0;background:var(--surface);border:1px solid var(--line);border-radius:10px;}
.h3-shell .longfilm-project-bar > label {display:grid;gap:6px;font-size:12px;min-width:130px;}
.h3-shell .longfilm-project-bar > label:first-child {flex:1;min-width:180px;}
.h3-shell .longfilm-project-bar .longfilm-form-row {width:230px;}
.h3-shell .longfilm-project-bar .longfilm-history {margin:0;padding:0;border:0;max-width:260px;}
.h3-shell .longfilm-project-bar summary {cursor:pointer;min-height:40px;display:flex;align-items:center;}
.h3-shell .longfilm-four-columns {display:grid;grid-template-columns:minmax(200px,.85fr) minmax(260px,1.1fr) minmax(280px,1.2fr) minmax(235px,1fr);gap:14px;align-items:start;}
.h3-shell .longfilm-four-columns > :is(.longfilm-materials,.longfilm-setup,.longfilm-editor,.longfilm-inspector) {grid-column:auto;grid-row:auto;position:static;max-height:none;min-width:0;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);}
.h3-shell .longfilm-four-columns .section-heading {display:block;}
.h3-shell .longfilm-four-columns .section-heading p {margin:0 0 6px;}
.h3-shell .longfilm-four-columns .section-heading h2 {margin:0;}
.h3-shell .longfilm-four-columns .longfilm-editor > .longfilm-heading {padding-bottom:14px;border-bottom:1px solid var(--line);}
.h3-shell .longfilm-four-columns .longfilm-heading h2 {font-size:17px;}
.h3-shell .longfilm-four-columns .longfilm-inspector .longfilm-toolbar {display:grid;grid-template-columns:1fr 1fr;border-top:0;padding-top:12px;}
.h3-shell .longfilm-four-columns #longfilm-generate {grid-column:1/-1;min-height:44px;}
.h3-shell .longfilm-four-columns #longfilm-plan {width:100%;margin-top:12px;min-height:44px;}
.h3-shell .longfilm-four-columns .longfilm-toolbar .button {font-size:12px;min-height:40px;}
.h3-shell .longfilm-story-more {padding:10px 0;border-block:1px solid var(--line);font-size:12px;}
.h3-shell .longfilm-story-more summary {cursor:pointer;min-height:30px;}
.h3-shell .longfilm-story-more label {display:grid;gap:6px;margin-top:10px;}
.h3-shell .longfilm-story-more .tool-consent {display:flex;}
.h3-shell .longfilm-navigation-heading {font-size:13px;margin-top:20px;}
.h3-shell .longfilm-segment-nav {display:grid;gap:8px;max-height:420px;overflow:auto;}
.h3-shell .longfilm-segment-link {display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;text-align:left;min-height:64px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:7px;cursor:pointer;}
.h3-shell .longfilm-segment-link[aria-pressed=true] {border:2px solid var(--ink);padding:11px;background:var(--surface-subtle);}
.h3-shell .longfilm-segment-link span {font-size:11px;}
.h3-shell .longfilm-segment-link small {grid-column:1/-1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.5;}
.h3-shell .longfilm-segment[hidden] {display:none;}
.h3-shell .longfilm-four-columns .longfilm-segment {padding:0;border:0;}
.h3-shell .longfilm-four-columns .longfilm-segment textarea[data-field=prompt] {min-height:340px;}
.h3-shell .longfilm-four-columns .longfilm-segment .director-actions {gap:7px;}
.h3-shell .longfilm-four-columns .longfilm-segment .director-actions button {flex:1 1 45%;font-size:12px;min-height:40px;}
.h3-shell .longfilm-four-columns #longfilm-save {width:100%;margin-top:16px;}
.h3-shell .longfilm-four-columns .longfilm-material-heading {margin-top:0;font-size:13px;}
.h3-shell .longfilm-four-columns .longfilm-upload {background:var(--surface-subtle);font-size:12px;}
.h3-shell .longfilm-four-columns .longfilm-assets {max-height:600px;}
.h3-shell .longfilm-four-columns .longfilm-cast {margin-top:14px;background:var(--surface-subtle);}
.h3-shell .longfilm-settings-dialog {padding:24px;}
.h3-shell .longfilm-settings-dialog > .longfilm-parameters > summary {display:none;}
.h3-shell .longfilm-settings-dialog .longfilm-form-row {gap:16px;margin:15px 0;}
.h3-shell .longfilm-four-columns .longfilm-asset {grid-template-columns:16px 36px minmax(0,1fr) auto;gap:5px;}
.h3-shell .longfilm-four-columns .longfilm-asset .asset-library-thumb {width:36px;height:36px;}
@media(max-width:1400px) {.h3-shell .longfilm-four-columns {grid-template-columns:minmax(0,1fr) minmax(0,1fr);} }
@media(max-width:760px) {.h3-shell .longfilm-four-columns {grid-template-columns:minmax(0,1fr);} .h3-shell .longfilm-project-bar > label,.h3-shell .longfilm-project-bar .longfilm-form-row {width:100%;} .h3-shell .longfilm-settings-dialog .longfilm-form-row {grid-template-columns:1fr;} }
.h3-shell [data-h3-panel=longfilm] > .page-heading {margin-bottom:12px;}
.h3-shell [data-h3-panel=longfilm] > .page-heading h1 {font-size:26px;margin:5px 0;}
.h3-shell [data-h3-panel=longfilm] > .longfilm-capability {padding:7px 12px;border:0;background:transparent;margin:5px 0;}
.h3-shell [data-h3-panel=longfilm] > .form-message:empty {display:none;}
.h3-shell .longfilm-story-more > .model-choice {padding-top:12px;}
.h3-shell .longfilm-four-columns #longfilm-script {min-height:130px;height:150px;}
.h3-shell .longfilm-four-columns #longfilm-rewrite-prompts {width:16px;min-height:16px;}
.h3-shell .longfilm-four-columns label:has(> #longfilm-rewrite-prompts) {display:flex;align-items:flex-start;gap:8px;font-size:11px;}

.h3-shell .longfilm-four-columns .longfilm-upload {position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 10px;align-items:center;min-height:80px;box-sizing:border-box;padding:14px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-subtle);cursor:pointer;overflow:hidden;}
.h3-shell .longfilm-upload-icon {grid-row:1/3;font-size:26px;text-align:center;color:var(--ink);}
.h3-shell .longfilm-upload strong {font-size:13px;color:var(--ink);}
.h3-shell .longfilm-upload small {font-size:11px;color:var(--muted);line-height:1.6;}
.h3-shell .longfilm-upload input[type=file] {position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;}
.h3-shell .longfilm-upload:is(:hover,.is-dragging) {border-color:var(--ink);background:var(--surface);}
.h3-shell .longfilm-upload:focus-visible {outline:2px solid var(--ink);outline-offset:3px;}
.h3-shell .longfilm-upload:has(input:disabled) {opacity:.5;cursor:not-allowed;}
.h3-shell .longfilm-four-columns .longfilm-asset {grid-template-columns:16px 44px minmax(0,1fr) auto;gap:8px;padding:8px;align-items:center;}
.h3-shell .longfilm-four-columns .longfilm-asset .asset-library-thumb {width:44px;height:44px;}
.h3-shell .longfilm-four-columns .longfilm-asset > :is(span,strong) {min-width:0;overflow-wrap:anywhere;}
.h3-shell .longfilm-four-columns .longfilm-assets {max-height:440px;scrollbar-gutter:stable;}
.h3-shell .longfilm-material-help {margin:8px 0;}

/* 共用尺寸解析器驱动的长片一采控件，二采继续沿用倍率。 */
.longfilm-resolution-intent{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;padding:16px;border:1px solid var(--border,#d8d8d4);border-radius:12px;background:#fafbf8}
.longfilm-resolution-intent .field-note,.longfilm-size-canvas{grid-column:1/-1}
.longfilm-size-canvas{min-height:158px;display:grid;place-items:center;background:radial-gradient(#ccd2c5 .8px,transparent .8px) 0 0/14px 14px;border-radius:8px}
.longfilm-size-frame{min-width:32px;min-height:24px;display:flex;align-items:center;justify-content:center;border:1px solid #53664a;background:#eef2e8;color:#35452e;font-size:12px;white-space:nowrap}
@media(max-width:700px){.longfilm-resolution-intent{grid-template-columns:1fr}.longfilm-resolution-intent input,.longfilm-resolution-intent select{max-width:100%}}
