/* Shared light theme. Media pixels, drawing inks and video black stay unchanged. */
body.light{
 color-scheme:light;--bg:#eef1ef;--panel:#fff;--text:#24332c;--muted:#53665c;--border:#b9c6bf;
 --line:var(--border);--theme-surface:#f5f7f6;--theme-field:#fff;--theme-hover:#e0e9e4;
 --theme-selected:#d0e9df;--theme-accent:color-mix(in srgb,var(--accent) 42%,#12382e);
 --error:#a92d25;--ok:#216844;--theme-ruler:#44594e;--theme-ruler-line:#9cafa4;
 background:var(--bg);color:var(--text);scrollbar-color:#9cafa4 var(--bg)
}
body.light :is(.titlebar,.sidebar,.prompt-bar,.canvas-toolbar,.inspector,.collection-view,dialog,.context-menu,.painter-menu,.provider-card,.creator-multi-panel,.creator-color-palette){background:var(--panel);color:var(--text);border-color:var(--border)}
body.light :is(.nav-button,.title-actions button,.prompt-label,.prompt-footer,.canvas-hint,.node-prompt,.preview-heading>button,.preview-tabs button,.compare-controls,.edit-controls,.edit-controls>span,.setting-line,.presets-tabs>button,.preset-footer,.inline-note,.collection-heading p,.project-meta,.empty-state,.modal-copy,.modal-field,.tutorial-list,.creator-fill-subtitle,.creator-field-label,.creator-preview-label,.creator-range-limits,.creator-color-note,.creator-no-colors,.connection-note,.provider-state,.provider-credential-label,.provider-message,.extra-reference-count,.extra-reference-item small,.extra-reference-message,.real-job-label,.real-job-message,.history-job-kind){color:var(--muted)}
body.light :is(button:hover,.nav-button:hover,.context-menu button:hover,.painter-menu button:hover:not(:disabled),.secondary-button:hover){color:var(--text);background-color:var(--theme-hover)}
body.light :is(select,.search-input,.modal-input,.prompt-row textarea,.parameter-selector,.creator-multi-trigger,.creator-color-trigger,.creator-color-search,.creator-multi-choice,.creator-color-option,.settings-row select){background:var(--theme-field);color:var(--text);border-color:var(--border)}
body.light :is(input,textarea)::placeholder{color:#64766c;opacity:1}
body.light :is(.secondary-button,.context-menu button,.painter-menu button,.modal-header button,.section-toggle,.model-refresh){color:var(--text);border-color:var(--border)}
body.light :is(.toolbar-divider,.preview-tabs,.media-tabs,.presets-section,.connections-section,.creator-fill-heading,.creator-form-actions,.extra-references,.extra-reference-item){border-color:var(--border)}
body.light .toolbar-divider{background:var(--border)}
body.light :is(.nav-button.active,.nav-button.active:hover,.preview-tabs button.active,.presets-tabs>button.active,.preset.active,.preset.active .preset-label,.inspector button.active,.creator-multi-choice.selected,.creator-color-option.selected,.creator-range-value,.creator-filled-value,.creator-multi-count,.provider-setup-link,.real-output-list a,.scale-range-value,.project-storage-status){color:var(--theme-accent)}
body.light :is(.nav-button.active,.preset.active,.creator-multi-choice.selected,.creator-color-option.selected){background:var(--theme-selected);border-color:var(--theme-accent)}
body.light :is(.primary-button,.primary-button:hover){background:var(--accent);color:#12382e}
body.light :is(.creator-live-preview,.architecture-preview-area,.architecture-preview,.architecture-actions,.creator-form-actions,.creator-multi-panel-heading,.generation-confirm-prompt,.generation-input-review,.extra-references,.extra-reference-item){background:var(--theme-surface);color:var(--text);border-color:var(--border)}
body.light :is(.creator-preview-text,.creator-preset-name,.creator-range-value,.parameter-selector:after,.creator-color-arrow,.extra-reference-heading){color:var(--text)}
body.light :is(.creator-field-empty .creator-field-label,.creator-validation,.inline-error,.node-job-error){color:var(--error)}
body.light :is(.model-connection-status.connected,.provider-state.connected){color:var(--ok)}
body.light :is(.model-connection-status.unavailable,.model-connection-status.not-connected,.project-legacy-badge,.project-storage-status.storage-error){color:#82520f}
body.light :is(.model-connection-status,.prompt-footer span.generation-status){color:var(--muted)}
body.light .toast{background:var(--panel);color:var(--text);border-color:var(--border)}
body.light dialog::backdrop{background:#17281e66}
body.light .drop-hint{background:#e2f3eae8;color:var(--theme-accent)}
body.light .demo-tag{color:#376b55;border-color:#91b4a1}
body.light .node-caption{color:var(--text)}
body.light .node-port{background:var(--panel);border-color:#647b6c}
body.light .creator-dummy .node-media{background:var(--theme-surface);border-color:var(--border)}
body.light :is(.creator-dummy svg,.creator-dummy .node-caption,.canvas-onboarding h1,.canvas-onboarding p,.canvas-onboarding .onboarding-limit,.preview-placeholder,.node-placeholder){color:var(--muted)}
body.light :is(.creator-gallery-trigger,.creator-gallery-option,.mood-card,.mood-option,.visual-creator-form .creator-field-range,.visual-creator-form .creator-field-number){background:var(--theme-surface);color:var(--text);border-color:var(--border)}
body.light :is(.creator-gallery-trigger:hover,.creator-gallery-option:hover,.mood-option:hover,.mood-option:focus-visible,.mood-option.selected){background:var(--theme-hover);color:var(--text);border-color:var(--theme-accent)}
body.light :is(.mood-dialog,.mood-options,.creator-gallery-panel){background:var(--panel);color:var(--text);border-color:var(--border)}
body.light :is(.mood-field-name,.creator-choice-category,.creator-selection-count){background:#e0e8e3;color:#365344}
body.light :is(.mood-preview,.mood-actions button:first-child){background:var(--theme-surface);color:var(--text);border-color:var(--border)}
body.light :is(.mood-preview strong,.mood-dialog .modal-header h2){color:var(--theme-accent)}
body.light :is(.visual-creator-form .creator-field-range .creator-field-label,.visual-creator-form .creator-field-number .creator-field-label){color:var(--text)}
/* Editor chrome only: never recolour source canvases, masks, thumbnails or annotation labels. */
body.light :is(.painter,.painter-top,.painter-layers,.video-toolbar,.video-footer){background:var(--panel);color:var(--text);border-color:var(--border)}
body.light :is(.painter-stage,.video-timeline,.video-status){background:var(--bg);color:var(--muted);border-color:var(--border)}
body.light :is(.painter-tool,.painter-icon,.painter-layer,.painter-layers-heading,.painter-slider,.video-time,.video-setting){color:var(--text);border-color:var(--border)}
body.light :is(.painter-tool:hover,.painter-layer:hover){background:var(--theme-hover);color:var(--text)}
body.light :is(.painter-tool.active,.painter-layer.active){background:var(--theme-selected);color:var(--theme-accent);border-color:var(--theme-accent)}
body.light :is(.painter-value,.painter-check,.painter-hint,.painter-slider output,.video-empty){color:var(--muted)}
body.light :is(.painter-layers-heading,.painter-layer-actions){border-color:var(--border)}
body.light .painter-choice button{background:var(--theme-field);color:var(--text);border-color:var(--border)}
body.light :is(.painter-choice button.active,.painter-badge){color:var(--theme-accent);border-color:var(--theme-accent)}
body.light :is(.video-setting select,.video-setting input){background:var(--theme-field);color:var(--text);border-color:var(--border)}
/* Standalone sign-in/security pages share the saved appearance preference. */
html[data-filmocraft-auth] body.light :is(form,section){background:var(--panel);border-color:var(--border);color:var(--text)}
html[data-filmocraft-auth] body.light input{background:var(--theme-field);border-color:var(--border);color:var(--text)}
html[data-filmocraft-auth] body.light a{color:var(--theme-accent)}
body:not(.light){color-scheme:dark}
body.light :is(.node.selected .node-caption,.workflow-input-row button,.workflow-group-name){color:var(--theme-accent)}
body.light .workflow-group-name{background:var(--theme-field)}
body.light :is(.preview-tabs,.media-tabs){border-color:var(--border)}
body.light :is(.video-controls button,.video-controls span,.compare-controls){color:var(--muted)}
html[data-filmocraft-auth] body.light :is(.secret,.codes,button.secondary){background:var(--theme-surface);color:var(--text);border-color:var(--border)}
html[data-filmocraft-auth] body.light button.danger{background:#fff0ed;color:var(--error);border-color:#d09b94}
html[data-filmocraft-auth] body.light .warning{background:#fff7df;border-color:#b99a4c}
html[data-filmocraft-auth] body.light .warning p{color:#6d5111}
html[data-filmocraft-auth] body.light .tag{color:var(--theme-accent)}

/* Empty workflow states and recent-project cards must follow the light palette too. */
body.light .project-card{background:var(--panel);color:var(--text);border-color:var(--border)}
body.light .project-card:hover{background:var(--theme-hover);border-color:var(--theme-accent)}
body.light .preview-placeholder{background:var(--theme-surface);color:var(--muted)}
body.light .node-media:has(.workflow-draft-label){background-color:var(--theme-surface);border-color:var(--border)}
body.light .workflow-draft-label{background:var(--theme-selected);color:var(--text);border-color:var(--theme-accent)}

/* Generation review: references and inactive actions must remain readable in both themes. */
body.light .generation-confirm-dialog .extra-references{background:var(--theme-surface);color:var(--text);border-color:var(--border)}
body.light .generation-confirm-dialog .extra-references .connection-note{color:var(--muted)}
body.light .generation-confirm-dialog .extra-reference-item button{color:var(--text)}
body.light .generation-confirm-dialog .higgsfield-cost-review{border-color:var(--theme-accent)}
.generation-confirm-dialog .primary-button:disabled{opacity:1;background:#343b37;color:#b7c5bc;border:1px solid #59665d;cursor:not-allowed}
body.light .generation-confirm-dialog .primary-button:disabled{background:#e2e7e4;color:var(--muted);border-color:#a5b5ab}
.generation-confirm-dialog button:focus-visible{outline-color:var(--theme-accent,var(--accent))}
body:not(.light) .generation-confirm-dialog .extra-reference-item small{color:#9eb0a4}
