/* Shared charcoal/lime palette. Load last; geometry and behavior stay in their
   existing modules. Use the action ink on lime fills, and the link color on
   neutral surfaces so light mode never puts pale lime text on white. */
:root,
:root[data-theme="light"] {
  color-scheme: dark;
  --palette-page: #0c0c0c;
  --palette-card: #181818;
  --palette-input: #242424;
  --palette-soft: #202020;
  --palette-hover: #2c2c2c;
  --palette-ink: #f4f4f5;
  --palette-secondary: #b0b0b0;
  --palette-muted: #979797;
  --palette-line: #ffffff1f;
  --palette-link: #d4ff00;
  --palette-link-hover: #e0ff59;
  --palette-tint: #d4ff0010;
  --palette-selected-line: #d4ff0066;
  --palette-focus: #d4ff00;
  --palette-ring: #d4ff001a;
  --palette-action: #d4ff00;
  --palette-action-hover: #c3eb00;
  --palette-action-ink: #141414;
  --palette-scroll-track: #181818;
  --palette-scroll-thumb: #555555;
  --palette-scroll-hover: #777777;
  --palette-backdrop: #000000a6;
  --palette-shadow: 0 16px 36px -10px #00000066;
  --palette-balance-ink: #d4d4d4;
  --palette-balance-surface: #242424;
  --palette-balance-line: #3a3a3a;
  --palette-balance-icon: #d4ff00;
  --palette-active-ink: #b7d85a;
  --palette-active-tint: #b7d85a12;
  --palette-active-line: #b7d85a30;
  --bg-base: var(--palette-page);
  --bg-pattern-1: transparent;
  --bg-pattern-2: transparent;
  --surface-card: var(--palette-card);
  --surface-input: var(--palette-input);
  --surface-th: var(--palette-soft);
  --surface-hover: var(--palette-hover);
  --border: var(--palette-line);
  --border-hover: var(--palette-selected-line);
  --text-main: var(--palette-ink);
  --text-secondary: var(--palette-secondary);
  --text-muted: var(--palette-muted);
  --primary: var(--palette-link);
  --primary-hover: var(--palette-link-hover);
  --primary-glow: transparent;
  --accent: var(--palette-link);
  --neon-green: var(--palette-link);
  --neon-glow: transparent;
  --card-shadow: var(--palette-shadow);
  --bg: var(--palette-page);
  --card: var(--palette-card);
  --text: var(--palette-ink);
  --muted: var(--palette-secondary);
  --line: var(--palette-line);
  --button: var(--palette-action);
  --subtle: var(--palette-tint);
  --lp-page: var(--palette-page);
  --lp-surface: var(--palette-card);
  --lp-input: var(--palette-input);
  --lp-ink: var(--palette-ink);
  --lp-muted: var(--palette-secondary);
  --lp-line: var(--palette-line);
  --lp-soft: var(--palette-soft);
  --lp-accent: var(--palette-link);
  --lp-accent-ink: var(--palette-action-ink);
  --lp-link: var(--palette-link);
  --lp-cta: var(--palette-action);
  --lp-cta-hover: var(--palette-action-hover);
  --lp-accent-tint: var(--palette-tint);
  --lp-selected-border: var(--palette-selected-line);
  --lp-pattern-1: transparent;
  --lp-pattern-2: transparent;
  --lp-hover: var(--palette-hover);
  --lp-shadow: var(--palette-shadow);
  --legal-bg: var(--palette-page);
  --legal-surface: var(--palette-card);
  --legal-text: var(--palette-ink);
  --legal-muted: var(--palette-secondary);
  --legal-border: var(--palette-line);
  --legal-accent: var(--palette-link);
  --legal-soft: var(--palette-tint);
  color: var(--palette-ink);
  background-color: var(--palette-page);
  accent-color: var(--palette-action);
}
:root[data-theme="light"] {
  color-scheme: light;
  --palette-page: #f5f5f4;
  --palette-card: #ffffff;
  --palette-input: #ffffff;
  --palette-soft: #f0f0ee;
  --palette-hover: #eaeae7;
  --palette-ink: #202020;
  --palette-secondary: #555555;
  --palette-muted: #666666;
  --palette-line: #d8d8d3;
  --palette-link: #466000;
  --palette-link-hover: #354900;
  --palette-tint: #f1f6db;
  --palette-selected-line: #94a94d;
  --palette-focus: #668000;
  --palette-ring: #6680001a;
  --palette-scroll-track: #f0f0ee;
  --palette-scroll-thumb: #adada6;
  --palette-scroll-hover: #85857e;
  --palette-backdrop: #00000066;
  --palette-shadow: 0 12px 30px -10px #00000014;
  --palette-balance-ink: #555555;
  --palette-balance-surface: #f0f0ee;
  --palette-balance-line: #d8d8d3;
  --palette-balance-icon: #466000;
  --palette-active-ink: #53691b;
  --palette-active-tint: #f0f4e3;
  --palette-active-line: #cedbb6;
}
:root body {
  color: var(--palette-ink);
  background-color: var(--palette-page);
  background-image: none;
}
:root ::selection { color: var(--palette-action-ink); background: var(--palette-action); }

