GH GambleHub

Farbsystem und Markenpaletten

1) Warum die Farbe formalisieren

Farbe ist kein Set von „guten Farbtönen“, sondern ein überschaubares System für:
  • Markenbekanntheit und visuelle Konsistenz,
  • Lesbarkeit und Zugänglichkeit (WCAG),
  • Skalierung der Schnittstellen (Themen, Plattformen, Locales),
  • vorhersehbare A/B-Experimente (Kontrast, CTR, Fehler).

2) Grundlagen des Systems: Modelle und Metriken

OKLCH (empfohlen): Wahrnehmungsgleich, bequeme Kontrolle der Helligkeit 'L' und Sättigung' C' unter Beibehaltung des Farbtons'H'.
Lab/LCH: auch geeignet; OKLCH ist in der Wahrnehmung stabiler.
sRGB: der endgültige Anzeigebereich; Die Endwerte werden immer in sRGB und nach WCAG validiert.
Kontrast (WCAG 2. 2): Basistext ≥ 4. 5:1, groß ≥ 3:1; kritische Benachrichtigungen - Ziel AAA (7:1), wo möglich.

3) Systemschichten: Von der Marke zur Semantik

1. Markenkern: 1-2 Markentöne (+ unterstützender Akzent).
2. Schnittstelle Semantik: Rollen ('primär', 'sekundär', 'Erfolg', 'Warnung', 'Gefahr', 'Info', 'neutral').
3. Tonskalen: Schritte nach Helligkeit (z.B. 25/50/100...900).
4. Темы: `light` / `dark` (+ high-contrast, AMOLED).
5. Zustände: 'default/hover/active/focus/disabled'.
6. Kontext: Flächen ('bg/base', 'bg/subtle', 'bg/elevated') und Text ('fg/primary', 'fg/secondary', 'fg/muted').
7. Datenvisualisierung: separate diskrete und kontinuierliche Paletten.

4) Markenkern: Auswahl und Einschränkungen

Wählen Sie den Hauptfarbton (Hue) und definieren Sie die Arbeitshelligkeit für die Marke in hellen und dunklen Themen (oft 'L≈0. 60–0. 70 'zum Füllen der Tasten in Licht und' L≈0. 70–0. 80 'für Text/Icons im Dunkeln).
Begrenzen Sie Chrom 'C': hohe' C' schön auf Bannern, aber brechen Lesbarkeit in UI - halten Sie 2 Versionen: „Marketing“ (gesättigt) und „Produkt“ (zurückhaltender).
Fixieren Sie die Varianten: Hauptstütze ('brand/primary'), Alternativstütze ('brand/alt') und Neutralstütze ('neutral').

5) Tonskalen (Tonskalen)

Ziel ist es, gleichmäßige Helligkeitsstufen mit kontrollierter Sättigung zu erhalten:
  • Für OKLCH bewegen Sie die' L' -Schritte (z.B. 0. 98→0. 90→0. 80→…→0. 18), a'C 'leicht auf die Kanten der Skala reduzieren, um „Schmutz“ im Hellen und „Trübung“ im Dunklen zu vermeiden.
  • Fixieren Sie die Kontrollpunkte: „50/100/300/500 (key )/700/900“.
  • Überprüfen Sie bei jedem Schritt den Kontrast des Paares mit dem zugrunde liegenden Hintergrund und der erwarteten Textfarbe.

Beispiel einer Brand/Primary-Skala (OKLCH, angenähert)


brand.primary.50  = oklch(0.98 0.03 230)
brand.primary.100 = oklch(0.94 0.05 230)
brand.primary.300 = oklch(0.86 0.08 230)
brand.primary.500 = oklch(0.74 0.10 230) # ключевой тон brand.primary.700 = oklch(0.56 0.09 230)
brand.primary.900 = oklch(0.32 0.07 230)

6) Semantische Rollen und Mupping

Marke und Semantik trennen: „Erfolg“ muss nicht markengrün sein.


