/* The blue choice leaves each existing theme's own palette intact. */
html:root[data-platform='desktop'][data-accent='red'] {
  --ui-accent: #e51b46;
  --ui-accent-bright: #ff5575;
  --ui-on-accent: #fff;
}

html:root[data-platform='desktop'][data-accent='green'] {
  --ui-accent: #00c981;
  --ui-accent-bright: #30e6a5;
  --ui-on-accent: #111218;
}

html:root[data-platform='desktop'][data-accent='yellow'] {
  --ui-accent: #ffd22e;
  --ui-accent-bright: #ffe277;
  --ui-on-accent: #111218;
}

html:root[data-platform='desktop'][data-accent='red']:is([data-theme='white-titanium'], [data-theme='rose-gold-glass'], [data-theme='rose-glass'], [data-theme='light']) {
  --ui-accent-bright: #ae293e;
}

html:root[data-platform='desktop'][data-accent='green']:is([data-theme='white-titanium'], [data-theme='rose-gold-glass'], [data-theme='rose-glass'], [data-theme='light']) {
  --ui-accent-bright: #0d7350;
}

html:root[data-platform='desktop'][data-accent='yellow']:is([data-theme='white-titanium'], [data-theme='rose-gold-glass'], [data-theme='rose-glass'], [data-theme='light']) {
  --ui-accent-bright: #7d5c00;
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) {
  --accent: var(--ui-accent);
  --cyan: var(--ui-accent-bright);
  --nova-accent: var(--ui-accent);
  --app-on-accent: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready {
  --studio-content-accent: var(--ui-accent);
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .settings-card.accent-settings-card {
  margin-top: 10px;
  overflow: hidden;
  border: 1px solid var(--codex-divider, var(--line)) !important;
  border-radius: 12px !important;
  background: var(--panel, #1a1a1e) !important;
  box-shadow: none !important;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-settings-card .accent-setting-row {
  border: 0 !important;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-height: 0 !important;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 0;
  min-height: 42px;
  border: 1px solid var(--codex-divider, var(--line)) !important;
  border-radius: 8px !important;
  background: var(--panel2, #222327) !important;
  color: var(--text) !important;
  font-size: 12px;
  font-weight: 700;
  box-shadow: none !important;
  cursor: pointer;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button[data-value='blue'] {
  --accent-option: #5b4cff;
  --accent-option-ink: #fff;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button[data-value='red'] {
  --accent-option: #e51b46;
  --accent-option-ink: #fff;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button[data-value='green'] {
  --accent-option: #00c981;
  --accent-option-ink: #111218;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button[data-value='yellow'] {
  --accent-option: #ffd22e;
  --accent-option-ink: #111218;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices .accent-swatch {
  flex: 0 0 17px;
  width: 17px;
  height: 17px;
  border: 1px solid color-mix(in srgb, #fff 55%, transparent);
  border-radius: 50%;
  background: var(--accent-option);
  box-shadow: 0 0 10px color-mix(in srgb, var(--accent-option) 45%, transparent);
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button:hover,
html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button:focus-visible {
  border-color: var(--accent-option) !important;
  background: color-mix(in srgb, var(--accent-option) 35%, var(--panel2, #222327)) !important;
}

html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices > button.active {
  border-color: var(--accent-option) !important;
  background: var(--accent-option) !important;
  color: var(--accent-option-ink) !important;
  box-shadow: none !important;
}

@media (max-width: 720px) {
  html:root[data-platform='desktop'] body.nova-ready #settings-appearance .accent-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Semantic role, gift, warning, danger, and OBS overlay colors stay independent. */
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .nova-rail-settings.active,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .nova-rail-categories > button.active,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .nova-rail-categories > button[aria-pressed='true'] {
  color: var(--ui-on-accent) !important;
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready :is(
  .creator-panel form button,
  .gift-sound-add button,
  .about-tabs button.active,
  .archive-filters button.active
) {
  color: var(--ui-on-accent) !important;
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #settings .switch:checked::after {
  background: var(--ui-on-accent) !important;
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .obs-module-sidebar .obs-nav-item[aria-current='true'] {
  box-shadow: inset 3px 0 var(--ui-accent-bright) !important;
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .obs-module-sidebar .obs-nav-item:focus-visible {
  outline-color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready ::selection {
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) .beta-gate-card input:focus {
  border-color: var(--ui-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--ui-accent) 22%, transparent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) .beta-gate-card .auth-form > button[type='submit'] {
  background: linear-gradient(135deg, var(--ui-accent), var(--ui-accent-bright));
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) #settings-usage .usage-progress i {
  background: linear-gradient(90deg, var(--ui-accent), var(--ui-accent-bright)) !important;
  box-shadow: 0 0 14px color-mix(in srgb, var(--ui-accent) 55%, transparent) !important;
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root {
  --li-accent: var(--ui-accent);
  --li-accent-soft: color-mix(in srgb, var(--ui-accent) 18%, var(--studio-content-side, #202024));
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-interactions {
  --li-i-accent: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root :is(.li-eyebrow, .li-context, .li-small-button, .li-marker:not(.li-gift, .li-spike) time, .li-export),
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root .li-feedback[data-status='info'],
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-interactions :is(.li-interactions-head > div > span, .li-interactions-head > b, .li-interactions-overlay-link, .li-interactions code, .li-interactions-vote b, .li-interactions-stage:not([data-state='done']) b) {
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root :is(.li-context, .li-small-button) {
  border-color: color-mix(in srgb, var(--ui-accent) 45%, var(--studio-content-line, #303035));
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root .li-small-button-primary,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root .li-form button,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-interactions :is(.li-interactions-form > button, .li-interactions-actions button.li-interactions-primary) {
  border-color: var(--ui-accent);
  background: var(--ui-accent);
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-root :is(.li-small-button-primary, .li-form button):hover,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-interactions :is(.li-interactions-form > button, .li-interactions-actions button.li-interactions-primary):hover {
  background: color-mix(in srgb, var(--ui-accent) 80%, #fff);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .li-interactions :is(.li-interactions-vote-bar, .li-interactions-stage:not([data-state='done']) .li-interactions-stage-bar) {
  background: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .live-director :is(.ld-section-title svg, .ld-value) {
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .live-director button.ld-primary {
  border-color: var(--ui-accent);
  background: var(--ui-accent);
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .live-director button.ld-primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-accent) 80%, #fff);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .gift-discovery-count,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .gift-discovery-reviewed summary,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-meta strong,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-row[data-tone='working'] .cttm-health-state {
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .gift-discovery-panel button:hover,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-action:hover {
  border-color: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .gift-discovery-form input:focus-visible,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-action:focus-visible {
  outline-color: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-row[data-tone='working'] .cttm-health-mark {
  background: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-refresh:hover {
  border-color: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .cttm-health-refresh:focus-visible {
  outline-color: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .nova-command-search {
  border-color: var(--ui-accent);
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--ui-accent) 22%, transparent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .note-format-toolbar button {
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .note-format-toolbar button:is(:hover, :focus-visible) {
  border-color: var(--ui-accent);
  background: color-mix(in srgb, var(--ui-accent) 17%, var(--studio-content-control, #222327));
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount :is(button, input):focus-visible {
  outline-color: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount .nova-playbook-eyebrow {
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount button:hover:not(:disabled) {
  border-color: var(--ui-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount :is(#novaPlaybookStart, #novaPlaybookFormSubmit) {
  border-color: var(--ui-accent);
  background: var(--ui-accent);
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount :is(#novaPlaybookStart, #novaPlaybookFormSubmit):hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-accent) 80%, #fff);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount .nova-playbook-segment[data-active='true'] {
  border-color: var(--ui-accent);
  background: color-mix(in srgb, var(--ui-accent) 12%, var(--studio-content-hover, #2c2c30));
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready #novaPlaybookMount .nova-playbook-segment[data-active='true'] .nova-playbook-index {
  background: var(--ui-accent);
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .whats-new-slide-kicker,
html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .whats-new-backdrop :is(.whats-new-head-icon, .whats-new-version, .whats-new-slide-icon) {
  color: var(--ui-accent-bright);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .whats-new-backdrop :is(.whats-new-head-icon, .whats-new-version, .whats-new-slide-icon) {
  border-color: color-mix(in srgb, var(--ui-accent) 55%, #343945);
  background: color-mix(in srgb, var(--ui-accent) 18%, #1b1e25);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .whats-new-slide-next {
  border-color: var(--ui-accent);
  background: var(--ui-accent);
  color: var(--ui-on-accent);
}

html:root[data-platform='desktop'][data-accent]:not([data-accent='blue']) body.nova-ready .whats-new-slide-next:hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-accent) 80%, #fff);
}