/* Primary actions have their own fill/ink pair, independent of link tokens. */
:root :is(.login-submit, .btn-start, .btn-generate, .btn-tool.gradient,
  .access-primary, .account-export-primary-btn, .storage-primary-btn),
:root :is(.rh-users-view, .rh-users-dialog, .rh-dashboard-view) .rh-users-primary,
:root .rh-commerce-dialog .rh-settings-primary,
:root .rh-admin-footer #rhAdminSave,
:root .rh-dialog:not([data-kind="danger"]) .rh-feedback-primary {
  background: var(--palette-action);
  border-color: var(--palette-action);
  color: var(--palette-action-ink);
  box-shadow: none;
}
:root :is(.login-submit, .btn-start, .btn-generate, .btn-tool.gradient,
  .access-primary, .account-export-primary-btn, .storage-primary-btn):hover:not(:disabled),
:root :is(.rh-users-view, .rh-users-dialog, .rh-dashboard-view) .rh-users-primary:hover:not(:disabled),
:root .rh-commerce-dialog .rh-settings-primary:hover:not(:disabled),
:root .rh-admin-footer #rhAdminSave:hover:not(:disabled),
:root .rh-dialog:not([data-kind="danger"]) .rh-feedback-primary:hover {
  background: var(--palette-action-hover);
  border-color: var(--palette-action-hover);
  color: var(--palette-action-ink);
  box-shadow: none;
}
:root .access-primary:hover { filter: none; }
:root .btn-generate .studio-button-spinner { border-top-color: currentColor; }
:root .rh-generation-filter-count {
  background: var(--palette-action);
  color: var(--palette-action-ink);
}
:root :is(.rh-admin-toggle-row, .studio-switch-row) input:checked {
  background: var(--palette-action);
  border-color: var(--palette-action);
}
:root :is(.rh-admin-toggle-row, .studio-switch-row) input:checked::before {
  background: var(--palette-action-ink);
}
:root :is(.rh-users-active-field, .rh-settings-switch, .billing-enabled) input {
  accent-color: var(--palette-focus);
}