role.primary.bg    -> brand.primary.500 role.primary.text   -> fg.on-primary     # ≥ 4.5:1 к role.primary.bg role.success.bg    -> green.500 role.warning.bg    -> amber.500 role.danger.bg    -> red.500 role.info.bg     -> blue.500 role.neutral.bg    -> gray.200/700 (light/dark)

Die' on- 'Texte werden automatisch berechnet (siehe § 10).

7) Helle/dunkle Themen und Oberflächen

Definieren Sie die Basisskala für Flächen und Text:

light:
bg/base   = oklch(0.98 0.01 260)
bg/subtle  = oklch(0.96 0.01 260)
bg/elevated = oklch(0.93 0.01 260)
fg/primary  = oklch(0.18 0.03 260) # ≈7:1 к bg/base fg/secondary = oklch(0.32 0.03 260) # ≥4.5:1 border    = oklch(0.80 0.02 260)

dark:
bg/base   = oklch(0.16 0.01 260)
bg/subtle  = oklch(0.20 0.01 260)
bg/elevated = oklch(0.24 0.01 260)
fg/primary  = oklch(0.90 0.02 260)
fg/secondary = oklch(0.78 0.02 260)
border    = oklch(0.34 0.02 260)

Halten Sie gleiche Kontrastziele in beiden Themen; Vermeiden Sie „blendende“ Weiße auf reinem Schwarz - heben Sie den 'L' -Hintergrund auf ~ 0. 16.

8) Zustände und Interaktivität

Legen Sie für jede Rolle die Status mit den kontrollierten 'Δ L' und 'Δ C' fest:

button/primary:
default.bg = brand.primary.500 hover.bg  = brand.primary.500 with +ΔC(0.01) -ΔL(0.02)
active.bg = brand.primary.700 focus.ring = brand.primary.300 # контраст кольца ≥ 3:1 к окружению disabled.bg= neutral.200 (light) / neutral.700 (dark)
text.on  = auto-contrast(default.bg)    # ≥ 4.5:1

9) Haftung und WCAG

Basistext und Symbole in den Steuerelementen - ≥ 4. 5:1.
Wichtige Systembenachrichtigungen (KYC/AML, 18 +, Zahlungsfehler) - Ziel ist AAA (7:1).
Die Zustände und Grenzen der Felder sind nicht niedriger als 3: 1.
Links unterscheiden sich nicht nur durch die Farbe (Unterstrich/Fokus-Stil).

10) Automatische Anpassung von Kontrasttext ('on-')

Logik: Wenn Sie eine Komponentenfüllung auswählen, berechnen Sie' on-color':

1. Durch OKLCH den Vorlag bestimmen. Text'L _ on', so dass'(L_text vs L_bg) ≥ 4. 5:1`.

2. Wenn Chrom hoch ist,'C _ text 'auf 0 reduzieren. 01–0. 03.

3. Für ein dunkles Thema, erhöhen Sie'L _ on 'auf 0 mehr. 02–0. 04 zum Ausgleich der Gleir.

Pseudo-Token:

fg.on(colorX) = auto(colorX, targetContrast=4.5)

11) Visualisierung der Daten

Kategorische Paletten: 8-12 Farben, resistent gegen Farbenblindheit (vermeiden Sie „rot-grüne“ Paare ohne alternative Anzeichen).
Kontinuierlich: von 'bg/elevated' zu Akzent mit der Kontrolle des Unterschriftenkontrasts.
Fügen Sie Muster/Marker für farblose Unterscheidbarkeit hinzu.

12) Internationaler Kontext (Kulturvereine)

Berücksichtigen Sie lokale Konnotationen (z. B. Rot - Gefahr/Aufmerksamkeit; Gold - Gewinn/Gewinn).
Für iGaming: Vermeiden Sie „Erfolg/Gefahr“ -Konflikte mit Markenakzenten in einem einzigen Bildschirm; Ikonographie und Signatur sind wichtiger als „Helligkeit“.

