:root {
  color-scheme:light;
  --theme-bg:#ffffff; --theme-panel:#fafbf7; --theme-raised:#f1f4ec;
  --theme-text:#24272b; --theme-muted:#65725b; --theme-border:#dce2d4;
  --theme-accent:#557438; --theme-selected:#e7f2d7;
}
:root[data-theme='dark'] {
  color-scheme:dark;
  --green:#c5ee89; --line:#333b43; --muted:#a4afba;
  --theme-bg:#1b2027; --theme-panel:#20262e; --theme-raised:#2b333d;
  --theme-text:#e4e9ef; --theme-muted:#abb6c2; --theme-border:#414c58;
  --theme-accent:#c5ee89; --theme-selected:#34462d;
  --visual-video-bg:#30412b; --visual-video-text:#c0d7af;
  --visual-text-bg:#3d3048; --visual-text-color:#dfb9ef;
  --visual-audio-bg:#233e38; --visual-audio-line:#456c60; --visual-audio-wave:#8bc5b2; --visual-audio-text:#b0d6c9;
}
:root[data-theme='dark'] body { background:var(--theme-bg); color:var(--theme-text); }
:root[data-theme='dark'] :is(.editor,.editor-top,.media-panel,.settings-panel) { background:var(--theme-bg); color:var(--theme-text); border-color:var(--line); }
:root[data-theme='dark'] :is(.preview-panel,.timeline-section,.panel-switcher,.precision-bar) { background:var(--theme-panel); border-color:var(--line); }
:root[data-theme='dark'] :is(.editor-top input,.selected-name,.setting-title h3,.duration-note strong,.timeline-toolbar h2,.help-steps strong) { color:var(--theme-text); }
:root[data-theme='dark'] :is(.panel-description,.setting-hint,.selection-kind,.field-label,.settings-footer,.duration-note,.volume-row,.trim-inputs label,.format-label,.timecode,.preview-toolbar,.local-label,.timeline-footer,.zoom-control,.timeline-toolbar>div>span,.effect-control-heading label,.effect-value,.composition-field,.composition-grid label,.effects-toggle,.help-steps,.panel-switcher button,.composition-order,.analysis-status,.media-item small,.dropzone small,.dropzone>span:not(.upload-icon),.media-tip) { color:var(--theme-muted); }
:root[data-theme='dark'] .analysis-status { color:var(--theme-muted)!important; }
:root[data-theme='dark'] :is(.button,.button.small,.button.light,.media-item,.track-tool,.upload-icon) { background:var(--theme-raised); color:var(--theme-text); border-color:var(--theme-border); }
:root[data-theme='dark'] :is(.button,.media-item,.track-tool):hover { background:#35404b; }
:root[data-theme='dark'] .button.primary { background:var(--green); color:#25321b; border-color:var(--green); }
:root[data-theme='dark'] .button.primary:hover { background:#b5e371; }
:root[data-theme='dark'] .brand-icon { color:#25321b; }
:root[data-theme='dark'] :is(.button.subtle,.icon-button,.text-button) { color:var(--theme-muted); }
:root[data-theme='dark'] :is(.icon-button:hover,.button.subtle:hover) { background:var(--theme-raised); }
:root[data-theme='dark'] .panel-heading>.icon-button { background:var(--theme-raised); }
:root[data-theme='dark'] .panel-heading h2 span { background:var(--theme-raised); color:var(--theme-text); }
:root[data-theme='dark'] .panel-switcher button[aria-pressed='true'] { background:var(--theme-selected); color:var(--green); border-color:#8cb356; }
:root[data-theme='dark'] .dropzone { background:var(--theme-panel); color:var(--theme-text); border-color:#53644d; }
:root[data-theme='dark'] .dropzone:is(:hover,.dragover) { background:var(--theme-selected); border-color:#9dbf78; }
:root[data-theme='dark'] .dropzone u { color:#c5dbaf; }
:root[data-theme='dark'] :is(input:not([type='range']):not([type='checkbox']):not([type='color']),select,textarea,#textSettings textarea,.effect-value input) { background:var(--theme-panel); color:var(--theme-text); border-color:var(--theme-border); }
:root[data-theme='dark'] :is(.position-input,.speed-input,.trim-inputs label>span) { background:var(--theme-panel); border-color:var(--theme-border); color:var(--theme-muted); }
:root[data-theme='dark'] :is(.position-input input,.speed-input input,.trim-inputs input,.editor-top input) { background:transparent; }
:root[data-theme='dark'] input::placeholder,:root[data-theme='dark'] textarea::placeholder { color:#95a2af; }
:root[data-theme='dark'] input[type='range'] { accent-color:#a4cd75; }
:root[data-theme='dark'] :is(.snap-button[aria-pressed='true'],.speed-presets [aria-pressed='true'],.effects-presets [aria-pressed='true']) { background:var(--theme-selected); color:var(--green); border-color:#66834b; }
:root[data-theme='dark'] .timeline-scroll { background:#181e24; border-color:var(--line); scrollbar-color:#53616c transparent; }
:root[data-theme='dark'] .timeline-ruler-row { background:#242d34; }
:root[data-theme='dark'] .track-label { background:#273028; border-color:#414d3c; }
:root[data-theme='dark'] .track-audio .track-label { background:#25332f; }
:root[data-theme='dark'] .track-text .track-label { background:#322a3b; }
:root[data-theme='dark'] .track-label strong { color:#c0d7aa; }
:root[data-theme='dark'] .track-audio .track-label strong { color:#b1d8cb; }
:root[data-theme='dark'] .track-text .track-label strong { color:#d8b9e8; }
:root[data-theme='dark'] .track-row { border-color:#333c43; }
:root[data-theme='dark'] .track-lane { background:repeating-linear-gradient(90deg,transparent 0,transparent 69px,#44514a45 69px,#44514a45 70px); }
:root[data-theme='dark'] .track-audio .track-lane { background-color:#253c3525; }
:root[data-theme='dark'] :is(.ruler-label,.time-ruler>span,.track-empty-hint) { color:#a1b197; }
:root[data-theme='dark'] .time-ruler { border-color:#414c42; }
:root[data-theme='dark'] .time-ruler>span::after { background:#718167; }
:root[data-theme='dark'] .track-lane .timeline-clip { background:#30412b; color:#deebcf; border-color:#657c4e; }
:root[data-theme='dark'] .track-lane .timeline-clip::before { background:linear-gradient(90deg,#30412bf0,#30412bd0); }
:root[data-theme='dark'] .track-lane .clip-audio { background:#263f36; color:#ceebe0; border-color:#527e70; }
:root[data-theme='dark'] .track-lane .clip-audio::before { background:linear-gradient(90deg,#263f36,#2c473e); }
:root[data-theme='dark'] .track-lane .clip-text { background:#3d3048; color:#ecd5f5; border-color:#826392; }
:root[data-theme='dark'] .track-lane .clip-text::before { background:#3d3048; }
:root[data-theme='dark'] .track-lane .timeline-clip.selected { border-color:#c5ee89; }
:root[data-theme='dark'] .track-lane .clip-audio.selected { border-color:#99d3be; }
:root[data-theme='dark'] .track-lane .clip-text.selected { border-color:#deb7ef; }
:root[data-theme='dark'] .clip-handle { background:#405432; color:#d5e8be; }
:root[data-theme='dark'] .clip-audio .clip-handle { background:#355d4d; color:#ceebdf; }
:root[data-theme='dark'] .clip-text .clip-handle { background:#654775; color:#f0d9f9; }
:root[data-theme='dark'] .clip-trim { background:#9fc173; }
:root[data-theme='dark'] .clip-audio .clip-trim { background:#81b7a3; }
:root[data-theme='dark'] .clip-text .clip-trim { background:#be92d5; }
:root[data-theme='dark'] .timeline-playhead { background:#d1edaa; }
:root[data-theme='dark'] .timeline-playhead::before { border-top-color:#d1edaa; }
:root[data-theme='dark'] .track-tool[aria-pressed='true'] { background:#4b302e; color:#efac97; }
:root[data-theme='dark'] .play-button { background:#34462d; color:#d7edbd; }
:root[data-theme='dark'] .delete-button { color:#e9a69b; }
:root[data-theme='dark'] .timeline-resizer::after { background:#6a7b5a; }
:root[data-theme='dark'] dialog { background:var(--theme-bg); color:var(--theme-text); border-color:var(--theme-border); box-shadow:0 20px 80px #0007; }
:root[data-theme='dark'] dialog p,:root[data-theme='dark'] .export-options label { color:var(--theme-muted); }
:root[data-theme='dark'] .dialog-icon { color:#25321b; }
:root[data-theme='dark'] .toast { background:#d8edbb; color:#213019; }
:root[data-theme='dark'] #saveStatus[data-dirty='true'] { color:#e5bc7c; }
@media(max-width:520px){
  .theme-toggle { width:26px; min-width:26px; }
  .editor-top>.header-actions { gap:4px; }
}
:root[data-theme='dark'] .track-lane .timeline-clip.invalid-position { border-color:#eea18d; background:#55352f; }

.theme-toggle { flex:0 0 auto; width:32px; height:32px; color:var(--theme-muted); }
.theme-toggle:hover { background:var(--theme-raised); color:var(--theme-accent); }
@media(max-width:520px){.theme-toggle { width:26px; min-width:26px; }}
:root[data-theme='dark'] .selected-track > .track-label { background:#34462d; box-shadow:inset 3px 0 0 #c5ee89; }
:root[data-theme='dark'] .track-audio.selected-track > .track-label { background:#355044; box-shadow:inset 3px 0 0 #99d3be; }
:root[data-theme='dark'] .track-text.selected-track > .track-label { background:#4a3657; box-shadow:inset 3px 0 0 #deb7ef; }
