feat(design): neues Theme Snow mit Schneefall und Schneedecke

Eisblau in hell und dunkel. Flocken fallen per Canvas und sammeln sich
am unteren Fensterrand in einer Hoehenkarte, die per Diffusion
geglaettet wird; nach rund vier Minuten ist die Decke voll (26 px).
Bei prefers-reduced-motion bleibt es still.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Sascha Wolf
2026-09-17 18:02:06 +02:00
co-authored by Claude Opus 5
parent 77b61b4a04
commit 831429d559
11 changed files with 606 additions and 23 deletions
+79
View File
@@ -0,0 +1,79 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 80" width="1600" height="80" preserveAspectRatio="xMidYMid slice">
<!--
Snow, obere Leiste: verschneite Bergkette mit Tannen.
Wie bei den anderen Themes ohne deckenden Himmel - die Flaeche kommt aus dem
Theme, hier steht nur Motiv. Die Berge sind blaugrau mit weissen Kuppen,
davor eine Reihe Tannen, deren Zweige Schnee tragen. Der Schneefall selbst
ist nicht gezeichnet, er faellt lebendig (components/SnowWeather.tsx).
-->
<!-- Ferne Berge -->
<path d="M0 80 L0 52 L90 30 L170 46 L260 18 L360 44 L450 26 L540 48 L640 22 L740 46 L830 28 L930 50 L1030 20 L1130 44 L1220 30 L1320 48 L1420 24 L1520 44 L1600 34 L1600 80 Z" fill="#9fb3c8" opacity="0.45" />
<!-- Schneekuppen der fernen Berge -->
<g fill="#ffffff" opacity="0.9">
<path d="M260 18 L236 28 L250 27 L262 32 L274 26 L286 29 Z" />
<path d="M640 22 L614 32 L630 31 L642 36 L654 30 L668 33 Z" />
<path d="M1030 20 L1004 30 L1020 29 L1032 34 L1044 28 L1058 31 Z" />
<path d="M1420 24 L1394 34 L1410 33 L1422 38 L1434 32 L1448 35 Z" />
</g>
<!-- Nahe Huegel, verschneit -->
<path d="M0 80 L0 66 C 120 56 220 62 340 58 C 480 54 560 64 700 60 C 840 56 940 64 1080 58 C 1220 54 1340 64 1460 60 C 1520 58 1570 62 1600 60 L1600 80 Z" fill="#e8f0f8" opacity="0.9" />
<!-- Tannen in drei Etagen, jede mit Schneekappe -->
<g fill="#4d6478" opacity="0.85">
<rect x="442.8" y="66.0" width="2.4" height="3.0" />
<rect x="465.1" y="68.0" width="1.7" height="2.1" />
<rect x="774.7" y="64.0" width="2.6" height="3.4" />
<rect x="799.1" y="66.0" width="1.8" height="2.2" />
<rect x="1162.8" y="64.0" width="2.4" height="3.0" />
<rect x="1185.2" y="66.0" width="1.7" height="2.1" />
<rect x="1511.0" y="66.0" width="1.9" height="2.4" />
<path d="M444 28.0 L449.0 45.1 L439.0 45.1 Z" />
<path d="M444 38.6 L452.4 55.4 L435.6 55.4 Z" />
<path d="M444 48.9 L456.0 66.0 L432.0 66.0 Z" />
<path d="M466 42.0 L469.6 53.7 L462.4 53.7 Z" />
<path d="M466 49.3 L471.9 60.7 L460.1 60.7 Z" />
<path d="M466 56.3 L474.5 68.0 L457.5 68.0 Z" />
<path d="M776 22.0 L781.5 40.9 L770.5 40.9 Z" />
<path d="M776 33.8 L785.1 52.2 L766.9 52.2 Z" />
<path d="M776 45.1 L789.0 64.0 L763.0 64.0 Z" />
<path d="M800 38.0 L803.8 50.6 L796.2 50.6 Z" />
<path d="M800 45.8 L806.3 58.2 L793.7 58.2 Z" />
<path d="M800 53.4 L809.0 66.0 L791.0 66.0 Z" />
<path d="M1164 26.0 L1169.0 43.1 L1159.0 43.1 Z" />
<path d="M1164 36.6 L1172.4 53.4 L1155.6 53.4 Z" />
<path d="M1164 46.9 L1176.0 64.0 L1152.0 64.0 Z" />
<path d="M1186 40.0 L1189.6 51.7 L1182.4 51.7 Z" />
<path d="M1186 47.3 L1192.0 58.7 L1180.0 58.7 Z" />
<path d="M1186 54.3 L1194.5 66.0 L1177.5 66.0 Z" />
<path d="M1512 36.0 L1516.0 49.5 L1508.0 49.5 Z" />
<path d="M1512 44.4 L1518.7 57.6 L1505.3 57.6 Z" />
<path d="M1512 52.5 L1521.5 66.0 L1502.5 66.0 Z" />
</g>
<g fill="#ffffff" opacity="0.95">
<path d="M444 28.0 L446.3 35.7 Q444 33.6 441.7 35.7 Z" />
<path d="M444 38.6 L447.8 46.2 Q444 44.2 440.2 46.2 Z" />
<path d="M444 48.9 L449.4 56.6 Q444 54.5 438.6 56.6 Z" />
<path d="M466 42.0 L467.6 47.3 Q466 45.9 464.4 47.3 Z" />
<path d="M466 49.3 L468.7 54.4 Q466 53.1 463.3 54.4 Z" />
<path d="M466 56.3 L469.8 61.6 Q466 60.2 462.2 61.6 Z" />
<path d="M776 22.0 L778.5 30.5 Q776 28.2 773.5 30.5 Z" />
<path d="M776 33.8 L780.1 42.1 Q776 39.9 771.9 42.1 Z" />
<path d="M776 45.1 L781.9 53.6 Q776 51.3 770.1 53.6 Z" />
<path d="M800 38.0 L801.7 43.7 Q800 42.2 798.3 43.7 Z" />
<path d="M800 45.8 L802.8 51.4 Q800 49.9 797.2 51.4 Z" />
<path d="M800 53.4 L804.0 59.1 Q800 57.6 796.0 59.1 Z" />
<path d="M1164 26.0 L1166.3 33.7 Q1164 31.6 1161.7 33.7 Z" />
<path d="M1164 36.6 L1167.8 44.2 Q1164 42.2 1160.2 44.2 Z" />
<path d="M1164 46.9 L1169.4 54.6 Q1164 52.5 1158.6 54.6 Z" />
<path d="M1186 40.0 L1187.6 45.3 Q1186 43.9 1184.4 45.3 Z" />
<path d="M1186 47.3 L1188.7 52.4 Q1186 51.1 1183.3 52.4 Z" />
<path d="M1186 54.3 L1189.8 59.6 Q1186 58.2 1182.2 59.6 Z" />
<path d="M1512 36.0 L1513.8 42.1 Q1512 40.5 1510.2 42.1 Z" />
<path d="M1512 44.4 L1515.0 50.3 Q1512 48.8 1509.0 50.3 Z" />
<path d="M1512 52.5 L1516.3 58.6 Q1512 57.0 1507.7 58.6 Z" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.3 KiB