Come cambiare il colore CSS per una singola palette di temi?

Attualmente ho un unico tema con due palette (una chiara e una scura). Sono soddisfatto al 90% della palette scura, ma in alcuni casi vorrei apportare delle correzioni.

Ad esempio, nella palette scura non c’è abbastanza contrasto tra i colori di sfondo e di primo piano per i messaggi privati (whispers):

.whisper .topic-body .cooked {
    color: var(--primary-medium)
}

So che posso sovrascrivere il CSS, ma se lo modifico in var(--primary-light) questo influisce anche sulla palette chiara.

Esiste un modo per indirizzare una singola palette o la prassi migliore è creare due temi diversi, ciascuno con la propria palette?

Il mio problema con questo secondo approccio è che dovrei iniziare a duplicare molte altre personalizzazioni che non hanno nulla a che fare con i colori.

Certo, ci sono alcune funzioni SCSS che puoi utilizzare per verificare se ti trovi su una palette di colori chiara o scura.

Puoi usarle in questo modo.

@if is-light-color-scheme() {
  // CSS per la palette di colori chiara
  h1 {
    color: green;
  }
}

@if is-dark-color-scheme() {
  // CSS per la palette di colori scura
  h1 {
    color: red;
  }
}

Grazie per averlo segnalato, @Johani. Sembra che la funzione dark-light-choose($light, $dark) faccia esattamente quello che voglio, ma il mio problema ora è che non rileva il cambio di palette.

L’unico tema attivo si chiama “Nacho” e ha due palette: “Clara” (Chiaro) e “Oscura” (Scuro):

L’ho personalizzato con questo CSS:

$dark-theme-ins: #4da06d;
$light-theme-ins: #acf2bd;
.modal.history-modal {
    ins {
        background: dark-light-choose($light-theme-ins, $dark-theme-ins);
    }
}

Questo funziona con la palette chiara:


Ma non funziona con la palette scura:


Se modifico il CSS in questo modo, funziona:

.modal.history-modal {
    ins {
        background: $dark-theme-ins;
    }
}

Quindi sembra che il passaggio alla palette scura non venga rilevato. Vedo che is-light-color-scheme controlla la luminosità di $primary e $secondary. Ecco la mia palette scura:

E quella chiara:

Ho esaurito le idee.

Questo è stato risolto qui: Why might dark-light-choose() not work? - #2 by awesomerobot