diff --git a/README.md b/README.md
index 9f9d256..4919e1f 100644
--- a/README.md
+++ b/README.md
@@ -97,6 +97,14 @@ Starte mit:
docker-compose up --build
```
+## Progressive Web App (PWA)
+
+Elpatrons Datumsrechner ist als PWA installierbar (z.B. auf Android/iOS-Homescreen oder Desktop). Die App funktioniert offline für die Startseite und statische Ressourcen, die Datumsberechnung bleibt serverseitig.
+
+- Manifest und Service Worker sind integriert
+- App-Icon und Theme-Color für Homescreen
+- Installation über Browser-Menü ("Zum Startbildschirm hinzufügen")
+
## Entwicklung & Hinweise
- Die HTML-Templates liegen im Ordner `templates/` (Trennung von Logik und Darstellung)
diff --git a/static/manifest.json b/static/manifest.json
new file mode 100644
index 0000000..4ae849d
--- /dev/null
+++ b/static/manifest.json
@@ -0,0 +1,14 @@
+{
+ "name": "Elpatrons Datumsrechner",
+ "short_name": "Datumsrechner",
+ "start_url": "/",
+ "display": "standalone",
+ "background_color": "#2563eb",
+ "theme_color": "#2563eb",
+ "description": "Open Source Web-App für Kalender- und Datumsberechnungen.",
+ "icons": [
+ { "src": "/favicon.png", "sizes": "32x32", "type": "image/png" },
+ { "src": "/favicon.ico", "sizes": "48x48 64x64 128x128 256x256", "type": "image/x-icon" },
+ { "src": "/logo.svg", "sizes": "any", "type": "image/svg+xml" }
+ ]
+}
\ No newline at end of file
diff --git a/static/service-worker.js b/static/service-worker.js
new file mode 100644
index 0000000..13e68cf
--- /dev/null
+++ b/static/service-worker.js
@@ -0,0 +1,20 @@
+const CACHE_NAME = 'datumsrechner-cache-v1';
+const urlsToCache = [
+ '/',
+ '/static/style.css',
+ '/favicon.ico',
+ '/favicon.png',
+ '/logo.svg',
+];
+self.addEventListener('install', event => {
+ event.waitUntil(
+ caches.open(CACHE_NAME)
+ .then(cache => cache.addAll(urlsToCache))
+ );
+});
+self.addEventListener('fetch', event => {
+ event.respondWith(
+ caches.match(event.request)
+ .then(response => response || fetch(event.request))
+ );
+});
\ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
index 711e729..91bc06e 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -20,6 +20,8 @@
+
+