Update wetter.html via cron

This commit is contained in:
Hermes AI Bot committed 2026-06-27 08:46:33 +00:00
1 parent c3fbe892cc
commit 23c67d769a
1 file changed
+71 -12
+71 -12
View File
@@ -4,14 +4,51 @@
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prag Wetter – JGA 25.–26. Juli 2026</title>
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22>
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 32 32%22><text y=%2226%22 font-size=%2228%22>🧭</text></svg>">
<link rel="manifest" href="manifest.json">
<meta name="theme-color" content="#3b82f6">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<meta name="apple-mobile-web-app-title" content="JGA Prag">
<meta name="mobile-web-app-capable" content="yes"><text y=%2226%22 font-size=%2228%22>🧭</text></svg>">
<meta name="mobile-web-app-capable" content="yes">
<script>
(function() {
var saved = localStorage.getItem("jga-theme");
document.documentElement.setAttribute("data-theme", saved || "dark");
})();
</script>
<style>
/* ====== Theme-Variablen (Dark/Light Mode) ====== */
:root, [data-theme="dark"] {
--bg: #0f0f12; --text: #eee; --text-strong: #fff; --text-muted: #888;
--accent: #3b82f6; --accent-text: #60a5fa; --accent-border: #fbbf24;
--card-bg: rgba(255,255,255,0.03); --card-border: #2a2a30;
--hero-gradient: linear-gradient(135deg,#1c1c1f 0%,#2a2a30 100%);
--climate-gradient: linear-gradient(135deg,#1c1c1f 0%,#1f1f23 100%);
--jga-gradient: linear-gradient(135deg,#1c1c1f 0%,#232328 100%);
--chart-bg: #0f0f12; --details-bg: rgba(255,255,255,0.03);
--update-bg: #1a1a1f; --note-text: #888;
--shadow-color: rgba(0,0,0,0.15);
--theme-toggle-bg: rgba(255,255,255,0.05);
--table-bg: #1a1a1f; --table-row-alt: rgba(251,191,36,0.08);
--climate-stat-bg: rgba(255,255,255,0.03);
--forecast-highlight-bg: rgba(251,191,36,0.15);
}
[data-theme="light"] {
--bg: #f5f5f7; --text: #1a1a1a; --text-strong: #000; --text-muted: #666;
--accent: #2563eb; --accent-text: #2563eb; --accent-border: #f59e0b;
--card-bg: #ffffff; --card-border: #e0e0e3;
--hero-gradient: linear-gradient(135deg,#ffffff 0%,#e0e7ff 100%);
--climate-gradient: linear-gradient(135deg,#ffffff 0%,#f0f4ff 100%);
--jga-gradient: linear-gradient(135deg,#ffffff 0%,#f0f4ff 100%);
--chart-bg: #f5f5f7; --details-bg: #f5f5f7;
--update-bg: #fef3c7; --note-text: #92400e;
--shadow-color: rgba(0,0,0,0.08);
--theme-toggle-bg: #ffffff;
--table-bg: #ffffff; --table-row-alt: #fef3c7;
--climate-stat-bg: #f5f5f7;
--forecast-highlight-bg: #fef3c7;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; background:#0f0f12; color:#eee; min-height:100vh; }
.container { max-width:1000px; margin:0 auto; padding:32px 24px; }
@@ -66,6 +103,10 @@ h1 { font-size:42px; margin:0 0 8px 0; font-weight:700; letter-spacing:-1px; }
.update-note a:hover { text-decoration:underline; }
.link-card { display:inline-block; padding:14px 28px; background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%); color:#fff; text-decoration:none; border-radius:10px; font-weight:600; margin:16px 0 32px 0; transition:transform 0.2s; }
.link-card:hover { transform:translateY(-2px); }
/* Theme-Toggle Button */
.theme-toggle { position:fixed; top:16px; right:16px; width:44px; height:44px; border-radius:50%; background:var(--theme-toggle-bg); border:1px solid var(--card-border); color:var(--text); font-size:20px; cursor:pointer; z-index:100; box-shadow:0 2px 8px var(--shadow-color); transition:all 0.2s; display:flex; align-items:center; justify-content:center; }
.theme-toggle:hover { transform:rotate(15deg) scale(1.1); border-color:var(--accent); }
@media (max-width:600px) { .hero { grid-template-columns:1fr; } .jga-day-header { flex-direction:column; } .jga-day-weather { text-align:left; margin-top:12px; } }
</style>
</head>
@@ -75,7 +116,7 @@ h1 { font-size:42px; margin:0 0 8px 0; font-weight:700; letter-spacing:-1px; }
<h1>🌤️ Prag Wetter</h1>
<p class="subtitle">Vorhersage für das JGA-Wochenende 25.–26. Juli 2026 — automatisch täglich aktualisiert</p>
<div class="hero"><div class="hero-current"><div class="hero-label">Jetzt in Prag</div><div class="hero-icon">☀️</div><div class="hero-temp">25°C</div><div class="hero-desc">Klar</div><div class="hero-mini"><span>💧 67%</span><span>💨 3 km/h</span><span>☁️ 0%</span></div></div><div class="hero-countdown"><div class="hero-label">Countdown JGA</div><div class="hero-countdown-num">28</div><div class="hero-countdown-label">Tage bis 25. Juli 2026</div></div></div><div style="margin-top:16px;padding:12px 16px;background:rgba(251,191,36,0.1);border-left:3px solid #fbbf24;border-radius:6px;font-size:13px;color:#fde68a;">⏳ JGA-Tage sind noch nicht im Vorhersage-Fenster (28 Tage hin). Aktuell zeigen wir historische Mittelwerte und die Praezision verbessert sich taeglich — ab ca. 14. Juli ist die Vorhersage verlaesslich.</div>
<div class="hero"><div class="hero-current"><div class="hero-label">Jetzt in Prag</div><div class="hero-icon">☀️</div><div class="hero-temp">32°C</div><div class="hero-desc">Klar</div><div class="hero-mini"><span>💧 41%</span><span>💨 4 km/h</span><span>☁️ 0%</span></div></div><div class="hero-countdown"><div class="hero-label">Countdown JGA</div><div class="hero-countdown-num">28</div><div class="hero-countdown-label">Tage bis 25. Juli 2026</div></div></div><div style="margin-top:16px;padding:12px 16px;background:rgba(251,191,36,0.1);border-left:3px solid #fbbf24;border-radius:6px;font-size:13px;color:#fde68a;">⏳ JGA-Tage sind noch nicht im Vorhersage-Fenster (28 Tage hin). Aktuell zeigen wir historische Mittelwerte und die Praezision verbessert sich taeglich — ab ca. 14. Juli ist die Vorhersage verlaesslich.</div>
<div class="section-title">⚠️️ JGA-Tage</div>
<p class="section-subtitle-note">Vorhersage wird ab ca. 11. Juli verfuegbar. Bis dahin: Klimatologie-Vergleich.</p>
@@ -83,16 +124,16 @@ h1 { font-size:42px; margin:0 0 8px 0; font-weight:700; letter-spacing:-1px; }
<div class="section-title" style="margin-top:48px;">📊 16-Tage-Vorhersage Prag</div>
<p class="section-subtitle-note">Alle verfügbaren Tage — JGA-Tage hervorgehoben</p>
<div class="forecast-grid"><div class="forecast-card" style="background:rgba(251,191,36,0.15);border-color:#fbbf24;"><div class="forecast-day">Sa</div><div class="forecast-date">27. Jun (heute)</div><div class="forecast-icon">🌤️</div><div class="forecast-temp">38°</div><div class="forecast-temp-min">23°</div><div class="forecast-rain">🌧 0%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">So</div><div class="forecast-date">28. Jun</div><div class="forecast-icon">⛅</div><div class="forecast-temp">40°</div><div class="forecast-temp-min">25°</div><div class="forecast-rain">🌧 10%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mo</div><div class="forecast-date">29. Jun</div><div class="forecast-icon">⛈️</div><div class="forecast-temp">32°</div><div class="forecast-temp-min">22°</div><div class="forecast-rain">🌧 78%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Di</div><div class="forecast-date">30. Jun</div><div class="forecast-icon">⛈️</div><div class="forecast-temp">27°</div><div class="forecast-temp-min">22°</div><div class="forecast-rain">🌧 80%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mi</div><div class="forecast-date">1. Jul</div><div class="forecast-icon">⛈️</div><div class="forecast-temp">24°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 59%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Do</div><div class="forecast-date">2. Jul</div><div class="forecast-icon">☁️</div><div class="forecast-temp">26°</div><div class="forecast-temp-min">13°</div><div class="forecast-rain">🌧 35%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Fr</div><div class="forecast-date">3. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">22°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 26%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Sa</div><div class="forecast-date">4. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">25°</div><div class="forecast-temp-min">14°</div><div class="forecast-rain">🌧 22%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">So</div><div class="forecast-date">5. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">24°</div><div class="forecast-temp-min">17°</div><div class="forecast-rain">🌧 20%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mo</div><div class="forecast-date">6. Jul</div><div class="forecast-icon">☁️</div><div class="forecast-temp">28°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 17%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Di</div><div class="forecast-date">7. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">28°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 20%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mi</div><div class="forecast-date">8. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">21°</div><div class="forecast-temp-min">14°</div><div class="forecast-rain">🌧 14%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Do</div><div class="forecast-date">9. Jul</div><div class="forecast-icon">🌤️</div><div class="forecast-temp">25°</div><div class="forecast-temp-min">14°</div><div class="forecast-rain">🌧 8%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Fr</div><div class="forecast-date">10. Jul</div><div class="forecast-icon">☀️</div><div class="forecast-temp">28°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 11%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Sa</div><div class="forecast-date">11. Jul</div><div class="forecast-icon">⛅</div><div class="forecast-temp">27°</div><div class="forecast-temp-min">18°</div><div class="forecast-rain">🌧 0%</div></div><div class="forecast-card" style="backgLine truncated
<div class="forecast-grid"><div class="forecast-card" style="background:rgba(251,191,36,0.15);border-color:#fbbf24;"><div class="forecast-day">Sa</div><div class="forecast-date">27. Jun (heute)</div><div class="forecast-icon">🌤️</div><div class="forecast-temp">38°</div><div class="forecast-temp-min">24°</div><div class="forecast-rain">🌧 0%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">So</div><div class="forecast-date">28. Jun</div><div class="forecast-icon">⛅</div><div class="forecast-temp">40°</div><div class="forecast-temp-min">25°</div><div class="forecast-rain">🌧 13%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mo</div><div class="forecast-date">29. Jun</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">33°</div><div class="forecast-temp-min">23°</div><div class="forecast-rain">🌧 80%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Di</div><div class="forecast-date">30. Jun</div><div class="forecast-icon">⛈️</div><div class="forecast-temp">27°</div><div class="forecast-temp-min">21°</div><div class="forecast-rain">🌧 71%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mi</div><div class="forecast-date">1. Jul</div><div class="forecast-icon">⛈️</div><div class="forecast-temp">23°</div><div class="forecast-temp-min">17°</div><div class="forecast-rain">🌧 63%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Do</div><div class="forecast-date">2. Jul</div><div class="forecast-icon">☁️</div><div class="forecast-temp">26°</div><div class="forecast-temp-min">13°</div><div class="forecast-rain">🌧 26%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Fr</div><div class="forecast-date">3. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">21°</div><div class="forecast-temp-min">15°</div><div class="forecast-rain">🌧 20%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Sa</div><div class="forecast-date">4. Jul</div><div class="forecast-icon">☁️</div><div class="forecast-temp">25°</div><div class="forecast-temp-min">13°</div><div class="forecast-rain">🌧 18%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">So</div><div class="forecast-date">5. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">24°</div><div class="forecast-temp-min">18°</div><div class="forecast-rain">🌧 20%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mo</div><div class="forecast-date">6. Jul</div><div class="forecast-icon">🌦️</div><div class="forecast-temp">24°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 17%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Di</div><div class="forecast-date">7. Jul</div><div class="forecast-icon">⛅</div><div class="forecast-temp">27°</div><div class="forecast-temp-min">16°</div><div class="forecast-rain">🌧 20%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Mi</div><div class="forecast-date">8. Jul</div><div class="forecast-icon">🌤️</div><div class="forecast-temp">32°</div><div class="forecast-temp-min">19°</div><div class="forecast-rain">🌧 14%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Do</div><div class="forecast-date">9. Jul</div><div class="forecast-icon">🌤️</div><div class="forecast-temp">36°</div><div class="forecast-temp-min">22°</div><div class="forecast-rain">🌧 8%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Fr</div><div class="forecast-date">10. Jul</div><div class="forecast-icon">🌤️</div><div class="forecast-temp">35°</div><div class="forecast-temp-min">24°</div><div class="forecast-rain">🌧 11%</div></div><div class="forecast-card" style="background:rgba(255,255,255,0.03);border-color:#2a2a30;"><div class="forecast-day">Sa</div><div class="forecast-date">11. Jul</div><div class="forecast-icon">⛅</div><div class="forecast-temp">36°</div><div class="forecast-temp-min">23°</div><div class="forecast-rain">🌧 0%</div></div><div class="forecast-card" style="backgroLine truncated
<div class="climate-card"><div class="climate-title">🌤️ Prag-Klimatologie Juli</div><div class="climate-subtitle">Historische Mittelwerte 1991–2020 · Referenz fuer den JGA-Termin</div><div class="climate-grid"><div class="climate-stat"><div class="climate-num">25°C</div><div class="climate-label">Tagestemperatur Ø</div></div><div class="climate-stat"><div class="climate-num">14°C</div><div class="climate-label">Nachts Ø</div></div><div class="climate-stat"><div class="climate-num">37°C</div><div class="climate-label">Hitzerekord</div></div><div class="climate-stat"><div class="climate-num">7.3h</div><div class="climate-label">Sonne pro Tag</div></div><div class="climate-stat"><div class="climate-num">10</div><div class="climate-label">Regentage/Monat</div></div><div class="climate-stat"><div class="climate-num">70mm</div><div class="climate-label">Niederschlag/Monat</div></div></div><div class="climate-note">Sonniges, warmes Sommerwetter. Gelegentlich Gewitter am Abend.</div></div>
<div class="section-title" style="margin-top:48px;">📋 16-Tage-Trendtabelle</div>
<p class="section-subtitle-note">Detailübersicht — sortiert nach Datum</p>
<div style="background:#1a1a1f;border-radius:12px;padding:16px;overflow-x:auto;border:1px solid #2a2a30;"><table style="width:100%;border-collapse:collapse;font-size:13px;"><thead><tr style="color:#888;font-size:11px;text-transform:uppercase;letter-spacing:1px;"><th style="text-align:left;padding:8px;">Tag</th><th style="text-align:center;padding:8px;">Wetter</th><th style="text-align:left;padding:8px;">Temp</th><th style="text-align:left;padding:8px;">Regen</th><th style="text-align:left;padding:8px;">Menge</th><th style="text-align:left;padding:8px;">Wind</th><th style="text-align:left;padding:8px;">Beschreibung</th></tr></thead><tbody><tr style="background:rgba(251,191,36,0.08);"><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Sa</strong> 27. Jun (heute)</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>🌤️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>38° / 23°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>11 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Heiter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>So</strong> 28. Jun</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛅</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>40° / 25°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>10%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>11 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Teilweise bewoelkt</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Mo</strong> 29. Jun</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛈️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>32° / 22°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>78%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>4.2 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>17 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Gewitter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Di</strong> 30. Jun</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛈️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>27° / 22°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>80%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>11.7 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>8 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Gewitter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Mi</strong> 1. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛈️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>24° / 16°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>59%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>13.8 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>16 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Gewitter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Do</strong> 2. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>☁️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>26° / 13°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>35%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>8 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Bedeckt</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Fr</strong> 3. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>🌦️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>22° / 16°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>26%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.9 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>19 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Leichter Regen</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Sa</strong> 4. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>🌦️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>25° / 14°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>22%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>1.8 mm</td><td style=Line truncated
<div style="background:#1a1a1f;border-radius:12px;padding:16px;overflow-x:auto;border:1px solid #2a2a30;"><table style="width:100%;border-collapse:collapse;font-size:13px;"><thead><tr style="color:#888;font-size:11px;text-transform:uppercase;letter-spacing:1px;"><th style="text-align:left;padding:8px;">Tag</th><th style="text-align:center;padding:8px;">Wetter</th><th style="text-align:left;padding:8px;">Temp</th><th style="text-align:left;padding:8px;">Regen</th><th style="text-align:left;padding:8px;">Menge</th><th style="text-align:left;padding:8px;">Wind</th><th style="text-align:left;padding:8px;">Beschreibung</th></tr></thead><tbody><tr style="background:rgba(251,191,36,0.08);"><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Sa</strong> 27. Jun (heute)</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>🌤️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>38° / 24°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>12 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Heiter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>So</strong> 28. Jun</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛅</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>40° / 25°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>13%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>10 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Teilweise bewoelkt</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Mo</strong> 29. Jun</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>🌦️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>33° / 23°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>80%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>4.2 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>17 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Leichter Regenschauer</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Di</strong> 30. Jun</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛈️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>27° / 21°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>71%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>8.4 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>8 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Gewitter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Mi</strong> 1. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>⛈️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>23° / 17°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>63%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>12.3 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>12 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Gewitter</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Do</strong> 2. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>☁️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>26° / 13°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>26%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>10 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Bedeckt</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Fr</strong> 3. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>🌦️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>21° / 15°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>20%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>3.0 mm</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>20 km/h</td><td style='padding:8px;border-bottom:1px solid #2a2a30;color:#aaa;'>Leichter Regen</td></tr><tr><td style='padding:8px;border-bottom:1px solid #2a2a30;'><strong>Sa</strong> 4. Jul</td><td style='padding:8px;border-bottom:1px solid #2a2a30;text-align:center;font-size:18px;'>☁️</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>25° / 13°</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>18%</td><td style='padding:8px;border-bottom:1px solid #2a2a30;'>0.0 mm</Line truncated
<div class="update-note">
🌐 Daten von <a href="https://open-meteo.com" target="_blank">Open-Meteo</a> (CC BY 4.0) · Letzte Aktualisierung: 27.06.2026 01:21 Uhr
🌐 Daten von <a href="https://open-meteo.com" target="_blank">Open-Meteo</a> (CC BY 4.0) · Letzte Aktualisierung: 27.06.2026 08:46 Uhr
· Nächste Aktualisierung: morgen 02:00 Berlin · <a href="https://www.windy.com/-Weather-forecast-50.075/14.438?50.075,14.438,8" target="_blank">Windy.com</a> · <a href="https://www.yr.no/en/forecast/daily-table/2-3067696/Czechia/Prague/Prague" target="_blank">yr.no</a>
</div>
@@ -104,13 +145,31 @@ h1 { font-size:42px; margin:0 0 8px 0; font-weight:700; letter-spacing:-1px; }
</div>
</div>
<button class="theme-toggle" id="theme-toggle" aria-label="Theme wechseln" title="Light/Dark Mode">🌝</button>
<script>
// PWA Service Worker registrieren
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('./sw.js')
.then(reg => console.log('[PWA] SW registered:', reg.scope))
.catch(err => console.warn('[PWA] SW registration failed:', err));
(function() {
var btn = document.getElementById("theme-toggle");
function sync() {
var t = document.documentElement.getAttribute("data-theme") || "dark";
btn.textContent = t === "dark" ? "☀️" : "🌝";
btn.title = t === "dark" ? "Light Mode aktivieren" : "Dark Mode aktivieren";
}
sync();
btn.addEventListener("click", function() {
var t = document.documentElement.getAttribute("data-theme") || "dark";
var next = t === "dark" ? "light" : "dark";
document.documentElement.setAttribute("data-theme", next);
try { localStorage.setItem("jga-theme", next); } catch (e) {}
sync();
});
})();
</script>
<script>
if ("serviceWorker" in navigator) {
window.addEventListener("load", function() {
navigator.serviceWorker.register("./sw.js")
.then(function(r){ console.log("[PWA] SW registered:", r.scope); })
.catch(function(e){ console.warn("[PWA] SW registration failed:", e); });
});
}
</script>