/* Theme controls and shared semantic colors. The original dark palette is retained. */
:root{--surface:#19251e;--surface-hover:#2b4033;--border:#3b5143;--subtle:#94ad9b;--accent-ink:#172d23}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:7px;padding:9px 11px;font-size:11px;white-space:nowrap;min-height:36px}
.theme-toggle:hover{background:var(--surface-hover)}.theme-toggle svg{width:16px;height:16px}.theme-moon{display:none}:root[data-theme=light] .theme-sun{display:none}:root[data-theme=light] .theme-moon{display:block}
/* Video overlays stay dark and legible over moving images in either page theme. */
.player{--mint:#bcf5d8;--text:#edf2ee;color:var(--text);color-scheme:dark}
:root[data-theme=light]{color-scheme:light;--bg:#f4f6f2;--panel:#ffffff;--line:#d4dfd5;--muted:#5d7066;--text:#20372b;--mint:#256b4c;--surface:#eaf0e8;--surface-hover:#dce9dc;--border:#bdcebf;--subtle:#536e5d;--accent-ink:#ffffff}
:root[data-theme=light] body{background:var(--bg)}
:root[data-theme=light] .topbar{background:#fafcf8;border-color:var(--line)}
:root[data-theme=light] :is(.brand-mark,.primary,.catalog-play,.editor-primary,.skip-catalog){background:var(--mint);border-color:var(--mint);color:#fff}
:root[data-theme=light] :is(.primary,.catalog-play,.editor-primary):hover{background:#1b553b}
:root[data-theme=light] :is(.studio-nav a,.version,.text-button,.eyebrow,.catalog-intro>div>p:last-child,.collection-count,.catalog-card-meta,.catalog-pagination p,.catalog-refresh,.trailer-filter,.catalog-select label,.detail-art>p,.detail-description,.detail-error p,.back-to-catalog,footer){color:var(--muted)}
:root[data-theme=light] .studio-nav a[aria-current=page]{color:var(--mint)}
:root[data-theme=light] :is(.catalog-add,.catalog-search button,.catalog-outline,.secondary,.editor-secondary){background:var(--surface);border-color:var(--border);color:#2e573e}
:root[data-theme=light] :is(.catalog-add,.catalog-search button,.catalog-outline,.secondary,.editor-secondary):hover{background:var(--surface-hover)}
:root[data-theme=light] :is(.catalog-search,.catalog-select,.source-panel,.upload-panel,.library-empty,.library-row,.film-editor,.film-detail,.nas-panel,.login-card,dialog){background:var(--panel);border-color:var(--line);color:var(--text)}
:root[data-theme=light] :is(.catalog-search input,.catalog-select select){color:var(--text)}
:root[data-theme=light] .catalog-search input::placeholder{color:#758578}
:root[data-theme=light] .catalog-select option{background:var(--panel)}
:root[data-theme=light] .catalog-search:focus-within{border-color:var(--mint);box-shadow:0 0 0 3px #256b4c12}
:root[data-theme=light] :is(.catalog-search>svg,.catalog-search button span,.catalog-reset,.catalog-results-heading h2 span,.catalog-card-actions a,.detail-share,.detail-share-status,.editor-quiet,.detail-source,.catalog-source){color:var(--mint)}
:root[data-theme=light] .catalog-card-actions a+a{color:var(--muted)}
:root[data-theme=light] :is(.catalog-type-tabs,.catalog-filter-row,.collection-count,.catalog-grid.is-list .catalog-card,.editor-footer,.nas-source){border-color:var(--line)}
:root[data-theme=light] .catalog-type-tabs button{color:var(--muted)}
:root[data-theme=light] .catalog-type-tabs button[aria-pressed=true]{color:var(--mint);border-bottom-color:var(--mint)}
:root[data-theme=light] .catalog-layout-switch{border-color:var(--border)}
:root[data-theme=light] .catalog-layout-switch button{color:var(--muted)}
:root[data-theme=light] .catalog-layout-switch button[aria-pressed=true]{background:var(--surface-hover);color:var(--mint)}
:root[data-theme=light] .catalog-poster-link{border-color:#c1cec0;box-shadow:0 2px 7px #20372b0a}
:root[data-theme=light] .catalog-poster-link:hover{box-shadow:0 10px 24px #20372b20;border-color:#799c80}
:root[data-theme=light] .catalog-grid.is-list .catalog-card-description{color:var(--muted)}
:root[data-theme=light] .catalog-empty{background:#eef3eb;border-color:var(--border)}
:root[data-theme=light] :is(.catalog-empty p,.catalog-empty>span){color:var(--muted)}
:root[data-theme=light] :is(.catalog-error,.editor-error,#libraryError){background:#fbede6;border-color:#e5c9b9;color:#8d4026}
:root[data-theme=light] .catalog-skeleton{background:linear-gradient(110deg,#e5ece2 25%,#f8faf6 45%,#e5ece2 65%);background-size:250% 100%;border-color:var(--line)}
:root[data-theme=light] .detail-close{background:#f5f8f1ed;border-color:var(--border);color:var(--text)}
:root[data-theme=light] :is(.detail-labels span,.editor-genres label,.editor-trailer,.library-notice,.file-status.saved){background:var(--surface);color:#36593f;border-color:var(--border)}
:root[data-theme=light] :is(.editor-field input,.editor-field textarea,.editor-field select,.library-filters select,.nas-field input,.login-card input,input[type=url]){background:#f9fbf7;border-color:var(--border);color:var(--text)}
:root[data-theme=light] :is(.editor-intro,.editor-hint,.editor-close,.cover-placeholder,.film-description,.nas-muted,.login-card p,.login-card small){color:var(--muted)}
:root[data-theme=light] .cover-placeholder{background:var(--surface);border-color:var(--border)}
:root[data-theme=light] .film-categories{color:var(--mint)!important}
:root[data-theme=light] :is(.source-dot.online,.version i,.local-badge i){background:var(--mint)}
:root[data-theme=light] :is(.catalog-source.offline,.catalog-unavailable){color:#93621d}
:root[data-theme=light] :is(#nasError,#authError){color:#a83932}
/* Player surroundings and upload screen. */
:root[data-theme=light] :is(.theater-button,.film-icon,.local-badge,.chapters button,.tabs,.dropzone,.cloud-drop,.upload-icon,.cloud-symbol,.mini-key,.video-file-icon,kbd,.vault-tag){background:var(--surface);border-color:var(--border);color:var(--text)}
:root[data-theme=light] :is(.theater-button:hover,.theater-button[aria-pressed=true],.chapters button.current,.chapters button:hover,.tabs button[aria-selected=true],.dropzone:hover,.cloud-drop:hover){background:var(--surface-hover);border-color:#92b79a;color:var(--mint)}
:root[data-theme=light] :is(.tabs button,.panel-heading .eyebrow,.privacy,.privacy svg,.dropzone>span:not(.upload-icon),.dropzone small,.cloud-drop span:not(.cloud-symbol),.cloud-drop small,.watch-hint,.film-details p,.film-details>span,.chapters small,.demo-card small,.subtitle-section p,.subtitle-section>div svg,.file-type,.field-label,.field-hint,.processing-note,.remove-upload,.progress-line,.storage-next,.storage-next p,.empty-reel){color:var(--muted)}
:root[data-theme=light] .panel-separator{background:var(--line)}
:root[data-theme=light] .upload-progress p{color:var(--muted)}
:root[data-theme=light] dl>div{border-color:var(--line)}
:root[data-theme=light] .nas-login{background:var(--bg)}
@media(max-width:1100px){.theme-toggle span{display:none}.theme-toggle{width:36px;padding:8px}.topbar .header-actions{gap:10px}}
@media(max-width:480px){.topbar .header-actions{gap:7px}.topbar{gap:12px}.theme-toggle{width:33px;min-height:33px}.catalog-add{padding:8px}}
