diff --git a/backend/static/landing.html b/backend/static/landing.html
index 3a4af0c..0b4cf3a 100644
--- a/backend/static/landing.html
+++ b/backend/static/landing.html
@@ -4,7 +4,7 @@
-
+
Ban Yaro — Die Hunde-App für Deutschland, Österreich & Schweiz
diff --git a/backend/static/sw.js b/backend/static/sw.js
index 5aa9323..660af2e 100644
--- a/backend/static/sw.js
+++ b/backend/static/sw.js
@@ -4,7 +4,7 @@
============================================================ */
// ← EINZIGE Stelle für die Version — STATIC_ASSETS und CACHE_VERSION leiten sich ab
-const VER = '1301';
+const VER = '1302';
const CACHE_VERSION = `by-v${VER}`;
const CACHE_STATIC = `${CACHE_VERSION}-static`;
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
diff --git a/tools/album-build/build.sh b/tools/album-build/build.sh
new file mode 100755
index 0000000..d177f15
--- /dev/null
+++ b/tools/album-build/build.sh
@@ -0,0 +1,86 @@
+#!/usr/bin/env bash
+# Baut die zwei Album-Downloads (DE + EN) reproduzierbar:
+# Cover (Foto quadr. + Wortmarke) → ID3-Tags + eingebettetes Cover → ZIP mit Liner Notes.
+# Quelle: die committeten MP3s in backend/static/sounds/ + ein Hi-Res-Foto.
+# Ausgabe: backend/static/downloads/ban-yaro-album-{de,en}.zip + img/banyaro/album-thumb.jpg
+# Benötigt: ImageMagick (magick), ffmpeg, zip. Aufruf: make album (oder bash tools/album-build/build.sh)
+set -euo pipefail
+
+ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
+SND="$ROOT/backend/static/sounds"
+PHOTO="$ROOT/backend/static/img/banyaro/hires/banyaro_fruehling_playdate_hires.jpg"
+FONT="/System/Library/Fonts/Supplemental/Arial Bold.ttf"
+BUILD="$ROOT/tools/album-build"
+DIST="$BUILD/dist"
+DL="$ROOT/backend/static/downloads"
+IMG="$ROOT/backend/static/img/banyaro"
+
+rm -rf "$DIST"; mkdir -p "$DIST" "$DL" "$IMG"
+
+# --- 1) Cover (quadratischer Crop auf die Hunde + Verlauf unten + Wortmarke) ---
+make_cover() { # $1=subtitle $2=outfile
+ magick "$PHOTO" -auto-orient -crop 2648x2648+551+0 +repage -resize 2000x2000 \
+ \( -size 2000x950 gradient:none-'rgba(0,0,0,0.80)' \) -gravity south -compose over -composite \
+ -gravity south -font "$FONT" -kerning 10 \
+ -fill 'rgba(0,0,0,0.55)' -pointsize 168 -annotate +4+254 "BAN YARO" \
+ -fill white -pointsize 168 -annotate +0+250 "BAN YARO" \
+ -kerning 7 -fill 'rgba(255,255,255,0.92)' -pointsize 60 -annotate +0+160 "$1" \
+ -quality 90 "$2"
+}
+make_cover "DAS ALBUM · 7 SONGS" "$DIST/cover-de.jpg"
+make_cover "THE ALBUM · 7 SONGS" "$DIST/cover-en.jpg"
+# Eingebettetes Albumart kleiner halten (sonst blähen sich die MP3s auf)
+magick "$DIST/cover-de.jpg" -resize 800x800 -quality 85 "$DIST/art-de.jpg"
+magick "$DIST/cover-en.jpg" -resize 800x800 -quality 85 "$DIST/art-en.jpg"
+# Neutrales Thumbnail (ohne Text) für die Profil-Karte — der Titel steht dort im HTML
+magick "$PHOTO" -auto-orient -crop 2648x2648+551+0 +repage -resize 600x600 -quality 85 "$IMG/album-thumb.jpg"
+
+# --- 2)+3) pro Sprache: taggen + zippen ---
+# Zeilenformat: "quelldatei(ohne .mp3)|Titel|Untertitel"
+DE_TRACKS=(
+ "ban-yaro-blues|Ban Yaro Blues|Die Hymne"
+ "ban-yaro-mobil|Ban Yaro Mobil|Erste Fahrt im Anhänger"
+ "amy|Amy|Eine Liebesromanze"
+ "beim-friseur|Beim Friseur|Halbes Fell, Energie pur"
+ "leckerli-paradies|Leckerli-Paradies|Voller Napf, volles Glück"
+ "platsch|Platsch!|Ab ins kühle Nass"
+ "bester-freund|Bester Freund|Du und ich"
+)
+EN_TRACKS=(
+ "ban-yaro-blues-en|Ban Yaro Blues|The anthem"
+ "ban-yaro-mobil-en|Ban Yaro Mobile|First ride in the trailer"
+ "amy-en|Amy|A love duet"
+ "at-the-groomers-en|At the Groomer's|Half the fur, all the energy"
+ "treat-paradise-en|Treat Paradise|Full bowl, full heart"
+ "splash-en|Splash!|Into the cool water"
+ "best-friend-en|Best Friend|You and me"
+)
+
+zip_album() { # $1=lang $2=AlbumName(ID3, Em-Dash ok) $3=Ordner(ASCII) $4=art $5=liner shift 5; rest=tracks
+ local lang="$1" album="$2" fname="$3" art="$4" liner="$5"; shift 5
+ local folder="$DIST/$fname"; rm -rf "$folder"; mkdir -p "$folder"
+ if [ "$lang" = "de" ]; then cp "$liner" "$folder/LIESMICH.txt"; else cp "$liner" "$folder/README.txt"; fi
+ cp "$art" "$folder/cover.jpg"
+ local n=0 line src title sub nn
+ for line in "$@"; do
+ n=$((n+1)); nn=$(printf "%02d" "$n")
+ IFS='|' read -r src title sub <<<"$line"
+ ffmpeg -y -loglevel error -i "$SND/$src.mp3" -i "$art" \
+ -map 0:a -map 1:v -c copy -id3v2_version 3 \
+ -metadata title="$title" -metadata artist="Ban Yaro" \
+ -metadata album="$album" -metadata album_artist="Ban Yaro" \
+ -metadata track="$n/7" -metadata date="2026" -metadata genre="Blues" \
+ -metadata comment="$sub" -disposition:v:0 attached_pic \
+ "$folder/$nn $title.mp3"
+ done
+ ( cd "$DIST" && rm -f "$DL/ban-yaro-album-$lang.zip" && zip -r -X -q "$DL/ban-yaro-album-$lang.zip" "$fname" )
+ echo " ✓ $fname → ban-yaro-album-$lang.zip ($(du -h "$DL/ban-yaro-album-$lang.zip" | cut -f1))"
+}
+
+# LIESMICH.txt für DE, README.txt für EN
+cp "$BUILD/liner-de.txt" "$DIST/_liner-de.txt"
+cp "$BUILD/liner-en.txt" "$DIST/_liner-en.txt"
+zip_album "de" "Ban Yaro — Das Album" "Ban Yaro - Das Album" "$DIST/art-de.jpg" "$DIST/_liner-de.txt" "${DE_TRACKS[@]}"
+zip_album "en" "Ban Yaro — The Album" "Ban Yaro - The Album" "$DIST/art-en.jpg" "$DIST/_liner-en.txt" "${EN_TRACKS[@]}"
+
+echo "Fertig. Downloads in backend/static/downloads/, Thumbnail in img/banyaro/album-thumb.jpg"
diff --git a/tools/album-build/liner-de.txt b/tools/album-build/liner-de.txt
new file mode 100644
index 0000000..9be5798
--- /dev/null
+++ b/tools/album-build/liner-de.txt
@@ -0,0 +1,34 @@
+==================================================
+ BAN YARO — DAS ALBUM
+ 7 Songs
+==================================================
+
+Sieben Lieder über einen Hund namens Ban Yaro:
+übers Gassigehen bei jedem Wetter, die erste Fahrt
+im Anhänger, die große Liebe, den Friseur, den
+vollen Napf, das kühle Wasser — und den besten
+Freund, den ein Mensch haben kann.
+
+Selbst gemacht, mit viel Herz. Aus der Ban-Yaro-App.
+
+--------------------------------------------------
+TRACKLIST
+--------------------------------------------------
+ 1. Ban Yaro Blues Die Hymne
+ 2. Ban Yaro Mobil Erste Fahrt im Anhänger
+ 3. Amy Eine Liebesromanze
+ 4. Beim Friseur Halbes Fell, Energie pur
+ 5. Leckerli-Paradies Voller Napf, volles Glück
+ 6. Platsch! Ab ins kühle Nass
+ 7. Bester Freund Du und ich
+
+--------------------------------------------------
+Ein Ban-Yaro-Original · banyaro.app
+(c) 2026 Ban Yaro
+
+Diese Aufnahmen sind ein kleines Geschenk:
+behalten und teilen ausdrucklich erwunscht —
+nur bitte nicht kommerziell verwenden.
+
+Viel Freude beim Horen und einen schonen
+Gassi-Gang! Wuff. 🐾
diff --git a/tools/album-build/liner-en.txt b/tools/album-build/liner-en.txt
new file mode 100644
index 0000000..daefbf0
--- /dev/null
+++ b/tools/album-build/liner-en.txt
@@ -0,0 +1,34 @@
+==================================================
+ BAN YARO — THE ALBUM
+ 7 Songs
+==================================================
+
+Seven songs about a dog named Ban Yaro:
+about walks in every kind of weather, the first
+ride in the trailer, falling in love, the groomer,
+a full bowl, cool water — and the best friend a
+human could ever ask for.
+
+Homemade, with all our heart. From the Ban Yaro app.
+
+--------------------------------------------------
+TRACKLIST
+--------------------------------------------------
+ 1. Ban Yaro Blues The anthem
+ 2. Ban Yaro Mobile First ride in the trailer
+ 3. Amy A love duet
+ 4. At the Groomer's Half the fur, all the energy
+ 5. Treat Paradise Full bowl, full heart
+ 6. Splash! Into the cool water
+ 7. Best Friend You and me
+
+--------------------------------------------------
+A Ban Yaro original · banyaro.app
+(c) 2026 Ban Yaro
+
+These recordings are a little gift:
+keep them and share them freely —
+just please don't use them commercially.
+
+Enjoy the music, and have a wonderful walk!
+Woof. 🐾