/* Login/signup retain their existing sizes, spacing and mobile input sizing. */
:root .login-brand { color: var(--palette-ink); }
:root .login-brand strong { color: var(--palette-link); }
:root .login-card {
  background: var(--palette-card);
  border-color: var(--palette-line);
  box-shadow: var(--palette-shadow);
}
:root :is(.login-mark, .login-theme-toggle) {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root .login-theme-toggle:hover {
  background: var(--palette-hover);
  border-color: var(--palette-focus);
}
:root .login-shell :is(label, .password-toggle) { color: var(--palette-secondary); }
:root :is(.login-description, .field-hint, .auth-mode, .google-hint,
  .auth-divider, .login-footer) { color: var(--palette-muted); }
:root .auth-mode { border-color: var(--palette-line); }
:root .auth-mode button { color: var(--palette-link); }
:root .auth-mode button:hover { color: var(--palette-link-hover); }
:root .password-toggle:hover { color: var(--palette-ink); background: var(--palette-hover); }
:root .login-shell input {
  color: var(--palette-ink);
  background: var(--palette-input);
  border-color: var(--palette-line);
}
:root .login-shell input::placeholder { color: var(--palette-muted); }
:root .login-shell input:focus {
  border-color: var(--palette-focus);
  box-shadow: 0 0 0 3px var(--palette-ring);
}
:root .login-shell :is(button, a):focus-visible { outline-color: var(--palette-focus); }

/* Navigation, dropdowns and reference inputs. */
:root :is(.sidebar .nav-tabs-wrapper, .sidebar .account-source-tabs, .media-subtabs) {
  background: var(--palette-soft);
  border-color: var(--palette-line);
}
:root :is(.sidebar .nav-tab-btn, .sidebar .account-source-tab, .media-subtab-btn) {
  color: var(--palette-secondary);
}
:root :is(.sidebar .nav-tab-btn, .sidebar .account-source-tab):hover:not(.is-locked) {
  background: var(--palette-hover);
  color: var(--palette-ink);
}
:root :is(.sidebar .nav-tab-btn.active, .sidebar .account-source-tab.active,
  .studio-tabs .nav-tab-btn.active, .media-subtab-btn.active, .image-workflow-chip.active) {
  background: var(--palette-tint);
  color: var(--palette-link);
  border-color: var(--palette-selected-line);
  box-shadow: none;
}
:root :is(.custom-select-menu, .accounts-row-select-menu, .monitoring-group-filter-menu) {
  background: var(--palette-card);
  color: var(--palette-ink);
  border-color: var(--palette-line);
}
:root :is(.custom-select-item, .monitoring-group-filter-option) { color: var(--palette-ink); }
:root .custom-select-item:hover:not(.disabled),
:root .monitoring-group-filter-option:is(:hover, :focus-visible) {
  color: var(--palette-ink);
  background: var(--palette-hover);
}
:root :is(.custom-select-item.selected, .monitoring-group-filter-option.is-selected,
  .account-export-mode-option.is-selected) {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root .custom-select-item.disabled { background-color: var(--palette-soft); border-color: var(--palette-line); }
:root :is(.custom-select-btn, .monitoring-search, .monitoring-group-filter-trigger,
  .miora-video-control, .tiktok-input-shell input, .tiktok-start-field input) {
  color: var(--palette-ink);
  background: var(--palette-input);
  border-color: var(--palette-line);
}
:root :is(.custom-select-btn, .monitoring-group-filter-trigger):focus-visible,
:root .monitoring-search:focus-within,
:root .monitoring-group-filter.is-open .monitoring-group-filter-trigger {
  border-color: var(--palette-focus);
  box-shadow: 0 0 0 3px var(--palette-ring);
}
:root :is(.custom-select-wrap, .rh-users-view, .rh-users-dialog, .rh-generation-filters,
  .sidebar, .studio-image-form) :is(input:not([type="checkbox"]):not([type="range"]), textarea, select) {
  color: var(--palette-ink);
  background-color: var(--palette-input);
  border-color: var(--palette-line);
  caret-color: var(--palette-focus);
}
:root :is(input, textarea)::placeholder { color: var(--palette-muted); }
:root :is(input:not([type="checkbox"]):not([type="range"]), textarea, select):focus {
  border-color: var(--palette-focus);
  box-shadow: 0 0 0 3px var(--palette-ring);
}
:root :is(button, a, input, textarea, select):focus-visible { outline-color: var(--palette-focus); }
:root [data-account-search] {
  color: var(--palette-ink) !important;
  background: var(--palette-input) !important;
  border-color: var(--palette-line) !important;
}
:root [data-account-search]::placeholder { color: var(--palette-muted) !important; }
:root [data-account-search]:focus {
  border-color: var(--palette-focus) !important;
  box-shadow: 0 0 0 3px var(--palette-ring) !important;
}
:root .custom-select-item [title="Smart Rotation"] {
  color: var(--palette-link) !important;
  background: var(--palette-soft) !important;
  border-color: var(--palette-line) !important;
}
:root :is(.media-box-card, .tiktok-card-container, .card-item, .video-modal-content,
  .storage-manager-dialog, .account-export-shell, .table-responsive) {
  background: var(--palette-card);
  border-color: var(--palette-line);
}
:root .media-box-card:hover { background: var(--palette-tint); border-color: var(--palette-selected-line); }
:root :is(.upload-icon-circle, .thumb-empty-placeholder) {
  color: var(--palette-secondary);
  background: var(--palette-soft);
  border-color: var(--palette-line);
}
:root :is(.node-tag, .email-tag, .studio-empty-icon, .account-export-mode-option.is-selected .account-export-mode-icon) {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root :is(.brand-icon, .sidebar-rail-logo) { background: var(--palette-soft); box-shadow: none; }
:root :is(.btn-theme-toggle, .sidebar-collapse-toggle, .sidebar-rail-expand,
  .btn-monitor-pill, .action-btn, .btn-page, .btn-tool:not(.gradient)) {
  color: var(--palette-secondary);
  background: var(--palette-input);
  border-color: var(--palette-line);
}
:root :is(.btn-theme-toggle, .sidebar-collapse-toggle, .btn-monitor-pill,
  .btn-page, .btn-tool:not(.gradient)):hover:not(:disabled),
:root .action-btn:hover:not(.disabled):not(.btn-cancel-square):not([data-image-action="delete"]):not([data-image-action="cancel"]):not([data-video-action="delete"]):not([data-video-action="cancel"]) {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root .btn-tiktok-preview {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root .btn-tiktok-preview:hover:not(:disabled) {
  color: var(--palette-action-ink);
  background: var(--palette-action);
  box-shadow: none;
}
:root .terminal-window { background: var(--palette-soft); border-color: var(--palette-line); color: var(--palette-secondary); }
:root .sidebar .status-badge:not(.running) {
  color: var(--palette-secondary);
  background: var(--palette-soft);
  border-color: var(--palette-line);
}
:root .sidebar .status-badge:not(.running) .status-dot { background: var(--palette-muted); box-shadow: none; }
:root :is(.video-modal-header, .account-export-header, .account-export-actions, th) {
  background: var(--palette-soft);
  border-color: var(--palette-line);
  color: var(--palette-secondary);
}
:root :is(td, .account-email-text, .uid-table-text, .key-text-clipped) { color: var(--palette-secondary); border-color: var(--palette-line); }
:root tbody tr:hover { background: var(--palette-hover); }
:root :is(.task-email-badge, .task-time-text) { color: var(--palette-muted); }
:root .task-email-badge svg { color: var(--palette-secondary); stroke: var(--palette-secondary); }

/* Routine account data stays neutral; active capsules match the subscription badge.
   The existing shapes, status text, table layout and primary actions are kept. */
:root #statTotalKeys { color: var(--palette-ink); }
:root :is(#tableBadgeCredits, .coins-tag, .rh-coin-chip, .coin-sync-capsule,
  .card-item .stat-chip-duration) {
  color: var(--palette-balance-ink) !important;
  background: var(--palette-balance-surface) !important;
  border-color: var(--palette-balance-line) !important;
  box-shadow: none !important;
}
:root #tableBadgeCredits svg.rh-icon,
:root #accountsTable[data-provider="runninghub"] .coins-tag svg.rh-icon,
:root .coin-sync-capsule svg.rh-icon,
:root .rh-coin-chip svg.rh-icon { color: var(--palette-balance-icon) !important; }
:root #tableBadgeCredits svg.rh-icon path,
:root #accountsTable[data-provider="runninghub"] .coins-tag svg.rh-icon path,
:root .coin-sync-capsule svg.rh-icon path,
:root .rh-coin-chip svg.rh-icon path { fill: currentColor !important; }
/* Miora keeps its outline SVG; only its ink shares RunningHub's coin accent. */
:root :is(.miora-credit-icon, .miora-credit-icon svg) {
  color: var(--palette-balance-icon) !important;
}
:root #accountsTable .account-status-badge.is-active {
  color: var(--success, #10b981);
  background: #10b98110;
  border-color: #10b98126;
}
:root #accountsTable .btn-account-status.is-active { color: var(--palette-active-ink); }
:root #accountsTable .account-status-badge.is-inactive {
  color: var(--palette-muted);
  background: var(--palette-soft);
  border-color: var(--palette-line);
}
:root #accountsTable .btn-account-status.is-inactive { color: var(--palette-muted); }
:root #accountsTable .btn-account-status:hover:not(:disabled) {
  background: var(--palette-hover);
  border-color: var(--palette-line);
}
/* Sync's existing inline colors retain their fallback when the shared palette
   is absent. These variables also let hover follow the neutral button theme. */
:root #btnRefreshAll {
  --account-sync-ink: var(--palette-secondary);
  --account-sync-surface: var(--palette-input);
  --account-sync-line: var(--palette-line);
}
:root #btnRefreshAll:hover:not(:disabled) {
  --account-sync-ink: var(--palette-link);
  --account-sync-surface: var(--palette-tint);
  --account-sync-line: var(--palette-selected-line);
}
:root .coin-sync-bar { accent-color: var(--palette-focus); }
:root .coin-sync-bar::-webkit-progress-value { background: var(--palette-focus); }
:root .coin-sync-bar::-moz-progress-bar { background: var(--palette-focus); }

:root .card-item:is([data-video-task-id], [data-image-task]) :is(.video-workflow-floating, .image-model-floating-badge) .workflow-chip {
  background: var(--palette-input);
  color: var(--palette-ink);
  border-color: var(--palette-line);
}

/* Shared profile, policies, feedback and configuration dialogs. */
:root :is(.rh-profile-avatar, .rh-session-role) { background: var(--palette-tint); color: var(--palette-link); }
:root .rh-profile-membership { background: var(--palette-tint); border-color: var(--palette-selected-line); box-shadow: none; }
:root .rh-membership-badge:not([data-status="active"]):not([data-status="expired"]),
:root .rh-users-badge:not(.is-active):not(.is-inactive):not(.is-pending) {
  background: var(--palette-tint);
  color: var(--palette-link);
}
:root .rh-commerce-dialog {
  --settings-bg: var(--palette-card);
  --settings-input: var(--palette-soft);
  --settings-text: var(--palette-ink);
  --settings-muted: var(--palette-secondary);
  --settings-line: var(--palette-line);
  --settings-accent: var(--palette-link);
  --settings-button: var(--palette-action);
}
:root .rh-support-dialog {
  --support-bg: var(--palette-card);
  --support-input: var(--palette-soft);
  --support-text: var(--palette-ink);
  --support-muted: var(--palette-secondary);
  --support-line: var(--palette-line);
  --support-accent: var(--palette-link);
}
:root :is(.rh-dialog, .rh-toast-region) {
  --rh-panel: var(--palette-card);
  --rh-line: var(--palette-line);
  --rh-copy: var(--palette-ink);
  --rh-muted: var(--palette-secondary);
  --rh-subtle: var(--palette-soft);
}
:root .rh-dialog { background: var(--palette-card); border-color: var(--palette-line); }
:root .rh-dialog:not([data-kind="danger"]):not([data-kind="error"]):not([data-kind="warning"]):not([data-kind="success"]) .rh-feedback-icon {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root .rh-toast:not([data-kind="error"]):not([data-kind="warning"]):not([data-kind="success"]) .rh-toast-icon { color: var(--palette-link); }
:root :is(.rh-dialog, .rh-commerce-dialog, .rh-support-dialog, .legal-dialog,
  .rh-generation-dialog, .storage-manager-dialog, .studio-result-modal)::backdrop { background: var(--palette-backdrop); }
:root :is(.login-consent a, .legal-document a, .legal-dialog-footer a, .legal-nav a, .legal-page-footer a) { text-decoration-color: var(--palette-selected-line); }

/* These editors already use !important to survive their workflow variants. */
:root body[data-rh-multi-reference] :is(.rh-multi-prompt-editor, .rh-multi-prompt-field.is-expanded) #rhMultiPrompt {
  color: var(--palette-ink) !important;
  background: var(--palette-input) !important;
  border-color: var(--palette-line) !important;
  caret-color: var(--palette-focus) !important;
}
:root body[data-rh-multi-reference] :is(.rh-multi-prompt-editor, .rh-multi-prompt-field.is-expanded) #rhMultiPrompt:focus {
  border-color: var(--palette-focus) !important;
  box-shadow: 0 0 0 3px var(--palette-ring) !important;
}
:root body[data-rh-multi-reference] :is(.rh-multi-prompt-editor, .rh-multi-prompt-field.is-expanded) #rhMultiPrompt::placeholder { color: var(--palette-muted) !important; }
:root body[data-rh-multi-reference] :is(.rh-aspect-trigger, .rh-aspect-menu, .rh-aspect-option, .rh-multi-prompt-expand-btn) {
  color: var(--palette-secondary) !important;
  background: var(--palette-input) !important;
  border-color: var(--palette-line) !important;
}
:root body[data-rh-multi-reference] .rh-aspect-option.is-active {
  color: var(--palette-link) !important;
  background: var(--palette-tint) !important;
  border-color: var(--palette-selected-line) !important;
}
:root body[data-rh-multi-reference] .rh-aspect-option.is-active .rh-aspect-shape {
  background: var(--palette-tint) !important;
  border-color: var(--palette-focus) !important;
}
:root body[data-rh-multi-reference] .rh-multi-duration-tabs {
  background: var(--palette-soft) !important;
  border-color: var(--palette-line) !important;
}
:root body[data-rh-multi-reference] .rh-multi-duration-tab.is-active {
  background: var(--palette-tint) !important;
  border-color: var(--palette-selected-line) !important;
  color: var(--palette-link) !important;
  box-shadow: none !important;
}
:root .image-task-note-dialog {
  color: var(--palette-ink) !important;
  background: var(--palette-card) !important;
  border-color: var(--palette-line) !important;
}
:root .image-task-note-dialog::backdrop { background: var(--palette-backdrop) !important; }
:root .image-task-note-cancel {
  color: var(--palette-secondary) !important;
  background: var(--palette-soft) !important;
  border-color: var(--palette-line) !important;
}
:root .image-task-note-title-icon {
  color: var(--palette-link) !important;
  background: var(--palette-tint) !important;
  border-color: var(--palette-selected-line) !important;
}
:root .image-task-note-title strong { color: var(--palette-ink) !important; }
:root :is(.image-task-note-task, .image-task-note-meta, .image-task-note-label,
  .image-task-note-close, .image-task-note-clear) { color: var(--palette-muted) !important; }
