/* Shared workbench presentation contract. Business state stays in feature modules. */
.cinema-workbench{--hy-bg:var(--ink-bg);--hy-panel:var(--ink-surface);--hy-input:var(--ink-input);--hy-hover:var(--ink-raised);--hy-line:var(--ink-line);--hy-text:var(--ink-text);--hy-muted:var(--ink-muted);--hy-gold:var(--ink-accent);--navigation-width:184px;--page-gutter:24px;background:var(--hy-bg);color:var(--hy-text);font-family:system-ui,"Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}
.cinema-workbench :is(button,input,select,textarea){font:inherit;border-radius:8px}
.cinema-workbench :is(button,.button){min-height:36px;line-height:1.4;padding:8px 12px;font-size:14px}
.cinema-workbench :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select){min-height:40px;background:var(--hy-input);color:var(--hy-text);border:1px solid var(--hy-line);padding:8px 12px;min-width:0}
.cinema-workbench textarea{background:var(--hy-input);color:var(--hy-text);border:1px solid var(--hy-line);padding:12px;line-height:1.75;font-size:14px;min-width:0;scrollbar-width:thin}
.cinema-workbench :is(button,input,select,textarea,[contenteditable],summary):focus-visible{outline:2px solid var(--hy-gold);outline-offset:3px}
.cinema-workbench :is(.ghost,.secondary){color:var(--hy-text);background:transparent;border-color:var(--hy-line)}
.cinema-workbench :is(button,.button):disabled{opacity:.5;cursor:not-allowed}
.cinema-workbench [hidden],.hy-model-menu[hidden]{display:none!important}
.cinema-workbench :is(h1,h2,h3,p){overflow-wrap:anywhere}
.cinema-workbench .workspace-intro{padding:20px var(--page-gutter) 16px;max-width:1600px}
.cinema-workbench .workspace-intro h1{font-size:24px;line-height:32px}
.cinema-workbench .workspace-intro p{font-size:13px;color:var(--hy-muted)}
.cinema-workbench :is(.workbench-view,.projects-view,.media-view,.production-panel){padding:0 var(--page-gutter) 24px;max-width:1600px;min-width:0}
.cinema-workbench :is(.studio-navigation,.studio-topbar){background:var(--hy-bg);border-color:var(--hy-line)}
.cinema-workbench .navigation-caption{font-size:12px;color:var(--hy-muted);letter-spacing:.04em}
.cinema-workbench :is(.workflow-step,.media-navigation,.prompt-library-toggle){font-size:14px;min-height:40px}
.cinema-workbench :is(.studio-topbar-actions button,.studio-breadcrumb,.studio-footer){font-size:12px}
.cinema-workbench :is(.studio-topbar-actions button){min-height:32px;padding:6px 10px}
.cinema-workbench :is(.media-eyebrow,.vs-kicker,.sc-kicker){font-size:11px;letter-spacing:.12em;color:var(--hy-muted)}
.cinema-workbench :is(.vs-muted,.vs-note,.sc-muted,.media-note,.production-muted){font-size:12px;line-height:1.6;color:var(--hy-muted)}
.cinema-workbench :is(.vs-panel,.sc-card,.commerce-card,.media-card,.project-card,.sc-overview-card,.vs-directory-card,.vs-preparation-tools,.vs-library-drawer,.vs-unified-settings){background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;box-shadow:none}
.cinema-workbench :is(.sc-overview-card,.project-card,.vs-directory-card){padding:20px;min-height:220px}
.cinema-workbench :is(.sc-overview-card h3,.project-card h3,.vs-directory-card h3){font-size:18px;line-height:1.5;margin:16px 0 8px}
.cinema-workbench :is(.sc-overview-grid,.project-grid,.vs-directory-grid){gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.cinema-workbench :is(.project-stats>div,.sc-overview-metrics>div){padding:16px 20px;min-height:76px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px}
.cinema-workbench :is(.project-stats strong,.sc-overview-metrics strong){font-size:24px;color:var(--hy-text)}
.cinema-workbench :is(.sc-overview-card small,.sc-overview-card time,.project-card small,.vs-directory-card small){font-size:12px;color:var(--hy-muted)}
.cinema-workbench :is(.sc-overview-card.is-recent,.project-card.is-current){border-color:var(--ink-line-strong);background:var(--ink-accent-soft)}
.cinema-workbench .sc-blank-drafts{margin-top:24px;border-top:1px solid var(--hy-line);padding-top:16px}
.cinema-workbench .sc-blank-drafts>summary{cursor:pointer;color:var(--hy-muted);padding:8px 0}
.cinema-workbench .sc-blank-drafts .sc-overview-grid{margin-top:16px}
.cinema-workbench #scriptCreateMount .sc-mode-head{gap:16px;padding:12px 0;margin-bottom:20px;flex-wrap:wrap;border-bottom:1px solid var(--hy-line)}
.cinema-workbench #scriptCreateMount .sc-mode-option{border-radius:8px;font-size:14px;padding:9px 14px}
.cinema-workbench #scriptCreateMount .sc-head-controls{gap:8px;flex-wrap:wrap}
.cinema-workbench #scriptCreateMount .sc-project-picker{max-width:280px}
.cinema-workbench #scriptCreateMount .sc-dynamic-top{padding:0 0 16px;margin:0;border:0}
.cinema-workbench #scriptCreateMount .sc-dynamic-top h2{font-size:22px;margin:4px 0}
.cinema-workbench #scriptCreateMount .sc-dynamic-layout{grid-template-columns:200px minmax(0,1fr);gap:24px}
.cinema-workbench #scriptCreateMount .sc-dynamic-nav{padding:12px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;align-self:start}
.cinema-workbench .sc-stage-group{border:0;border-bottom:1px solid var(--hy-line);padding:8px 0}
.cinema-workbench .sc-stage-group:last-child{border-bottom:0}
.cinema-workbench .sc-stage-group>summary{padding:8px;font-size:14px;color:var(--hy-muted);cursor:pointer}
.cinema-workbench .sc-stage-group>summary.is-current{color:var(--hy-gold)}
.cinema-workbench #scriptCreateMount .sc-dynamic-nav button{width:100%;margin:4px 0;min-height:36px;text-align:left;font-size:13px;background:transparent;border-color:transparent}
.cinema-workbench #scriptCreateMount .sc-dynamic-nav button.is-current{background:var(--ink-accent-soft);border-color:var(--ink-line-strong);color:var(--hy-gold)}
.cinema-workbench #scriptCreateMount .sc-dynamic-main{max-width:960px;min-width:0}
.cinema-workbench #scriptCreateMount :is(.sc-dynamic-prose,.sc-prose){font-size:16px;line-height:1.8;max-width:860px}
.cinema-workbench #scriptCreateMount :is(.sc-card,.sc-dynamic-card){padding:20px;border-color:var(--hy-line);background:var(--hy-panel);border-radius:12px}
.cinema-workbench #scriptCreateMount .sc-support{padding:12px 0;background:none;border:0;border-top:1px solid var(--hy-line);border-radius:0}
.cinema-workbench #scriptCreateMount .sc-support-body>details{padding:12px 0;background:none;border:0;border-bottom:1px solid var(--hy-line);border-radius:0}
.cinema-workbench #scriptCreateMount .sc-conversation-history{max-height:180px;overflow:auto}
/* Native selects remain the authority; the visual picker is a compact, searchable menu. */
.hy-model-control{display:flex;gap:8px;min-width:0;align-items:center;flex-wrap:wrap}
.hy-model-trigger{width:100%;min-width:160px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;background:var(--ink-input)!important;color:var(--ink-text)!important;border:1px solid var(--ink-line)!important;min-height:40px!important}
.hy-reference-mode{flex:1;min-width:160px}
.hy-model-menu{position:fixed;z-index:13000;padding:12px;background:var(--ink-raised);color:var(--ink-text);border:1px solid var(--ink-line-strong);border-radius:12px;box-shadow:0 12px 40px var(--ink-shadow);overflow:auto;font:14px/1.5 system-ui,"Microsoft YaHei",sans-serif}
.hy-model-menu.is-inline{position:static;width:100%!important;max-height:none!important;box-shadow:none;border:0;padding:0;background:transparent}
.hy-menu-search{display:block;font-size:12px;color:var(--ink-muted);margin-bottom:8px}
.hy-menu-search input{display:block;width:100%;min-height:40px;font:14px system-ui;border-radius:8px;padding:8px 12px;background:var(--ink-input);color:var(--ink-text);border:1px solid var(--ink-line-strong);margin-top:6px}
.hy-model-rows{display:grid;gap:4px;max-height:320px;overflow:auto;scrollbar-width:thin}
.hy-model-group-heading{margin:4px 0 0;padding:9px 12px 5px;font-size:12px;font-weight:700;color:var(--ink-accent);border-top:1px solid var(--ink-line)}
.hy-model-option{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:56px!important;text-align:left;background:transparent!important;color:var(--ink-text)!important;border:1px solid transparent!important;border-radius:8px!important;padding:10px 12px!important;font:14px/1.5 system-ui,"Microsoft YaHei",sans-serif;cursor:pointer}
.hy-model-option:hover,.hy-model-option:focus-visible{background:var(--ink-line)!important;outline:2px solid var(--ink-accent);outline-offset:-2px}
.hy-model-option[aria-pressed=true]{background:var(--ink-accent-soft)!important;border-color:var(--ink-line-strong)!important}
.hy-model-option strong{display:block;font-weight:600;overflow-wrap:anywhere}
.hy-model-option small{display:block;font-size:12px;color:var(--ink-muted);margin-top:2px}
.hy-model-option-copy{min-width:0;flex:1}
.hy-model-description{display:block;margin-top:5px;font-size:12px;line-height:1.6;font-weight:400;color:var(--ink-muted);white-space:pre-wrap;overflow-wrap:anywhere}
.hy-model-price{display:block;margin-top:4px;font-size:12px;font-weight:600;color:var(--ink-accent)}
.hy-menu-empty{color:var(--ink-muted);font-size:13px;padding:12px}
.cinema-workbench :is(.vs-parameter-chip,.generation-parameter-chip){min-height:36px;background:transparent;border:1px solid var(--hy-line);border-radius:8px;color:var(--hy-text);font-size:13px;padding:8px 12px}
.cinema-workbench :is(.vs-parameter-pop,.generation-parameter-pop){background:var(--hy-hover);border:1px solid var(--ink-line-strong);border-radius:12px;padding:16px}
.cinema-workbench .vs-parameter-pop h3{font-size:16px;margin:0 0 12px}
.cinema-workbench .vs-parameter-pop .vs-model-options{display:grid;gap:6px}
.cinema-workbench .vs-parameter-pop [data-video-field=model]{text-align:left}
.cinema-workbench #vs-unified-settings{padding:12px 16px;margin-bottom:12px}
.cinema-workbench #vs-unified-settings>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--hy-muted);padding:0 0 8px}
.cinema-workbench #vs-batch-params{margin:0;padding:0;border:0;background:transparent}
.cinema-workbench .vs-params-grid{gap:12px}
.cinema-workbench .vs-preparation-tools,.cinema-workbench #vs-batch-editor>.vs-library-drawer{padding:10px 16px;margin:8px 0}
.cinema-workbench :is(.vs-preparation-tools,.vs-library-drawer)>summary{cursor:pointer;font-size:13px;color:var(--hy-muted)}
.cinema-workbench .vs-source{border:0;margin:12px 0 0;background:transparent;padding:0}
.cinema-workbench .vs-source>summary{font-size:13px}
.cinema-workbench .vs-collection-context{gap:8px;margin:12px 0}
.cinema-workbench .vs-editing-shell{grid-template-columns:200px minmax(0,1fr);gap:16px}
.cinema-workbench .vs-shot-workspace{grid-template-columns:minmax(0,1fr) 280px;gap:16px;min-width:0}
.cinema-workbench .vs-shot-directory{background:var(--hy-panel);padding:12px;border:1px solid var(--hy-line);border-radius:12px}
.cinema-workbench :is(.vs-shot-editor,.vs-shot-materials){background:var(--hy-panel);padding:16px;border:1px solid var(--hy-line);border-radius:12px;min-width:0}
.cinema-workbench .vs-shot-editor .vs-prompt-rich{font-size:15px;line-height:1.75;min-height:260px;max-height:55dvh;overflow:auto;padding:16px;background:var(--hy-input);border:1px solid var(--hy-line);border-radius:8px}
.cinema-workbench .vs-shot-materials :is(h3,h4){font-size:14px}
.cinema-workbench .vs-shot-reference{font-size:13px}
.cinema-workbench .vs-row-card{padding:0;background:none;border:0;box-shadow:none}
.cinema-workbench .vs-row-card>.vs-row-head{padding:0 0 12px;border-bottom:1px solid var(--hy-line);margin-bottom:16px}
.cinema-workbench .vs-row-title{font-size:18px}
.cinema-workbench .vs-batch-dock{padding:12px 16px;background:var(--ink-info-soft);border:1px solid var(--ink-line-strong);border-radius:12px;gap:12px;margin-top:16px;font-size:13px}
.cinema-workbench :is(.vs-mention-menu,.vs-batch-mentions,.vs-single-mentions){max-width:320px;max-height:340px;background:var(--hy-hover);border:1px solid var(--ink-line-strong);border-radius:12px}
.cinema-workbench :is(.vs-mention-menu,.vs-batch-mentions,.vs-single-mentions) button{font-size:13px;min-height:48px}
.cinema-workbench :is(.vs-prompt-asset-chip,.vs-prompt-chip){font-size:13px;background:var(--ink-info-soft);border:1px solid var(--ink-line-strong);border-radius:6px}
/* Result space yields to the composer in empty and low-height windows. */
.cinema-workbench #videoPanel.generation-surface:has(#vs-single:not([hidden])){display:flex;flex-direction:column;overflow:auto;position:relative}
.cinema-workbench #videoPanel.generation-surface #vs-single:not([hidden]){display:flex;flex:1;min-height:0}
.cinema-workbench #videoPanel.generation-surface .vs-single-grid.vs-timeline-layout{display:flex;flex-direction:column;min-height:0;width:100%;height:auto}
.cinema-workbench #videoPanel.generation-surface .vs-header{display:none}
.cinema-workbench .generation-surface .generation-shelf:not([hidden]){position:absolute;top:54px;right:var(--page-gutter);bottom:16px;width:280px;z-index:30;background:var(--hy-panel);border:1px solid var(--ink-line-strong);border-radius:12px;box-shadow:0 12px 36px var(--ink-shadow);display:flex;padding:16px}
.cinema-workbench .generation-shelf-head button{display:block}
.cinema-workbench .generation-shelf-tabs{display:flex;gap:6px}
.cinema-workbench .generation-shelf-tabs button{flex:1;white-space:nowrap;padding:8px;font-size:13px}
.cinema-workbench #generationShelfItems{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cinema-workbench .generation-shelf-asset img{height:110px;object-fit:contain}
.cinema-workbench .generation-shelf-asset strong{font-size:12px}
.cinema-workbench .generation-surface #vs-tab-batch{display:none}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.cinema-workbench #videoPanel .vs-timeline-layout .generation-control-bar{display:flex;flex-wrap:wrap;gap:8px;margin:0;min-width:0;border:0;padding:0}
.cinema-workbench #videoPanel .vs-timeline-layout .generation-chip{font-size:13px;min-height:36px;padding:8px 10px;border-radius:8px;background:var(--hy-input);border:1px solid var(--hy-line);color:var(--hy-text)}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 8px;min-width:270px}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar .generation-estimated-cost{grid-column:1/-1;grid-row:1;font-size:12px;text-align:right;white-space:normal}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar .vs-check{grid-column:1;grid-row:2;white-space:nowrap}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar .vs-check input[type=checkbox]{min-height:0;width:14px;height:14px}
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single{grid-column:2;grid-row:2;width:auto;min-width:130px}
.cinema-workbench .vs-submit-reason{font-size:12px;color:var(--ink-warning);margin:8px 0 0;grid-column:1/-1;line-height:1.6}
.cinema-workbench #videoPanel #vs-batch .vs-params{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(100px,1fr));gap:12px}
.cinema-workbench #videoPanel #vs-batch .vs-model-field .hy-model-control{flex-wrap:nowrap}
.cinema-workbench #videoPanel #vs-batch .hy-model-trigger{min-width:0;flex:1}
.cinema-workbench #videoPanel #vs-batch .hy-reference-mode{min-width:110px;max-width:130px;flex:0 0 auto}
.cinema-workbench #videoPanel #vs-batch .vs-shot-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}
.cinema-workbench #videoPanel #vs-batch .vs-shot-prompt{background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;padding:16px;min-width:0}
.cinema-workbench #videoPanel #vs-batch .vs-shot-prompt .vs-prompt-rich{font-size:15px;line-height:1.75;min-height:260px;max-height:55dvh;overflow:auto;padding:16px;background:var(--hy-input);border:1px solid var(--hy-line);border-radius:8px}
.cinema-workbench #videoPanel #vs-batch .vs-shot-materials{display:block;padding:16px;border:1px solid var(--hy-line);background:var(--hy-panel);border-radius:12px}
.cinema-workbench #videoPanel #vs-batch .vs-shot-materials>summary{font-size:14px;font-weight:600;cursor:pointer;color:var(--hy-text)}
.cinema-workbench #videoPanel #vs-batch .vs-shot-materials>summary span{font-size:12px;color:var(--hy-muted);margin-left:8px;font-weight:400}
.cinema-workbench #videoPanel #vs-batch .vs-shot-materials[open]>summary{padding-bottom:16px;border-bottom:1px solid var(--hy-line);margin-bottom:16px}
.cinema-workbench .vs-shot-materials-body>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.cinema-workbench .vs-shot-materials-body h3{font-size:14px;margin:0}
.cinema-workbench .storyboard-asset-shelf{margin-top:0;padding:20px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px}
.cinema-workbench .story-entity-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.cinema-workbench .story-entity-card{padding:16px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px}
.cinema-workbench .story-asset-settings{gap:16px;margin:16px 0}
.cinema-workbench .story-asset-toolbar{gap:12px;flex-wrap:wrap;margin:16px 0}
.cinema-workbench .story-asset-toolbar .mini-actions{gap:8px;flex-wrap:wrap}
.cinema-workbench .story-asset-settings small,.cinema-workbench .story-asset-scopes span{font-size:12px;color:var(--hy-muted)}
.cinema-workbench .media-job{padding:16px 20px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;margin-bottom:12px}
.cinema-workbench .media-job .media-muted{font-size:12px;color:var(--hy-muted);line-height:1.6}
.cinema-workbench .media-job .media-prompt-preview{font-size:14px;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:46px}
.cinema-workbench .hy-task-details{font-size:12px;margin:8px 0;color:var(--hy-muted)}
.cinema-workbench .hy-task-details summary{cursor:pointer}
.cinema-workbench .hy-task-details pre{white-space:pre-wrap;font:14px/1.7 inherit;max-height:300px;overflow:auto;color:var(--hy-text);padding:12px;background:var(--hy-input);border-radius:8px}
.cinema-workbench .hy-editor-ai{border-top:1px solid var(--hy-line);margin-top:20px;padding-top:16px}
.cinema-workbench .hy-editor-ai>summary{cursor:pointer;font-size:14px;margin-bottom:12px}
.cinema-workbench .hy-catalog-details>summary{cursor:pointer;font-size:14px}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-results-side>.vs-section-heading{display:none}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer{max-height:none;padding:10px 14px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;flex:0 0 auto}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-scroll{flex:auto;overflow:visible}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-prompt-rich{min-height:160px;max-height:38dvh;overflow:auto;font-size:15px;line-height:1.75;padding:12px}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-bottom{padding-top:7px;border-top:1px solid var(--hy-line);margin-top:7px;align-items:end}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{width:auto;min-width:130px}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-results-side{min-height:72px;flex:1 1 0;overflow:auto}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty{justify-content:safe flex-end;max-width:920px;margin-inline:auto;gap:16px}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-results-side{flex:0 0 auto;height:auto;min-height:0;overflow:visible}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty #vs-single-tasks{flex:none;height:auto}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-empty-results{padding:0;text-align:left;min-height:0;background:none;border:0}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-empty-results h3{font-size:20px;margin:0 0 4px}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-empty-results p{margin:0;font-size:13px}
.cinema-workbench #imagePanel #imageForm{max-height:none;padding:16px 20px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px}
.cinema-workbench #imagePrompt{height:76px;min-height:76px;max-height:76px;padding:10px 12px;font-size:13px;line-height:1.6;resize:none}
.cinema-workbench #imageForm.is-expanded #imagePrompt{height:min(300px,42dvh);min-height:180px;max-height:42dvh}
.cinema-workbench #imagePanel #imageForm{padding:10px 14px;gap:7px}
.generation-image-prompt-footer{display:flex;justify-content:flex-end;padding-top:2px}
.cinema-workbench .generation-image-prompt-footer button{min-height:26px;padding:4px 8px;font-size:11px}
.cinema-workbench #imagePanel .generation-switch{flex-wrap:wrap;min-height:40px;margin-bottom:8px;gap:8px}
.cinema-workbench #imagePanel .generation-image-layout:has(.media-image-empty){justify-content:safe flex-end;max-width:920px;margin-inline:auto;gap:16px}
.cinema-workbench #imagePanel .generation-image-layout:has(.media-image-empty) .media-results{flex:0 0 auto;min-height:0;overflow:visible;padding:0}
.cinema-workbench #imagePanel .generation-image-layout:has(.media-image-empty) .media-results>.media-section-head{display:none}
.cinema-workbench #imagePanel .media-image-empty{min-height:0;padding:0;border:0;background:none;text-align:left}
.cinema-workbench #imagePanel .media-image-empty h3{font-size:20px;margin:0 0 4px}
.cinema-workbench #imagePanel .media-image-empty p{font-size:13px;margin:0}
@media(max-width:767px){.cinema-workbench #imagePanel .generation-image-layout:has(.media-image-empty){justify-content:safe flex-end;padding-top:16px}}
.cinema-workbench :is(.vs-record-prompt,.media-card-prompt){font-size:14px;line-height:1.6}
.cinema-workbench .vs-timeline-record{border-bottom:1px solid var(--hy-line);padding:16px 0;gap:20px}
.cinema-workbench :is(.vs-record-meta,.vs-task-meta,.media-meta){font-size:12px;color:var(--hy-muted)}
.cinema-workbench :is(.vs-record-model,.vs-record-date){font-size:12px}
.cinema-workbench :is(.vs-task-status,.media-status){font-size:12px;line-height:1.5}
.cinema-workbench .vs-task-row{padding:12px 16px;min-height:70px;background:var(--hy-panel);border-color:var(--hy-line);border-radius:8px}
.cinema-workbench :is(.media-grid,.asset-grid){gap:16px}
.cinema-workbench .media-asset img{height:180px;object-fit:contain;background:var(--hy-input)}
.cinema-workbench .media-toolbar{gap:12px;align-items:center;flex-wrap:wrap}
.cinema-workbench .media-toolbar input[type=search]{flex:1;max-width:400px}
.cinema-workbench :is(.media-task,.media-task-card){padding:16px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;font-size:14px}
.cinema-workbench #editorPanel .media-editor-tools{padding:16px;background:var(--hy-panel);border-color:var(--hy-line)}
.cinema-workbench #editorPanel:has(#editCanvas[hidden]) .media-editor-tools{display:flex;align-self:start}
.cinema-workbench #editorPanel:has(#editCanvas[hidden]) .media-editor-tools>:not(h2):not(#editorPick):not(label[for=editorUpload]):not(#editorName){display:none}
.cinema-workbench label.button:not(.ghost){color:var(--ink-warning-soft);background:var(--hy-gold);font-weight:600;cursor:pointer}
.cinema-workbench :is(.production-asset-card,.production-item){background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:12px;padding:16px;min-width:0}
.cinema-workbench :is(.production-asset-card textarea,.production-item textarea){font-size:14px;line-height:1.7}
.cinema-workbench .production-asset-grid{gap:16px}
.cinema-workbench :is(.commerce-card,.usage-card){padding:20px}
.cinema-workbench :is(.commerce-table,.usage-table) :is(th,td){font-size:13px;padding:12px}
.cinema-workbench .hy-development-badge{font-size:11px;border:1px solid var(--ink-line-strong);border-radius:5px;color:var(--ink-info);padding:2px 6px;white-space:nowrap}
@media (max-width:1439px){.cinema-workbench{--page-gutter:20px}.cinema-workbench .vs-shot-workspace{grid-template-columns:minmax(0,1fr)}.cinema-workbench .vs-shot-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cinema-workbench #scriptCreateMount .sc-dynamic-layout{grid-template-columns:180px minmax(0,1fr);gap:16px}}
@media (max-width:1179px){.cinema-workbench{--page-gutter:16px}.cinema-workbench .vs-editing-shell{grid-template-columns:180px minmax(0,1fr);gap:12px}.cinema-workbench .studio-topbar-actions{gap:6px}.cinema-workbench #studioProjectName{max-width:130px}.cinema-workbench .vs-params-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:959px){.cinema-workbench .vs-editing-shell{grid-template-columns:1fr}.cinema-workbench .vs-shot-directory{max-height:260px;overflow:auto}.cinema-workbench #scriptCreateMount .sc-dynamic-layout{grid-template-columns:1fr}.cinema-workbench #scriptCreateMount .sc-dynamic-nav{display:flex;flex-wrap:wrap;gap:8px}.cinema-workbench .sc-stage-group{flex:1;min-width:140px}.cinema-workbench .sc-dynamic-main{width:100%}.cinema-workbench .vs-shot-materials{grid-template-columns:1fr}.cinema-workbench .sc-head-controls{width:100%}}
@media (max-width:767px){.cinema-workbench{--page-gutter:12px}.cinema-workbench :is(button,.button){min-height:44px}.cinema-workbench .workspace-intro{padding-top:16px}.cinema-workbench .workspace-intro h1{font-size:22px}.cinema-workbench .vs-params-grid{grid-template-columns:1fr}.cinema-workbench :is(.project-stats,.sc-overview-metrics){grid-template-columns:1fr;gap:8px}.cinema-workbench .sc-head-controls :is(select,button){max-width:100%}.cinema-workbench .vs-timeline-record{grid-template-columns:1fr}.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer{padding:12px}.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-bottom{flex-wrap:wrap}.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{width:100%}.cinema-workbench .vs-batch-dock{position:static;flex-wrap:wrap}}
@media (max-height:760px) and (min-width:1000px){.cinema-workbench #videoPanel:has(#vs-single:not([hidden])){overflow:auto}.cinema-workbench #videoPanel .vs-timeline-layout .vs-prompt-rich{min-height:120px;max-height:28dvh}.cinema-workbench #videoPanel .vs-timeline-layout .vs-results-side{min-height:56px}.cinema-workbench #videoPanel .vs-timeline-layout.is-empty{flex:none}.cinema-workbench #imagePanel.generation-surface{overflow:auto}}
@media (prefers-reduced-motion:reduce){.cinema-workbench *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (max-width:1439px){.cinema-workbench #videoPanel #vs-batch .vs-shot-columns{grid-template-columns:1fr}.cinema-workbench #videoPanel #vs-batch .vs-shot-materials-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cinema-workbench #videoPanel #vs-batch .vs-shot-materials-body>header,.cinema-workbench #videoPanel #vs-batch .vs-row-references{grid-column:1/-1}.cinema-workbench #videoPanel #vs-batch .vs-row-references{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1179px){.cinema-workbench #videoPanel #vs-batch .vs-params{grid-template-columns:repeat(3,minmax(0,1fr))}.cinema-workbench #videoPanel #vs-batch .vs-model-field{grid-column:1/-1}.cinema-workbench .story-asset-settings{grid-template-columns:1fr}.cinema-workbench .storyboard-asset-shelf{padding:16px}}
@media (max-width:767px){.cinema-workbench #videoPanel #vs-batch .vs-params{grid-template-columns:1fr}.cinema-workbench #videoPanel #vs-batch .vs-shot-materials-body,.cinema-workbench #videoPanel #vs-batch .vs-row-references{grid-template-columns:1fr}.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-bottom{grid-template-columns:1fr}.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{justify-content:stretch}.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar button{width:100%}.cinema-workbench .generation-surface .generation-shelf:not([hidden]){width:min(300px,calc(100% - 24px))}}

/* Candidate reading: one draft at a time, optional comparison. */
.cinema-workbench .hy-candidate-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.cinema-workbench .hy-candidate-list{display:grid;gap:8px;position:sticky;top:0}
.cinema-workbench .hy-candidate-summary{border:1px solid var(--hy-line);border-radius:8px;overflow:hidden;background:var(--hy-input)}
.cinema-workbench .hy-candidate-summary button{display:flex;flex-direction:column;align-items:start;gap:8px;width:100%;text-align:left;padding:12px;border:0;border-radius:0;background:transparent;white-space:normal;color:var(--hy-text)}
.cinema-workbench .hy-candidate-summary button[aria-pressed=true]{background:var(--ink-accent-soft);box-shadow:inset 3px 0 var(--hy-gold)}
.cinema-workbench .hy-candidate-summary :is(span,small){font-size:12px;color:var(--hy-muted);line-height:1.6}
.cinema-workbench .hy-candidate-summary small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cinema-workbench .hy-candidate-summary label{display:flex;gap:8px;padding:8px 12px;font-size:12px;margin:0}
.cinema-workbench .hy-candidate-detail{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.cinema-workbench .hy-candidate-detail.is-comparing{grid-template-columns:repeat(2,minmax(0,1fr))}
.cinema-workbench .hy-candidate-detail .sc-sample-candidate{margin:0;min-width:0;padding:16px}
.cinema-workbench .hy-candidate-detail .sc-sample-data>div{grid-template-columns:1fr;gap:4px}
.cinema-workbench .hy-candidate-hint{font-size:12px;color:var(--hy-muted)}
.cinema-workbench .story-chat-main>:is(.storyboard-settings,.storyboard-compose,#inferencePanel){background:var(--hy-panel);border-color:var(--hy-line);border-radius:12px}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-results-side .vs-empty-results{padding:0;text-align:left;min-height:0}
.cinema-workbench #videoPanel .vs-timeline-layout.is-empty .vs-results-side .vs-empty-results p{margin:0;line-height:1.5}
@media(max-width:1179px){.cinema-workbench .hy-candidate-workspace{grid-template-columns:1fr}.cinema-workbench .hy-candidate-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));position:static}.cinema-workbench .hy-candidate-hint{grid-column:1/-1}}
@media(max-width:767px){.cinema-workbench .hy-candidate-detail.is-comparing{grid-template-columns:1fr}}

.cinema-workbench #videoPanel #vs-batch #vs-unified-settings:not([open])>summary{padding-bottom:0}
.cinema-workbench #videoPanel #vs-batch #vs-unified-settings{margin:8px 0;padding:10px 16px}
.cinema-workbench #videoPanel #vs-batch #vs-batch-params{padding:12px 0 0;margin:0}
.cinema-workbench #videoPanel #vs-batch #vs-batch-params>p{margin:6px 0 0}
.cinema-workbench #videoPanel #vs-batch .vs-model-field .hy-model-trigger{text-align:left}
.cinema-workbench .media-asset-card .media-asset-copy>strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px;line-height:1.5;font-size:14px}
.cinema-workbench .media-asset-card .media-asset-copy>span{font-size:12px;line-height:1.5;display:block;color:var(--hy-muted)}
.cinema-workbench .media-asset-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}
.cinema-workbench .media-asset-preview{height:180px;min-height:180px;max-height:180px}
.cinema-workbench .media-asset-preview img{width:100%;height:100%;object-fit:contain}

.cinema-workbench .hy-batch-tools{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px;align-items:start;position:relative;z-index:10}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details{margin:0;flex:1;min-width:180px;padding:10px 16px;background:var(--hy-panel);border:1px solid var(--hy-line);border-radius:8px}
.cinema-workbench .hy-batch-tools>details>summary{padding:0!important;list-style:none;white-space:nowrap;cursor:pointer}
.cinema-workbench .hy-batch-tools>details>summary::after{content:'⌄';float:right;margin-left:12px}
.cinema-workbench .hy-batch-tools>details[open]>:not(summary){position:absolute;left:0;right:0;top:46px;max-height:55dvh;overflow:auto;background:var(--hy-panel);border:1px solid var(--ink-line-strong);border-radius:10px;padding:20px;box-shadow:0 16px 40px var(--ink-shadow);z-index:30}
.cinema-workbench .hy-batch-tools .vs-source>summary{display:none}
.cinema-workbench #videoPanel .vs-batch-dock{bottom:0;background:var(--ink-info-soft);backdrop-filter:none;box-shadow:0 -6px 16px var(--ink-shadow);z-index:15}
.cinema-workbench .workspace-intro{padding-block:18px 10px}
.cinema-workbench .workspace-intro p{margin:4px 0 0}
@media(max-width:767px){.cinema-workbench .hy-batch-tools{display:grid;grid-template-columns:1fr}.cinema-workbench .hy-batch-tools>details[open]>:not(summary){position:static;box-shadow:none;margin-top:12px;max-height:55dvh;padding:12px}.cinema-workbench #videoPanel .vs-batch-dock{position:static}}

.cinema-workbench #videoPanel:has(#vs-batch:not([hidden])) .vs-tabs{visibility:hidden;pointer-events:none}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>#vs-unified-settings{margin:0}
.cinema-workbench #videoPanel #vs-batch .vs-batch-dock{bottom:0;background:var(--ink-info-soft)}
.cinema-workbench #videoPanel #vs-status:empty{display:none}
.cinema-workbench #videoPanel #vs-batch .vs-editing-shell{height:auto;min-height:480px}
.cinema-workbench #videoPanel #vs-batch .vs-row-panel{overflow:visible}

.hy-navigation-toggle,.hy-navigation-collapse,.hy-navigation-curtain{display:none}
@media(min-width:900px){
.cinema-workbench .hy-navigation-collapse{display:flex;align-items:center;justify-content:center;align-self:flex-end;flex-shrink:0;gap:7px;min-height:32px;padding:5px 8px;margin:0 0 8px;font-size:11px}
.cinema-workbench .hy-navigation-collapse svg{width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cinema-workbench.hy-navigation-collapsed{--navigation-width:64px}
.cinema-workbench.hy-navigation-collapsed .studio-navigation{padding:12px 7px}
.cinema-workbench.hy-navigation-collapsed .hy-navigation-collapse{align-self:center;width:40px;min-height:36px;padding:7px;margin-bottom:12px}
.cinema-workbench.hy-navigation-collapsed .hy-navigation-collapse-arrow{transform:translateX(29px) scaleX(-1)}
.cinema-workbench.hy-navigation-collapsed :is(.navigation-space,.navigation-caption,.studio-navigation .sidebar-bottom,.hy-navigation-collapse span){display:none}
.cinema-workbench.hy-navigation-collapsed .workflow-steps{gap:4px}
.cinema-workbench.hy-navigation-collapsed .workflow-steps :is(.media-navigation,.workflow-step,.prompt-library-toggle){display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;width:100%;min-height:40px;margin:0;padding:9px 0}
.cinema-workbench.hy-navigation-collapsed .workflow-steps :is(.media-navigation,.workflow-step,.prompt-library-toggle)>:not(svg):not(span[aria-hidden="true"]){display:none}
.cinema-workbench.hy-navigation-collapsed .workflow-steps :is(.media-navigation,.workflow-step,.prompt-library-toggle)>span[aria-hidden="true"]{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;font-size:20px;line-height:1}
.cinema-workbench.hy-navigation-collapsed .workflow-steps svg{flex:0 0 20px;width:20px;height:20px}
}
.cinema-workbench #projectAutosaveStatus{white-space:nowrap;min-width:0;text-overflow:ellipsis;overflow:hidden}
@media(max-width:1179px){.cinema-workbench #projectAutosaveStatus{display:none}}
@media(max-width:899px){
.cinema-workbench{--navigation-width:0px}
.cinema-workbench .studio-shell{grid-template-rows:auto minmax(0,1fr) 26px}
.cinema-workbench .studio-topbar{flex-wrap:wrap}
.cinema-workbench .studio-body{display:block;position:relative;min-width:0}
.cinema-workbench .studio-main{width:100%;height:100%;min-width:0;margin:0}
.cinema-workbench .studio-navigation{display:none;position:fixed;left:0;top:var(--hy-nav-top,100px);bottom:26px;width:228px;background:var(--hy-bg);z-index:120;overflow:auto;padding:12px;border-right:1px solid var(--hy-line)}
.cinema-workbench.hy-navigation-open .studio-navigation{display:block}
.cinema-workbench .studio-navigation :is(.media-navigation,.workflow-step){display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:44px;font-size:14px}
.cinema-workbench .studio-navigation .navigation-space{display:none}
.cinema-workbench .hy-navigation-toggle{display:block;min-height:40px;white-space:nowrap}
.cinema-workbench .hy-navigation-curtain:not([hidden]){display:block;position:fixed;inset:var(--hy-nav-top,100px) 0 26px;border:0;border-radius:0;background:var(--ink-shadow);z-index:119}
.cinema-workbench .studio-topbar{padding:8px 10px;gap:8px;align-content:start;min-height:0}
.cinema-workbench .studio-brand{padding:0;min-width:0;gap:8px}
.cinema-workbench .studio-brand strong{font-size:14px}
.cinema-workbench .studio-brand-mark{width:24px;height:24px}
.cinema-workbench .hy-development-badge{display:none}
.cinema-workbench #toggleLibraryBtn{margin-left:auto;padding:8px;min-width:40px}
.cinema-workbench #toggleLibraryBtn span{display:none}
.cinema-workbench .studio-topbar-actions{flex-wrap:nowrap;width:100%;min-width:0;justify-content:flex-start;overflow:auto;gap:6px}
.cinema-workbench .studio-topbar-actions>*{flex-shrink:0}
.cinema-workbench .studio-topbar-actions button{white-space:nowrap;min-height:32px}
.cinema-workbench .studio-topbar-actions #toggleInspectorBtn,.cinema-workbench .studio-topbar-actions #hyFeedbackOpen{display:none}
.cinema-workbench .workspace-intro{padding:14px 12px 8px}
.cinema-workbench :is(.workbench-view,.projects-view,.media-view,.production-panel){padding:0 12px 20px;width:100%;min-width:0;max-width:100%}
.cinema-workbench #videoPanel{width:100%;padding:0 12px 20px;box-sizing:border-box}
.cinema-workbench #videoPanel .vs-topline{flex-wrap:wrap;min-height:40px;gap:8px}
.cinema-workbench #videoPanel .vs-save-info{margin-left:0;flex-wrap:wrap}
.cinema-workbench #videoPanel #vs-config-toggle{white-space:nowrap;min-width:120px}
.cinema-workbench #videoPanel #vs-batch .vs-collection-bar{display:flex;gap:8px;flex-wrap:wrap}
.cinema-workbench #vs-project-name{flex-basis:100%;width:100%;order:-1}
.cinema-workbench #videoPanel #vs-batch .vs-batch-dock{position:static;bottom:auto}
.cinema-workbench #videoPanel #vs-batch .vs-editing-shell{display:flex;flex-direction:column;height:auto;min-height:0}
.cinema-workbench #videoPanel #vs-batch .vs-shot-columns{display:grid;grid-template-columns:minmax(0,1fr)}
.cinema-workbench #videoPanel #vs-batch .vs-row-panel{min-width:0;padding:0;overflow:visible}
.cinema-workbench #videoPanel #vs-batch .vs-editor-tabs{flex-wrap:wrap}
.cinema-workbench #videoPanel #vs-batch .vs-shot-prompt{padding:12px}
.cinema-workbench #videoPanel #vs-batch .vs-shot-prompt .vs-prompt-rich{min-height:240px;padding:12px}
.cinema-workbench .vs-shot-directory{width:100%;max-height:250px;min-height:0}
.cinema-workbench .vs-tabs{max-width:100%;min-width:0;overflow:auto}
}
.cinema-workbench .studio-shell{grid-template-columns:minmax(0,1fr)}
.cinema-workbench .studio-topbar{min-width:0;max-width:100%}
@media(max-width:899px){.cinema-workbench .studio-body,.cinema-workbench .studio-main{max-width:100%;width:100%}.cinema-workbench .studio-topbar-actions{max-width:100%}.cinema-workbench .studio-topbar #toggleLibraryBtn{flex-shrink:0}.cinema-workbench #videoPanel #vs-batch .vs-collection-bar #vs-project-name{min-width:0;max-width:100%;flex:1 1 100%}.cinema-workbench #videoPanel #vs-batch .vs-topline{width:100%}}
.cinema-workbench #scriptCreateMount .hy-candidate-summary label{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;padding:8px 12px;margin:0;font-size:12px;line-height:20px}
.cinema-workbench #scriptCreateMount .hy-candidate-summary label input{width:16px;height:16px;margin:0;flex:0 0 16px}
.cinema-workbench #scriptCreateMount .sc-sample-title{padding:12px 0;margin:8px 0 16px}
.cinema-workbench #scriptCreateMount .sc-sample-title h1{font-family:inherit;font-size:24px;line-height:1.4;margin:8px 0}
.cinema-workbench #scriptCreateMount .sc-sample-columns h2{font-size:20px;line-height:1.5;margin:0 0 12px}
.cinema-workbench #scriptCreateMount .hy-candidate-detail .sc-assessment>summary{padding:12px;gap:12px}
.cinema-workbench #scriptCreateMount .hy-candidate-detail .sc-score-value{font-size:22px;min-width:60px}
.cinema-workbench #scriptCreateMount .hy-candidate-detail .sc-score-value small{font-size:12px}
.cinema-workbench #videoPanel:has(#vs-batch:not([hidden])) .vs-tabs{display:none}
.cinema-workbench #videoPanel:has(#vs-batch:not([hidden])) .vs-topline{justify-content:flex-end;min-height:36px;margin-bottom:8px}
@media(max-width:767px){.cinema-workbench #videoPanel.generation-surface #vs-single:not([hidden]){flex:1 0 auto}.cinema-workbench #videoPanel .vs-timeline-layout.is-empty{justify-content:safe flex-end;padding-top:16px}.cinema-workbench #videoPanel .vs-upload-strip>p{font-size:12px}.cinema-workbench #videoPanel .vs-topline{padding-right:0}}
.cinema-workbench .vs-stop-slot:has(button[hidden]){display:none}
@media(min-width:768px) and (max-width:1180px){
 .cinema-workbench #videoPanel #vs-batch .vs-batch-dock{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;column-gap:12px;row-gap:4px;padding:10px 12px}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-dock>.vs-check{grid-column:1;grid-row:1/3}
 .cinema-workbench #videoPanel #vs-batch #vs-row-summary{grid-column:2;grid-row:1}
 .cinema-workbench #videoPanel #vs-batch #vs-batch-reference-cost{grid-column:2;grid-row:2;margin-left:0;white-space:normal}
 .cinema-workbench #videoPanel #vs-batch #vs-submit-batch{grid-column:3;grid-row:1/3}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-more{grid-column:4;grid-row:1/3}
 .cinema-workbench #videoPanel #vs-batch .vs-stop-slot:not(:has(button[hidden])){grid-column:1/-1;grid-row:3}
}

/* Keep the existing editor and episode assets in one workspace. Folding assets never replaces the editor. */
.cinema-workbench .story-chat-main>.storyboard-assets-panel{grid-area:assets;order:4;min-width:0;align-self:stretch;flex:0 0 auto}
.cinema-workbench .storyboard-assets-panel>summary{cursor:pointer;padding:12px 4px;color:var(--hy-text);font-size:14px;font-weight:600}
.cinema-workbench .storyboard-assets-panel>summary:focus-visible{outline:2px solid var(--hy-gold);outline-offset:2px;border-radius:4px}
.cinema-workbench .storyboard-assets-panel:not([open])>.storyboard-asset-shelf{display:none}
.cinema-workbench .storyboard-assets-panel[open]>.storyboard-asset-shelf{display:block}
@media(min-width:1101px){.cinema-workbench .story-chat-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(460px,auto) auto;grid-template-areas:'next next' 'settings settings' 'script result' 'assets assets'}}

/* Appearance only. Keep the editor, task queue and account state in their existing modules. */
:root {
  color-scheme: light;
  --ink-bg: #f6f3eb;
  --ink-chrome: #efede4;
  --ink-surface: #fdfbf6;
  --ink-raised: #fdfbf6;
  --ink-input: #faf8f2;
  --ink-hover: #eae7dd;
  --ink-line: #d8d2c5;
  --ink-line-strong: #a6ad9d;
  --ink-text: #252b27;
  --ink-muted: #64665d;
  --ink-muted-2: #61665b;
  --ink-accent: #344a3c;
  --ink-accent-hover: #243b2c;
  --ink-accent-text: #f9f7f0;
  --ink-accent-soft: #e5e9de;
  --ink-danger: #a2362e;
  --ink-danger-soft: #fae9e4;
  --ink-success: #356347;
  --ink-success-soft: #e8efe4;
  --ink-warning: #79561e;
  --ink-warning-soft: #f3ebd5;
  --ink-info: #3c6072;
  --ink-info-soft: #e8eef0;
  --ink-scrim: #18201b66;
  --ink-shadow: #26352a18;
  --ink-seal: #a74338;
  --ink-paper-grain: #4c5b3610;
  --ink-serif: "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;
}
html[data-theme="dark"] {
  color-scheme: dark;
  --ink-bg: #141817;
  --ink-chrome: #191e1b;
  --ink-surface: #1c211e;
  --ink-raised: #232a24;
  --ink-input: #171c19;
  --ink-hover: #2c342d;
  --ink-line: #3c453d;
  --ink-line-strong: #687565;
  --ink-text: #eeeade;
  --ink-muted: #b1b2a7;
  --ink-muted-2: #a0a99b;
  --ink-accent: #e8e5da;
  --ink-accent-hover: #faf6e9;
  --ink-accent-text: #18201b;
  --ink-accent-soft: #303a2e;
  --ink-danger: #ecaca2;
  --ink-danger-soft: #382822;
  --ink-success: #b1ceaa;
  --ink-success-soft: #27372a;
  --ink-warning: #e5c58b;
  --ink-warning-soft: #342f22;
  --ink-info: #b0cbd4;
  --ink-info-soft: #26343a;
  --ink-scrim: #070c0aba;
  --ink-shadow: #00000050;
  --ink-seal: #bb5d50;
  --ink-paper-grain: #dae1c906;
}
html, .cinema-workbench { background: var(--ink-bg); color: var(--ink-text); }
.cinema-workbench {
  --hy-bg: var(--ink-bg); --hy-panel: var(--ink-surface); --hy-input: var(--ink-input);
  --hy-hover: var(--ink-hover); --hy-line: var(--ink-line); --hy-text: var(--ink-text);
  --hy-muted: var(--ink-muted); --hy-gold: var(--ink-accent);
  --bg: var(--ink-bg); --chrome: var(--ink-chrome); --panel: var(--ink-surface);
  --panel-soft: var(--ink-raised); --editor: var(--ink-input);
  --line: var(--ink-line); --line-strong: var(--ink-line-strong);
  --text: var(--ink-text); --muted: var(--ink-muted); --muted-2: var(--ink-muted-2);
  --brand: var(--ink-accent); --brand-strong: var(--ink-accent); --brand-soft: var(--ink-accent-soft);
  --warn: var(--ink-warning); --danger: var(--ink-danger); --info: var(--ink-info); --success: var(--ink-success);
  accent-color: var(--ink-accent);
  scrollbar-color: var(--ink-line-strong) transparent;
}
.cinema-workbench ::selection { background: var(--ink-accent-soft); color: var(--ink-text); }
.cinema-workbench :is(button, .button) { -webkit-text-fill-color: currentColor; }
.cinema-workbench :is(input,textarea)::placeholder, .hy-menu-search input::placeholder { color: var(--ink-muted-2); opacity: 1; }
.cinema-workbench :is(select,select option) { color-scheme: inherit; }
.cinema-workbench .studio-topbar {
  background: var(--ink-surface);
  background-image: radial-gradient(ellipse at 12% 0%,var(--ink-paper-grain),transparent 70%);
  box-shadow: 0 1px 0 var(--ink-line);
}
.cinema-workbench .studio-brand { gap: 10px; }
.cinema-workbench .studio-brand strong {
  font-family: var(--ink-serif); font-size: 19px; font-weight: 600; letter-spacing: .08em; color: var(--ink-text);
}
.cinema-workbench .studio-topbar .hy-ink-seal { width: 34px; height: 34px; }
.hy-ink-seal { padding: 0; background: none; stroke: none; flex: none; }
.hy-ink-seal text { stroke: none; }
.cinema-workbench .studio-navigation { background: var(--ink-chrome); padding-inline: 12px; }
.cinema-workbench .navigation-space { gap: 10px; border-color: var(--ink-line); }
.cinema-workbench .navigation-space-mark {
  background: var(--ink-seal); color: #f6f3eb; font: 22px/1 var(--ink-serif);
  border: 1px solid var(--ink-seal); border-radius: 5px; width: 32px; height: 34px;
}
.cinema-workbench .navigation-space strong { color: var(--ink-text); }
.cinema-workbench .navigation-caption { letter-spacing: .14em; margin-top: 18px; }
.cinema-workbench :is(.workflow-step,.media-navigation,.prompt-library-toggle) { border-radius: 12px; color: var(--ink-muted); }
.cinema-workbench :is(.workflow-step,.media-navigation,.prompt-library-toggle):hover { background: var(--ink-hover); color: var(--ink-text); }
.cinema-workbench :is(.workflow-step,.media-navigation,.prompt-library-toggle):is(.active,.is-active,[aria-current="page"],[aria-pressed="true"]) {
  background: var(--ink-accent-soft); border-color: transparent; color: var(--ink-text); box-shadow: inset 3px 0 var(--ink-seal);
}
.cinema-workbench :is(.workspace-intro h1,.view-heading h1,.project-toolbar h2,.sc-dynamic-top h2,.vs-directory-card h3,.project-card h3,.sc-overview-card h3) {
  font-family: var(--ink-serif); font-weight: 600; letter-spacing: .025em;
}
.cinema-workbench .view-eyebrow { color: var(--ink-muted); font-size: 10px; letter-spacing: .2em; }
.cinema-workbench .workspace-intro { padding-top: 24px; padding-bottom: 20px; }
.cinema-workbench :is(.project-card,.sc-overview-card,.vs-directory-card,.project-stats>div,.sc-overview-metrics>div) { border-radius: 18px; }
.cinema-workbench :is(.project-card,.sc-overview-card,.vs-directory-card) { box-shadow: 0 5px 20px var(--ink-shadow); }
.cinema-workbench :is(.project-card,.sc-overview-card,.vs-directory-card):hover { border-color: var(--ink-line-strong); }
.cinema-workbench :is(.sc-card,.vs-panel,.media-card,.commerce-card,.vs-unified-settings,.vs-preparation-tools,.vs-library-drawer,.modal-card) { border-radius: 14px; }
.cinema-workbench :is(.ghost,.secondary):hover { background: var(--ink-hover); color: var(--ink-text); }
.cinema-workbench :is(.studio-statusbar,.studio-inspector,.studio-library) { background: var(--ink-chrome); color: var(--ink-muted); border-color: var(--ink-line); }
.cinema-workbench :is(.vs-parameter-pop,.generation-parameter-pop,.hy-model-menu,.project-create-dialog,.billing-confirm) { box-shadow: 0 18px 52px var(--ink-shadow); }
.hy-theme-control { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; margin: 0; white-space: nowrap; color: var(--ink-muted); font-size: 12px; }
.cinema-workbench .studio-topbar-actions .hy-theme-control { flex: 0 0 auto; min-width: max-content; }
.hy-theme-control>span { font-size: 12px; }
#hy-workbench-theme, #hy-login-theme {
  width: auto; min-width: 120px; min-height: 34px; max-width: 160px; margin: 0;
  padding: 6px 26px 6px 10px; background: var(--ink-input); color: var(--ink-text);
  border: 1px solid var(--ink-line); border-radius: 10px; font: 12px/1.4 system-ui,"Microsoft YaHei",sans-serif;
}
.hy-theme-control select:focus-visible { outline: 2px solid var(--ink-accent); outline-offset: 3px; }
#workbenchLogin { background: var(--ink-bg); }
#workbenchLogin .account-landscape { opacity: .18; }
#workbenchLogin::before { background: linear-gradient(90deg,var(--ink-bg),transparent 75%),linear-gradient(0deg,var(--ink-bg),transparent 70%); }
#workbenchLogin::after { opacity: .2; }
#workbenchLogin :is(.account-entry-header,.account-login-card) { background: var(--ink-surface); border-color: var(--ink-line); }
#workbenchLogin .account-entry-brand { color: var(--ink-text); font-family: var(--ink-serif); }
#workbenchLogin .account-entry-mark { border: 0; background: none; }
#workbenchLogin .account-entry-mark .hy-ink-seal { width: 38px; height: 38px; }
#workbenchLogin .account-welcome :is(h2,em), #workbenchLogin .account-login-card h1 { color: var(--ink-text); }
#workbenchLogin .account-tagline { color: var(--ink-muted); }
#workbenchLogin .account-entry-header button { background: var(--ink-accent-soft); color: var(--ink-text); border-color: var(--ink-line); }
html[data-theme="dark"] #workbenchLogin .account-landscape { opacity: .48; }
@media(max-width: 899px) {
  .cinema-workbench .studio-navigation { padding-inline: 12px; }
  .cinema-workbench .workspace-intro { padding-top: 18px; padding-bottom: 16px; }
  .hy-theme-control>span { display: none; }
  .cinema-workbench .studio-topbar-actions .hy-theme-control { order: -1; margin: 0; }
}
@media(max-width: 480px) {
  #workbenchLogin .account-entry-header { padding-inline: 16px; gap: 8px; }
  #workbenchLogin .account-entry-actions { gap: 6px; }
  #hy-login-theme { min-width: 108px; max-width: 124px; }
  #workbenchLogin #accountEnter { display: none; }
  .cinema-workbench .studio-brand strong { font-size: 17px; }
}
.cinema-workbench .studio-shell { grid-template-rows: auto minmax(0,1fr) 26px; }
.cinema-workbench .studio-topbar { gap: 14px; }
@media(min-width:900px) and (max-width:1450px) {
  .cinema-workbench .studio-breadcrumb, .cinema-workbench #projectAutosaveStatus { display: none; }
  .cinema-workbench .project-autosave { flex-wrap: nowrap; flex-shrink: 0; margin-left: auto; }
  .cinema-workbench .studio-topbar-actions { flex-wrap: nowrap; margin-left: 0; }
  .hy-theme-control>span { display: none; }
}
@media(min-width:900px) and (max-width:1179px) {
  .cinema-workbench .studio-topbar { flex-wrap: wrap; }
  .cinema-workbench .studio-topbar-actions { width: 100%; justify-content: flex-end; }
}
/* Single generation uses the workspace width, with one compact composer toolbar. */
.cinema-workbench .studio-main:has(.generation-surface:not([hidden])) .workspace-intro{max-width:none;width:100%;padding:12px 24px 6px}
.cinema-workbench .studio-main:has(#videoPanel #vs-single:not([hidden])) .workspace-intro,.cinema-workbench .studio-main:has(#imagePanel:not([hidden])) .workspace-intro{max-width:none;width:100%;margin-inline:0;padding:12px 24px 6px;box-sizing:border-box}
.cinema-workbench :is(#imagePanel,#videoPanel:has(#vs-single:not([hidden]))){max-width:none;width:100%;margin:0;padding-inline:24px;box-sizing:border-box}
.cinema-workbench #imagePanel,.cinema-workbench #videoPanel:has(#vs-single:not([hidden])){animation:none;transform:none}
.cinema-workbench #videoPanel.generation-surface .vs-single-grid.vs-timeline-layout,.cinema-workbench #videoPanel .vs-timeline-layout.is-empty,.cinema-workbench #imagePanel .generation-image-layout,.cinema-workbench #imagePanel .generation-image-layout:has(.media-image-empty){max-width:none;width:100%;margin-inline:0}
.cinema-workbench .generation-switch{min-height:36px;margin-bottom:4px}
.cinema-workbench #videoPanel .vs-topline{margin-bottom:4px;min-height:36px}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-results-side>.vs-section-heading{margin-bottom:6px}
.cinema-workbench #videoPanel .vs-timeline-record{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr);gap:24px}
.cinema-workbench #videoPanel .vs-record-stage,.cinema-workbench #videoPanel .vs-record-result.is-complete .vs-record-stage{max-height:clamp(300px,48dvh,560px);aspect-ratio:16/9}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer,.cinema-workbench #imagePanel #imageForm{position:relative;border-radius:20px;padding:12px 16px;gap:6px}
.cinema-workbench #videoPanel .hy-reference-composer .vs-composer-scroll,.cinema-workbench #imagePanel #imageForm.hy-reference-composer{display:flex;flex-direction:column;gap:6px;min-width:0;padding:0;overflow:visible}
.cinema-workbench #imagePanel #imageForm.hy-reference-composer{padding:12px 16px}
.cinema-workbench .hy-reference-composer .hy-reference-dock{width:100%;height:56px;min-height:56px;display:flex;gap:8px;align-items:center;margin:0;padding-right:32px;box-sizing:border-box}
.cinema-workbench :is(#imageRefs,#vs-single-materials).hy-reference-stack,.cinema-workbench .hy-reference-dock.is-expanded :is(#imageRefs,#vs-single-materials).hy-reference-stack{position:static;display:flex;gap:8px;align-items:center;height:56px;min-height:56px;width:auto;max-width:calc(100% - 80px);overflow:auto;padding:0 8px;margin:0;border:0;border-radius:0;box-shadow:none;background:transparent;scrollbar-width:thin}
.cinema-workbench :is(#imagePanel #imageRefs,#videoPanel #vs-single-materials)>.hy-ref-card,.cinema-workbench .hy-reference-dock.is-expanded :is(#imagePanel #imageRefs,#videoPanel #vs-single-materials)>.hy-ref-card{position:relative;left:auto;top:auto;flex:0 0 42px;width:42px;height:48px;visibility:visible;pointer-events:auto;transform:none;margin:3px 0;padding:2px;z-index:auto}
.cinema-workbench .hy-reference-composer .hy-ref-preview strong,.cinema-workbench .hy-reference-composer .hy-ref-preview small,.cinema-workbench #vs-single-materials .hy-ref-preview>span{display:none!important}
.cinema-workbench .hy-reference-composer .hy-ref-remove{top:0!important;right:0!important;width:18px!important;height:18px!important;min-height:18px!important;font-size:12px!important}
.cinema-workbench .hy-reference-composer .hy-ref-card:hover .hy-ref-remove,.cinema-workbench .hy-reference-composer .hy-ref-card:focus-within .hy-ref-remove{opacity:1;pointer-events:auto}
.cinema-workbench .hy-reference-composer .hy-reference-count{position:static;min-height:28px;width:auto;height:28px;margin:0;padding:2px 6px;border:0;background:transparent;color:var(--ink-muted);box-shadow:none}
.cinema-workbench .hy-reference-composer .hy-reference-add-menu{position:relative;left:auto;right:auto;top:auto;bottom:auto;margin:0}
.cinema-workbench .hy-reference-composer .hy-reference-add-menu>summary{min-height:30px;width:30px;height:30px;font-size:20px;border:0;box-shadow:none;background:var(--ink-raised)}
.cinema-workbench .hy-reference-dock.is-empty{height:30px;min-height:30px}
.cinema-workbench .hy-reference-composer .vs-prompt-block{margin:0;min-width:0;position:static}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-prompt-rich,.cinema-workbench #imagePrompt{height:76px;min-height:76px;max-height:76px;padding:4px 6px;border:0;border-radius:0;background:transparent;font-size:14px;line-height:1.75;box-shadow:none;overflow:auto;resize:none}
.cinema-workbench .hy-reference-composer .vs-prompt-footer,.cinema-workbench .generation-image-prompt-footer{margin:0;padding:0;min-height:0;position:static}
.cinema-workbench #vs-single-count,.cinema-workbench .hy-reference-composer .vs-model-info{display:none}
.cinema-workbench .hy-reference-composer .generation-image-input{position:static;min-width:0;width:100%}
.cinema-workbench .hy-reference-composer .vs-model-help{display:none}
.cinema-workbench .hy-compose-expand{position:absolute;top:10px;right:10px;z-index:40;width:30px;min-height:30px!important;padding:2px!important;border:0!important;background:transparent!important;color:var(--ink-muted);font-size:19px!important;line-height:1}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-bottom{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px;border:0;margin:4px 0 0;padding:0}
.cinema-workbench #videoPanel .vs-timeline-layout .generation-control-bar{gap:4px;flex:1;min-width:200px;padding:0;margin:0;border:0}
.cinema-workbench #videoPanel .generation-control-bar :is(.generation-chip,#vs-insert-reference),.cinema-workbench #imageForm .generation-control-bar button{min-height:32px;padding:5px 7px;font-size:12px;border:0;background:transparent;border-radius:8px}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;width:auto;min-width:0;gap:10px;margin:0;padding:0}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar .generation-estimated-cost{font-size:12px;white-space:nowrap}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar label{display:none}
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single{min-height:36px;min-width:36px;width:36px;height:36px;padding:0;font-size:0;border-radius:50%;position:relative;display:grid;place-items:center;flex:none}
.cinema-workbench #vs-submit-single::after{content:'↑';font-size:23px;line-height:1}
.cinema-workbench #vs-submit-single :is(svg,span){display:none}
.cinema-workbench #imageForm .generation-submit-group{display:flex;align-items:center;gap:10px;width:auto;margin-left:auto}
.cinema-workbench #imageForm .generation-submit-group button{min-height:36px;width:40px;height:36px;min-width:40px;padding:0;border-radius:50%;font-size:0;background:var(--ink-accent);color:var(--ink-accent-text)}
.cinema-workbench #imageForm .generation-submit-group button::after{content:'↑';font-size:23px;line-height:1}
.hy-compose-curtain{position:fixed;inset:0;z-index:69;border:0;border-radius:0;background:color-mix(in srgb,var(--ink-bg) 65%,transparent);backdrop-filter:blur(3px)}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded,.cinema-workbench #imagePanel #imageForm.is-expanded{position:fixed;z-index:70;left:var(--composer-left,20px);right:var(--composer-right,16px);top:90px;bottom:42px;width:auto;height:auto;max-height:none;display:flex;flex-direction:column;gap:12px;padding:20px;border:1px solid var(--ink-line-strong);box-shadow:0 16px 60px var(--ink-shadow);overflow:visible}
.cinema-workbench #videoPanel .vs-composer.is-expanded .vs-composer-scroll{flex:1;min-height:0}
.cinema-workbench #videoPanel .vs-composer.is-expanded .vs-prompt-block,.cinema-workbench #imageForm.is-expanded .generation-image-input{flex:1;min-height:0;display:flex;flex-direction:column}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded .vs-prompt-rich,.cinema-workbench #imageForm.is-expanded #imagePrompt{height:100%;min-height:0;max-height:none;flex:1;padding:8px;font-size:15px}
.cinema-workbench #imageForm.is-expanded .generation-control-bar{flex:none}
@media(max-width:850px){.cinema-workbench :is(#imagePanel,#videoPanel:has(#vs-single:not([hidden]))){padding-inline:12px}.cinema-workbench .studio-main:has(.generation-surface:not([hidden])) .workspace-intro{padding-inline:12px}.cinema-workbench #videoPanel .vs-timeline-record{grid-template-columns:1fr;gap:10px}.cinema-workbench #videoPanel .vs-record-stage{max-height:45dvh}.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded,.cinema-workbench #imagePanel #imageForm.is-expanded{left:10px;right:10px;top:104px;bottom:30px;padding:14px}.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{margin-left:auto}.cinema-workbench #videoPanel .vs-composer .generation-control-bar{min-width:0}}

/* Completed videos occupy their own aspect ratio, never a full-width black stage. */
.cinema-workbench #videoPanel .vs-timeline-record{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-block:20px}
.cinema-workbench #videoPanel .vs-record-copy{width:100%;max-width:1120px}
.cinema-workbench #videoPanel .vs-record-copy .vs-task-prompt{-webkit-line-clamp:2}
.cinema-workbench #videoPanel .vs-record-copy .vs-task-specs{margin:6px 0;font-size:12px}
.cinema-workbench #videoPanel .vs-record-copy time{display:none}
.cinema-workbench #videoPanel .vs-record-result{width:fit-content;max-width:min(100%,720px);border:0;border-radius:10px;background:transparent;box-shadow:none;overflow:hidden}
.cinema-workbench #videoPanel .vs-record-stage,.cinema-workbench #videoPanel .vs-record-result.is-complete .vs-record-stage{display:block;max-width:720px;width:min(720px,calc(100vw - 260px));min-height:0;max-height:none;aspect-ratio:auto;background:transparent;overflow:hidden;padding:0}
.cinema-workbench #videoPanel .vs-record-stage:has(video),.cinema-workbench #videoPanel .vs-record-result.is-complete .vs-record-stage:has(video){width:fit-content;line-height:0}
.cinema-workbench #videoPanel .vs-record-stage video{display:block;width:auto;height:auto;max-width:100%;max-height:480px;object-fit:contain;margin:0;border-radius:10px;background:transparent}
.cinema-workbench #videoPanel .vs-stage-state{height:180px;min-height:0;background:var(--ink-surface);border:1px solid var(--ink-line);border-radius:10px}
.cinema-workbench #videoPanel .vs-timeline-record>.vs-task-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.cinema-workbench #videoPanel .vs-timeline-record>.vs-task-actions button{min-height:30px;padding:5px 10px;font-size:12px}
.cinema-workbench #videoPanel .vs-record-info{font-size:11px;color:var(--ink-muted);max-width:720px}
.cinema-workbench #videoPanel .vs-record-info>summary{cursor:pointer;padding:3px 0}
.cinema-workbench #videoPanel .vs-record-info .vs-result-details{padding:8px 0}
@media(max-width:850px){.cinema-workbench #videoPanel .vs-record-stage,.cinema-workbench #videoPanel .vs-record-result.is-complete .vs-record-stage{width:min(720px,calc(100vw - 48px));max-height:none}.cinema-workbench #videoPanel .vs-record-stage:has(video),.cinema-workbench #videoPanel .vs-record-result.is-complete .vs-record-stage:has(video){width:fit-content}.cinema-workbench #videoPanel .vs-record-stage video{max-height:55dvh}}
.cinema-workbench #videoPanel .vs-record-info:not([open])>.vs-result-details{display:none}

.cinema-workbench .relay-station-link{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0 0}
.cinema-workbench .relay-station-link a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 18px;border-radius:10px;background:var(--ink-accent);color:var(--ink-accent-text);font-size:14px;font-weight:700;text-decoration:none;border:1px solid var(--ink-accent);box-shadow:0 3px 10px var(--ink-shadow)}
.cinema-workbench .relay-station-link a:hover{filter:brightness(1.12)}
.cinema-workbench .relay-station-link a:focus-visible{outline:3px solid var(--ink-info);outline-offset:3px}
.cinema-workbench .relay-station-link small{color:var(--ink-muted);font-size:12px}

@media(max-width:520px){.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer-bottom{flex-direction:column;align-items:stretch}.cinema-workbench #videoPanel .vs-timeline-layout .generation-control-bar{width:100%;flex:none;min-width:0}.cinema-workbench #videoPanel .vs-timeline-layout .vs-submit-bar{width:100%;margin:0}.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single{flex:none}}

/* Creation history and composer share one centered content column. */
.cinema-workbench #videoPanel .vs-timeline-record{width:100%;max-width:900px;box-sizing:border-box;margin-inline:auto;align-items:center}
.cinema-workbench #videoPanel .vs-record-copy{max-width:720px}
.cinema-workbench #videoPanel .vs-timeline-record>.vs-task-actions{width:100%;max-width:720px}
.cinema-workbench #videoPanel .vs-timeline-record>.vs-record-info{width:100%;max-width:720px}
.cinema-workbench #videoPanel .vs-record-result{align-self:center}
.cinema-workbench #videoPanel .vs-record-date{width:100%;max-width:720px;box-sizing:border-box;margin-inline:auto}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer{width:100%;max-width:1120px;box-sizing:border-box;margin-inline:auto}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded{max-width:none;width:auto;margin:0}

/* Compact video composer: reference stack and text share the first row. */
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer:not(.is-expanded) .vs-composer-scroll{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px 12px;align-items:start;overflow:visible}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .vs-reference-block{grid-column:1;grid-row:1;margin:0;min-width:0}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .vs-prompt-block{grid-column:2;grid-row:1;min-width:0;margin:0;padding-right:22px}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .vs-prompt-rich{height:88px;min-height:88px;max-height:88px;padding:0 2px;line-height:1.75}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock{position:relative;display:block;width:96px;height:88px;min-height:88px;margin:0;padding:0}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) #vs-single-materials.hy-reference-stack{position:absolute;display:block;left:4px;top:4px;width:86px;height:78px;min-height:0;max-width:none;margin:0;padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) #vs-single-materials>.hy-ref-card{position:absolute;left:calc(min(var(--ref-index),2)*12px);top:calc(min(var(--ref-index),2)*3px);width:54px;height:70px;padding:3px;margin:0;display:block;transform:rotate(var(--ref-tilt));z-index:calc(20 - var(--ref-index));box-shadow:0 3px 9px var(--ink-shadow)}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) #vs-single-materials>.hy-ref-card:nth-child(n+4){visibility:hidden;pointer-events:none}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-count{position:absolute;left:0;bottom:0;width:auto;height:22px;min-height:22px;padding:1px 6px;margin:0;background:var(--ink-surface);border:1px solid var(--ink-line);border-radius:6px;font-size:11px}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-add-menu{position:absolute;left:62px;top:52px;margin:0}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-add-menu>summary{width:30px;height:30px;min-height:30px;border:1px solid var(--ink-line-strong);border-radius:50%;background:var(--ink-raised);box-shadow:0 2px 6px var(--ink-shadow)}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock.is-empty #vs-single-materials{display:none}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock.is-empty .hy-reference-add-menu{left:10px;top:7px}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock.is-empty .hy-reference-add-menu>summary{width:54px;height:70px;min-height:70px;border:1px dashed var(--ink-line-strong);border-radius:9px;background:transparent;box-shadow:none}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock.is-expanded:not(.is-empty) #vs-single-materials{display:flex;align-items:flex-end;gap:10px;left:-4px;top:auto;bottom:8px;width:max-content;max-width:min(480px,calc(100vw - 72px));height:104px;padding:9px;overflow:auto;background:var(--ink-surface);border:1px solid var(--ink-line);border-radius:12px;box-shadow:0 8px 24px var(--ink-shadow)}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock.is-expanded #vs-single-materials>.hy-ref-card{position:relative;left:auto;top:auto;flex:0 0 64px;width:64px;height:82px;transform:none;visibility:visible;pointer-events:auto;z-index:auto;box-shadow:none}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock.is-expanded #vs-single-materials .hy-ref-remove{opacity:1;pointer-events:auto}
.cinema-workbench #videoPanel #vs-single-materials .hy-ref-card:not(:has(img)) .hy-ref-preview>span{display:block!important;overflow:hidden;max-width:100%;padding:3px}
.cinema-workbench #videoPanel #vs-single-materials .hy-ref-card:not(:has(img)) .hy-ref-preview strong,.cinema-workbench #videoPanel #vs-single-materials .hy-ref-card:not(:has(img)) .hy-ref-preview small{display:block!important;font-size:10px}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded):has(.vs-reference-warning:not([hidden])) .vs-reference-block{display:contents}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .vs-reference-warning:not([hidden]){grid-column:1/-1;grid-row:2;margin:0;font-size:12px}
@media(max-width:520px){.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer:not(.is-expanded) .vs-composer-scroll{grid-template-columns:82px minmax(0,1fr);gap:8px}.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-dock{width:82px}.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .hy-reference-add-menu{left:50px}.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) #vs-single-materials>.hy-ref-card{left:calc(min(var(--ref-index),2)*9px);width:49px}.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .vs-prompt-block{padding-right:10px}}

/* Reference uploads and the library remain visible as separate controls. */
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer:not(.is-expanded) .vs-composer-scroll{display:flex;flex-direction:column;gap:8px}
.cinema-workbench #videoPanel .vs-composer:not(.is-expanded) .vs-reference-block{display:block;width:100%;min-width:0}
.cinema-workbench #videoPanel .vs-composer .hy-reference-dock.hy-reference-direct{display:flex;align-items:center;flex-wrap:wrap;gap:8px;width:100%;height:auto;min-height:40px;padding:0;margin:0;position:relative}
.cinema-workbench #videoPanel .vs-composer .hy-reference-direct #vs-single-materials.hy-reference-stack{position:static;display:flex;align-items:center;gap:6px;width:auto;max-width:calc(100% - 200px);height:auto;min-height:0;padding:0;margin:0;overflow:auto;border:0;box-shadow:none;background:transparent}
.cinema-workbench #videoPanel .vs-composer .hy-reference-direct #vs-single-materials>.hy-ref-card{position:relative;left:auto;top:auto;width:42px;height:54px;flex:0 0 42px;transform:none;visibility:visible;pointer-events:auto;margin:2px;z-index:auto}
.cinema-workbench #videoPanel .vs-composer .hy-reference-direct.is-empty #vs-single-materials{display:none}
.cinema-workbench #videoPanel .vs-composer .hy-reference-direct .hy-reference-count{display:none}
.hy-reference-direct-actions{display:flex;align-items:center;gap:8px;flex:none}
.cinema-workbench #videoPanel .hy-reference-direct-actions>button{display:flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid var(--ink-line-strong);border-radius:9px;font-size:12px;white-space:nowrap;background:var(--ink-raised);color:var(--ink-text)}
.cinema-workbench #videoPanel .hy-reference-direct-actions>.hy-reference-upload{border-style:dashed;cursor:pointer}
.cinema-workbench #videoPanel .hy-reference-direct .hy-reference-add-options[hidden]{display:none!important}
.cinema-workbench #videoPanel .hy-reference-direct.is-file-drag{outline:2px solid var(--ink-info);outline-offset:4px;border-radius:9px;background:var(--ink-raised)}
.hy-reference-upload-status{display:block;flex-basis:100%;font-size:12px;line-height:1.5;color:var(--ink-muted);overflow-wrap:anywhere}
.hy-reference-upload-status[hidden]{display:none}
.hy-reference-upload-status.is-error{color:var(--ink-danger,#b34c42)}
@media(max-width:520px){.cinema-workbench #videoPanel .vs-composer .hy-reference-direct #vs-single-materials.hy-reference-stack{max-width:100%}}

.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer .hy-reference-dock.hy-reference-direct #vs-single-materials.hy-reference-stack{position:static;display:flex;gap:6px;align-items:center;width:auto;max-width:calc(100% - 200px);height:58px;min-height:0;padding:0;margin:0;overflow:auto;border:0;border-radius:0;box-shadow:none;background:transparent}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer .hy-reference-dock.hy-reference-direct #vs-single-materials>.hy-ref-card{position:relative;left:auto;top:auto;width:42px;height:54px;flex:0 0 42px;transform:none;visibility:visible;pointer-events:auto;margin:2px;z-index:auto}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer .hy-reference-dock.hy-reference-direct #vs-single-materials .hy-ref-preview>span{display:none!important}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer .hy-reference-dock.hy-reference-direct.is-empty #vs-single-materials{display:none}
@media(max-width:520px){.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.hy-reference-composer .hy-reference-dock.hy-reference-direct #vs-single-materials.hy-reference-stack{max-width:100%}}

/* Image and video share a centered composer and a compact submit control. */
.cinema-workbench #imagePanel.generation-surface{width:100%;max-width:none;padding:0 12px 20px;box-sizing:border-box}
.cinema-workbench #imagePanel.generation-surface .generation-image-layout,
.cinema-workbench #imagePanel.generation-surface .generation-image-layout:has(.media-image-empty){width:100%;max-width:1120px;margin-inline:auto;box-sizing:border-box}
.cinema-workbench #imagePanel #imageForm{box-sizing:border-box}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit],
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single{
 display:grid;place-items:center;position:relative;box-sizing:border-box;
 width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;max-height:42px;flex:0 0 42px;
 padding:0;margin:0;border:1px solid var(--ink-line-strong);border-radius:50%;
 background:var(--ink-accent);color:var(--ink-accent-text);font-size:0;line-height:1;
 box-shadow:0 3px 10px var(--ink-shadow);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease;
}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit]::after,
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single::after{
 content:'';display:block;width:20px;height:20px;background:currentColor;
 mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 19V5m-6 6 6-6 6 6' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.cinema-workbench #imagePanel #imageForm .generation-submit-group button[type=submit]>*,
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single>*{display:none}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit]:hover:not(:disabled),
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px var(--ink-shadow)}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit]:active:not(:disabled),
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single:active:not(:disabled){transform:translateY(0) scale(.95)}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit]:focus-visible,
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single:focus-visible{outline:2px solid var(--ink-info);outline-offset:4px}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit]:disabled,
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit][aria-busy=true],
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single[aria-busy=true]{opacity:1;cursor:wait}
.cinema-workbench #imagePanel #imageForm .generation-control-bar .generation-submit-group button[type=submit][aria-busy=true]::after,
.cinema-workbench #videoPanel .vs-timeline-layout #vs-submit-single[aria-busy=true]::after{
 box-sizing:border-box;mask:none;background:transparent;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:hy-submit-turn .8s linear infinite;
}
@keyframes hy-submit-turn{to{transform:rotate(360deg)}}
/* Expanded inputs remain centered, with a bounded editor and visible actions. */
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded,
.cinema-workbench #imagePanel #imageForm.is-expanded{
 left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);
 width:min(1120px,calc(100vw - 64px));max-width:1120px;height:min(720px,calc(100dvh - 96px));min-height:0;max-height:none;margin:0;
 padding:20px 24px;border-radius:24px;box-sizing:border-box;gap:14px;overflow:visible;
}
.cinema-workbench .hy-compose-curtain{background:rgba(0,0,0,.42);backdrop-filter:blur(2px)}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded .vs-composer-scroll{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:hidden;padding:0}
.cinema-workbench #videoPanel .vs-composer.is-expanded .vs-reference-block{flex:none;min-width:0;padding-right:32px}
.cinema-workbench #videoPanel .vs-composer.is-expanded .vs-prompt-block,
.cinema-workbench #imagePanel #imageForm.is-expanded .generation-image-input{flex:1;min-height:0;overflow:hidden}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded .vs-prompt-rich,
.cinema-workbench #imagePanel #imageForm.is-expanded #imagePrompt{box-sizing:border-box;width:100%;height:100%;min-height:0;max-height:none;overflow:auto;padding:4px 0;font-size:14px;line-height:1.85}
.cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded .vs-composer-bottom{flex:none;margin:0;padding:10px 0 0;border-top:1px solid var(--ink-line);gap:10px}
.cinema-workbench #imagePanel #imageForm.is-expanded .generation-control-bar{flex:none;padding-top:10px;border-top:1px solid var(--ink-line)}
.cinema-workbench #videoPanel .vs-composer.is-expanded .hy-compose-expand,
.cinema-workbench #imagePanel #imageForm.is-expanded .hy-compose-expand{top:12px;right:12px}
@media(max-width:640px){
 .cinema-workbench #videoPanel .vs-timeline-layout .vs-composer.is-expanded,
 .cinema-workbench #imagePanel #imageForm.is-expanded{width:calc(100vw - 24px);height:min(720px,calc(100dvh - 40px));padding:18px 16px;border-radius:18px;gap:10px}
}
@media(prefers-reduced-motion:reduce){
 .cinema-workbench #imagePanel #imageForm .generation-submit-group button[type=submit],.cinema-workbench #videoPanel #vs-submit-single{transition:none}
 .cinema-workbench #imagePanel #imageForm .generation-submit-group button[type=submit][aria-busy=true]::after,.cinema-workbench #videoPanel #vs-submit-single[aria-busy=true]::after{animation:none}
}

/* Novel adaptation: align project controls, directory and writing area. */
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) > .workspace-intro{
 width:100%;max-width:1488px;margin-inline:auto;padding:20px 24px 16px;
}
.cinema-workbench #adaptationPanel{
 width:100%;max-width:1488px;margin-inline:auto;padding:0 24px 24px;scrollbar-gutter:auto;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) > #projectContextBar{
 display:grid;grid-template-columns:auto minmax(140px,210px) auto minmax(280px,400px) minmax(160px,1fr);
 align-items:center;gap:10px 12px;width:calc(100% - 48px);max-width:1440px;margin:0 auto 16px;padding:12px 14px;border-radius:12px;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #projectContextBar #projectNameInput{
 width:100%!important;max-width:100%;min-width:0;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel{
 display:flex;align-items:center;gap:10px;min-width:0;padding:0;margin:0;border:0;background:transparent;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel > label{
 display:flex;flex-direction:row;align-items:center;flex:1;min-width:0;max-width:none;gap:10px;margin:0;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel > label > span{
 flex:none;min-width:0;white-space:nowrap;font-size:12px;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelModelSelect{
 flex:1;width:100%;max-width:none;min-width:0;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel .model-options{
 position:relative;flex:none;min-width:0;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel .model-options > summary{
 padding:9px 12px;border:1px solid var(--ink-line);border-radius:8px;cursor:pointer;font-size:12px;white-space:nowrap;
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel [data-model-options]{
 position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:min(350px,calc(100vw - 56px));padding:14px;
 background:var(--ink-surface);border:1px solid var(--ink-line);border-radius:10px;box-shadow:0 10px 30px var(--ink-shadow);
}
.cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #projectSaveStatus{
 min-width:0;margin:0;font-size:12px;line-height:1.7;overflow-wrap:anywhere;
}
.cinema-workbench #adaptationPanel .project-adaptation-layout{
 display:grid;grid-template-columns:232px minmax(0,1fr);align-items:start;gap:20px;
}
.cinema-workbench #adaptationPanel .project-directory{
 min-width:0;padding:16px;top:0;max-height:calc(100dvh - 250px);border-radius:12px;
}
.cinema-workbench #adaptationPanel .project-directory h2{margin:8px 0 16px;font-size:18px}
.cinema-workbench #adaptationPanel .project-directory nav button{
 min-width:0;padding:10px;gap:10px;white-space:normal;align-items:center;
}
.cinema-workbench #adaptationPanel .project-directory nav strong{font-size:13px;overflow-wrap:anywhere}
.cinema-workbench #adaptationPanel .project-directory nav button > span{flex:none;font-size:12px}
.cinema-workbench #adaptationPanel .project-directory-tools button{white-space:normal}
.cinema-workbench #adaptationPanel .project-writing-area .novel-wizard-header{margin:0 0 12px}
.cinema-workbench #adaptationPanel .novel-wizard-status{margin:0;line-height:1.7}
.cinema-workbench #adaptationPanel .novel-wizard-task{margin:0 0 12px;border-radius:8px}
.cinema-workbench #adaptationPanel .project-writing-area .novel-step{padding:0;border-radius:12px!important}
.cinema-workbench #adaptationPanel .novel-step-head{padding:20px 22px;margin:0;gap:16px;align-items:flex-start}
.cinema-workbench #adaptationPanel .novel-step-title{gap:12px}
.cinema-workbench #adaptationPanel .novel-step-title h2{margin:0;font-size:18px;line-height:1.5}
.cinema-workbench #adaptationPanel .novel-step-head p{margin:6px 0 0;font-size:13px;line-height:1.7}
.cinema-workbench #adaptationPanel :is(.novel-source-section,.novel-outline-content,.novel-openings-section,.novel-confirm-section,.novel-script-content,.novel-plan-content){padding:20px 22px}
.cinema-workbench #adaptationPanel .novel-count-selection{
 display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);align-items:end;gap:14px 20px;padding:18px;margin-bottom:16px;
}
.cinema-workbench #adaptationPanel .novel-count-field > select{max-width:none}
.cinema-workbench #adaptationPanel .novel-count-recommendation{align-items:center;gap:10px 12px}
.cinema-workbench #adaptationPanel #novelEpisodeCountHint{grid-column:1/-1;font-size:12px}
.cinema-workbench #adaptationPanel .novel-plan-toolbar{align-items:flex-start;gap:12px;margin:16px 0 0}
.cinema-workbench #adaptationPanel .novel-plan-toolbar > .novel-note{padding-top:7px}
.cinema-workbench #adaptationPanel .novel-plan-item{padding:16px 18px}
.cinema-workbench #adaptationPanel .novel-plan-item-head{margin:0;align-items:center;gap:12px}
.cinema-workbench #adaptationPanel .novel-plan-item-head > strong{flex:1;min-width:0;overflow-wrap:anywhere}
.cinema-workbench #adaptationPanel .novel-plan-item[open] > .novel-plan-item-head{padding-bottom:12px;border-bottom:1px solid var(--ink-line);margin-bottom:14px}
.cinema-workbench #adaptationPanel .novel-plan-item textarea{height:132px;line-height:1.8}
.cinema-workbench #adaptationPanel .novel-plan-item label{margin-top:14px;gap:8px}
@media(max-width:1399px){
 .cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) > #projectContextBar{grid-template-columns:auto minmax(120px,1fr) auto minmax(280px,1.5fr)}
 .cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #projectSaveStatus{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--ink-line)}
 .cinema-workbench #adaptationPanel .project-adaptation-layout{grid-template-columns:212px minmax(0,1fr);gap:16px}
 .cinema-workbench #adaptationPanel .novel-count-selection{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px}
}
@media(max-width:760px){
 .cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) > .workspace-intro{padding:16px 14px 12px}
 .cinema-workbench #adaptationPanel{padding:0 14px 20px}
 .cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) > #projectContextBar{width:calc(100% - 28px);grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:12px;margin-bottom:12px}
 .cinema-workbench .studio-main:has(#adaptationPanel:not([hidden])) #novelToolbarModel{grid-column:1/-1}
 .cinema-workbench #adaptationPanel .project-adaptation-layout{grid-template-columns:minmax(0,1fr);gap:14px}
 .cinema-workbench #adaptationPanel .project-directory{position:static;max-height:none;padding:12px}
 .cinema-workbench #adaptationPanel .project-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .cinema-workbench #adaptationPanel .project-directory h2{margin:4px 0 10px}
 .cinema-workbench #adaptationPanel .project-directory-heading{margin-top:12px;padding:12px 2px 6px}
 .cinema-workbench #adaptationPanel #projectEpisodeDirectory{max-height:140px;overflow:auto}
 .cinema-workbench #adaptationPanel .project-directory-tools{margin-top:12px;padding-top:12px}
 .cinema-workbench #adaptationPanel .novel-step-head{padding:16px;flex-wrap:wrap;gap:12px}
 .cinema-workbench #adaptationPanel :is(.novel-source-section,.novel-outline-content,.novel-openings-section,.novel-confirm-section,.novel-script-content,.novel-plan-content){padding:16px}
 .cinema-workbench #adaptationPanel .novel-count-selection{padding:14px}
 .cinema-workbench #adaptationPanel .novel-plan-toolbar{flex-direction:column;align-items:stretch}
 .cinema-workbench #adaptationPanel .novel-plan-toolbar > .novel-note{flex:auto;padding:0}
 .cinema-workbench #adaptationPanel .novel-plan-toolbar > button{white-space:normal}
 .cinema-workbench #adaptationPanel .novel-plan-item{padding:14px}
}

/* The full-screen dismiss surface must keep its shade through pointer states. */
.cinema-workbench .hy-compose-curtain,.cinema-workbench .hy-compose-curtain:hover,.cinema-workbench .hy-compose-curtain:active,.cinema-workbench .hy-compose-curtain:focus{
 background:rgba(0,0,0,.55)!important;border:0!important;box-shadow:none!important;filter:none!important;transform:none!important;transition:none!important;
}
.cinema-workbench .relay-model-toolbar{flex-wrap:wrap}
.cinema-workbench .relay-model-toolbar>input{flex:1 1 220px;min-width:0}
.cinema-workbench .relay-batch-summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cinema-workbench .relay-batch-summary>p{flex:1 1 240px;font-size:12px;color:var(--ink-muted)}
.cinema-workbench .relay-batch-dialog{width:min(620px,calc(100vw - 32px));box-sizing:border-box;max-height:calc(100dvh - 40px);overflow:auto}
.cinema-workbench .relay-batch-dialog progress{width:100%;height:8px;accent-color:var(--ink-accent)}
.cinema-workbench .relay-batch-results{list-style:none;padding:0;margin:14px 0;max-height:38dvh;overflow:auto}
.cinema-workbench .relay-batch-results li{padding:10px 0;border-bottom:1px solid var(--ink-line);overflow-wrap:anywhere}
.cinema-workbench .relay-batch-results li>div{display:flex;justify-content:space-between;gap:16px}
.cinema-workbench .relay-batch-results small{display:block;color:var(--ink-muted);margin-top:4px}
.cinema-workbench .relay-batch-results [data-state=success] span{color:var(--ink-success)}
.cinema-workbench .relay-batch-results [data-state=failed] span{color:var(--ink-danger)}
.cinema-workbench .relay-batch-dialog [hidden],.cinema-workbench .relay-batch-summary [hidden]{display:none!important}
.cinema-workbench #videoPanel .vs-timeline-layout :is(.vs-results-side,#vs-single-tasks){overflow-anchor:none}
.cinema-workbench #videoPanel .vs-timeline-record .vs-record-result .vs-record-stage.vs-preview-reserved{
 width:min(720px,calc(480px * var(--preview-aspect)),calc(100vw - 260px));max-width:100%;aspect-ratio:var(--preview-aspect);height:auto;line-height:0;
}
.cinema-workbench #videoPanel .vs-timeline-record .vs-preview-reserved :is(video,.vs-stage-state){width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;line-height:1.6}
@media(max-width:850px){.cinema-workbench #videoPanel .vs-timeline-record .vs-record-result .vs-record-stage.vs-preview-reserved{width:min(720px,calc(480px * var(--preview-aspect)),calc(100vw - 48px))}}

/* Batch workflow: full-width inline preparation, shared filters, visible submit dock. */
.cinema-workbench .studio-main:has(#videoPanel #vs-batch:not([hidden]))>.workspace-intro{width:100%;max-width:none;margin-inline:0;padding:16px 24px 10px;box-sizing:border-box}
.cinema-workbench .studio-main:has(#videoPanel #vs-batch:not([hidden]))>.workspace-intro .view-heading{border-left:0;padding-left:0}
.cinema-workbench #videoPanel:has(#vs-batch:not([hidden])){width:100%;max-width:none;margin:0;padding:0 24px 28px}
.cinema-workbench #videoPanel:has(#vs-batch:not([hidden])) .vs-topline{min-height:32px;margin:0 0 6px;padding:0;border:0}
.cinema-workbench #videoPanel:has(#vs-batch:not([hidden])) .vs-save-info{flex-wrap:wrap;gap:8px}
.cinema-workbench #videoPanel #vs-batch .vs-collection-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
.cinema-workbench #videoPanel #vs-batch #vs-project-name{width:auto;flex:1 1 240px;min-width:180px;max-width:none;order:0}
.cinema-workbench #videoPanel #vs-batch .vs-collection-bar>.vs-toolbar{flex:0 0 auto;width:auto}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools{display:block;position:static;z-index:auto;margin:0 0 12px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-tool-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cinema-workbench #videoPanel #vs-batch .vs-batch-tool-tabs button{min-height:38px;flex:0 1 auto}
.cinema-workbench #videoPanel #vs-batch .vs-batch-tool-tabs button[aria-expanded=true]{background:var(--ink-accent-soft);border-color:var(--ink-accent);color:var(--ink-text)}
.cinema-workbench #videoPanel #vs-batch .vs-batch-tool-tabs button[aria-expanded=true]>span{transform:rotate(180deg)}
.cinema-workbench #videoPanel #vs-batch .vs-batch-tool-close{margin-left:auto;font-size:12px}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details{width:100%;min-width:0;max-width:none;margin:10px 0 0;padding:16px;border:1px solid var(--ink-line);border-radius:10px;background:var(--ink-surface)}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details:not([open]){display:none}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details>summary{display:none}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details[open]>:not(summary){position:static;left:auto;right:auto;top:auto;width:100%;max-height:none;overflow:visible;margin:0;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;z-index:auto}
.cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details[open]>.vs-batch-tool-note{margin-bottom:12px;color:var(--ink-muted);font-size:12px}
.cinema-workbench #videoPanel #vs-batch #vs-batch-params{margin:0 0 12px;padding:0;border:0;background:transparent}
.cinema-workbench #videoPanel #vs-batch .vs-source{margin:0;border:0;background:transparent}
.cinema-workbench #videoPanel #vs-batch .vs-details-body{padding:0}
.cinema-workbench #videoPanel #vs-batch #vs-batch-raw{min-height:180px;max-height:42dvh}
.cinema-workbench #videoPanel #vs-batch .vs-batch-dock{position:sticky;top:8px;bottom:auto;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:5px 12px;align-items:center;margin:12px 0;padding:12px 14px;background:var(--ink-surface);border:1px solid var(--ink-line-strong);box-shadow:0 4px 12px var(--ink-shadow);backdrop-filter:none}
.cinema-workbench #videoPanel #vs-batch .vs-batch-dock>.vs-check{grid-column:1;grid-row:1/3;white-space:nowrap}
.cinema-workbench #videoPanel #vs-batch #vs-row-summary{grid-column:2;grid-row:1;line-height:1.5}
.cinema-workbench #videoPanel #vs-batch #vs-batch-reference-cost{grid-column:2;grid-row:2;margin:0;white-space:normal}
.cinema-workbench #videoPanel #vs-batch #vs-submit-batch{grid-column:3;grid-row:1/3;min-height:42px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-more{grid-column:4;grid-row:1/3}
.cinema-workbench #videoPanel #vs-batch .vs-stop-slot{grid-column:1/-1;grid-row:3}
.cinema-workbench #videoPanel #vs-batch .vs-batch-flow{margin:12px 0}
.cinema-workbench #videoPanel #vs-batch .vs-flow-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-view-switch{margin-right:auto}
.cinema-workbench #videoPanel #vs-batch .vs-batch-filters{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,2fr) minmax(160px,.8fr);gap:12px;margin-bottom:12px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-filters>label{gap:5px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-selection-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--ink-line);border-bottom:1px solid var(--ink-line);margin:0 0 12px}
.cinema-workbench #videoPanel #vs-batch :is(.vs-selection-actions,.vs-batch-edit-actions){display:flex;flex-wrap:wrap;gap:6px}
.cinema-workbench #videoPanel #vs-batch .vs-selection-actions button{font-size:12px;min-height:32px;padding:5px 9px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-edit-actions button{font-size:13px;min-height:34px}
.cinema-workbench #videoPanel #vs-batch .vs-overview-scroll{max-height:none;overflow:auto;border:1px solid var(--ink-line);border-radius:10px}
.cinema-workbench #videoPanel #vs-batch .vs-overview table{min-width:860px;width:100%}
.cinema-workbench #videoPanel #vs-batch .vs-overview tr.is-selected{background:var(--ink-accent-soft)}
.cinema-workbench #videoPanel #vs-batch .vs-overview :is(th,td){padding:12px;vertical-align:top}
.cinema-workbench #videoPanel #vs-batch .vs-overview td:last-child{min-width:150px}
.cinema-workbench #videoPanel #vs-batch .vs-overview td:last-child>button{display:flex;margin-bottom:6px;min-height:32px;font-size:12px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-empty-guide{padding:20px;border:1px dashed var(--ink-line-strong);border-radius:10px}
.cinema-workbench #videoPanel #vs-batch .vs-batch-empty-guide p{margin:8px 0 12px;font-size:13px;color:var(--ink-muted)}
.cinema-workbench #videoPanel #vs-batch .vs-batch-flow.is-empty .vs-batch-view-switch{display:none}
.cinema-workbench #videoPanel #vs-batch .vs-batch-flow.is-empty #vs-flow-counts{display:none}
.cinema-workbench #videoPanel #vs-batch .vs-results-history{margin-top:18px}
.cinema-workbench .vs-batch-params-dialog{width:min(700px,calc(100vw - 32px));max-height:90dvh;overflow:auto}
.cinema-workbench #videoPanel .vs-batch-params-dialog [data-batch-params-fields]{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0}
.cinema-workbench .vs-batch-params-dialog [data-batch-params-feedback]{color:var(--ink-danger);font-size:13px;margin-bottom:12px}
@media(max-width:767px){
 .cinema-workbench .studio-main:has(#videoPanel #vs-batch:not([hidden]))>.workspace-intro{padding:14px 12px 8px}
 .cinema-workbench #videoPanel:has(#vs-batch:not([hidden])){padding:0 12px 24px}
 .cinema-workbench #videoPanel #vs-batch .vs-collection-bar #vs-project-name{flex-basis:100%;order:-1}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-tool-tabs{gap:6px}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-tool-tabs button{font-size:12px;padding:7px 9px}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-tool-close{margin-left:0}
 .cinema-workbench #videoPanel #vs-batch .hy-batch-tools>details{padding:12px}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-dock{position:sticky;top:4px;grid-template-columns:auto minmax(0,1fr);gap:8px;padding:10px}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-dock>.vs-check{grid-column:1;grid-row:1}
 .cinema-workbench #videoPanel #vs-batch #vs-row-summary{grid-column:2;grid-row:1}
 .cinema-workbench #videoPanel #vs-batch #vs-batch-reference-cost{grid-column:1/-1;grid-row:2}
 .cinema-workbench #videoPanel #vs-batch #vs-submit-batch{grid-column:1;grid-row:3;min-width:0}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-more{grid-column:2;grid-row:3;justify-self:end}
 .cinema-workbench #videoPanel #vs-batch .vs-stop-slot{grid-row:4}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-filters{grid-template-columns:1fr 1fr;gap:8px}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-filters>label:nth-child(2){grid-column:1/-1;grid-row:1}
 .cinema-workbench #videoPanel #vs-batch .vs-flow-toolbar{flex-wrap:wrap}
 .cinema-workbench #videoPanel #vs-batch .vs-batch-selection-bar{align-items:stretch}
 .cinema-workbench #videoPanel #vs-batch .vs-overview-scroll{overflow:visible;border:0}
 .cinema-workbench #videoPanel #vs-batch .vs-overview table{display:block;min-width:0;width:100%}
 .cinema-workbench #videoPanel #vs-batch .vs-overview thead{display:none}
 .cinema-workbench #videoPanel #vs-batch .vs-overview tbody{display:grid;gap:10px}
 .cinema-workbench #videoPanel #vs-batch .vs-overview tr{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;padding:12px;border:1px solid var(--ink-line);border-radius:10px}
 .cinema-workbench #videoPanel #vs-batch .vs-overview td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere}
 .cinema-workbench #videoPanel #vs-batch .vs-overview td:first-child{grid-column:1;grid-row:1;padding-top:7px}
 .cinema-workbench #videoPanel #vs-batch .vs-overview td:nth-child(2){grid-column:2;grid-row:1}
 .cinema-workbench #videoPanel #vs-batch .vs-overview td:nth-child(n+3){grid-column:1/-1}
 .cinema-workbench #videoPanel #vs-batch .vs-overview td:last-child{display:flex;flex-wrap:wrap;gap:8px;min-width:0;padding-top:8px;border-top:1px solid var(--ink-line)}
 .cinema-workbench #videoPanel #vs-batch .vs-overview td:last-child>button{margin:0}
 .cinema-workbench #videoPanel .vs-batch-params-dialog [data-batch-params-fields]{grid-template-columns:1fr}
}