13) Integration in das Designsystem

13. 1 Benennung von Token


color.{theme}.{role    surface    brand}.{state    step}
примеры color.light.brand.primary.500 color.dark.role.success.bg color.light.surface.bg.base color.light.fg.on-primary

13. 2 Token (JSON/Style Dictionary)

json
{
"color": {
"light": {
"surface": { "bg": { "base": "oklch(0.98 0.01 260)"} },
"brand":  { "primary": { "500": "oklch(0.74 0.10 230)" } },
"role":  { "primary": { "bg": "{color.light.brand.primary.500}" },
"danger": { "bg": "oklch(0.62 0.12 25)" } },
"fg": { "primary": "oklch(0.18 0.03 260)",
"on-primary": "auto({color.light.role.primary.bg},4.5)" }
}
}
}

13. 3 CSS-Variablen (Themenebene)

css
:root[data-theme="light"] {
--bg-base: oklch(0.98 0.01 260);
--brand-primary-500: oklch(0.74 0.10 230);
--fg-primary: oklch(0.18 0.03 260);
--on-primary: color-contrast(var(--brand-primary-500)); / автоподбор /
}
[data-theme="dark"] {
--bg-base: oklch(0.16 0.01 260);
--brand-primary-500: oklch(0.74 0.10 230);
--fg-primary: oklch(0.90 0.02 260);
--on-primary: color-contrast(var(--brand-primary-500));
}

13. 4 Figma/Dokumentation

Die Komponenten verwenden nur Token, direkte HEX/SRGB sind von Lintern verboten.
In der Bibliothek - die Seite „Kontrastmatrix“: die Tabelle' fg × bg 'mit den tatsächlichen Koeffizienten.

14) Qualitätskontrollprozesse

Im Design: Kontrasttest auf Artboards (beide Modi), separate Presets für Farbenblindheit.
Im Code: Einheiten-Helfer berechnen den Kontrast und fallen bei Verstößen; visuelle Schnappschüsse für kritische Bildschirme.
In CI/CD: Prüfung aller Tokenpaare und Zustände, Bericht mit Komponente, Betreff und Istwert.

15) Besonderheiten von iGaming

Promo und Turniere: Verwenden Sie das Overlay und die Beschränkung 'C' auf den Hintergründen, damit der Text nicht „sinkt“.
Verantwortungsvolle Benachrichtigungen (Limits, 18 +, Risiken) - aufrichtig AAA.
Metriken/Tabellen: Zahlen und Zeichen der Veränderung (↑/↓) unterscheiden zwischen Form und Kontrast, nicht nur Farbe.

16) Checkliste Umsetzung

  • Markentöne und ihre tonalen Skalen (OKLCH) sind definiert.
  • Rollen, Zustände und Flächen für die beiden Themen sind festgelegt.
  • Autogenerierung von 'on-' mit Zielkontrast.
  • Matrix' fg × bg 'und WCAG-Tests in CI.
  • Separate Paletten für Datavisen (mit Unterstützung für Farbenblindheit).
  • Linter Stile verbieten „rohe“ Farben.
  • Seite „Ausnahmen und Gründe“ in der Haydline.

17) Anti-Muster

Mischen Sie den Markenakzent mit „Erfolg/Fehler“ in einem UX-Signal.
Verlassen Sie sich nur auf Sättigung für die Hierarchie.
Nicht synchronisieren Licht/dunkel (Kontrast „links“ in einem der Themen).
Hartes HEX ohne Token → unkontrolliertes Driften der Schnittstelle.


Kurze Zusammenfassung

Erstellen Sie eine Palette von oben nach unten: Markenkern → semantische Rollen → Tonleiter → Themen → Status. Arbeiten Sie in OKLCH, sichern Sie Token, automatisieren Sie' on- 'und WCAG-Prüfungen. Führen Sie die Paletten für die Datavisen separat. Dies führt zu Markenkonsistenz, Lesbarkeit und Skalierbarkeit des Produkts.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.