:root .image-task-note-dialog textarea {
  color: var(--palette-ink) !important;
  background: var(--palette-input) !important;
  border-color: var(--palette-line) !important;
}
:root .image-task-note-dialog textarea::placeholder { color: var(--palette-muted) !important; }
:root .image-task-note-dialog textarea:focus {
  border-color: var(--palette-focus) !important;
  box-shadow: 0 0 0 3px var(--palette-ring) !important;
}
:root .image-task-note-actions .image-task-note-save {
  color: var(--palette-action-ink) !important;
  background: var(--palette-action) !important;
  border-color: var(--palette-action) !important;
  box-shadow: none !important;
}
:root .image-result-card .task-note-btn:is(:hover, :focus-visible, .has-note) {
  color: var(--palette-link);
  background: var(--palette-tint);
  border-color: var(--palette-selected-line);
}
:root #imageStudioPanel :is(.image-prompt-editor, .image-prompt-field.is-expanded) #tryOnPrompt {
  color: var(--palette-ink) !important;
  background: var(--palette-input) !important;
  border-color: var(--palette-line) !important;
  caret-color: var(--palette-focus) !important;
}
:root #imageStudioPanel :is(.image-prompt-editor, .image-prompt-field.is-expanded) #tryOnPrompt:focus {
  border-color: var(--palette-focus) !important;
  box-shadow: 0 0 0 3px var(--palette-ring) !important;
}
:root #imageStudioPanel :is(.image-prompt-editor, .image-prompt-field.is-expanded) #tryOnPrompt::placeholder { color: var(--palette-muted) !important; }
:root :is(.image-prompt-editor, .image-prompt-field.is-expanded) .image-prompt-expand-btn {
  background: var(--palette-input) !important;
  color: var(--palette-secondary) !important;
  border-color: var(--palette-line) !important;
}

