feat: Theme Snow aus Pulse übernommen

Eisblau auf kaltem Weiß (hell) bzw. Winternacht (dunkel), verschneite
Berg- und Waldgrafik hinter Kopfleiste und Menü. Schneefall im Canvas
(SnowWeather) sammelt sich am unteren Rand, alle 4 Minuten räumt ein
Pflug in ICON-Gold. Canvas liegt mit z-[45] unter den Dialogen (z-50).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
schakal00783
2026-10-01 10:45:35 +02:00
co-authored by Claude Opus 5.5
parent 1e273ddd92
commit a24fd938a2
10 changed files with 724 additions and 6 deletions
+10 -1
View File
@@ -86,12 +86,21 @@ angemeldeten Benutzer, nicht nur für den Browser.
| **ICON** | Gold `#C1862F` auf neutralem Grau, Montserrat – bewusst ohne Grafik |
| **Half-Life** | Black Mesa: HEV-Orange auf Sichtbeton, harte Schatten, Oswald in den Überschriften |
| **Pixel Art** | 8-bit: keine Radien, versetzte Schatten, Arcade-Grün, Silkscreen in den Überschriften |
| **Snow** | Winter: Eisblau auf kaltem Weiß, verschneite Berge und Tannen, Schneefall mit Räumfahrzeug |
Half-Life und Pixel Art bringen Grafiken hinter Kopfleiste und Menü mit (SVG
Half-Life, Pixel Art und Snow bringen Grafiken hinter Kopfleiste und Menü mit (SVG
unter `public/themes/`). Die CSS-Variable enthält dabei **zwei** Ebenen: einen
Schleier aus der Flächenfarbe und darunter die Zeichnung – nur so funktioniert
dieselbe Grafik in hell und dunkel, ohne dass die Schrift verliert.
Snow hat zusätzlich **Wetter**: `src/components/ui/SnowWeather.tsx` zeichnet in
einem Canvas über der Oberfläche (`z-[45]`, unter den Dialogen mit `z-50`,
`pointer-events: none`). Die Flocken landen in einem Höhenfeld am unteren Rand,
alle 4 Minuten räumt ein Pflug in ICON-Gold durch. Die Farben kommen aus
`--snow-*` in `src/index.css`. Bei „Bewegung reduzieren" im Betriebssystem läuft
keine Animation. Eingehängt ist das Wetter im `ThemeProvider` (`src/lib/theme.tsx`).
Übernommen aus Pulse.
Ein Design tauscht ausschließlich Variablenwerte; im Markup steht nirgends eine
feste Farbe. Auch der Dunkelmodus arbeitet **ohne `dark:`-Varianten**: die
Klasse `dark` auf `<html>` tauscht in `src/index.css` die Werte von `canvas`,