feat(ui): vierte Farbwelt "Cyberpunk" in hell und dunkel

Neon in der Nacht: fast schwarze Flaechen mit blauem Stich, violettes
Leuchten, Blaustahl statt Neutralgrau und Kanten von 2 px - scharf genug
fuer HUD-Elemente, aber nicht eckig, das ist schon Pixel Art. Schatten
sind hier kein Schatten, sondern ein Schein: farbige Kontur plus weicher
Halo in der Markenfarbe. Schrift ist Chakra Petch, die Feldbeschriftungen
laufen gesperrt.

Der Akzent ist bewusst Violett und nicht Neon-Cyan: auf brand-500 und
brand-600 steht 69 Mal weisse Schrift, und auf Cyan waere die nicht zu
lesen. Cyan sitzt deshalb nur in --color-brand-accent und in den
Statusfarben, wo dunkler Text darauf steht.

Der helle Modus ist der Konzern bei Tageslicht: kuehles Blaugrau, dasselbe
Violett nur dunkler, und aus dem Leuchten wird ein knapper kalter Schatten -
ein Halo auf hellem Grund sieht nach Fehler aus, nicht nach Neon.

Es waren vier Zeilen ausserhalb von index.css: die Whitelist in
userFields.js, die Liste in src/types.ts mit ihrer Beschriftung, die
Whitelist im Inline-Skript und die Schrift im Google-Fonts-Aufruf. Keine
Komponente wurde angefasst.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sascha Wolf
2026-09-09 13:47:08 +02:00
co-authored by Claude Opus 5
parent 87759a8a24
commit 8403f1c39d
8 changed files with 162 additions and 19 deletions
+2 -2
View File
@@ -222,8 +222,8 @@ Browser-Download.
* **Kommentare erklären das Warum.** Was der Code tut, steht im Code.
* **Kein `dark:` und keine Theme-Klasse im Markup.** Nur die Skalen `ink-*`,
`brand-*`, `canvas`, `surface` benutzen, den Rest macht `index.css`. Das ist
nicht Kosmetik: daran hängen drei Farbwelten in je zwei Modi, und eine feste
Farbe im Markup bricht fünf davon. Die Rollen der Skalen und die Regeln für ein
nicht Kosmetik: daran hängen vier Farbwelten in je zwei Modi, und eine feste
Farbe im Markup bricht sieben davon. Die Rollen der Skalen und die Regeln für ein
neues Theme stehen in [05 Frontend](05-frontend.md#themes-ohne-dark-varianten) -
wichtigste davon: auf `brand-500`/`brand-600` steht weisse Schrift.
* **Gemeinsame Klassen** statt kopierter Utility-Ketten: `inputClass`,