/* Custom video controls retain a neutral surface over the video in both modes. */
:root .rh-video-controls { background: var(--palette-card); border-color: var(--palette-line); }
:root .rh-video-control-btn { color: var(--palette-ink); }
:root .rh-video-control-btn:hover { color: var(--palette-link); background: var(--palette-tint); }
:root .rh-video-time { color: var(--palette-secondary); }
:root .video-modal-body input.rh-video-progress:focus-visible { outline-color: var(--palette-focus); }
:root .rh-video-progress::-webkit-slider-runnable-track {
  background: linear-gradient(90deg, var(--palette-focus) 0 var(--rh-video-progress), var(--palette-line) var(--rh-video-progress) 100%);
}
:root .rh-video-progress::-webkit-slider-thumb { background: var(--palette-focus); }
:root .rh-video-progress::-moz-range-track { background: var(--palette-line); }
:root .rh-video-progress::-moz-range-progress,
:root .rh-video-progress::-moz-range-thumb { background: var(--palette-focus); }

/* Scrollbars remain neutral and readable in both themes, including popups. */
:root * { scrollbar-color: var(--palette-scroll-thumb) var(--palette-scroll-track); }
:root ::-webkit-scrollbar-track { background: var(--palette-scroll-track); }
:root ::-webkit-scrollbar-thumb { background: var(--palette-scroll-thumb); }
:root ::-webkit-scrollbar-thumb:hover { background: var(--palette-scroll-hover); }
:root :is(.rh-admin-groups, .storage-manager-body) {
  --popup-scroll-thumb: var(--palette-scroll-thumb);
  --popup-scroll-track: var(--palette-scroll-track);
  --popup-scroll-hover: var(--palette-scroll-hover);
}
