Brand
Standard-Markenfarbe für allgemeine Hinweise.
Alle Farb-Tokens aus einer Basisfarbe pro Familie berechnet (color-mix() in oklch, siehe colors.css) - Theme-Button oben rechts nutzen, um jede Fläche in Light/Dark zu vergleichen.
<span class="ncss-badge">Standard</span>
<span class="ncss-badge ncss-badge--success">Erfolg</span>
<span class="ncss-badge ncss-badge--danger">Fehler</span>
<button class="ncss-btn ncss-btn--primary">Primär</button>
500 = Basisfarbe. 100/300 und 700/900 sind jeweils light-dark()-gewrappt - im Dark Mode mischen 100/300 gegen Schwarz statt Weiß, damit sie dezent bleiben statt zu grell zu wirken.
.ncss-card--brand/-brand-2/-neutral/-success/-warning/-danger - 100-Fläche + -on-soft-Text (dieselbe Paarung wie bei Badges), plus farbiger Rand als Akzent. Genau dieses Muster ist auch die Hinweis-/Callout-/"Note"-Box für Dokumentationstexte (Tipp/Warnung/Fehler) - keine eigene Callout-Komponente nötig, dieselben Klassen reichen.
Standard-Markenfarbe für allgemeine Hinweise.
Zweitfarbe für Akzente/Kampagnen.
Neutrale Info ohne Wertung.
Erfolgreich gespeichert/abgeschlossen.
Achtung, noch nicht veröffentlicht.
Fehler, Aktion erforderlich.
.ncss-surface--brand/-brand-2/-neutral (helpers/surfaces.css) - nutzt die 900-Stufe als Hintergrund, feste weiße Textfarbe (bewusst nicht die theme-abhängige Kontrastfarbe, siehe Kommentar in surfaces.css).
Winkel per --ncss-gradient-angle parametrisierbar (Default 135deg), pro
Instanz überschreibbar: style="--ncss-gradient-angle: 90deg".
.ncss-gradient-brand.ncss-gradient-subtle--ncss-gradient-angle: 90degVerlauf als Textfarbe
.ncss-text-gradient-brand - nur für große, auffällige Überschriften gedacht, nicht für Fließtext.
js/theme-toggle.js + components/theme-toggle.css setzen [data-theme] am <html> (wirkt über light-dark() in colors.css) und merken sich die Wahl. js/theme-toggle-early.js synchron im <head> verhindert das Aufblitzen des falschen Modus beim Laden. Zwei Varianten - beide hier aktiv, sie schalten denselben Zustand:
<head>
<script src="dist/js/theme-toggle-early.js"></script> <!-- synchron, vor dem CSS -->
<link rel="stylesheet" href="dist/ncss.css">
<script src="dist/js/theme-toggle.js" defer></script>
</head>
<button type="button" class="ncss-theme-toggle" data-ncss-theme-toggle>
<span class="ncss-icon ncss-icon-moon ncss-theme-icon-dark" aria-hidden="true"></span>
<span class="ncss-icon ncss-icon-sun ncss-theme-icon-light" aria-hidden="true"></span>
</button>
<button type="button" data-ncss-theme-toggle="cycle">Theme: <span data-ncss-theme-label>System</span></button>